From 217271b1568226cf12e8855cab044b75c0c13411 Mon Sep 17 00:00:00 2001 From: Antti Kauppila Date: Sun, 11 Feb 2018 23:04:28 +0200 Subject: [PATCH] Unittests added --- features/cellular/.gitignore | 13 + features/cellular/.mbedignore | 1 + features/cellular/Makefile.test | 56 + features/cellular/UNITTESTS/Makefile | 19 + features/cellular/UNITTESTS/MakefileWorker.mk | 562 ++ .../AT_CellularBase_unit_tests | Bin 0 -> 353832 bytes .../AT_CellularBase_unit_tests.txt | 0 .../UNITTESTS/at/at_cellularbase/Makefile | 21 + .../at_cellularbase/at_cellularbasetest.cpp | 37 + .../cpputest_AT_CellularBase.xml | 13 + .../gcov/AT_CellularBase.cpp.gcov | 41 + .../at/at_cellularbase/gcov/gcov_error.txt | 0 .../at/at_cellularbase/gcov/gcov_output.txt | 4 + .../at/at_cellularbase/gcov/gcov_report.txt | 1 + .../at_cellularbase/gcov/gcov_report.txt.html | 4 + .../lib/libAT_CellularBase_unit.a | Bin 0 -> 29576 bytes .../UNITTESTS/at/at_cellularbase/main.cpp | 15 + .../AT_CellularBase_unit/ATHandler_stub.d | 78 + .../AT_CellularBase_unit/ATHandler_stub.gcda | Bin 0 -> 2320 bytes .../AT_CellularBase_unit/ATHandler_stub.gcno | Bin 0 -> 15212 bytes .../AT_CellularBase_unit/ATHandler_stub.o | Bin 0 -> 82352 bytes .../AT_CellularBase_unit/AT_CellularBase.d | 48 + .../AT_CellularBase_unit/AT_CellularBase.gcda | Bin 0 -> 288 bytes .../AT_CellularBase_unit/AT_CellularBase.gcno | Bin 0 -> 852 bytes .../AT_CellularBase_unit/AT_CellularBase.o | Bin 0 -> 29168 bytes .../AT_CellularBase_unit/EventQueue_stub.d | 32 + .../AT_CellularBase_unit/EventQueue_stub.gcda | Bin 0 -> 928 bytes .../AT_CellularBase_unit/EventQueue_stub.gcno | Bin 0 -> 5532 bytes .../AT_CellularBase_unit/EventQueue_stub.o | Bin 0 -> 31576 bytes .../AT_CellularBase_unit/FileHandle_stub.d | 42 + .../AT_CellularBase_unit/FileHandle_stub.gcda | Bin 0 -> 644 bytes .../AT_CellularBase_unit/FileHandle_stub.gcno | Bin 0 -> 3348 bytes .../AT_CellularBase_unit/FileHandle_stub.o | Bin 0 -> 33400 bytes .../at_cellularbasetest.d | 49 + .../at_cellularbasetest.gcda | Bin 0 -> 2088 bytes .../at_cellularbasetest.gcno | Bin 0 -> 11396 bytes .../at_cellularbasetest.o | Bin 0 -> 91720 bytes .../objs/AT_CellularBase_unit/main.d | 1 + .../objs/AT_CellularBase_unit/main.gcda | Bin 0 -> 216 bytes .../objs/AT_CellularBase_unit/main.gcno | Bin 0 -> 228 bytes .../objs/AT_CellularBase_unit/main.o | Bin 0 -> 16272 bytes .../AT_CellularBase_unit/mbed_assert_stub.d | 7 + .../mbed_assert_stub.gcda | Bin 0 -> 208 bytes .../mbed_assert_stub.gcno | Bin 0 -> 236 bytes .../AT_CellularBase_unit/mbed_assert_stub.o | Bin 0 -> 4440 bytes .../test_at_cellularbase.d | 77 + .../test_at_cellularbase.gcda | Bin 0 -> 2248 bytes .../test_at_cellularbase.gcno | Bin 0 -> 13212 bytes .../test_at_cellularbase.o | Bin 0 -> 96408 bytes .../at_cellularbase/test_at_cellularbase.cpp | 46 + .../at/at_cellularbase/test_at_cellularbase.h | 20 + .../AT_CellularDevice_unit_tests | Bin 0 -> 676488 bytes .../AT_CellularDevice_unit_tests.txt | 0 .../UNITTESTS/at/at_cellulardevice/Makefile | 30 + .../at_cellulardevicetest.cpp | 96 + .../cpputest_AT_CellularDevice.xml | 37 + .../gcov/AT_CellularDevice.cpp.gcov | 253 + .../gcov/CellularDevice.h.gcov | 126 + .../at/at_cellulardevice/gcov/gcov_error.txt | 0 .../at/at_cellulardevice/gcov/gcov_output.txt | 8 + .../at/at_cellulardevice/gcov/gcov_report.txt | 2 + .../gcov/gcov_report.txt.html | 5 + .../lib/libAT_CellularDevice_unit.a | Bin 0 -> 93934 bytes .../UNITTESTS/at/at_cellulardevice/main.cpp | 15 + .../AT_CellularDevice_unit/ATHandler_stub.d | 78 + .../ATHandler_stub.gcda | Bin 0 -> 2460 bytes .../ATHandler_stub.gcno | Bin 0 -> 15212 bytes .../AT_CellularDevice_unit/ATHandler_stub.o | Bin 0 -> 82352 bytes .../AT_CellularBase_stub.d | 53 + .../AT_CellularBase_stub.gcda | Bin 0 -> 420 bytes .../AT_CellularBase_stub.gcno | Bin 0 -> 824 bytes .../AT_CellularBase_stub.o | Bin 0 -> 29848 bytes .../AT_CellularDevice.d | 152 + .../AT_CellularDevice.gcda | Bin 0 -> 2140 bytes .../AT_CellularDevice.gcno | Bin 0 -> 18720 bytes .../AT_CellularDevice.o | Bin 0 -> 92280 bytes .../AT_CellularInformation_stub.d | 54 + .../AT_CellularInformation_stub.gcda | Bin 0 -> 740 bytes .../AT_CellularInformation_stub.gcno | Bin 0 -> 3072 bytes .../AT_CellularInformation_stub.o | Bin 0 -> 42560 bytes .../AT_CellularMultiplexer_stub.d | 69 + .../AT_CellularMultiplexer_stub.gcda | Bin 0 -> 668 bytes .../AT_CellularMultiplexer_stub.gcno | Bin 0 -> 2496 bytes .../AT_CellularMultiplexer_stub.o | Bin 0 -> 40232 bytes .../AT_CellularNetwork_stub.d | 112 + .../AT_CellularNetwork_stub.gcda | Bin 0 -> 2464 bytes .../AT_CellularNetwork_stub.gcno | Bin 0 -> 16888 bytes .../AT_CellularNetwork_stub.o | Bin 0 -> 105056 bytes .../AT_CellularPower_stub.d | 72 + .../AT_CellularPower_stub.gcda | Bin 0 -> 884 bytes .../AT_CellularPower_stub.gcno | Bin 0 -> 4032 bytes .../AT_CellularPower_stub.o | Bin 0 -> 47384 bytes .../AT_CellularSIM_stub.d | 69 + .../AT_CellularSIM_stub.gcda | Bin 0 -> 776 bytes .../AT_CellularSIM_stub.gcno | Bin 0 -> 3124 bytes .../AT_CellularSIM_stub.o | Bin 0 -> 44392 bytes .../AT_CellularSMS_stub.d | 68 + .../AT_CellularSMS_stub.gcda | Bin 0 -> 2048 bytes .../AT_CellularSMS_stub.gcno | Bin 0 -> 12676 bytes .../AT_CellularSMS_stub.o | Bin 0 -> 81120 bytes .../CellularUtil_stub.d | 5 + .../CellularUtil_stub.gcda | Bin 0 -> 956 bytes .../CellularUtil_stub.gcno | Bin 0 -> 6080 bytes .../CellularUtil_stub.o | Bin 0 -> 18352 bytes .../AT_CellularDevice_unit/EventQueue_stub.d | 32 + .../EventQueue_stub.gcda | Bin 0 -> 1068 bytes .../EventQueue_stub.gcno | Bin 0 -> 5532 bytes .../AT_CellularDevice_unit/EventQueue_stub.o | Bin 0 -> 31584 bytes .../AT_CellularDevice_unit/FileHandle_stub.d | 42 + .../FileHandle_stub.gcda | Bin 0 -> 784 bytes .../FileHandle_stub.gcno | Bin 0 -> 3348 bytes .../AT_CellularDevice_unit/FileHandle_stub.o | Bin 0 -> 33408 bytes .../NetworkInterface_stub.d | 23 + .../NetworkInterface_stub.gcda | Bin 0 -> 600 bytes .../NetworkInterface_stub.gcno | Bin 0 -> 2244 bytes .../NetworkInterface_stub.o | Bin 0 -> 16864 bytes .../at_cellulardevicetest.d | 4 + .../at_cellulardevicetest.gcda | Bin 0 -> 7892 bytes .../at_cellulardevicetest.gcno | Bin 0 -> 47248 bytes .../at_cellulardevicetest.o | Bin 0 -> 319272 bytes .../objs/AT_CellularDevice_unit/main.d | 1 + .../objs/AT_CellularDevice_unit/main.gcda | Bin 0 -> 356 bytes .../objs/AT_CellularDevice_unit/main.gcno | Bin 0 -> 228 bytes .../objs/AT_CellularDevice_unit/main.o | Bin 0 -> 16280 bytes .../AT_CellularDevice_unit/mbed_assert_stub.d | 7 + .../mbed_assert_stub.gcda | Bin 0 -> 348 bytes .../mbed_assert_stub.gcno | Bin 0 -> 236 bytes .../AT_CellularDevice_unit/mbed_assert_stub.o | Bin 0 -> 4448 bytes .../test_at_cellulardevice.d | 164 + .../test_at_cellulardevice.gcda | Bin 0 -> 4556 bytes .../test_at_cellulardevice.gcno | Bin 0 -> 28628 bytes .../test_at_cellulardevice.o | Bin 0 -> 149928 bytes .../test_at_cellulardevice.cpp | 159 + .../test_at_cellulardevice.h | 44 + .../AT_CellularInformation_unit_tests | Bin 0 -> 385168 bytes .../AT_CellularInformation_unit_tests.txt | 0 .../at/at_cellularinformation/Makefile | 22 + .../at_cellularinformationtest.cpp | 41 + .../cpputest_AT_CellularInformation.xml | 15 + .../gcov/AT_CellularInformation.cpp.gcov | 61 + .../gcov/CellularInformation.h.gcov | 74 + .../gcov/gcov_error.txt | 0 .../gcov/gcov_output.txt | 8 + .../gcov/gcov_report.txt | 2 + .../gcov/gcov_report.txt.html | 5 + .../lib/libAT_CellularInformation_unit.a | Bin 0 -> 46020 bytes .../at/at_cellularinformation/main.cpp | 15 + .../ATHandler_stub.d | 78 + .../ATHandler_stub.gcda | Bin 0 -> 2320 bytes .../ATHandler_stub.gcno | Bin 0 -> 15212 bytes .../ATHandler_stub.o | Bin 0 -> 82352 bytes .../AT_CellularBase_stub.d | 53 + .../AT_CellularBase_stub.gcda | Bin 0 -> 280 bytes .../AT_CellularBase_stub.gcno | Bin 0 -> 824 bytes .../AT_CellularBase_stub.o | Bin 0 -> 29864 bytes .../AT_CellularInformation.d | 54 + .../AT_CellularInformation.gcda | Bin 0 -> 716 bytes .../AT_CellularInformation.gcno | Bin 0 -> 4324 bytes .../AT_CellularInformation.o | Bin 0 -> 44864 bytes .../EventQueue_stub.d | 32 + .../EventQueue_stub.gcda | Bin 0 -> 928 bytes .../EventQueue_stub.gcno | Bin 0 -> 5532 bytes .../EventQueue_stub.o | Bin 0 -> 31600 bytes .../FileHandle_stub.d | 42 + .../FileHandle_stub.gcda | Bin 0 -> 644 bytes .../FileHandle_stub.gcno | Bin 0 -> 3348 bytes .../FileHandle_stub.o | Bin 0 -> 33424 bytes .../at_cellularinformationtest.d | 4 + .../at_cellularinformationtest.gcda | Bin 0 -> 2560 bytes .../at_cellularinformationtest.gcno | Bin 0 -> 15352 bytes .../at_cellularinformationtest.o | Bin 0 -> 112080 bytes .../objs/AT_CellularInformation_unit/main.d | 1 + .../AT_CellularInformation_unit/main.gcda | Bin 0 -> 216 bytes .../AT_CellularInformation_unit/main.gcno | Bin 0 -> 228 bytes .../objs/AT_CellularInformation_unit/main.o | Bin 0 -> 16304 bytes .../mbed_assert_stub.d | 7 + .../mbed_assert_stub.gcda | Bin 0 -> 208 bytes .../mbed_assert_stub.gcno | Bin 0 -> 236 bytes .../mbed_assert_stub.o | Bin 0 -> 4464 bytes .../test_at_cellularinformation.d | 87 + .../test_at_cellularinformation.gcda | Bin 0 -> 2324 bytes .../test_at_cellularinformation.gcno | Bin 0 -> 15128 bytes .../test_at_cellularinformation.o | Bin 0 -> 97856 bytes .../test_at_cellularinformation.cpp | 68 + .../test_at_cellularinformation.h | 22 + .../AT_CellularMultiplexer_unit_tests | Bin 0 -> 373304 bytes .../AT_CellularMultiplexer_unit_tests.txt | 0 .../at/at_cellularmultiplexer/Makefile | 22 + .../at_cellularmultiplexertest.cpp | 36 + .../cpputest_AT_CellularMultiplexer.xml | 13 + .../gcov/AT_CellularMultiplexer.cpp.gcov | 48 + .../gcov/CellularMultiplexer.h.gcov | 56 + .../gcov/gcov_error.txt | 0 .../gcov/gcov_output.txt | 8 + .../gcov/gcov_report.txt | 2 + .../gcov/gcov_report.txt.html | 5 + .../lib/libAT_CellularMultiplexer_unit.a | Bin 0 -> 42282 bytes .../at/at_cellularmultiplexer/main.cpp | 15 + .../ATHandler_stub.d | 78 + .../ATHandler_stub.gcda | Bin 0 -> 2320 bytes .../ATHandler_stub.gcno | Bin 0 -> 15212 bytes .../ATHandler_stub.o | Bin 0 -> 82352 bytes .../AT_CellularBase_stub.d | 53 + .../AT_CellularBase_stub.gcda | Bin 0 -> 280 bytes .../AT_CellularBase_stub.gcno | Bin 0 -> 824 bytes .../AT_CellularBase_stub.o | Bin 0 -> 29864 bytes .../AT_CellularMultiplexer.d | 69 + .../AT_CellularMultiplexer.gcda | Bin 0 -> 576 bytes .../AT_CellularMultiplexer.gcno | Bin 0 -> 3196 bytes .../AT_CellularMultiplexer.o | Bin 0 -> 41280 bytes .../EventQueue_stub.d | 32 + .../EventQueue_stub.gcda | Bin 0 -> 928 bytes .../EventQueue_stub.gcno | Bin 0 -> 5532 bytes .../EventQueue_stub.o | Bin 0 -> 31600 bytes .../FileHandle_stub.d | 42 + .../FileHandle_stub.gcda | Bin 0 -> 644 bytes .../FileHandle_stub.gcno | Bin 0 -> 3348 bytes .../FileHandle_stub.o | Bin 0 -> 33424 bytes .../at_cellularmultiplexertest.d | 4 + .../at_cellularmultiplexertest.gcda | Bin 0 -> 2088 bytes .../at_cellularmultiplexertest.gcno | Bin 0 -> 12324 bytes .../at_cellularmultiplexertest.o | Bin 0 -> 92840 bytes .../objs/AT_CellularMultiplexer_unit/main.d | 1 + .../AT_CellularMultiplexer_unit/main.gcda | Bin 0 -> 216 bytes .../AT_CellularMultiplexer_unit/main.gcno | Bin 0 -> 228 bytes .../objs/AT_CellularMultiplexer_unit/main.o | Bin 0 -> 16304 bytes .../mbed_assert_stub.d | 7 + .../mbed_assert_stub.gcda | Bin 0 -> 208 bytes .../mbed_assert_stub.gcno | Bin 0 -> 236 bytes .../mbed_assert_stub.o | Bin 0 -> 4464 bytes .../test_at_cellularmultiplexer.d | 162 + .../test_at_cellularmultiplexer.gcda | Bin 0 -> 1968 bytes .../test_at_cellularmultiplexer.gcno | Bin 0 -> 12672 bytes .../test_at_cellularmultiplexer.o | Bin 0 -> 93600 bytes .../test_at_cellularmultiplexer.cpp | 44 + .../test_at_cellularmultiplexer.h | 20 + .../AT_CellularNetwork_unit_tests | Bin 0 -> 719816 bytes .../AT_CellularNetwork_unit_tests.txt | 0 .../UNITTESTS/at/at_cellularnetwork/Makefile | 25 + .../at_cellularnetworktest.cpp | 151 + .../cpputest_AT_CellularNetwork.xml | 59 + .../gcov/AT_CellularNetwork.cpp.gcov | 910 ++++ .../at_cellularnetwork/gcov/Callback.h.gcov | 4557 +++++++++++++++++ .../gcov/CellularList.h.gcov | 107 + .../gcov/CellularNetwork.h.gcov | 387 ++ .../gcov/NetworkInterface.h.gcov | 151 + .../at/at_cellularnetwork/gcov/gcov_error.txt | 0 .../at_cellularnetwork/gcov/gcov_output.txt | 28 + .../at_cellularnetwork/gcov/gcov_report.txt | 7 + .../gcov/gcov_report.txt.html | 10 + .../at_cellularnetwork/gcov/mbed_debug.h.gcov | 84 + .../at/at_cellularnetwork/gcov/new.gcov | 147 + .../lib/libAT_CellularNetwork_unit.a | Bin 0 -> 194184 bytes .../UNITTESTS/at/at_cellularnetwork/main.cpp | 15 + .../AT_CellularNetwork_unit/ATHandler_stub.d | 78 + .../ATHandler_stub.gcda | Bin 0 -> 2540 bytes .../ATHandler_stub.gcno | Bin 0 -> 15212 bytes .../AT_CellularNetwork_unit/ATHandler_stub.o | Bin 0 -> 82352 bytes .../AT_CellularBase_stub.d | 53 + .../AT_CellularBase_stub.gcda | Bin 0 -> 500 bytes .../AT_CellularBase_stub.gcno | Bin 0 -> 824 bytes .../AT_CellularBase_stub.o | Bin 0 -> 29848 bytes .../AT_CellularNetwork.d | 101 + .../AT_CellularNetwork.gcda | Bin 0 -> 7168 bytes .../AT_CellularNetwork.gcno | Bin 0 -> 71296 bytes .../AT_CellularNetwork.o | Bin 0 -> 188232 bytes .../CellularUtil_stub.d | 5 + .../CellularUtil_stub.gcda | Bin 0 -> 1036 bytes .../CellularUtil_stub.gcno | Bin 0 -> 6080 bytes .../CellularUtil_stub.o | Bin 0 -> 18360 bytes .../AT_CellularNetwork_unit/EventQueue_stub.d | 32 + .../EventQueue_stub.gcda | Bin 0 -> 1148 bytes .../EventQueue_stub.gcno | Bin 0 -> 5532 bytes .../AT_CellularNetwork_unit/EventQueue_stub.o | Bin 0 -> 31584 bytes .../AT_CellularNetwork_unit/FileHandle_stub.d | 42 + .../FileHandle_stub.gcda | Bin 0 -> 864 bytes .../FileHandle_stub.gcno | Bin 0 -> 3348 bytes .../AT_CellularNetwork_unit/FileHandle_stub.o | Bin 0 -> 33408 bytes .../NetworkInterface_stub.d | 23 + .../NetworkInterface_stub.gcda | Bin 0 -> 680 bytes .../NetworkInterface_stub.gcno | Bin 0 -> 2244 bytes .../NetworkInterface_stub.o | Bin 0 -> 16864 bytes .../at_cellularnetworktest.d | 4 + .../at_cellularnetworktest.gcda | Bin 0 -> 13164 bytes .../at_cellularnetworktest.gcno | Bin 0 -> 80968 bytes .../at_cellularnetworktest.o | Bin 0 -> 539672 bytes .../objs/AT_CellularNetwork_unit/main.d | 1 + .../objs/AT_CellularNetwork_unit/main.gcda | Bin 0 -> 436 bytes .../objs/AT_CellularNetwork_unit/main.gcno | Bin 0 -> 228 bytes .../objs/AT_CellularNetwork_unit/main.o | Bin 0 -> 16288 bytes .../mbed_assert_stub.d | 7 + .../mbed_assert_stub.gcda | Bin 0 -> 428 bytes .../mbed_assert_stub.gcno | Bin 0 -> 236 bytes .../mbed_assert_stub.o | Bin 0 -> 4448 bytes .../test_at_cellularnetwork.d | 178 + .../test_at_cellularnetwork.gcda | Bin 0 -> 9576 bytes .../test_at_cellularnetwork.gcno | Bin 0 -> 65216 bytes .../test_at_cellularnetwork.o | Bin 0 -> 229752 bytes .../AT_CellularNetwork_unit/us_ticker_stub.d | 9 + .../us_ticker_stub.gcda | Bin 0 -> 680 bytes .../us_ticker_stub.gcno | Bin 0 -> 1780 bytes .../AT_CellularNetwork_unit/us_ticker_stub.o | Bin 0 -> 10528 bytes .../test_at_cellularnetwork.cpp | 331 ++ .../test_at_cellularnetwork.h | 66 + .../AT_CellularPower_unit_tests | Bin 0 -> 437736 bytes .../AT_CellularPower_unit_tests.txt | 0 .../UNITTESTS/at/at_cellularpower/Makefile | 23 + .../at_cellularpower/at_cellularpowertest.cpp | 66 + .../cpputest_AT_CellularPower.xml | 25 + .../gcov/AT_CellularPower.cpp.gcov | 237 + .../gcov/CellularPower.h.gcov | 135 + .../at/at_cellularpower/gcov/gcov_error.txt | 0 .../at/at_cellularpower/gcov/gcov_output.txt | 8 + .../at/at_cellularpower/gcov/gcov_report.txt | 2 + .../gcov/gcov_report.txt.html | 5 + .../lib/libAT_CellularPower_unit.a | Bin 0 -> 59802 bytes .../UNITTESTS/at/at_cellularpower/main.cpp | 15 + .../AT_CellularPower_unit/ATHandler_stub.d | 78 + .../AT_CellularPower_unit/ATHandler_stub.gcda | Bin 0 -> 2300 bytes .../AT_CellularPower_unit/ATHandler_stub.gcno | Bin 0 -> 15212 bytes .../AT_CellularPower_unit/ATHandler_stub.o | Bin 0 -> 82352 bytes .../AT_CellularBase_stub.d | 53 + .../AT_CellularBase_stub.gcda | Bin 0 -> 260 bytes .../AT_CellularBase_stub.gcno | Bin 0 -> 824 bytes .../AT_CellularBase_stub.o | Bin 0 -> 29840 bytes .../AT_CellularPower_unit/AT_CellularPower.d | 72 + .../AT_CellularPower.gcda | Bin 0 -> 1436 bytes .../AT_CellularPower.gcno | Bin 0 -> 12420 bytes .../AT_CellularPower_unit/AT_CellularPower.o | Bin 0 -> 58608 bytes .../AT_CellularPower_unit/CellularUtil_stub.d | 5 + .../CellularUtil_stub.gcda | Bin 0 -> 796 bytes .../CellularUtil_stub.gcno | Bin 0 -> 6080 bytes .../AT_CellularPower_unit/CellularUtil_stub.o | Bin 0 -> 18352 bytes .../AT_CellularPower_unit/EventQueue_stub.d | 32 + .../EventQueue_stub.gcda | Bin 0 -> 908 bytes .../EventQueue_stub.gcno | Bin 0 -> 5532 bytes .../AT_CellularPower_unit/EventQueue_stub.o | Bin 0 -> 31576 bytes .../AT_CellularPower_unit/FileHandle_stub.d | 42 + .../FileHandle_stub.gcda | Bin 0 -> 624 bytes .../FileHandle_stub.gcno | Bin 0 -> 3348 bytes .../AT_CellularPower_unit/FileHandle_stub.o | Bin 0 -> 33408 bytes .../at_cellularpowertest.d | 4 + .../at_cellularpowertest.gcda | Bin 0 -> 4900 bytes .../at_cellularpowertest.gcno | Bin 0 -> 29248 bytes .../at_cellularpowertest.o | Bin 0 -> 202560 bytes .../objs/AT_CellularPower_unit/main.d | 1 + .../objs/AT_CellularPower_unit/main.gcda | Bin 0 -> 196 bytes .../objs/AT_CellularPower_unit/main.gcno | Bin 0 -> 228 bytes .../objs/AT_CellularPower_unit/main.o | Bin 0 -> 16272 bytes .../AT_CellularPower_unit/mbed_assert_stub.d | 7 + .../mbed_assert_stub.gcda | Bin 0 -> 188 bytes .../mbed_assert_stub.gcno | Bin 0 -> 236 bytes .../AT_CellularPower_unit/mbed_assert_stub.o | Bin 0 -> 4448 bytes .../test_at_cellularpower.d | 112 + .../test_at_cellularpower.gcda | Bin 0 -> 1844 bytes .../test_at_cellularpower.gcno | Bin 0 -> 11744 bytes .../test_at_cellularpower.o | Bin 0 -> 89792 bytes .../test_at_cellularpower.cpp | 69 + .../at_cellularpower/test_at_cellularpower.h | 32 + .../at_cellularsim/AT_CellularSIM_unit_tests | Bin 0 -> 410992 bytes .../AT_CellularSIM_unit_tests.txt | 0 .../UNITTESTS/at/at_cellularsim/Makefile | 24 + .../at/at_cellularsim/at_cellularsimtest.cpp | 51 + .../cpputest_AT_CellularSIM.xml | 19 + .../gcov/AT_CellularSIM.cpp.gcov | 119 + .../at/at_cellularsim/gcov/CellularSIM.h.gcov | 90 + .../at/at_cellularsim/gcov/gcov_error.txt | 0 .../at/at_cellularsim/gcov/gcov_output.txt | 12 + .../at/at_cellularsim/gcov/gcov_report.txt | 3 + .../at_cellularsim/gcov/gcov_report.txt.html | 6 + .../at/at_cellularsim/gcov/mbed_debug.h.gcov | 84 + .../lib/libAT_CellularSIM_unit.a | Bin 0 -> 55044 bytes .../UNITTESTS/at/at_cellularsim/main.cpp | 15 + .../objs/AT_CellularSIM_unit/ATHandler_stub.d | 77 + .../AT_CellularSIM_unit/ATHandler_stub.gcda | Bin 0 -> 2300 bytes .../AT_CellularSIM_unit/ATHandler_stub.gcno | Bin 0 -> 15212 bytes .../objs/AT_CellularSIM_unit/ATHandler_stub.o | Bin 0 -> 82328 bytes .../AT_CellularBase_stub.d | 53 + .../AT_CellularBase_stub.gcda | Bin 0 -> 260 bytes .../AT_CellularBase_stub.gcno | Bin 0 -> 824 bytes .../AT_CellularBase_stub.o | Bin 0 -> 29840 bytes .../objs/AT_CellularSIM_unit/AT_CellularSIM.d | 69 + .../AT_CellularSIM_unit/AT_CellularSIM.gcda | Bin 0 -> 1220 bytes .../AT_CellularSIM_unit/AT_CellularSIM.gcno | Bin 0 -> 9356 bytes .../objs/AT_CellularSIM_unit/AT_CellularSIM.o | Bin 0 -> 54032 bytes .../AT_CellularSIM_unit/CellularUtil_stub.d | 5 + .../CellularUtil_stub.gcda | Bin 0 -> 796 bytes .../CellularUtil_stub.gcno | Bin 0 -> 6080 bytes .../AT_CellularSIM_unit/CellularUtil_stub.o | Bin 0 -> 18352 bytes .../AT_CellularSIM_unit/EventQueue_stub.d | 32 + .../AT_CellularSIM_unit/EventQueue_stub.gcda | Bin 0 -> 908 bytes .../AT_CellularSIM_unit/EventQueue_stub.gcno | Bin 0 -> 5532 bytes .../AT_CellularSIM_unit/EventQueue_stub.o | Bin 0 -> 31576 bytes .../AT_CellularSIM_unit/FileHandle_stub.d | 42 + .../AT_CellularSIM_unit/FileHandle_stub.gcda | Bin 0 -> 624 bytes .../AT_CellularSIM_unit/FileHandle_stub.gcno | Bin 0 -> 3348 bytes .../AT_CellularSIM_unit/FileHandle_stub.o | Bin 0 -> 33400 bytes .../AT_CellularSIM_unit/at_cellularsimtest.d | 4 + .../at_cellularsimtest.gcda | Bin 0 -> 3484 bytes .../at_cellularsimtest.gcno | Bin 0 -> 19764 bytes .../AT_CellularSIM_unit/at_cellularsimtest.o | Bin 0 -> 144528 bytes .../objs/AT_CellularSIM_unit/main.d | 1 + .../objs/AT_CellularSIM_unit/main.gcda | Bin 0 -> 196 bytes .../objs/AT_CellularSIM_unit/main.gcno | Bin 0 -> 228 bytes .../objs/AT_CellularSIM_unit/main.o | Bin 0 -> 16256 bytes .../AT_CellularSIM_unit/mbed_assert_stub.d | 7 + .../AT_CellularSIM_unit/mbed_assert_stub.gcda | Bin 0 -> 188 bytes .../AT_CellularSIM_unit/mbed_assert_stub.gcno | Bin 0 -> 236 bytes .../AT_CellularSIM_unit/mbed_assert_stub.o | Bin 0 -> 4440 bytes .../AT_CellularSIM_unit/test_at_cellularsim.d | 120 + .../test_at_cellularsim.gcda | Bin 0 -> 1736 bytes .../test_at_cellularsim.gcno | Bin 0 -> 10868 bytes .../AT_CellularSIM_unit/test_at_cellularsim.o | Bin 0 -> 87816 bytes .../objs/AT_CellularSIM_unit/us_ticker_stub.d | 9 + .../AT_CellularSIM_unit/us_ticker_stub.gcda | Bin 0 -> 440 bytes .../AT_CellularSIM_unit/us_ticker_stub.gcno | Bin 0 -> 1780 bytes .../objs/AT_CellularSIM_unit/us_ticker_stub.o | Bin 0 -> 10520 bytes .../at/at_cellularsim/test_at_cellularsim.cpp | 57 + .../at/at_cellularsim/test_at_cellularsim.h | 26 + .../at_cellularsms/AT_CellularSMS_unit_tests | Bin 0 -> 508600 bytes .../AT_CellularSMS_unit_tests.txt | 0 .../UNITTESTS/at/at_cellularsms/Makefile | 25 + .../at/at_cellularsms/at_cellularsmstest.cpp | 75 + .../cpputest_AT_CellularSMS.xml | 29 + .../gcov/AT_CellularSMS.cpp.gcov | 1308 +++++ .../at_cellularsms/gcov/AT_CellularSMS.h.gcov | 250 + .../at/at_cellularsms/gcov/Callback.h.gcov | 4557 +++++++++++++++++ .../at/at_cellularsms/gcov/CellularSMS.h.gcov | 160 + .../at/at_cellularsms/gcov/gcov_error.txt | 0 .../at/at_cellularsms/gcov/gcov_output.txt | 24 + .../at/at_cellularsms/gcov/gcov_report.txt | 6 + .../at_cellularsms/gcov/gcov_report.txt.html | 9 + .../at/at_cellularsms/gcov/mbed_debug.h.gcov | 84 + .../UNITTESTS/at/at_cellularsms/gcov/new.gcov | 147 + .../lib/libAT_CellularSMS_unit.a | Bin 0 -> 168456 bytes .../UNITTESTS/at/at_cellularsms/main.cpp | 15 + .../objs/AT_CellularSMS_unit/ATHandler_stub.d | 77 + .../AT_CellularSMS_unit/ATHandler_stub.gcda | Bin 0 -> 2360 bytes .../AT_CellularSMS_unit/ATHandler_stub.gcno | Bin 0 -> 15212 bytes .../objs/AT_CellularSMS_unit/ATHandler_stub.o | Bin 0 -> 82328 bytes .../AT_CellularBase_stub.d | 53 + .../AT_CellularBase_stub.gcda | Bin 0 -> 320 bytes .../AT_CellularBase_stub.gcno | Bin 0 -> 824 bytes .../AT_CellularBase_stub.o | Bin 0 -> 29840 bytes .../objs/AT_CellularSMS_unit/AT_CellularSMS.d | 74 + .../AT_CellularSMS_unit/AT_CellularSMS.gcda | Bin 0 -> 6212 bytes .../AT_CellularSMS_unit/AT_CellularSMS.gcno | Bin 0 -> 68968 bytes .../objs/AT_CellularSMS_unit/AT_CellularSMS.o | Bin 0 -> 164312 bytes .../AT_CellularSMS_unit/CellularUtil_stub.d | 5 + .../CellularUtil_stub.gcda | Bin 0 -> 856 bytes .../CellularUtil_stub.gcno | Bin 0 -> 6080 bytes .../AT_CellularSMS_unit/CellularUtil_stub.o | Bin 0 -> 18352 bytes .../AT_CellularSMS_unit/EventQueue_stub.d | 32 + .../AT_CellularSMS_unit/EventQueue_stub.gcda | Bin 0 -> 968 bytes .../AT_CellularSMS_unit/EventQueue_stub.gcno | Bin 0 -> 5532 bytes .../AT_CellularSMS_unit/EventQueue_stub.o | Bin 0 -> 31576 bytes .../AT_CellularSMS_unit/FileHandle_stub.d | 42 + .../AT_CellularSMS_unit/FileHandle_stub.gcda | Bin 0 -> 684 bytes .../AT_CellularSMS_unit/FileHandle_stub.gcno | Bin 0 -> 3348 bytes .../AT_CellularSMS_unit/FileHandle_stub.o | Bin 0 -> 33400 bytes .../AT_CellularSMS_unit/at_cellularsmstest.d | 4 + .../at_cellularsmstest.gcda | Bin 0 -> 5904 bytes .../at_cellularsmstest.gcno | Bin 0 -> 33964 bytes .../AT_CellularSMS_unit/at_cellularsmstest.o | Bin 0 -> 238088 bytes .../objs/AT_CellularSMS_unit/main.d | 1 + .../objs/AT_CellularSMS_unit/main.gcda | Bin 0 -> 256 bytes .../objs/AT_CellularSMS_unit/main.gcno | Bin 0 -> 228 bytes .../objs/AT_CellularSMS_unit/main.o | Bin 0 -> 16256 bytes .../AT_CellularSMS_unit/mbed_assert_stub.d | 7 + .../AT_CellularSMS_unit/mbed_assert_stub.gcda | Bin 0 -> 248 bytes .../AT_CellularSMS_unit/mbed_assert_stub.gcno | Bin 0 -> 236 bytes .../AT_CellularSMS_unit/mbed_assert_stub.o | Bin 0 -> 4440 bytes .../AT_CellularSMS_unit/mbed_wait_api_stub.d | 5 + .../mbed_wait_api_stub.gcda | Bin 0 -> 320 bytes .../mbed_wait_api_stub.gcno | Bin 0 -> 636 bytes .../AT_CellularSMS_unit/mbed_wait_api_stub.o | Bin 0 -> 5176 bytes .../AT_CellularSMS_unit/test_at_cellularsms.d | 120 + .../test_at_cellularsms.gcda | Bin 0 -> 1976 bytes .../test_at_cellularsms.gcno | Bin 0 -> 12068 bytes .../AT_CellularSMS_unit/test_at_cellularsms.o | Bin 0 -> 92696 bytes .../objs/AT_CellularSMS_unit/us_ticker_stub.d | 9 + .../AT_CellularSMS_unit/us_ticker_stub.gcda | Bin 0 -> 500 bytes .../AT_CellularSMS_unit/us_ticker_stub.gcno | Bin 0 -> 1780 bytes .../objs/AT_CellularSMS_unit/us_ticker_stub.o | Bin 0 -> 10520 bytes .../at/at_cellularsms/test_at_cellularsms.cpp | 82 + .../at/at_cellularsms/test_at_cellularsms.h | 36 + .../AT_CellularStack_unit_tests | Bin 0 -> 526992 bytes .../AT_CellularStack_unit_tests.txt | 0 .../UNITTESTS/at/at_cellularstack/Makefile | 26 + .../at_cellularstack/at_cellularstacktest.cpp | 91 + .../cpputest_AT_CellularStack.xml | 35 + .../gcov/AT_CellularStack.cpp.gcov | 283 + .../gcov/AT_CellularStack.h.gcov | 315 ++ .../at_cellularstack/gcov/NetworkStack.h.gcov | 328 ++ .../at/at_cellularstack/gcov/gcov_error.txt | 0 .../at/at_cellularstack/gcov/gcov_output.txt | 12 + .../at/at_cellularstack/gcov/gcov_report.txt | 3 + .../gcov/gcov_report.txt.html | 6 + .../lib/libAT_CellularStack_unit.a | Bin 0 -> 70714 bytes .../UNITTESTS/at/at_cellularstack/main.cpp | 15 + .../AT_CellularStack_unit/ATHandler_stub.d | 78 + .../AT_CellularStack_unit/ATHandler_stub.gcda | Bin 0 -> 2300 bytes .../AT_CellularStack_unit/ATHandler_stub.gcno | Bin 0 -> 15212 bytes .../AT_CellularStack_unit/ATHandler_stub.o | Bin 0 -> 82352 bytes .../AT_CellularBase_stub.d | 53 + .../AT_CellularBase_stub.gcda | Bin 0 -> 260 bytes .../AT_CellularBase_stub.gcno | Bin 0 -> 824 bytes .../AT_CellularBase_stub.o | Bin 0 -> 29840 bytes .../AT_CellularStack_unit/AT_CellularStack.d | 87 + .../AT_CellularStack.gcda | Bin 0 -> 1612 bytes .../AT_CellularStack.gcno | Bin 0 -> 15192 bytes .../AT_CellularStack_unit/AT_CellularStack.o | Bin 0 -> 69152 bytes .../AT_CellularStack_unit/CellularUtil_stub.d | 5 + .../CellularUtil_stub.gcda | Bin 0 -> 796 bytes .../CellularUtil_stub.gcno | Bin 0 -> 6080 bytes .../AT_CellularStack_unit/CellularUtil_stub.o | Bin 0 -> 18352 bytes .../AT_CellularStack_unit/EventQueue_stub.d | 32 + .../EventQueue_stub.gcda | Bin 0 -> 908 bytes .../EventQueue_stub.gcno | Bin 0 -> 5532 bytes .../AT_CellularStack_unit/EventQueue_stub.o | Bin 0 -> 31576 bytes .../AT_CellularStack_unit/FileHandle_stub.d | 42 + .../FileHandle_stub.gcda | Bin 0 -> 624 bytes .../FileHandle_stub.gcno | Bin 0 -> 3348 bytes .../AT_CellularStack_unit/FileHandle_stub.o | Bin 0 -> 33408 bytes .../AT_CellularStack_unit/NetworkStack_stub.d | 31 + .../NetworkStack_stub.gcda | Bin 0 -> 440 bytes .../NetworkStack_stub.gcno | Bin 0 -> 2164 bytes .../AT_CellularStack_unit/NetworkStack_stub.o | Bin 0 -> 26544 bytes .../SocketAddress_stub.d | 32 + .../SocketAddress_stub.gcda | Bin 0 -> 980 bytes .../SocketAddress_stub.gcno | Bin 0 -> 5656 bytes .../SocketAddress_stub.o | Bin 0 -> 27072 bytes .../at_cellularstacktest.d | 4 + .../at_cellularstacktest.gcda | Bin 0 -> 7260 bytes .../at_cellularstacktest.gcno | Bin 0 -> 44092 bytes .../at_cellularstacktest.o | Bin 0 -> 298392 bytes .../objs/AT_CellularStack_unit/main.d | 1 + .../objs/AT_CellularStack_unit/main.gcda | Bin 0 -> 196 bytes .../objs/AT_CellularStack_unit/main.gcno | Bin 0 -> 228 bytes .../objs/AT_CellularStack_unit/main.o | Bin 0 -> 16272 bytes .../AT_CellularStack_unit/mbed_assert_stub.d | 7 + .../mbed_assert_stub.gcda | Bin 0 -> 188 bytes .../mbed_assert_stub.gcno | Bin 0 -> 236 bytes .../AT_CellularStack_unit/mbed_assert_stub.o | Bin 0 -> 4448 bytes .../test_at_cellularstack.d | 119 + .../test_at_cellularstack.gcda | Bin 0 -> 2440 bytes .../test_at_cellularstack.gcno | Bin 0 -> 15728 bytes .../test_at_cellularstack.o | Bin 0 -> 115688 bytes .../AT_CellularStack_unit/us_ticker_stub.d | 9 + .../AT_CellularStack_unit/us_ticker_stub.gcda | Bin 0 -> 440 bytes .../AT_CellularStack_unit/us_ticker_stub.gcno | Bin 0 -> 1780 bytes .../AT_CellularStack_unit/us_ticker_stub.o | Bin 0 -> 10520 bytes .../test_at_cellularstack.cpp | 118 + .../at_cellularstack/test_at_cellularstack.h | 42 + .../at/athandler/ATHandler_unit_tests | Bin 0 -> 766576 bytes .../at/athandler/ATHandler_unit_tests.txt | 0 .../cellular/UNITTESTS/at/athandler/Makefile | 27 + .../UNITTESTS/at/athandler/athandlertest.cpp | 205 + .../at/athandler/cpputest_ATHandler.xml | 81 + .../at/athandler/gcov/ATHandler.cpp.gcov | 1104 ++++ .../at/athandler/gcov/ATHandler.h.gcov | 476 ++ .../at/athandler/gcov/Callback.h.gcov | 4557 +++++++++++++++++ .../at/athandler/gcov/EventQueue.h.gcov | 2739 ++++++++++ .../at/athandler/gcov/FileHandle.h.gcov | 267 + .../at/athandler/gcov/NonCopyable.h.gcov | 216 + .../at/athandler/gcov/PlatformMutex.h.gcov | 64 + .../at/athandler/gcov/gcov_error.txt | 0 .../at/athandler/gcov/gcov_output.txt | 36 + .../at/athandler/gcov/gcov_report.txt | 9 + .../at/athandler/gcov/gcov_report.txt.html | 12 + .../at/athandler/gcov/mbed_debug.h.gcov | 84 + .../UNITTESTS/at/athandler/gcov/new.gcov | 147 + .../at/athandler/lib/libATHandler_unit.a | Bin 0 -> 176716 bytes .../cellular/UNITTESTS/at/athandler/main.cpp | 15 + .../athandler/objs/ATHandler_unit/ATHandler.d | 85 + .../objs/ATHandler_unit/ATHandler.gcda | Bin 0 -> 7544 bytes .../objs/ATHandler_unit/ATHandler.gcno | Bin 0 -> 67920 bytes .../athandler/objs/ATHandler_unit/ATHandler.o | Bin 0 -> 171664 bytes .../ATHandler_unit/AT_CellularBase_stub.d | 53 + .../ATHandler_unit/AT_CellularBase_stub.gcda | Bin 0 -> 760 bytes .../ATHandler_unit/AT_CellularBase_stub.gcno | Bin 0 -> 824 bytes .../ATHandler_unit/AT_CellularBase_stub.o | Bin 0 -> 29824 bytes .../objs/ATHandler_unit/CellularUtil_stub.d | 5 + .../ATHandler_unit/CellularUtil_stub.gcda | Bin 0 -> 1296 bytes .../ATHandler_unit/CellularUtil_stub.gcno | Bin 0 -> 6080 bytes .../objs/ATHandler_unit/CellularUtil_stub.o | Bin 0 -> 18328 bytes .../objs/ATHandler_unit/EventQueue_stub.d | 31 + .../objs/ATHandler_unit/EventQueue_stub.gcda | Bin 0 -> 1408 bytes .../objs/ATHandler_unit/EventQueue_stub.gcno | Bin 0 -> 5532 bytes .../objs/ATHandler_unit/EventQueue_stub.o | Bin 0 -> 31560 bytes .../objs/ATHandler_unit/FileHandle_stub.d | 41 + .../objs/ATHandler_unit/FileHandle_stub.gcda | Bin 0 -> 1124 bytes .../objs/ATHandler_unit/FileHandle_stub.gcno | Bin 0 -> 3348 bytes .../objs/ATHandler_unit/FileHandle_stub.o | Bin 0 -> 33384 bytes .../objs/ATHandler_unit/Timer_stub.d | 41 + .../objs/ATHandler_unit/Timer_stub.gcda | Bin 0 -> 1144 bytes .../objs/ATHandler_unit/Timer_stub.gcno | Bin 0 -> 3204 bytes .../objs/ATHandler_unit/Timer_stub.o | Bin 0 -> 26584 bytes .../objs/ATHandler_unit/athandlertest.d | 3 + .../objs/ATHandler_unit/athandlertest.gcda | Bin 0 -> 18616 bytes .../objs/ATHandler_unit/athandlertest.gcno | Bin 0 -> 102072 bytes .../objs/ATHandler_unit/athandlertest.o | Bin 0 -> 699056 bytes .../objs/ATHandler_unit/equeue_stub.d | 7 + .../objs/ATHandler_unit/equeue_stub.gcda | Bin 0 -> 1264 bytes .../objs/ATHandler_unit/equeue_stub.gcno | Bin 0 -> 3600 bytes .../objs/ATHandler_unit/equeue_stub.o | Bin 0 -> 17544 bytes .../at/athandler/objs/ATHandler_unit/main.d | 1 + .../athandler/objs/ATHandler_unit/main.gcda | Bin 0 -> 696 bytes .../athandler/objs/ATHandler_unit/main.gcno | Bin 0 -> 228 bytes .../at/athandler/objs/ATHandler_unit/main.o | Bin 0 -> 16232 bytes .../objs/ATHandler_unit/mbed_assert_stub.d | 7 + .../objs/ATHandler_unit/mbed_assert_stub.gcda | Bin 0 -> 688 bytes .../objs/ATHandler_unit/mbed_assert_stub.gcno | Bin 0 -> 236 bytes .../objs/ATHandler_unit/mbed_assert_stub.o | Bin 0 -> 4424 bytes .../objs/ATHandler_unit/mbed_poll_stub.d | 6 + .../objs/ATHandler_unit/mbed_poll_stub.gcda | Bin 0 -> 688 bytes .../objs/ATHandler_unit/mbed_poll_stub.gcno | Bin 0 -> 264 bytes .../objs/ATHandler_unit/mbed_poll_stub.o | Bin 0 -> 5720 bytes .../objs/ATHandler_unit/mbed_wait_api_stub.d | 5 + .../ATHandler_unit/mbed_wait_api_stub.gcda | Bin 0 -> 760 bytes .../ATHandler_unit/mbed_wait_api_stub.gcno | Bin 0 -> 636 bytes .../objs/ATHandler_unit/mbed_wait_api_stub.o | Bin 0 -> 5160 bytes .../objs/ATHandler_unit/test_athandler.d | 123 + .../objs/ATHandler_unit/test_athandler.gcda | Bin 0 -> 13728 bytes .../objs/ATHandler_unit/test_athandler.gcno | Bin 0 -> 83952 bytes .../objs/ATHandler_unit/test_athandler.o | Bin 0 -> 269448 bytes .../objs/ATHandler_unit/us_ticker_stub.d | 9 + .../objs/ATHandler_unit/us_ticker_stub.gcda | Bin 0 -> 940 bytes .../objs/ATHandler_unit/us_ticker_stub.gcno | Bin 0 -> 1780 bytes .../objs/ATHandler_unit/us_ticker_stub.o | Bin 0 -> 10504 bytes .../UNITTESTS/at/athandler/test_athandler.cpp | 762 +++ .../UNITTESTS/at/athandler/test_athandler.h | 88 + .../cellular/UNITTESTS/common/util/Makefile | 17 + .../UNITTESTS/common/util/cpputest_util.xml | 19 + .../common/util/gcov/CellularUtil.cpp.gcov | 331 ++ .../UNITTESTS/common/util/gcov/gcov_error.txt | 0 .../common/util/gcov/gcov_output.txt | 4 + .../common/util/gcov/gcov_report.txt | 1 + .../common/util/gcov/gcov_report.txt.html | 4 + .../UNITTESTS/common/util/lib/libutil_unit.a | Bin 0 -> 26158 bytes .../cellular/UNITTESTS/common/util/main.cpp | 15 + .../common/util/objs/util_unit/CellularUtil.d | 4 + .../util/objs/util_unit/CellularUtil.gcda | Bin 0 -> 1500 bytes .../util/objs/util_unit/CellularUtil.gcno | Bin 0 -> 16128 bytes .../common/util/objs/util_unit/CellularUtil.o | Bin 0 -> 25488 bytes .../common/util/objs/util_unit/main.d | 1 + .../common/util/objs/util_unit/main.gcda | Bin 0 -> 496 bytes .../common/util/objs/util_unit/main.gcno | Bin 0 -> 228 bytes .../common/util/objs/util_unit/main.o | Bin 0 -> 16208 bytes .../common/util/objs/util_unit/test_util.d | 6 + .../common/util/objs/util_unit/test_util.gcda | Bin 0 -> 3508 bytes .../common/util/objs/util_unit/test_util.gcno | Bin 0 -> 15304 bytes .../common/util/objs/util_unit/test_util.o | Bin 0 -> 67024 bytes .../common/util/objs/util_unit/utiltest.d | 3 + .../common/util/objs/util_unit/utiltest.gcda | Bin 0 -> 3784 bytes .../common/util/objs/util_unit/utiltest.gcno | Bin 0 -> 17692 bytes .../common/util/objs/util_unit/utiltest.o | Bin 0 -> 135488 bytes .../UNITTESTS/common/util/test_util.cpp | 164 + .../UNITTESTS/common/util/test_util.h | 26 + .../UNITTESTS/common/util/util_unit_tests | Bin 0 -> 295088 bytes .../UNITTESTS/common/util/util_unit_tests.txt | 0 .../UNITTESTS/common/util/utiltest.cpp | 50 + .../cellular/UNITTESTS/makefile_defines.txt | 33 + .../cellular/UNITTESTS/mux/mbed_mux/Makefile | 17 + .../mux/mbed_mux/cpputest_mbed_mux.xml | 9 + .../UNITTESTS/mux/mbed_mux/gcov_error.txt | 1 + .../UNITTESTS/mux/mbed_mux/gcov_output.txt | 32 + .../UNITTESTS/mux/mbed_mux/gcov_report.txt | 9 + .../mux/mbed_mux/gcov_report.txt.html | 12 + .../mux/mbed_mux/lib/libmbed_mux_unit.a | Bin 0 -> 158348 bytes .../cellular/UNITTESTS/mux/mbed_mux/main.cpp | 15 + .../mux/mbed_mux/mbed_mux_unit_tests | Bin 0 -> 226264 bytes .../mux/mbed_mux/mbed_mux_unit_tests.txt | 0 .../UNITTESTS/mux/mbed_mux/mbed_muxtest.cpp | 29 + .../mux/mbed_mux/objs/mbed_mux_unit/main.d | 1 + .../mux/mbed_mux/objs/mbed_mux_unit/main.gcda | Bin 0 -> 176 bytes .../mux/mbed_mux/objs/mbed_mux_unit/main.gcno | Bin 0 -> 228 bytes .../mux/mbed_mux/objs/mbed_mux_unit/main.o | Bin 0 -> 16232 bytes .../mbed_mux/objs/mbed_mux_unit/mbed_mux.d | 74 + .../mbed_mux/objs/mbed_mux_unit/mbed_mux.gcno | Bin 0 -> 58380 bytes .../mbed_mux/objs/mbed_mux_unit/mbed_mux.o | Bin 0 -> 153976 bytes .../objs/mbed_mux_unit/mbed_muxtest.d | 3 + .../objs/mbed_mux_unit/mbed_muxtest.gcda | Bin 0 -> 1104 bytes .../objs/mbed_mux_unit/mbed_muxtest.gcno | Bin 0 -> 5388 bytes .../objs/mbed_mux_unit/mbed_muxtest.o | Bin 0 -> 50896 bytes .../objs/mbed_mux_unit/test_mbed_mux.d | 3 + .../objs/mbed_mux_unit/test_mbed_mux.gcda | Bin 0 -> 272 bytes .../objs/mbed_mux_unit/test_mbed_mux.gcno | Bin 0 -> 716 bytes .../objs/mbed_mux_unit/test_mbed_mux.o | Bin 0 -> 19496 bytes .../UNITTESTS/mux/mbed_mux/test_mbed_mux.cpp | 16 + .../UNITTESTS/mux/mbed_mux/test_mbed_mux.h | 16 + .../mux/mbed_mux_data_service/Makefile | 20 + .../cpputest_mbed_mux_data_service.xml | 19 + .../gcov/Callback.h.gcov | 4557 +++++++++++++++++ .../gcov/FileHandle.h.gcov | 267 + .../gcov/NonCopyable.h.gcov | 216 + .../mbed_mux_data_service/gcov/gcov_error.txt | 0 .../gcov/gcov_output.txt | 24 + .../gcov/gcov_report.txt | 6 + .../gcov/gcov_report.txt.html | 9 + .../gcov/mbed_mux.h.gcov | 570 +++ .../gcov/mbed_mux_data_service.cpp.gcov | 58 + .../mux/mbed_mux_data_service/gcov/new.gcov | 147 + .../lib/libmbed_mux_data_service_unit.a | Bin 0 -> 50642 bytes .../mux/mbed_mux_data_service/main.cpp | 15 + .../mbed_mux_data_service_unit_tests | Bin 0 -> 340696 bytes .../mbed_mux_data_service_unit_tests.txt | 0 .../mbed_mux_data_servicetest.cpp | 50 + .../FileHandle_stub.d | 42 + .../FileHandle_stub.gcda | Bin 0 -> 704 bytes .../FileHandle_stub.gcno | Bin 0 -> 3348 bytes .../FileHandle_stub.o | Bin 0 -> 33424 bytes .../objs/mbed_mux_data_service_unit/main.d | 1 + .../objs/mbed_mux_data_service_unit/main.gcda | Bin 0 -> 276 bytes .../objs/mbed_mux_data_service_unit/main.gcno | Bin 0 -> 228 bytes .../objs/mbed_mux_data_service_unit/main.o | Bin 0 -> 16304 bytes .../mbed_assert_stub.d | 7 + .../mbed_assert_stub.gcda | Bin 0 -> 268 bytes .../mbed_assert_stub.gcno | Bin 0 -> 236 bytes .../mbed_assert_stub.o | Bin 0 -> 4464 bytes .../mbed_mux_data_service.d | 73 + .../mbed_mux_data_service.gcda | Bin 0 -> 1384 bytes .../mbed_mux_data_service.gcno | Bin 0 -> 8208 bytes .../mbed_mux_data_service.o | Bin 0 -> 49336 bytes .../mbed_mux_data_servicetest.d | 4 + .../mbed_mux_data_servicetest.gcda | Bin 0 -> 3564 bytes .../mbed_mux_data_servicetest.gcno | Bin 0 -> 20668 bytes .../mbed_mux_data_servicetest.o | Bin 0 -> 143648 bytes .../mbed_mux_stub.d | 75 + .../mbed_mux_stub.gcda | Bin 0 -> 484 bytes .../mbed_mux_stub.gcno | Bin 0 -> 1780 bytes .../mbed_mux_stub.o | Bin 0 -> 40536 bytes .../test_mbed_mux_data_service.d | 77 + .../test_mbed_mux_data_service.gcda | Bin 0 -> 2016 bytes .../test_mbed_mux_data_service.gcno | Bin 0 -> 11412 bytes .../test_mbed_mux_data_service.o | Bin 0 -> 66464 bytes .../test_mbed_mux_data_service.cpp | 60 + .../test_mbed_mux_data_service.h | 26 + features/cellular/UNITTESTS/run_tests | 48 + .../cellular/UNITTESTS/stubs/ATCmdParser.cpp | 423 ++ .../UNITTESTS/stubs/ATHandler_stub.cpp | 205 + .../cellular/UNITTESTS/stubs/ATHandler_stub.h | 37 + .../UNITTESTS/stubs/AT_CellularBase_stub.cpp | 43 + .../UNITTESTS/stubs/AT_CellularBase_stub.h | 24 + .../stubs/AT_CellularDevice_stub.cpp | 91 + .../stubs/AT_CellularInformation_stub.cpp | 44 + .../stubs/AT_CellularMultiplexer_stub.cpp | 35 + .../stubs/AT_CellularNetwork_stub.cpp | 223 + .../UNITTESTS/stubs/AT_CellularPower_stub.cpp | 66 + .../UNITTESTS/stubs/AT_CellularSIM_stub.cpp | 50 + .../UNITTESTS/stubs/AT_CellularSMS_stub.cpp | 189 + .../UNITTESTS/stubs/AT_CellularStack_stub.cpp | 90 + .../UNITTESTS/stubs/CellularUtil_stub.cpp | 140 + .../UNITTESTS/stubs/EventQueue_stub.cpp | 34 + .../UNITTESTS/stubs/FileHandle_stub.cpp | 16 + .../UNITTESTS/stubs/FileHandle_stub.h | 62 + .../UNITTESTS/stubs/NetworkInterface_stub.cpp | 63 + .../UNITTESTS/stubs/NetworkStack_stub.cpp | 65 + .../UNITTESTS/stubs/Semaphore_stub.cpp | 4 + .../UNITTESTS/stubs/SocketAddress_stub.cpp | 132 + .../cellular/UNITTESTS/stubs/Timer_stub.cpp | 47 + .../cellular/UNITTESTS/stubs/Timer_stub.h | 8 + .../cellular/UNITTESTS/stubs/equeue_stub.c | 88 + .../UNITTESTS/stubs/mbed_assert_stub.cpp | 8 + .../UNITTESTS/stubs/mbed_mux_stub.cpp | 46 + .../cellular/UNITTESTS/stubs/mbed_mux_stub.h | 12 + .../UNITTESTS/stubs/mbed_poll_stub.cpp | 16 + .../cellular/UNITTESTS/stubs/mbed_poll_stub.h | 11 + .../UNITTESTS/stubs/mbed_wait_api_stub.cpp | 11 + .../UNITTESTS/stubs/us_ticker_stub.cpp | 38 + .../cellular/UNITTESTS/target_h/ATCmdParser.h | 18 + .../UNITTESTS/target_h/PeripheralNames.h | 0 .../cellular/UNITTESTS/target_h/PinNames.h | 11 + .../cellular/UNITTESTS/target_h/Semaphore2.h | 4 + .../cellular/UNITTESTS/target_h/arm_math.h | 0 features/cellular/UNITTESTS/target_h/cmsis.h | 0 .../UNITTESTS/target_h/cmsis_compiler.h | 0 .../cellular/UNITTESTS/target_h/cmsis_os2.h | 25 + features/cellular/UNITTESTS/target_h/device.h | 0 features/cellular/UNITTESTS/target_h/mbed.h | 23 + .../UNITTESTS/target_h/mbed_retarget.h | 0 .../UNITTESTS/target_h/mbed_rtos1_types.h | 0 .../UNITTESTS/target_h/mbed_rtos_storage.h | 6 + .../cellular/UNITTESTS/target_h/mbed_rtx.h | 0 .../cellular/UNITTESTS/target_h/nsapi_ppp.h | 0 .../target_h/platform/mbed_retarget.h | 0 .../cellular/UNITTESTS/target_h/rtx_lib.h | 8 + features/cellular/UNITTESTS/target_h/rtx_os.h | 17 + .../UNITTESTS/target_h/sys/syslimits.h | 1 + features/cellular/framework/AT/ATHandler.cpp | 17 +- features/cellular/framework/mux/mbed_mux.h | 2 +- features/cellular/junit_xsl.xslt | 101 + features/cellular/xsl_script.sh | 35 + 793 files changed, 44076 insertions(+), 6 deletions(-) create mode 100644 features/cellular/.gitignore create mode 100644 features/cellular/.mbedignore create mode 100644 features/cellular/Makefile.test create mode 100755 features/cellular/UNITTESTS/Makefile create mode 100755 features/cellular/UNITTESTS/MakefileWorker.mk create mode 100755 features/cellular/UNITTESTS/at/at_cellularbase/AT_CellularBase_unit_tests create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/AT_CellularBase_unit_tests.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/Makefile create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/at_cellularbasetest.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/cpputest_AT_CellularBase.xml create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/gcov/AT_CellularBase.cpp.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/gcov/gcov_error.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/gcov/gcov_output.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/gcov/gcov_report.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/gcov/gcov_report.txt.html create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/lib/libAT_CellularBase_unit.a create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/main.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/ATHandler_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/ATHandler_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/ATHandler_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/ATHandler_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/AT_CellularBase.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/AT_CellularBase.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/AT_CellularBase.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/AT_CellularBase.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/EventQueue_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/EventQueue_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/EventQueue_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/EventQueue_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/FileHandle_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/FileHandle_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/FileHandle_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/FileHandle_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/at_cellularbasetest.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/at_cellularbasetest.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/at_cellularbasetest.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/at_cellularbasetest.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/main.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/main.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/main.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/main.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/mbed_assert_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/mbed_assert_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/mbed_assert_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/mbed_assert_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/test_at_cellularbase.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/test_at_cellularbase.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/test_at_cellularbase.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/test_at_cellularbase.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/test_at_cellularbase.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/test_at_cellularbase.h create mode 100755 features/cellular/UNITTESTS/at/at_cellulardevice/AT_CellularDevice_unit_tests create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/AT_CellularDevice_unit_tests.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/Makefile create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/at_cellulardevicetest.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/cpputest_AT_CellularDevice.xml create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/gcov/AT_CellularDevice.cpp.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/gcov/CellularDevice.h.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/gcov/gcov_error.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/gcov/gcov_output.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/gcov/gcov_report.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/gcov/gcov_report.txt.html create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/lib/libAT_CellularDevice_unit.a create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/main.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/ATHandler_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/ATHandler_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/ATHandler_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/ATHandler_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularBase_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularBase_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularBase_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularBase_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularDevice.d create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularDevice.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularDevice.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularDevice.o create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularInformation_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularInformation_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularInformation_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularInformation_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularMultiplexer_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularMultiplexer_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularMultiplexer_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularMultiplexer_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularNetwork_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularNetwork_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularNetwork_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularNetwork_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularPower_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularPower_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularPower_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularPower_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularSIM_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularSIM_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularSIM_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularSIM_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularSMS_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularSMS_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularSMS_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularSMS_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/CellularUtil_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/CellularUtil_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/CellularUtil_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/CellularUtil_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/EventQueue_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/EventQueue_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/EventQueue_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/EventQueue_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/FileHandle_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/FileHandle_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/FileHandle_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/FileHandle_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/NetworkInterface_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/NetworkInterface_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/NetworkInterface_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/NetworkInterface_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/at_cellulardevicetest.d create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/at_cellulardevicetest.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/at_cellulardevicetest.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/at_cellulardevicetest.o create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/main.d create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/main.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/main.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/main.o create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/mbed_assert_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/mbed_assert_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/mbed_assert_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/mbed_assert_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/test_at_cellulardevice.d create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/test_at_cellulardevice.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/test_at_cellulardevice.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/test_at_cellulardevice.o create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/test_at_cellulardevice.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/test_at_cellulardevice.h create mode 100755 features/cellular/UNITTESTS/at/at_cellularinformation/AT_CellularInformation_unit_tests create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/AT_CellularInformation_unit_tests.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/Makefile create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/at_cellularinformationtest.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/cpputest_AT_CellularInformation.xml create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/gcov/AT_CellularInformation.cpp.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/gcov/CellularInformation.h.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/gcov/gcov_error.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/gcov/gcov_output.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/gcov/gcov_report.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/gcov/gcov_report.txt.html create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/lib/libAT_CellularInformation_unit.a create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/main.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/ATHandler_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/ATHandler_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/ATHandler_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/ATHandler_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularBase_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularBase_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularBase_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularBase_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularInformation.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularInformation.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularInformation.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularInformation.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/EventQueue_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/EventQueue_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/EventQueue_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/EventQueue_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/FileHandle_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/FileHandle_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/FileHandle_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/FileHandle_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/at_cellularinformationtest.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/at_cellularinformationtest.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/at_cellularinformationtest.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/at_cellularinformationtest.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/main.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/main.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/main.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/main.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/mbed_assert_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/mbed_assert_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/mbed_assert_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/mbed_assert_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/test_at_cellularinformation.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/test_at_cellularinformation.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/test_at_cellularinformation.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/test_at_cellularinformation.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/test_at_cellularinformation.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/test_at_cellularinformation.h create mode 100755 features/cellular/UNITTESTS/at/at_cellularmultiplexer/AT_CellularMultiplexer_unit_tests create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/AT_CellularMultiplexer_unit_tests.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/Makefile create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/at_cellularmultiplexertest.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/cpputest_AT_CellularMultiplexer.xml create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/AT_CellularMultiplexer.cpp.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/CellularMultiplexer.h.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/gcov_error.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/gcov_output.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/gcov_report.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/gcov_report.txt.html create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/lib/libAT_CellularMultiplexer_unit.a create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/main.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/ATHandler_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/ATHandler_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/ATHandler_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/ATHandler_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularBase_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularBase_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularBase_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularBase_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularMultiplexer.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularMultiplexer.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularMultiplexer.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularMultiplexer.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/EventQueue_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/EventQueue_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/EventQueue_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/EventQueue_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/FileHandle_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/FileHandle_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/FileHandle_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/FileHandle_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/at_cellularmultiplexertest.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/at_cellularmultiplexertest.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/at_cellularmultiplexertest.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/at_cellularmultiplexertest.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/main.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/main.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/main.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/main.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/mbed_assert_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/mbed_assert_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/mbed_assert_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/mbed_assert_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/test_at_cellularmultiplexer.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/test_at_cellularmultiplexer.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/test_at_cellularmultiplexer.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/test_at_cellularmultiplexer.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/test_at_cellularmultiplexer.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularmultiplexer/test_at_cellularmultiplexer.h create mode 100755 features/cellular/UNITTESTS/at/at_cellularnetwork/AT_CellularNetwork_unit_tests create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/AT_CellularNetwork_unit_tests.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/Makefile create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/at_cellularnetworktest.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/cpputest_AT_CellularNetwork.xml create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/AT_CellularNetwork.cpp.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/Callback.h.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/CellularList.h.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/CellularNetwork.h.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/NetworkInterface.h.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/gcov_error.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/gcov_output.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/gcov_report.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/gcov_report.txt.html create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/mbed_debug.h.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/new.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/lib/libAT_CellularNetwork_unit.a create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/main.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/ATHandler_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/ATHandler_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/ATHandler_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/ATHandler_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularBase_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularBase_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularBase_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularBase_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularNetwork.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularNetwork.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/CellularUtil_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/CellularUtil_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/CellularUtil_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/CellularUtil_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/EventQueue_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/EventQueue_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/EventQueue_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/EventQueue_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/FileHandle_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/FileHandle_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/FileHandle_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/FileHandle_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/NetworkInterface_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/NetworkInterface_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/NetworkInterface_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/NetworkInterface_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/at_cellularnetworktest.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/at_cellularnetworktest.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/at_cellularnetworktest.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/at_cellularnetworktest.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/main.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/main.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/main.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/main.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/mbed_assert_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/mbed_assert_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/mbed_assert_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/mbed_assert_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/test_at_cellularnetwork.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/test_at_cellularnetwork.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/test_at_cellularnetwork.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/test_at_cellularnetwork.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/us_ticker_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/us_ticker_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/us_ticker_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/us_ticker_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/test_at_cellularnetwork.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/test_at_cellularnetwork.h create mode 100755 features/cellular/UNITTESTS/at/at_cellularpower/AT_CellularPower_unit_tests create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/AT_CellularPower_unit_tests.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/Makefile create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/at_cellularpowertest.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/cpputest_AT_CellularPower.xml create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/gcov/AT_CellularPower.cpp.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/gcov/CellularPower.h.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/gcov/gcov_error.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/gcov/gcov_output.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/gcov/gcov_report.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/gcov/gcov_report.txt.html create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/lib/libAT_CellularPower_unit.a create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/main.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/ATHandler_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/ATHandler_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/ATHandler_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/ATHandler_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularBase_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularBase_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularBase_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularBase_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularPower.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularPower.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularPower.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularPower.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/CellularUtil_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/CellularUtil_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/CellularUtil_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/CellularUtil_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/EventQueue_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/EventQueue_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/EventQueue_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/EventQueue_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/FileHandle_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/FileHandle_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/FileHandle_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/FileHandle_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/at_cellularpowertest.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/at_cellularpowertest.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/at_cellularpowertest.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/at_cellularpowertest.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/main.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/main.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/main.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/main.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/mbed_assert_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/mbed_assert_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/mbed_assert_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/mbed_assert_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/test_at_cellularpower.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/test_at_cellularpower.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/test_at_cellularpower.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/test_at_cellularpower.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/test_at_cellularpower.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/test_at_cellularpower.h create mode 100755 features/cellular/UNITTESTS/at/at_cellularsim/AT_CellularSIM_unit_tests create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/AT_CellularSIM_unit_tests.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/Makefile create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/at_cellularsimtest.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/cpputest_AT_CellularSIM.xml create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/gcov/AT_CellularSIM.cpp.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/gcov/CellularSIM.h.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/gcov/gcov_error.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/gcov/gcov_output.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/gcov/gcov_report.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/gcov/gcov_report.txt.html create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/gcov/mbed_debug.h.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/lib/libAT_CellularSIM_unit.a create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/main.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/ATHandler_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/ATHandler_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/ATHandler_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/ATHandler_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularBase_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularBase_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularBase_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularBase_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularSIM.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularSIM.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularSIM.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularSIM.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/CellularUtil_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/CellularUtil_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/CellularUtil_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/CellularUtil_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/EventQueue_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/EventQueue_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/EventQueue_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/EventQueue_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/FileHandle_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/FileHandle_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/FileHandle_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/FileHandle_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/at_cellularsimtest.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/at_cellularsimtest.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/at_cellularsimtest.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/at_cellularsimtest.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/main.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/main.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/main.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/main.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/mbed_assert_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/mbed_assert_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/mbed_assert_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/mbed_assert_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/test_at_cellularsim.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/test_at_cellularsim.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/test_at_cellularsim.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/test_at_cellularsim.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/us_ticker_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/us_ticker_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/us_ticker_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/us_ticker_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/test_at_cellularsim.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/test_at_cellularsim.h create mode 100755 features/cellular/UNITTESTS/at/at_cellularsms/AT_CellularSMS_unit_tests create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/AT_CellularSMS_unit_tests.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/Makefile create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/at_cellularsmstest.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/cpputest_AT_CellularSMS.xml create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/gcov/AT_CellularSMS.cpp.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/gcov/AT_CellularSMS.h.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/gcov/Callback.h.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/gcov/CellularSMS.h.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/gcov/gcov_error.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/gcov/gcov_output.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/gcov/gcov_report.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/gcov/gcov_report.txt.html create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/gcov/mbed_debug.h.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/gcov/new.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/lib/libAT_CellularSMS_unit.a create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/main.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/ATHandler_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/ATHandler_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/ATHandler_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/ATHandler_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/AT_CellularBase_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/AT_CellularBase_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/AT_CellularBase_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/AT_CellularBase_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/AT_CellularSMS.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/AT_CellularSMS.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/AT_CellularSMS.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/AT_CellularSMS.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/CellularUtil_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/CellularUtil_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/CellularUtil_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/CellularUtil_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/EventQueue_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/EventQueue_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/EventQueue_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/EventQueue_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/FileHandle_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/FileHandle_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/FileHandle_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/FileHandle_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/at_cellularsmstest.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/at_cellularsmstest.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/at_cellularsmstest.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/at_cellularsmstest.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/main.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/main.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/main.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/main.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/mbed_assert_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/mbed_assert_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/mbed_assert_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/mbed_assert_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/mbed_wait_api_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/mbed_wait_api_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/mbed_wait_api_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/mbed_wait_api_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/test_at_cellularsms.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/test_at_cellularsms.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/test_at_cellularsms.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/test_at_cellularsms.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/us_ticker_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/us_ticker_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/us_ticker_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/us_ticker_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/test_at_cellularsms.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/test_at_cellularsms.h create mode 100755 features/cellular/UNITTESTS/at/at_cellularstack/AT_CellularStack_unit_tests create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/AT_CellularStack_unit_tests.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/Makefile create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/at_cellularstacktest.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/cpputest_AT_CellularStack.xml create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/gcov/AT_CellularStack.cpp.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/gcov/AT_CellularStack.h.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/gcov/NetworkStack.h.gcov create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/gcov/gcov_error.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/gcov/gcov_output.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/gcov/gcov_report.txt create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/gcov/gcov_report.txt.html create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/lib/libAT_CellularStack_unit.a create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/main.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/ATHandler_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/ATHandler_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/ATHandler_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/ATHandler_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/AT_CellularBase_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/AT_CellularBase_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/AT_CellularBase_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/AT_CellularBase_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/AT_CellularStack.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/AT_CellularStack.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/AT_CellularStack.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/AT_CellularStack.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/CellularUtil_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/CellularUtil_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/CellularUtil_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/CellularUtil_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/EventQueue_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/EventQueue_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/EventQueue_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/EventQueue_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/FileHandle_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/FileHandle_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/FileHandle_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/FileHandle_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/NetworkStack_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/NetworkStack_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/NetworkStack_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/NetworkStack_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/SocketAddress_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/SocketAddress_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/SocketAddress_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/SocketAddress_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/at_cellularstacktest.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/at_cellularstacktest.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/at_cellularstacktest.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/at_cellularstacktest.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/main.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/main.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/main.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/main.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/mbed_assert_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/mbed_assert_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/mbed_assert_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/mbed_assert_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/test_at_cellularstack.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/test_at_cellularstack.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/test_at_cellularstack.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/test_at_cellularstack.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/us_ticker_stub.d create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/us_ticker_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/us_ticker_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/objs/AT_CellularStack_unit/us_ticker_stub.o create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/test_at_cellularstack.cpp create mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/test_at_cellularstack.h create mode 100755 features/cellular/UNITTESTS/at/athandler/ATHandler_unit_tests create mode 100644 features/cellular/UNITTESTS/at/athandler/ATHandler_unit_tests.txt create mode 100644 features/cellular/UNITTESTS/at/athandler/Makefile create mode 100644 features/cellular/UNITTESTS/at/athandler/athandlertest.cpp create mode 100644 features/cellular/UNITTESTS/at/athandler/cpputest_ATHandler.xml create mode 100644 features/cellular/UNITTESTS/at/athandler/gcov/ATHandler.cpp.gcov create mode 100644 features/cellular/UNITTESTS/at/athandler/gcov/ATHandler.h.gcov create mode 100644 features/cellular/UNITTESTS/at/athandler/gcov/Callback.h.gcov create mode 100644 features/cellular/UNITTESTS/at/athandler/gcov/EventQueue.h.gcov create mode 100644 features/cellular/UNITTESTS/at/athandler/gcov/FileHandle.h.gcov create mode 100644 features/cellular/UNITTESTS/at/athandler/gcov/NonCopyable.h.gcov create mode 100644 features/cellular/UNITTESTS/at/athandler/gcov/PlatformMutex.h.gcov create mode 100644 features/cellular/UNITTESTS/at/athandler/gcov/gcov_error.txt create mode 100644 features/cellular/UNITTESTS/at/athandler/gcov/gcov_output.txt create mode 100644 features/cellular/UNITTESTS/at/athandler/gcov/gcov_report.txt create mode 100644 features/cellular/UNITTESTS/at/athandler/gcov/gcov_report.txt.html create mode 100644 features/cellular/UNITTESTS/at/athandler/gcov/mbed_debug.h.gcov create mode 100644 features/cellular/UNITTESTS/at/athandler/gcov/new.gcov create mode 100644 features/cellular/UNITTESTS/at/athandler/lib/libATHandler_unit.a create mode 100644 features/cellular/UNITTESTS/at/athandler/main.cpp create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/ATHandler.d create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/ATHandler.gcda create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/ATHandler.gcno create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/ATHandler.o create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/AT_CellularBase_stub.d create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/AT_CellularBase_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/AT_CellularBase_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/AT_CellularBase_stub.o create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/CellularUtil_stub.d create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/CellularUtil_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/CellularUtil_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/CellularUtil_stub.o create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/EventQueue_stub.d create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/EventQueue_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/EventQueue_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/EventQueue_stub.o create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/FileHandle_stub.d create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/FileHandle_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/FileHandle_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/FileHandle_stub.o create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/Timer_stub.d create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/Timer_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/Timer_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/Timer_stub.o create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/athandlertest.d create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/athandlertest.gcda create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/athandlertest.gcno create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/athandlertest.o create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/equeue_stub.d create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/equeue_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/equeue_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/equeue_stub.o create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/main.d create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/main.gcda create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/main.gcno create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/main.o create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/mbed_assert_stub.d create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/mbed_assert_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/mbed_assert_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/mbed_assert_stub.o create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/mbed_poll_stub.d create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/mbed_poll_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/mbed_poll_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/mbed_poll_stub.o create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/mbed_wait_api_stub.d create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/mbed_wait_api_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/mbed_wait_api_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/mbed_wait_api_stub.o create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/test_athandler.d create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/test_athandler.gcda create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/test_athandler.gcno create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/test_athandler.o create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/us_ticker_stub.d create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/us_ticker_stub.gcda create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/us_ticker_stub.gcno create mode 100644 features/cellular/UNITTESTS/at/athandler/objs/ATHandler_unit/us_ticker_stub.o create mode 100644 features/cellular/UNITTESTS/at/athandler/test_athandler.cpp create mode 100644 features/cellular/UNITTESTS/at/athandler/test_athandler.h create mode 100644 features/cellular/UNITTESTS/common/util/Makefile create mode 100644 features/cellular/UNITTESTS/common/util/cpputest_util.xml create mode 100644 features/cellular/UNITTESTS/common/util/gcov/CellularUtil.cpp.gcov create mode 100644 features/cellular/UNITTESTS/common/util/gcov/gcov_error.txt create mode 100644 features/cellular/UNITTESTS/common/util/gcov/gcov_output.txt create mode 100644 features/cellular/UNITTESTS/common/util/gcov/gcov_report.txt create mode 100644 features/cellular/UNITTESTS/common/util/gcov/gcov_report.txt.html create mode 100644 features/cellular/UNITTESTS/common/util/lib/libutil_unit.a create mode 100644 features/cellular/UNITTESTS/common/util/main.cpp create mode 100644 features/cellular/UNITTESTS/common/util/objs/util_unit/CellularUtil.d create mode 100644 features/cellular/UNITTESTS/common/util/objs/util_unit/CellularUtil.gcda create mode 100644 features/cellular/UNITTESTS/common/util/objs/util_unit/CellularUtil.gcno create mode 100644 features/cellular/UNITTESTS/common/util/objs/util_unit/CellularUtil.o create mode 100644 features/cellular/UNITTESTS/common/util/objs/util_unit/main.d create mode 100644 features/cellular/UNITTESTS/common/util/objs/util_unit/main.gcda create mode 100644 features/cellular/UNITTESTS/common/util/objs/util_unit/main.gcno create mode 100644 features/cellular/UNITTESTS/common/util/objs/util_unit/main.o create mode 100644 features/cellular/UNITTESTS/common/util/objs/util_unit/test_util.d create mode 100644 features/cellular/UNITTESTS/common/util/objs/util_unit/test_util.gcda create mode 100644 features/cellular/UNITTESTS/common/util/objs/util_unit/test_util.gcno create mode 100644 features/cellular/UNITTESTS/common/util/objs/util_unit/test_util.o create mode 100644 features/cellular/UNITTESTS/common/util/objs/util_unit/utiltest.d create mode 100644 features/cellular/UNITTESTS/common/util/objs/util_unit/utiltest.gcda create mode 100644 features/cellular/UNITTESTS/common/util/objs/util_unit/utiltest.gcno create mode 100644 features/cellular/UNITTESTS/common/util/objs/util_unit/utiltest.o create mode 100644 features/cellular/UNITTESTS/common/util/test_util.cpp create mode 100644 features/cellular/UNITTESTS/common/util/test_util.h create mode 100755 features/cellular/UNITTESTS/common/util/util_unit_tests create mode 100644 features/cellular/UNITTESTS/common/util/util_unit_tests.txt create mode 100644 features/cellular/UNITTESTS/common/util/utiltest.cpp create mode 100755 features/cellular/UNITTESTS/makefile_defines.txt create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/Makefile create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/cpputest_mbed_mux.xml create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/gcov_error.txt create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/gcov_output.txt create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/gcov_report.txt create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/gcov_report.txt.html create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/lib/libmbed_mux_unit.a create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/main.cpp create mode 100755 features/cellular/UNITTESTS/mux/mbed_mux/mbed_mux_unit_tests create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/mbed_mux_unit_tests.txt create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/mbed_muxtest.cpp create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/objs/mbed_mux_unit/main.d create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/objs/mbed_mux_unit/main.gcda create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/objs/mbed_mux_unit/main.gcno create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/objs/mbed_mux_unit/main.o create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/objs/mbed_mux_unit/mbed_mux.d create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/objs/mbed_mux_unit/mbed_mux.gcno create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/objs/mbed_mux_unit/mbed_mux.o create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/objs/mbed_mux_unit/mbed_muxtest.d create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/objs/mbed_mux_unit/mbed_muxtest.gcda create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/objs/mbed_mux_unit/mbed_muxtest.gcno create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/objs/mbed_mux_unit/mbed_muxtest.o create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/objs/mbed_mux_unit/test_mbed_mux.d create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/objs/mbed_mux_unit/test_mbed_mux.gcda create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/objs/mbed_mux_unit/test_mbed_mux.gcno create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/objs/mbed_mux_unit/test_mbed_mux.o create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/test_mbed_mux.cpp create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux/test_mbed_mux.h create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/Makefile create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/cpputest_mbed_mux_data_service.xml create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/gcov/Callback.h.gcov create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/gcov/FileHandle.h.gcov create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/gcov/NonCopyable.h.gcov create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/gcov/gcov_error.txt create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/gcov/gcov_output.txt create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/gcov/gcov_report.txt create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/gcov/gcov_report.txt.html create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/gcov/mbed_mux.h.gcov create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/gcov/mbed_mux_data_service.cpp.gcov create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/gcov/new.gcov create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/lib/libmbed_mux_data_service_unit.a create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/main.cpp create mode 100755 features/cellular/UNITTESTS/mux/mbed_mux_data_service/mbed_mux_data_service_unit_tests create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/mbed_mux_data_service_unit_tests.txt create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/mbed_mux_data_servicetest.cpp create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/FileHandle_stub.d create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/FileHandle_stub.gcda create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/FileHandle_stub.gcno create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/FileHandle_stub.o create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/main.d create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/main.gcda create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/main.gcno create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/main.o create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/mbed_assert_stub.d create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/mbed_assert_stub.gcda create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/mbed_assert_stub.gcno create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/mbed_assert_stub.o create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/mbed_mux_data_service.d create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/mbed_mux_data_service.gcda create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/mbed_mux_data_service.gcno create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/mbed_mux_data_service.o create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/mbed_mux_data_servicetest.d create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/mbed_mux_data_servicetest.gcda create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/mbed_mux_data_servicetest.gcno create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/mbed_mux_data_servicetest.o create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/mbed_mux_stub.d create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/mbed_mux_stub.gcda create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/mbed_mux_stub.gcno create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/mbed_mux_stub.o create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/test_mbed_mux_data_service.d create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/test_mbed_mux_data_service.gcda create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/test_mbed_mux_data_service.gcno create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/objs/mbed_mux_data_service_unit/test_mbed_mux_data_service.o create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/test_mbed_mux_data_service.cpp create mode 100644 features/cellular/UNITTESTS/mux/mbed_mux_data_service/test_mbed_mux_data_service.h create mode 100755 features/cellular/UNITTESTS/run_tests create mode 100644 features/cellular/UNITTESTS/stubs/ATCmdParser.cpp create mode 100644 features/cellular/UNITTESTS/stubs/ATHandler_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/ATHandler_stub.h create mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularBase_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularBase_stub.h create mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularDevice_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularInformation_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularMultiplexer_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularNetwork_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularPower_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularSIM_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularSMS_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularStack_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/CellularUtil_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/EventQueue_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/FileHandle_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/FileHandle_stub.h create mode 100644 features/cellular/UNITTESTS/stubs/NetworkInterface_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/NetworkStack_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/Semaphore_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/SocketAddress_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/Timer_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/Timer_stub.h create mode 100644 features/cellular/UNITTESTS/stubs/equeue_stub.c create mode 100644 features/cellular/UNITTESTS/stubs/mbed_assert_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/mbed_mux_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/mbed_mux_stub.h create mode 100644 features/cellular/UNITTESTS/stubs/mbed_poll_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/mbed_poll_stub.h create mode 100644 features/cellular/UNITTESTS/stubs/mbed_wait_api_stub.cpp create mode 100644 features/cellular/UNITTESTS/stubs/us_ticker_stub.cpp create mode 100644 features/cellular/UNITTESTS/target_h/ATCmdParser.h create mode 100644 features/cellular/UNITTESTS/target_h/PeripheralNames.h create mode 100644 features/cellular/UNITTESTS/target_h/PinNames.h create mode 100644 features/cellular/UNITTESTS/target_h/Semaphore2.h create mode 100644 features/cellular/UNITTESTS/target_h/arm_math.h create mode 100644 features/cellular/UNITTESTS/target_h/cmsis.h create mode 100644 features/cellular/UNITTESTS/target_h/cmsis_compiler.h create mode 100644 features/cellular/UNITTESTS/target_h/cmsis_os2.h create mode 100644 features/cellular/UNITTESTS/target_h/device.h create mode 100644 features/cellular/UNITTESTS/target_h/mbed.h create mode 100644 features/cellular/UNITTESTS/target_h/mbed_retarget.h create mode 100644 features/cellular/UNITTESTS/target_h/mbed_rtos1_types.h create mode 100644 features/cellular/UNITTESTS/target_h/mbed_rtos_storage.h create mode 100644 features/cellular/UNITTESTS/target_h/mbed_rtx.h create mode 100644 features/cellular/UNITTESTS/target_h/nsapi_ppp.h create mode 100644 features/cellular/UNITTESTS/target_h/platform/mbed_retarget.h create mode 100644 features/cellular/UNITTESTS/target_h/rtx_lib.h create mode 100644 features/cellular/UNITTESTS/target_h/rtx_os.h create mode 100644 features/cellular/UNITTESTS/target_h/sys/syslimits.h create mode 100644 features/cellular/junit_xsl.xslt create mode 100755 features/cellular/xsl_script.sh diff --git a/features/cellular/.gitignore b/features/cellular/.gitignore new file mode 100644 index 0000000000..4f18a45963 --- /dev/null +++ b/features/cellular/.gitignore @@ -0,0 +1,13 @@ +coverage/ +lcov/ +results/ +coverages/ +gcov/ +*.exe +*.o +*.d +*.a +*.gcda +*.gcno +cpputest_*.xml +*_unit_tests* diff --git a/features/cellular/.mbedignore b/features/cellular/.mbedignore new file mode 100644 index 0000000000..e28badb677 --- /dev/null +++ b/features/cellular/.mbedignore @@ -0,0 +1 @@ +UNITTESTS/* diff --git a/features/cellular/Makefile.test b/features/cellular/Makefile.test new file mode 100644 index 0000000000..18f0a75bdd --- /dev/null +++ b/features/cellular/Makefile.test @@ -0,0 +1,56 @@ +# +# Makefile.test for CIot library unit tests +# + + +# List of subdirectories to build +TEST_FOLDER_NAME := UNITTESTS +TEST_FOLDER := ./UNITTESTS/ +# List of unit test directories for libraries +UNITTESTS := $(sort $(dir $(wildcard $(TEST_FOLDER)*))) +TESTDIRS := $(UNITTESTS:%=build-%) +CLEANTESTDIRS := $(UNITTESTS:%=clean-%) +COVERAGEFILE := ./lcov/coverage.info + +.PHONY: test +test: $(TESTDIRS) + @rm -rf ./lcov + @rm -rf ./coverage + @mkdir -p lcov + @mkdir -p lcov/results + @mkdir coverage + @find $(TEST_FOLDER) -name '*.xml' | xargs cp -t ./lcov/results/ + @rm -f lcov/index.xml + @./xsl_script.sh + @cp junit_xsl.xslt lcov/. + @xsltproc -o lcov/testresults.html lcov/junit_xsl.xslt lcov/index.xml + @rm -f lcov/junit_xsl.xslt + @rm -f lcov/index.xml + @find ./ -name '*.gcno' | xargs cp --backup=numbered -t ./coverage/ + @find ./ -name '*.gcda' | xargs cp --backup=numbered -t ./coverage/ + @gcovr --object-directory ./coverage --exclude-unreachable-branches -e '.*/builds/.*' -e '.*/$(TEST_FOLDER_NAME)/.*' -e '.*/yotta_modules/.*' -e '.*/stubs/.*' -e '.*/mbed-coap/.*' -x -o ./lcov/gcovr.xml + @lcov -d $(TEST_FOLDER_NAME)/. -c -o $(COVERAGEFILE) + @lcov -q -r $(COVERAGEFILE) "/usr*" -o $(COVERAGEFILE) + @lcov -q -r $(COVERAGEFILE) "/$(TEST_FOLDER_NAME)*" -o $(COVERAGEFILE) + @lcov -q -r $(COVERAGEFILE) "/mbed-client-libservice*" -o $(COVERAGEFILE) + @lcov -q -r $(COVERAGEFILE) "/mbed-client*" -o $(COVERAGEFILE) + @lcov -q -r $(COVERAGEFILE) "/mbed-os/events*" -o $(COVERAGEFILE) + @lcov -q -r $(COVERAGEFILE) "/mbed-os/features/netsocket*" -o $(COVERAGEFILE) + @lcov -q -r $(COVERAGEFILE) "/mbed-os/platform*" -o $(COVERAGEFILE) + @genhtml -q $(COVERAGEFILE) --output-directory lcov/html + @echo mbed-ciot module unit tests built + +$(TESTDIRS): + @make -C $(@:build-%=%) + +$(CLEANDIRS): + @make -C $(@:clean-%=%) clean + +$(CLEANTESTDIRS): + @make -C $(@:clean-%=%) clean + +# Extend default clean rule +clean: clean-extra + +clean-extra: $(CLEANDIRS) \ + $(CLEANTESTDIRS) diff --git a/features/cellular/UNITTESTS/Makefile b/features/cellular/UNITTESTS/Makefile new file mode 100755 index 0000000000..1327cf4601 --- /dev/null +++ b/features/cellular/UNITTESTS/Makefile @@ -0,0 +1,19 @@ +#scan for folders having "Makefile" in them and remove 'this' to prevent loop +DIRS := $(filter-out ./, $(sort $(dir $(shell find . -name 'Makefile')))) + +all: + for dir in $(DIRS); do \ + cd $$dir; make gcov; cd ..; cd ..;\ + done + +clean: + for dir in $(DIRS); do \ + cd $$dir; make clean; cd ..; cd ..;\ + done + rm -rf ../source/*gcov ../source/*gcda ../source/*o + rm -rf stubs/*gcov stubs/*gcda stubs/*o + rm -rf results/* + rm -rf coverages/* + rm -rf results + rm -rf coverages + diff --git a/features/cellular/UNITTESTS/MakefileWorker.mk b/features/cellular/UNITTESTS/MakefileWorker.mk new file mode 100755 index 0000000000..2096ced036 --- /dev/null +++ b/features/cellular/UNITTESTS/MakefileWorker.mk @@ -0,0 +1,562 @@ +#--------- +# +# MakefileWorker.mk +# +# Include this helper file in your makefile +# It makes +# A static library +# A test executable +# +# See this example for parameter settings +# examples/Makefile +# +#---------- +# Inputs - these variables describe what to build +# +# INCLUDE_DIRS - Directories used to search for include files. +# This generates a -I for each directory +# SRC_DIRS - Directories containing source file to built into the library +# SRC_FILES - Specific source files to build into library. Helpful when not all code +# in a directory can be built for test (hopefully a temporary situation) +# TEST_SRC_DIRS - Directories containing unit test code build into the unit test runner +# These do not go in a library. They are explicitly included in the test runner +# TEST_SRC_FILES - Specific source files to build into the unit test runner +# These do not go in a library. They are explicitly included in the test runner +# MOCKS_SRC_DIRS - Directories containing mock source files to build into the test runner +# These do not go in a library. They are explicitly included in the test runner +#---------- +# You can adjust these variables to influence how to build the test target +# and where to put and name outputs +# See below to determine defaults +# COMPONENT_NAME - the name of the thing being built +# TEST_TARGET - name the test executable. By default it is +# $(COMPONENT_NAME)_tests +# Helpful if you want 1 > make files in the same directory with different +# executables as output. +# CPPUTEST_HOME - where CppUTest home dir found +# TARGET_PLATFORM - Influences how the outputs are generated by modifying the +# CPPUTEST_OBJS_DIR and CPPUTEST_LIB_DIR to use a sub-directory under the +# normal objs and lib directories. Also modifies where to search for the +# CPPUTEST_LIB to link against. +# CPPUTEST_OBJS_DIR - a directory where o and d files go +# CPPUTEST_LIB_DIR - a directory where libs go +# CPPUTEST_ENABLE_DEBUG - build for debug +# CPPUTEST_USE_MEM_LEAK_DETECTION - Links with overridden new and delete +# CPPUTEST_USE_STD_CPP_LIB - Set to N to keep the standard C++ library out +# of the test harness +# CPPUTEST_USE_GCOV - Turn on coverage analysis +# Clean then build with this flag set to Y, then 'make gcov' +# CPPUTEST_MAPFILE - generate a map file +# CPPUTEST_WARNINGFLAGS - overly picky by default +# OTHER_MAKEFILE_TO_INCLUDE - a hook to use this makefile to make +# other targets. Like CSlim, which is part of fitnesse +# CPPUTEST_USE_VPATH - Use Make's VPATH functionality to support user +# specification of source files and directories that aren't below +# the user's Makefile in the directory tree, like: +# SRC_DIRS += ../../lib/foo +# It defaults to N, and shouldn't be necessary except in the above case. +#---------- +# +# Other flags users can initialize to sneak in their settings +# CPPUTEST_CXXFLAGS - flags for the C++ compiler +# CPPUTEST_CPPFLAGS - flags for the C++ AND C preprocessor +# CPPUTEST_CFLAGS - flags for the C complier +# CPPUTEST_LDFLAGS - Linker flags +#---------- + +# Some behavior is weird on some platforms. Need to discover the platform. + +# Platforms +UNAME_OUTPUT = "$(shell uname -a)" +MACOSX_STR = Darwin +MINGW_STR = MINGW +CYGWIN_STR = CYGWIN +LINUX_STR = Linux +SUNOS_STR = SunOS +UNKNWOWN_OS_STR = Unknown + +# Compilers +CC_VERSION_OUTPUT ="$(shell $(CXX) -v 2>&1)" +CLANG_STR = clang +SUNSTUDIO_CXX_STR = SunStudio + +UNAME_OS = $(UNKNWOWN_OS_STR) + +ifeq ($(findstring $(MINGW_STR),$(UNAME_OUTPUT)),$(MINGW_STR)) + UNAME_OS = $(MINGW_STR) +endif + +ifeq ($(findstring $(CYGWIN_STR),$(UNAME_OUTPUT)),$(CYGWIN_STR)) + UNAME_OS = $(CYGWIN_STR) +endif + +ifeq ($(findstring $(LINUX_STR),$(UNAME_OUTPUT)),$(LINUX_STR)) + UNAME_OS = $(LINUX_STR) +endif + +ifeq ($(findstring $(MACOSX_STR),$(UNAME_OUTPUT)),$(MACOSX_STR)) + UNAME_OS = $(MACOSX_STR) +#lion has a problem with the 'v' part of -a + UNAME_OUTPUT = "$(shell uname -pmnrs)" +endif + +ifeq ($(findstring $(SUNOS_STR),$(UNAME_OUTPUT)),$(SUNOS_STR)) + UNAME_OS = $(SUNOS_STR) + + SUNSTUDIO_CXX_ERR_STR = CC -flags +ifeq ($(findstring $(SUNSTUDIO_CXX_ERR_STR),$(CC_VERSION_OUTPUT)),$(SUNSTUDIO_CXX_ERR_STR)) + CC_VERSION_OUTPUT ="$(shell $(CXX) -V 2>&1)" + COMPILER_NAME = $(SUNSTUDIO_CXX_STR) +endif +endif + +ifeq ($(findstring $(CLANG_STR),$(CC_VERSION_OUTPUT)),$(CLANG_STR)) + COMPILER_NAME = $(CLANG_STR) +endif + +#Kludge for mingw, it does not have cc.exe, but gcc.exe will do +ifeq ($(UNAME_OS),$(MINGW_STR)) + CC := gcc +endif + +#And another kludge. Exception handling in gcc 4.6.2 is broken when linking the +# Standard C++ library as a shared library. Unbelievable. +ifeq ($(UNAME_OS),$(MINGW_STR)) + CPPUTEST_LDFLAGS += -static +endif +ifeq ($(UNAME_OS),$(CYGWIN_STR)) + CPPUTEST_LDFLAGS += -static +endif + + +#Kludge for MacOsX gcc compiler on Darwin9 who can't handle pendantic +ifeq ($(UNAME_OS),$(MACOSX_STR)) +ifeq ($(findstring Version 9,$(UNAME_OUTPUT)),Version 9) + CPPUTEST_PEDANTIC_ERRORS = N +endif +endif + +ifndef COMPONENT_NAME + COMPONENT_NAME = name_this_in_the_makefile +endif + +# Debug on by default +ifndef CPPUTEST_ENABLE_DEBUG + CPPUTEST_ENABLE_DEBUG = Y +endif + +# new and delete for memory leak detection on by default +ifndef CPPUTEST_USE_MEM_LEAK_DETECTION + CPPUTEST_USE_MEM_LEAK_DETECTION = Y +endif + +# Use the standard C library +ifndef CPPUTEST_USE_STD_C_LIB + CPPUTEST_USE_STD_C_LIB = Y +endif + +# Use the standard C++ library +ifndef CPPUTEST_USE_STD_CPP_LIB + CPPUTEST_USE_STD_CPP_LIB = Y +endif + +# Use gcov, off by default +ifndef CPPUTEST_USE_GCOV + CPPUTEST_USE_GCOV = N +endif + +ifndef CPPUTEST_PEDANTIC_ERRORS + CPPUTEST_PEDANTIC_ERRORS = Y +endif + +# Default warnings +ifndef CPPUTEST_WARNINGFLAGS + CPPUTEST_WARNINGFLAGS = -Wall -Wextra -Wshadow -Wswitch-default -Wswitch-enum -Wconversion +ifeq ($(CPPUTEST_PEDANTIC_ERRORS), Y) +# CPPUTEST_WARNINGFLAGS += -pedantic-errors + CPPUTEST_WARNINGFLAGS += -pedantic +endif +ifeq ($(UNAME_OS),$(LINUX_STR)) + CPPUTEST_WARNINGFLAGS += -Wsign-conversion +endif + CPPUTEST_CXX_WARNINGFLAGS = -Woverloaded-virtual + CPPUTEST_C_WARNINGFLAGS = -Wstrict-prototypes +endif + +#Wonderful extra compiler warnings with clang +ifeq ($(COMPILER_NAME),$(CLANG_STR)) +# -Wno-disabled-macro-expansion -> Have to disable the macro expansion warning as the operator new overload warns on that. +# -Wno-padded -> I sort-of like this warning but if there is a bool at the end of the class, it seems impossible to remove it! (except by making padding explicit) +# -Wno-global-constructors Wno-exit-time-destructors -> Great warnings, but in CppUTest it is impossible to avoid as the automatic test registration depends on the global ctor and dtor +# -Wno-weak-vtables -> The TEST_GROUP macro declares a class and will automatically inline its methods. Thats ok as they are only in one translation unit. Unfortunately, the warning can't detect that, so it must be disabled. + CPPUTEST_CXX_WARNINGFLAGS += -Weverything -Wno-disabled-macro-expansion -Wno-padded -Wno-global-constructors -Wno-exit-time-destructors -Wno-weak-vtables + CPPUTEST_C_WARNINGFLAGS += -Weverything -Wno-padded +endif + +# Uhm. Maybe put some warning flags for SunStudio here? +ifeq ($(COMPILER_NAME),$(SUNSTUDIO_CXX_STR)) + CPPUTEST_CXX_WARNINGFLAGS = + CPPUTEST_C_WARNINGFLAGS = +endif + +# Default dir for temporary files (d, o) +ifndef CPPUTEST_OBJS_DIR +ifndef TARGET_PLATFORM + CPPUTEST_OBJS_DIR = objs +else + CPPUTEST_OBJS_DIR = objs/$(TARGET_PLATFORM) +endif +endif + +# Default dir for the outout library +ifndef CPPUTEST_LIB_DIR +ifndef TARGET_PLATFORM + CPPUTEST_LIB_DIR = lib +else + CPPUTEST_LIB_DIR = lib/$(TARGET_PLATFORM) +endif +endif + +# No map by default +ifndef CPPUTEST_MAP_FILE + CPPUTEST_MAP_FILE = N +endif + +# No extentions is default +ifndef CPPUTEST_USE_EXTENSIONS + CPPUTEST_USE_EXTENSIONS = N +endif + +# No VPATH is default +ifndef CPPUTEST_USE_VPATH + CPPUTEST_USE_VPATH := N +endif +# Make empty, instead of 'N', for usage in $(if ) conditionals +ifneq ($(CPPUTEST_USE_VPATH), Y) + CPPUTEST_USE_VPATH := +endif + +ifndef TARGET_PLATFORM +#CPPUTEST_LIB_LINK_DIR = $(CPPUTEST_HOME)/lib +CPPUTEST_LIB_LINK_DIR = /usr/lib/x86_64-linux-gnu +else +CPPUTEST_LIB_LINK_DIR = $(CPPUTEST_HOME)/lib/$(TARGET_PLATFORM) +endif + +# -------------------------------------- +# derived flags in the following area +# -------------------------------------- + +# Without the C library, we'll need to disable the C++ library and ... +ifeq ($(CPPUTEST_USE_STD_C_LIB), N) + CPPUTEST_USE_STD_CPP_LIB = N + CPPUTEST_USE_MEM_LEAK_DETECTION = N + CPPUTEST_CPPFLAGS += -DCPPUTEST_STD_C_LIB_DISABLED + CPPUTEST_CPPFLAGS += -nostdinc +endif + +CPPUTEST_CPPFLAGS += -DCPPUTEST_COMPILATION + +ifeq ($(CPPUTEST_USE_MEM_LEAK_DETECTION), N) + CPPUTEST_CPPFLAGS += -DCPPUTEST_MEM_LEAK_DETECTION_DISABLED +else + ifndef CPPUTEST_MEMLEAK_DETECTOR_NEW_MACRO_FILE + CPPUTEST_MEMLEAK_DETECTOR_NEW_MACRO_FILE = -include $(CPPUTEST_HOME)/include/CppUTest/MemoryLeakDetectorNewMacros.h + endif + ifndef CPPUTEST_MEMLEAK_DETECTOR_MALLOC_MACRO_FILE + CPPUTEST_MEMLEAK_DETECTOR_MALLOC_MACRO_FILE = -include $(CPPUTEST_HOME)/include/CppUTest/MemoryLeakDetectorMallocMacros.h + endif +endif + +ifeq ($(CPPUTEST_ENABLE_DEBUG), Y) + CPPUTEST_CXXFLAGS += -g + CPPUTEST_CFLAGS += -g + CPPUTEST_LDFLAGS += -g +endif + +ifeq ($(CPPUTEST_USE_STD_CPP_LIB), N) + CPPUTEST_CPPFLAGS += -DCPPUTEST_STD_CPP_LIB_DISABLED +ifeq ($(CPPUTEST_USE_STD_C_LIB), Y) + CPPUTEST_CXXFLAGS += -nostdinc++ +endif +endif + +ifdef $(GMOCK_HOME) + GTEST_HOME = $(GMOCK_HOME)/gtest + CPPUTEST_CPPFLAGS += -I$(GMOCK_HOME)/include + GMOCK_LIBRARY = $(GMOCK_HOME)/lib/.libs/libgmock.a + LD_LIBRARIES += $(GMOCK_LIBRARY) + CPPUTEST_CPPFLAGS += -DINCLUDE_GTEST_TESTS + CPPUTEST_WARNINGFLAGS = + CPPUTEST_CPPFLAGS += -I$(GTEST_HOME)/include -I$(GTEST_HOME) + GTEST_LIBRARY = $(GTEST_HOME)/lib/.libs/libgtest.a + LD_LIBRARIES += $(GTEST_LIBRARY) +endif + + +ifeq ($(CPPUTEST_USE_GCOV), Y) + CPPUTEST_CXXFLAGS += -fprofile-arcs -ftest-coverage + CPPUTEST_CFLAGS += -fprofile-arcs -ftest-coverage +endif + +CPPUTEST_CXXFLAGS += $(CPPUTEST_WARNINGFLAGS) $(CPPUTEST_CXX_WARNINGFLAGS) +CPPUTEST_CPPFLAGS += $(CPPUTEST_WARNINGFLAGS) +CPPUTEST_CXXFLAGS += $(CPPUTEST_MEMLEAK_DETECTOR_NEW_MACRO_FILE) +CPPUTEST_CPPFLAGS += $(CPPUTEST_MEMLEAK_DETECTOR_MALLOC_MACRO_FILE) +CPPUTEST_CFLAGS += $(CPPUTEST_C_WARNINGFLAGS) + +TARGET_MAP = $(COMPONENT_NAME).map.txt +ifeq ($(CPPUTEST_MAP_FILE), Y) + CPPUTEST_LDFLAGS += -Wl,-map,$(TARGET_MAP) +endif + +# Link with CppUTest lib +CPPUTEST_LIB = $(CPPUTEST_LIB_LINK_DIR)/libCppUTest.a + +ifeq ($(CPPUTEST_USE_EXTENSIONS), Y) +CPPUTEST_LIB += $(CPPUTEST_LIB_LINK_DIR)/libCppUTestExt.a +endif + +ifdef CPPUTEST_STATIC_REALTIME + LD_LIBRARIES += -lrt +endif + +TARGET_LIB = \ + $(CPPUTEST_LIB_DIR)/lib$(COMPONENT_NAME).a + +ifndef TEST_TARGET + ifndef TARGET_PLATFORM + TEST_TARGET = $(COMPONENT_NAME)_tests + else + TEST_TARGET = $(COMPONENT_NAME)_$(TARGET_PLATFORM)_tests + endif +endif + +#Helper Functions +get_src_from_dir = $(wildcard $1/*.cpp) $(wildcard $1/*.cc) $(wildcard $1/*.c) +get_dirs_from_dirspec = $(wildcard $1) +get_src_from_dir_list = $(foreach dir, $1, $(call get_src_from_dir,$(dir))) +__src_to = $(subst .c,$1, $(subst .cc,$1, $(subst .cpp,$1,$(if $(CPPUTEST_USE_VPATH),$(notdir $2),$2)))) +src_to = $(addprefix $(CPPUTEST_OBJS_DIR)/,$(call __src_to,$1,$2)) +src_to_o = $(call src_to,.o,$1) +src_to_d = $(call src_to,.d,$1) +src_to_gcda = $(call src_to,.gcda,$1) +src_to_gcno = $(call src_to,.gcno,$1) +time = $(shell date +%s) +delta_t = $(eval minus, $1, $2) +debug_print_list = $(foreach word,$1,echo " $(word)";) echo; + +#Derived +STUFF_TO_CLEAN += $(TEST_TARGET) $(TEST_TARGET).exe $(TARGET_LIB) $(TARGET_MAP) + +SRC += $(call get_src_from_dir_list, $(SRC_DIRS)) $(SRC_FILES) +OBJ = $(call src_to_o,$(SRC)) + +STUFF_TO_CLEAN += $(OBJ) + +TEST_SRC += $(call get_src_from_dir_list, $(TEST_SRC_DIRS)) $(TEST_SRC_FILES) +TEST_OBJS = $(call src_to_o,$(TEST_SRC)) +STUFF_TO_CLEAN += $(TEST_OBJS) + + +MOCKS_SRC += $(call get_src_from_dir_list, $(MOCKS_SRC_DIRS)) +MOCKS_OBJS = $(call src_to_o,$(MOCKS_SRC)) +STUFF_TO_CLEAN += $(MOCKS_OBJS) + +ALL_SRC = $(SRC) $(TEST_SRC) $(MOCKS_SRC) + +# If we're using VPATH +ifeq ($(CPPUTEST_USE_VPATH), Y) +# gather all the source directories and add them + VPATH += $(sort $(dir $(ALL_SRC))) +# Add the component name to the objs dir path, to differentiate between same-name objects + CPPUTEST_OBJS_DIR := $(addsuffix /$(COMPONENT_NAME),$(CPPUTEST_OBJS_DIR)) +endif + +#Test coverage with gcov +GCOV_OUTPUT = gcov_output.txt +GCOV_REPORT = gcov_report.txt +GCOV_ERROR = gcov_error.txt +GCOV_GCDA_FILES = $(call src_to_gcda, $(ALL_SRC)) +GCOV_GCNO_FILES = $(call src_to_gcno, $(ALL_SRC)) +TEST_OUTPUT = $(TEST_TARGET).txt +STUFF_TO_CLEAN += \ + $(GCOV_OUTPUT)\ + $(GCOV_REPORT)\ + $(GCOV_REPORT).html\ + $(GCOV_ERROR)\ + $(GCOV_GCDA_FILES)\ + $(GCOV_GCNO_FILES)\ + $(TEST_OUTPUT) + +#The gcda files for gcov need to be deleted before each run +#To avoid annoying messages. +GCOV_CLEAN = $(SILENCE)rm -f $(GCOV_GCDA_FILES) $(GCOV_OUTPUT) $(GCOV_REPORT) $(GCOV_ERROR) +RUN_TEST_TARGET = $(SILENCE) $(GCOV_CLEAN) ; echo "Running $(TEST_TARGET)"; ./$(TEST_TARGET) $(CPPUTEST_EXE_FLAGS) -ojunit + +ifeq ($(CPPUTEST_USE_GCOV), Y) + + ifeq ($(COMPILER_NAME),$(CLANG_STR)) + LD_LIBRARIES += --coverage + else + LD_LIBRARIES += -lgcov + endif +endif + + +INCLUDES_DIRS_EXPANDED = $(call get_dirs_from_dirspec, $(INCLUDE_DIRS)) +INCLUDES += $(foreach dir, $(INCLUDES_DIRS_EXPANDED), -I$(dir)) +MOCK_DIRS_EXPANDED = $(call get_dirs_from_dirspec, $(MOCKS_SRC_DIRS)) +INCLUDES += $(foreach dir, $(MOCK_DIRS_EXPANDED), -I$(dir)) + +CPPUTEST_CPPFLAGS += $(INCLUDES) $(CPPUTESTFLAGS) + +DEP_FILES = $(call src_to_d, $(ALL_SRC)) +STUFF_TO_CLEAN += $(DEP_FILES) $(PRODUCTION_CODE_START) $(PRODUCTION_CODE_END) +STUFF_TO_CLEAN += $(STDLIB_CODE_START) $(MAP_FILE) cpputest_*.xml junit_run_output + +# We'll use the CPPUTEST_CFLAGS etc so that you can override AND add to the CppUTest flags +CFLAGS = $(CPPUTEST_CFLAGS) $(CPPUTEST_ADDITIONAL_CFLAGS) +CPPFLAGS = $(CPPUTEST_CPPFLAGS) $(CPPUTEST_ADDITIONAL_CPPFLAGS) +CXXFLAGS = $(CPPUTEST_CXXFLAGS) $(CPPUTEST_ADDITIONAL_CXXFLAGS) +LDFLAGS = $(CPPUTEST_LDFLAGS) $(CPPUTEST_ADDITIONAL_LDFLAGS) + +# Don't consider creating the archive a warning condition that does STDERR output +ARFLAGS := $(ARFLAGS)c + +DEP_FLAGS=-MMD -MP + +# Some macros for programs to be overridden. For some reason, these are not in Make defaults +RANLIB = ranlib + +# Targets + +.PHONY: all +all: start $(TEST_TARGET) + $(RUN_TEST_TARGET) + +.PHONY: start +start: $(TEST_TARGET) + $(SILENCE)START_TIME=$(call time) + +.PHONY: all_no_tests +all_no_tests: $(TEST_TARGET) + +.PHONY: flags +flags: + @echo + @echo "OS ${UNAME_OS}" + @echo "Compile C and C++ source with CPPFLAGS:" + @$(call debug_print_list,$(CPPFLAGS)) + @echo "Compile C++ source with CXXFLAGS:" + @$(call debug_print_list,$(CXXFLAGS)) + @echo "Compile C source with CFLAGS:" + @$(call debug_print_list,$(CFLAGS)) + @echo "Link with LDFLAGS:" + @$(call debug_print_list,$(LDFLAGS)) + @echo "Link with LD_LIBRARIES:" + @$(call debug_print_list,$(LD_LIBRARIES)) + @echo "Create libraries with ARFLAGS:" + @$(call debug_print_list,$(ARFLAGS)) + +TEST_DEPS = $(TEST_OBJS) $(MOCKS_OBJS) $(PRODUCTION_CODE_START) $(TARGET_LIB) $(USER_LIBS) $(PRODUCTION_CODE_END) $(CPPUTEST_LIB) $(STDLIB_CODE_START) +test-deps: $(TEST_DEPS) + +$(TEST_TARGET): $(TEST_DEPS) + @echo Linking $@ + $(SILENCE)$(CXX) -o $@ $^ $(LD_LIBRARIES) $(LDFLAGS) + +$(TARGET_LIB): $(OBJ) + @echo Building archive $@ + $(SILENCE)mkdir -p $(dir $@) + $(SILENCE)$(AR) $(ARFLAGS) $@ $^ + $(SILENCE)$(RANLIB) $@ + +test: $(TEST_TARGET) + $(RUN_TEST_TARGET) | tee $(TEST_OUTPUT) + +vtest: $(TEST_TARGET) + $(RUN_TEST_TARGET) -v | tee $(TEST_OUTPUT) + +$(CPPUTEST_OBJS_DIR)/%.o: %.cc + @echo compiling $(notdir $<) + $(SILENCE)mkdir -p $(dir $@) + $(SILENCE)$(COMPILE.cpp) $(DEP_FLAGS) $(OUTPUT_OPTION) $< + +$(CPPUTEST_OBJS_DIR)/%.o: %.cpp + @echo compiling $(notdir $<) + $(SILENCE)mkdir -p $(dir $@) + $(SILENCE)$(COMPILE.cpp) $(DEP_FLAGS) $(OUTPUT_OPTION) $< + +$(CPPUTEST_OBJS_DIR)/%.o: %.c + @echo compiling $(notdir $<) + $(SILENCE)mkdir -p $(dir $@) + $(SILENCE)$(COMPILE.c) $(DEP_FLAGS) $(OUTPUT_OPTION) $< + +ifneq "$(MAKECMDGOALS)" "clean" +-include $(DEP_FILES) +endif + +.PHONY: clean +clean: + @echo Making clean + $(SILENCE)$(RM) $(STUFF_TO_CLEAN) + $(SILENCE)rm -rf gcov objs #$(CPPUTEST_OBJS_DIR) + $(SILENCE)rm -rf $(CPPUTEST_LIB_DIR) + $(SILENCE)find . -name "*.gcno" | xargs rm -f + $(SILENCE)find . -name "*.gcda" | xargs rm -f + +#realclean gets rid of all gcov, o and d files in the directory tree +#not just the ones made by this makefile +.PHONY: realclean +realclean: clean + $(SILENCE)rm -rf gcov + $(SILENCE)find . -name "*.gdcno" | xargs rm -f + $(SILENCE)find . -name "*.[do]" | xargs rm -f + +gcov: test +ifeq ($(CPPUTEST_USE_VPATH), Y) + $(SILENCE)gcov --object-directory $(CPPUTEST_OBJS_DIR) $(SRC) >> $(GCOV_OUTPUT) 2>> $(GCOV_ERROR) +else + $(SILENCE)for d in $(SRC_DIRS) ; do \ + gcov --object-directory $(CPPUTEST_OBJS_DIR)/$$d $$d/*.c $$d/*.cpp >> $(GCOV_OUTPUT) 2>>$(GCOV_ERROR) ; \ + done + $(SILENCE)for f in $(SRC_FILES) ; do \ + gcov --object-directory $(CPPUTEST_OBJS_DIR)/$$f $$f >> $(GCOV_OUTPUT) 2>>$(GCOV_ERROR) ; \ + done +endif +# $(CPPUTEST_HOME)/scripts/filterGcov.sh $(GCOV_OUTPUT) $(GCOV_ERROR) $(GCOV_REPORT) $(TEST_OUTPUT) + /usr/share/cpputest/scripts/filterGcov.sh $(GCOV_OUTPUT) $(GCOV_ERROR) $(GCOV_REPORT) $(TEST_OUTPUT) + $(SILENCE)cat $(GCOV_REPORT) + $(SILENCE)mkdir -p gcov + $(SILENCE)mv *.gcov gcov + $(SILENCE)mv gcov_* gcov + @echo "See gcov directory for details" + +.PHONEY: format +format: + $(CPPUTEST_HOME)/scripts/reformat.sh $(PROJECT_HOME_DIR) + +.PHONEY: debug +debug: + @echo + @echo "Target Source files:" + @$(call debug_print_list,$(SRC)) + @echo "Target Object files:" + @$(call debug_print_list,$(OBJ)) + @echo "Test Source files:" + @$(call debug_print_list,$(TEST_SRC)) + @echo "Test Object files:" + @$(call debug_print_list,$(TEST_OBJS)) + @echo "Mock Source files:" + @$(call debug_print_list,$(MOCKS_SRC)) + @echo "Mock Object files:" + @$(call debug_print_list,$(MOCKS_OBJS)) + @echo "All Input Dependency files:" + @$(call debug_print_list,$(DEP_FILES)) + @echo Stuff to clean: + @$(call debug_print_list,$(STUFF_TO_CLEAN)) + @echo Includes: + @$(call debug_print_list,$(INCLUDES)) + +-include $(OTHER_MAKEFILE_TO_INCLUDE) diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/AT_CellularBase_unit_tests b/features/cellular/UNITTESTS/at/at_cellularbase/AT_CellularBase_unit_tests new file mode 100755 index 0000000000000000000000000000000000000000..98879e8c7757fab4b5589a080d4673398be1eda0 GIT binary patch literal 353832 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%0D>nW)cgbII}{?bwu)C& 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

&EpGD^8N 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 +} + +TEST(AT_CellularBase, test_AT_CellularBase_get_device_error) +{ + unit->test_AT_CellularBase_get_device_error(); +} + diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/cpputest_AT_CellularBase.xml b/features/cellular/UNITTESTS/at/at_cellularbase/cpputest_AT_CellularBase.xml new file mode 100644 index 0000000000..a0d7dde497 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularbase/cpputest_AT_CellularBase.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/gcov/AT_CellularBase.cpp.gcov b/features/cellular/UNITTESTS/at/at_cellularbase/gcov/AT_CellularBase.cpp.gcov new file mode 100644 index 0000000000..b9ed80e5a5 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularbase/gcov/AT_CellularBase.cpp.gcov @@ -0,0 +1,41 @@ + -: 0:Source:../../../framework/AT/AT_CellularBase.cpp + -: 0:Graph:objs/AT_CellularBase_unit/AT_CellularBase.gcno + -: 0:Data:objs/AT_CellularBase_unit/AT_CellularBase.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* + -: 2: * Copyright (c) 2017, Arm Limited and affiliates. + -: 3: * SPDX-License-Identifier: Apache-2.0 + -: 4: * + -: 5: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 6: * you may not use this file except in compliance with the License. + -: 7: * You may obtain a copy of the License at + -: 8: * + -: 9: * http://www.apache.org/licenses/LICENSE-2.0 + -: 10: * + -: 11: * Unless required by applicable law or agreed to in writing, software + -: 12: * distributed under the License is distributed on an "AS IS" BASIS, + -: 13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 14: * See the License for the specific language governing permissions and + -: 15: * limitations under the License. + -: 16: */ + -: 17: + -: 18:#include "AT_CellularBase.h" + -: 19: + -: 20:using namespace mbed; + -: 21: + 2: 22:AT_CellularBase::AT_CellularBase(ATHandler& at) : _at(at) + -: 23:{ + -: 24: + 2: 25:} + -: 26: + 1: 27:ATHandler& AT_CellularBase::get_at_handler() + -: 28:{ + 1: 29: return _at; + -: 30:} + -: 31: + 1: 32:device_err_t AT_CellularBase::get_device_error() const + -: 33:{ + 1: 34: return _at.get_last_device_error(); + -: 35:} + -: 36: diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/gcov/gcov_error.txt b/features/cellular/UNITTESTS/at/at_cellularbase/gcov/gcov_error.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/gcov/gcov_output.txt b/features/cellular/UNITTESTS/at/at_cellularbase/gcov/gcov_output.txt new file mode 100644 index 0000000000..f5f6811fb5 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularbase/gcov/gcov_output.txt @@ -0,0 +1,4 @@ +File '../../../framework/AT/AT_CellularBase.cpp' +Lines executed:100.00% of 6 +Creating 'AT_CellularBase.cpp.gcov' + diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/gcov/gcov_report.txt b/features/cellular/UNITTESTS/at/at_cellularbase/gcov/gcov_report.txt new file mode 100644 index 0000000000..437cb58276 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularbase/gcov/gcov_report.txt @@ -0,0 +1 @@ +100.00% ../framework/AT/AT_CellularBase.cpp diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/gcov/gcov_report.txt.html b/features/cellular/UNITTESTS/at/at_cellularbase/gcov/gcov_report.txt.html new file mode 100644 index 0000000000..4dfb7ce3a0 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularbase/gcov/gcov_report.txt.html @@ -0,0 +1,4 @@ + + + +
CoverageFile
100.00% ../framework/AT/AT_CellularBase.cpp
diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/lib/libAT_CellularBase_unit.a b/features/cellular/UNITTESTS/at/at_cellularbase/lib/libAT_CellularBase_unit.a new file mode 100644 index 0000000000000000000000000000000000000000..6845666402b5fc3a49a0d97d7ca5344568ec66ee GIT binary patch literal 29576 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 OKI^uE@Ci7=ngIY^Ja)eT literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/ATHandler_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/ATHandler_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..c731ced0dfaf12fede5afb4025241013bff33959 GIT binary patch literal 15212 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 hHtH(_?BDFt(OE|%y@ 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 Qo7BnrrjI`JUs?YD2g!(vEC2ui literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/AT_CellularBase.d b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/AT_CellularBase.d new file mode 100644 index 0000000000..8f91415700 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/AT_CellularBase.d @@ -0,0 +1,48 @@ +objs/AT_CellularBase_unit/AT_CellularBase.o: \ + ../../../framework/AT/AT_CellularBase.cpp \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../platform/Callback.h + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../platform/Callback.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/AT_CellularBase.gcda b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/AT_CellularBase.gcda new file mode 100644 index 0000000000000000000000000000000000000000..dbf7d8ce66929bf8fe98e9e5aad4a940bb10d6f5 GIT binary patch literal 288 zcmYdHNlw=?F)%%RV`Uoy1H)ofAi=tM%cX^k3=BZT@DPYWfEhx;X?`dl7sU+Hj0SRn ze3&qZ4Fd8&%mijJFxWw9As`L2&kQOCq!__snXKi0wi_ncZQ6Z+fngyd3rGU021diw q3bCZ*p9~T$d+{>%Hb^bV9&|NxLQKLBe`@I7(QL2;rUvF7kg)*bTpmFH literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/AT_CellularBase.gcno b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/AT_CellularBase.gcno new file mode 100644 index 0000000000000000000000000000000000000000..64b748919982326acccdde58a2b814ee01abdd36 GIT binary patch literal 852 zcmd1LOHS7^F)%%RV`Uoy0|TQhkYLDUE%&qCFu`uq?gKnPZhVxVw@GeNYKoz$V@SMn zYEDjRPGXT$VsWaWS$b+od`fCrW^!tLYEe;sk!u+P12<5Qo}NAgr4=RSrk3XyW$QbJ z01=9Iz2t%dpjrhWW?*n+WC7FYgfk;EREP;kL)17kvI5y4K1dEE#t3CIFhJCU#6e;p z%)sEvCOp`U_bEZN!bnCLAWMiPCI4iQXxWRGvA02H0>cSMFqwdYDX}CzBQY-} zClwS(q`E;GY%_6T1PU8iI3R}+OpKag19BHQ&4BF$6X39!6Jip6_)|moj%I@;c*Dlo t$Ti3>INs7R!~+^QB!`U{*jh(;Izc!Ed)fi{9~3UsN*^HmB@vb~006k#oI?Nr literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/AT_CellularBase.o b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/AT_CellularBase.o new file mode 100644 index 0000000000000000000000000000000000000000..b38a12906664cf14b8ba2c898b0aad91a3ce6e71 GIT binary patch literal 29168 zcmb__34C0|k#|3xgDqQQjKKyQi^IlX>lj%Qw()J`1F&ptg9+DoG#W``OEY3-WMmFw zLO2|An{X!(SeAQXfh=dh!CWSUgkuvzfIuMO%CfK_#|9F9Lv%_1u)fTt4{%Ps9V?JHFHGJtwJAGb8&C+dSEc=sS=i*5_FJ+!{ej8?) zL&!5rw?6v;H{JSVkv_NnWEXe!1hFvRNjs_dx36URscm!ay>#w7exT`eWLb zty$B$dd=$kSPuW9j?f;$CL>)0L>1R)oIE zqPSH>=qgky31OD9&P^zCFX8edUqE>`{F(CQRFrZXl|zt2%5tmn6;vEHrThfEnE?!q zB}^$l@mQ3tgp=EeX3Np#D3;msI>JM?+)j9vEq4+gw&iY;yN4|&sl2BxuYVckv1T}4 zP5GH0;?)*6lM1$YR+5NSG{6f0j_5<-Akliuo2U$HD8CSI<`9fzWJCGIWGXBD64F4* zmj*Pxj95kE%c(3{Zm05C+xCi6(X_^vzeR1Q*z%QBo+i3ob%U?w)e*F{8eg*jMK|ND zI03A9y_;9!Fy+^7NBioNQ3+Fbn32^eGp%Adjh1I&T}9uGz_|a4QwWxFW+`B+S4Eas zj)Q}7YksN7rSZIxs2m=ZNpzY}eFkM~*ieMTSi^=INtFX_+v#M6DWl@;Ce%#D z23X@myjO%s(C*ZC*bB`XK*U+^4z=C^f^EFGmgu&;#Ii8c*w7Kb@R^Pz6A9B%7n2;@ zU^&@7EQG_TH!06%Ls+IcRJNWSnoC2rJ`)Xbh-ee*e=^46H$-g?-l3>(*q2Ha*?WG~|NhF_UP-a(RsGhauqC4VM%V9YC& z8q>?|9;@ z8Md`#G7{y4@UTr~w}X3MLWiAJ)($>fKD}(SUp}Mk8`ORxG1bt^urtd}M=PmpF5}tW zFWr|FJ@u56;{u zOCO0LjibN3c-wx0rPqNr)2Fk1Yt=H?)0pk(&|3xiNrQQ;jB4ibGN26*{hGXbds@;( zfVcZ3D|tMVc)soe={}!q=ZjV+bh-<$U1~5@Q%P{;RE*QbegZis82f(!`~_Q4-h3S++>q*;y}zJ*!`V*gImOICq=(qIPw%!oyB)=;uD>axYB*?0@!J7&JL+W)fagMD@d+We;NG{f8s`|Xc$<&AR zBvPj86t5QLPz_#8RmLL?!e*+itsyqgR_-R7gi37Xp5s9Ym)Nm=uM-u!_Ei1Hbd+l> z{veg@vRd^J+0L#*RS&;{KI}SF^~g8SgI$NJ9;NkczHPgchH2NNs;5Y&l@@>cEtJ>T z@-tLE&X%7eo)c~Pc`DPKVn9FqKFaHAxV+BW0HGbW($2#ku$2z3Y_XMIk0#^-TiM9Q zz0_6)xN@7VoW_+MwsMAdIz+!_D`$D%G{(GbD`&Gs-?5c*xbiDoIhQN%+RFK?!3VbT zO;+^NX$Du-HfA%PtzF19&*LDdY9kJBOqDV9_!~#l73P^)N2PWU!{kLaWU5wB(OU%0 zHpgv4hGU}Y7$Q?^uM^}R$0Chw#@YgOo1<`7LXNWR8$i0nk%bax%ELgP@F}*#BvHsm zyq|&crcbqFqYbw4J_G8FaATvvgee$o7*`Dt4@(#ao{7YFHslF)Gf~O!yhA~m<5R8t zuM^cf8t7W0u&Z0jc}&>=^c0_BHNKE2WL9r0D3|zD+ip9zyBX;HjuIvp4U<2LHLhZw zXF>mw;}HsPbG&zezON{p>bx(2dLsvGdNWHK19Trnxs56HK${iiPNI}71G>Ve)Dl*8 zAHB8%>~(}N+16O<{Y2dY$~K=G7}tLi)w=i*l7cX?y2@cCk;V`4xJ#ZGSUp_xtqgL1rf~ygpX##Y}{HFM#O{pE0kj zW!x{%_0&a68&J0$D9sf+r6bD1n zF^Sd-m_(D|eI29=6#0le`MV(9<;Y>Sp4D(=p66-Mf9QBbLpt9>`rCj%cBJ3{PhdJN z5MJ3Rm;-;-1?s3>RS%Q*1zP7QVann*{nazirOb05L@Wl+QI5}8370c<9nelixq>OD z0o|e~S25)Zpw}wOHB9+8ppQFBm{y3OKG!o38TF^&`Hjza8ML)-YxTa-=ld&o%5Vg= zBe&F>eCl{m_E*$feCjMvS{>C+j1_R3&vFvTy*>-8!SQDebO-aD4flQ|Ug)78Lk_A)aPdb`i)^Vp!{ zoMa-zUP;?UO0p(2V!}KeS{kFVoEg!uov;$lTO(?S?0o@g6<`>5HTls+MCbH3f_HvY z_x1((K*wUHQ?n7=7cYV{i1Hn3XDVNWFdWb)o7y@iSmUiI`tNm(<4s?{Hd21@Z>GLvh+<(6U3nyY#qf!-mw***(@<48z& zIiN7zBC!ij^&;kJ1O01`CvbYGUd`lQkOmytT7@U1`a~vQ2-4+_EOO&a`B$KK`4pa| z>RzId8s1Z&JnvJj#51|wTR=Z_lwgOKF!?Vag)kaBB(j#7MTF`b>D3$SlW54eDnfJ% z?$Te}9-OdZ|UyH(_M6?DAABYn6e~|bl^+05yOkv7rK)-a9 zz!Zh2F*ywWJ@IE7vNggShTdc!g-&#ILFnVQ;e2xAiqO+gjBkn3wvTU#Rsf|~tO(K3 ztcgumN!w^~-X3(vYxesApkvvRB4)n48YqlJZ^TtO zne%aIv{yQE_;70L0o`qcFK7n1hwbHAT52Rwhv%u7AnK}wIU^X84S z)YQnv;j_neuwLV+>!xu?*g^WT(Rq%2=#D%YW4tf0oa9fCVRL0)8FV=@P8<#8WVHxhk8jy%XQ0Vb(Cv8ia}X=)8*WN~k(E8z zpH8kGB4&r~q~%mm8V)dHcq4#mfl(l_)%wZ|PhphSjCDSU5jn6v2re7#;D$oj7~Flb zHft1Z{O+gw?C8%~1(6*VA8j7vSshyP!$u+-k9nox%m`@D!Jn?OH*x6GSxp&+m-6CZ>~?K z;ywKx3CkyyLcaE7E<1?D_`TUeVq+qe%ho4O=}+|kJz?>wQ_(StR8snSV!6(Arnk6s zjrtFNQ;A$Q9p8}1VSWZb+^viE^%)ok4^27}ops%0>)fWkL>5KtZ2%|JC}IKW%XMcG zv5o-IjwR}J0vkexTBLHeiDj@j#uQJdI+Ia3|OJ5Y^*OC zbpya6i}Y??3#HOAUg)`d=A9EdXI^Mm$w8y*jwq>u^F)ttYocfAGkuLBP1!^ayW?ms z*_%lB=UUgdn`logn~Nqg8AG(`U44C2Nu!!PEfLL`NRwDE3LA6)Ae38w zH1=pmqP@S%MEmomg|aoOUH$=24UIBeRQgvhLP>pM@- z;R~MRlLr(T=JZVBRHznh@9*qPWLh^GOzZSU=pK!_!Sp0CY5<9zL~k^kOZOR?(ymOp zpN3>Ty-@N@vQajk?n|_`t!{|UTusF_Fh=XjBjaXsz!!?C)sWqg?2Gor5W=nNO<*3N zS1K_;>cMz1(lV3SSWH4Q_1~FfPQymcZG%wSL6 zIit~2V;d6veVDLQ0=d9Mnw_)uQX+tK*Skseo!aP|Ww2o*(+8!GR+ws|@#n*D6jUc* z9`H(PbbUJggT4cMwZw9{SiHM+~^rtA`A+9H#>Z)P)p$E12I8Q!egCgOM zP9!{_5i$`2oymbHE0-wd1T#q($1b{wwv(rK_NU@Sw23s40rI&G{HJD;xkR*mQ!bG; zhw}`!Qr4qbZcB5~ENMHYX3^BCHO+NRbqzI*4Uv|HmWG)%wY|CiRANq70{)qdqZ-S^ zyXRo_t!-(lsqLz%?d;2>DMo8S$fAlaa<%a^yd~C^Ks^h?ZKwrPE)mbAGqu@V1~wwK zZEg%q4eRX^beg;knW8_N$Yc!+GZ1A9;2Bg`uAAByaoHKpXOLYvq>;b7Qi+b5cy}yg z`Y|yx;8^kQM0`Uu-rE5m31hrd7x|c@0}BLbLt7SSgTjT=Y;jH^_{c7{)he z2+dmJu@pYQ1-+7~&NL_DK#H;MhhY}DR;1C+9n6+Yby4EQA|_lzcoaKne=0a~tTcVe zRF(tQN;0%on&^_FRxDg_6v+MU(Phz==H}_m(T1q&pwJ?X1s0Jd&^5^$E7HKrhv*%L z=DkDM26kS*vfG7XU}dsH=eaAC-^?kMoTR{Lhf>c-Y?L+|qRl8pbG&8+a`Nm!iDNFC zrX$gl>_wzxkmho+WDh(AZc`{fGMzf`xm)8psBB2V>EnrPHkwYi8*D>trnFm!XgY;l zfjvSt*^WJI7yD_fN6Rs^bt$F+FU>3v9u*vwU1w&^%C9qXA%r@D#{HSNETu(dazx}} z8EY%+u*F6n38a(OmEAn8yw4e&n~Mc#tIg2Pq(Kixnx%z~Gi34#PEF`mG9Wi6fLC%@*0~d=VqXJGM!=%LKaWBwUkVn-__tKP$(eM7~J-^ zwqtEcW=$-f!{CX%$VwDxYR6V`L)2f8HX1Aw={SxH9mbw-ID9ep*b${SBvS0@c}K^# z_B0k=aDsrl6%4i@Q`=2I-g9l9ETU)=We1|hvGQgOl%idM*_=-xge^+rU|r~KO|tEQ zEn(a^Z%DE|v3A*T(Dc&W)BeClkln1CD2`)&{ecu3m1RA@xA&((&9lE%$N8yXrXw?* zw+0qy4351nzc(v7W6f~zWC{tWA&NCR4nOI{fvz7z;F&D8I8UEm)UoK4g)^>mu#QAf z7!DU$|2f|MWD)DZF2#1^JB;Byfo$fHxQmQ-hC8g#^dS~Ek`-;h_}qh2vPu?tKk|=u z*l8tl-D$hG{5x@K57>c?W;dPBn$-pqhcqmJ#mt8tLjH)@v)(^OyUn=WbelYrzsss= zPp5m346!NYp!SEG&+0R5@=f=VamWGfk+BHpOn*m)^j7FoL#-M!?WP}w$LID_{_265 z#WpYzJnvG5$!}|U16YuZf`NDO{26XH*xEi+#I&#HTTe7reNJkO_zo3Zw_uoj znj0LsI@_96FpAX@E{4-KZCL2$2Az;1Ewm;Trq=1ytDh9@G+5ON7oQg5Rmu(8Z=2{) zH=QELYC3|@86w!-M37UA+`H)P>Cbi>D{at?FnRUPCWS>T};!a z!3Scf%ISsf_F<6Nvf?gXQJ3>Kv9#nDF+n5{Ev+l#y+xUtT)bk*<}(`|aY+H$$g8`$ z%{<}cew80lBmFg`TE7gDFj=s2IX`GL=5MW!9AAxEa1eDhwa)DDhI z?WFQ|0E@}b-^Z{!j3V3cNJIXE?SNoY55~J zO?%;qmyW0GCdDPJ_HPg44glYrW?zLhLZC?F_RFTW((N+S0kzfg@zz&)h-A zZ5oTXVl!KiW80?|tbB_KZ;%ynh(Rr2Tc<0p=Oq-`&xf;Xs!2dJNYRX_kxN{=^-T&48%wa8UU z&sfz(kMBL;c(BeFjg_ut_#@nXRL0@-DKEm^<>(IpC;{avAvm0>rS#BNU4KN~3+Oo| zKrdB~>xoo{p%VWN;dA`$f`iDH!>Lkgzqn!vf!9)lPcsy`N=;P}l;q&kKSi!m-#UYd zrS?0PgF)0v4L*)inXrJjVG z;2c@1G52b@!Q*v)A{_0)GRF=;NG>JBe@gV=u!tz|(*(+*|1A zU>B+uN21S0;DaB2zU5DlqONiN{6zqF5lH!mF30b1{*q1r|MDw)t!M5$zr!~LaMHoy z=LB%llm6(s*uMGwI{bRU@wrLFu`%W2yJX>~kA>0Y z`n5HD-9!q+?_?6hpPa|Llf$3PM*T1%;&S+{GHDAf?Bmt=gc4oOpB?{ZQN-nChp&-A zueHs5IeUp=PFDC@d@Pu*9{c9=pC^u+Rk)LTn!@jw`b7#qMi%~WD||CeGOpX~o8RwB znoL}@AE3*P>tXSO9gODjI|YA5;iCnAN8vl9-;Wf2zu4yw3crXHz-7M~mG3tslRQ%T zae6)``tPmq{}g|ltnhU#9p8CS_yn2vxe7mOFWbO=-zcxoT-h3|Rs8mACHPL8!hb9Y zu~*@b$W~>m!gq>a+3)-0`&}&h+po~%ac8#&l$;jPbBDq+5??PU{5F}d*A)JU=>ML= zUy#J~slrD~0{T+nFYIOq;69A!=F!=051CJgJG)I(xU*ZW!pmg5hbw%7*m;@4-5x)o z@IxgY`xL%V{O}Bgza;W6Q20|)ze3?pNSxlR@Hry?Hih3SadE%G|5x(K;|d=xcHgD& z10?QVRd}n|?UxFlCVB58g;&V@{z2g{Q?kc3Lj1_h@1 zK=^;GaQ@y3#`T86|0?tKfx_vR3F!J<;U|cHx=oCpmn!jhhp!ZW8>?{oO&PilRQOFY zt_FpFN94>_IDMI!uB8gEmwB;2(vi<^ugScxQ~djiANDAGn-y@AxalP7cqBJ!=&HhR8Wc;d@FP%~$vrQuyxT=UWu+=J$Mse<*(VFA6_R>US!9yLA)ul)?{{et)QN`u+}G?>{Ph(&kYK9{^|0% z)8F~$Hx;!_fz;a;?J`b?)-Cs!hb4pda}Zue(NebZFq;Th-TNJ)a_^(j7^Uv!P zeuene{R(&f`G~?Ni#>m)@JUjCSK%&if2i=cC2#yi;ci_hm3-su-zI)CUg1vu{tBNc z`M%A^A-Mc$paTD{3^k(P#Ee2HHW znON_Wc&t+RAB2Cb!abRn0~P+I*r7q;4-5Ysg?}ac|05KBsp!8};lB|%9U2!uK1Jc5 zi9VYZexQtNo5C9%86#lrZ7xyWAli2eKg?}b`zM$~8B>((e;kSu>exq^8 zOP?!zl*AFfILMcqUzayR3U}x528FjtzHL$X5{Z`;3XjP?{}_cw1n*UNO8h^oaCblG zLWR?>=h1b!!l%i2|5f4liJ#o1@bxlZI~0Dh><`^O#o6s-8Sh()-~O%}_KgakCVpEY z@#^GUCvrjxcjpIub)7HA9~HlytniRdAU;IRyywMDx7{tiLOT!{vRU$MTOrZ{`0EBr;q`0eV}mqaYnj6 zQ8@i@1YIR!4`=_Yg)gM=XT+b!EBsHQ=l%-+smx=G!grIrJzL?wlzr_=h36zM9jov+ zWLznQA1mX^Df}^+mkSl{*15|SZhxE5m^&4IvDoL|75=c~qvsXAQ2gpA3V&M8O`j-y zvFQ1^!v89E3(32iuL+VrM=IR@CL*3|Dg0xZuNH;B?(&<$=Zl?>Rrv9OrxpIX)Hf=8 zv#dLpDBSU1sqpVg{Q-p^CI0`Y!uOVVe^cRIk~iK{_}Sv0!)4sgo=fChu)D(Fk@+}8 z;g3t)MHD_o^2Q2<-z5HUtioTE{JdV_BgCIiQTW9&-mMD1UHs}&g-?5?iLi+7j_?aUAa)l2U{%aK8EpdIX!udl7==VW|?<@N1JVfg-;QC9-;78Wt}}*;TK50>Q(q8 z;m;}jEWxi-IQ>``UEfytDS|((@Mk2?{8-`cJodp5_$LaVC3dKkcy;z%EAcWy;eU|% zouu%Yf=^X=M*6!*;gvG3YZbm$?EkjHKbJWDSmEE3xcjrh&y%zbM?DLrY~p;>H^nJGdFMacxn! z)6>*tH}&T5-Jd#q>&3ozyHY066RX2l%W|fUi~K3{x^{fU*w*P&jnP;p6WatJZK;-# zep-pY++*taXO^O|c60bICuBl7m$4Bb$ z11I?L5&Rg5G)ick||C&6mQh4v_cYTo6RJk!UM2AAiB?wuQE4 ze@WW@zbMp?Y!m#?2~Gt@xTHzjh+YZAwN&11&6pZjkoU=WFV_FPi!4Kpw5KqqK6L*P z!F2!b^Jz7p2QTNx4m%75^7EnEyZ#)%uD5_tO#h!8Zd*v0@&7ABbL84Pdnn&I$&BRAak7D zpL|mpR`X_uXx}`Mq~N}Qee+*+`xGd}^xv}HHgWAqe_EQg{^tYJGO1-k`d^_YM)Q6h zyv6#zSNeB$qW;OxbpP9dkxZv2ihMn=pMC$D*im3#SEt8!Kq%IJ#2nkA*)^1R*Ur6D zesJX=>q2QC#Hg%!9}`TO$t;!jS1SQ-{0@E)g<|%5PVBc%7|DLLrEu+?U1{5?T#Q>x t*}!k+8T;nHYW=CMbtmSxMgNC{NXs|rp!=toDAxbg^FhE>rG)GL{|~!)@+1HN literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/EventQueue_stub.d b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/EventQueue_stub.d new file mode 100644 index 0000000000..e6204831db --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/EventQueue_stub.d @@ -0,0 +1,32 @@ +objs/AT_CellularBase_unit/EventQueue_stub.o: \ + ../../stubs/EventQueue_stub.cpp ../../../../../events/EventQueue.h \ + ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h ../../../../../platform/Callback.h + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/Callback.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/EventQueue_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/EventQueue_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..6219437bbb738aaa4d2992b51c197185e3dcccf6 GIT binary patch literal 928 zcmYdHNlw=?F))38ePtU11H)ofAi=tM%cX^k3=BZT@DPYWfEhx;X?`dl7sU+Hj0SRn ze3&qZ4Fd8&%mijJFxWw9As`L2&kQOCq!>YBZ4PsV3tiW9?r1hx!oaYQ5vCWa46Nqx zfob*@b~nwW6sI2ssbNEyfsF;$lhgRoC6?btJ|7 z(~^}Du4S&$TOubmg3RXtnvdpoY&L@3)_<|xzOn5K(^t#fJaqqHF$1iprTnh}s{r>y z`-qzuMN-%8ErdW=A0=8U%iX)T*)_X&xBCjU zf~+l(px9WeqQ$nLV)ILoS`_~T`a{8Af>3IO(my^B148S+g6Esr*?aGL*Un8sz+vxW z=FXgRzVn?qGqXk89DgVl>HqcI>=a{6yNhm9Pkyv+pZ@vEuMS2&xrOSf-J`KW+R6+j zjC?+Am=nW0>p5MIKC-uFo7G&=PGzda@^JFmXiC@X$vO>TE9nY_!tP%wZ&ddd%Z0EM z6Us97@%88(*RI3EQxdJV71YkVG0}#)*1Qz0E(IZ{`);dm4KjnaaSPk&!@QGeiu@9++v2tOt?)bS1#c$eQ<(}!rk zq4{05p-+1o>WlR?aGu~;Nf
wwj)hjiSogNskN>tNF%Xu^-1~=7zrbW=@SSlY+R# z*GN65uKxqBKdyPr5E!HnQFF&Dd@4D@I5$V&2iIc#3%fq_8l`O_xmPazo&5PgPaLt_ zP4y1*cyQdZt+G*VMe#Eu&!wolGB49ycU=2F#qn)~FKEsH&Leca zkVQU|auEM={>XeI#x5+k18+hI;F7UMAm7L))qJx<4&YLR4A_jKDr2Wd2Gj1Kv4?+n zeS2f-@`@{u73`a+-htyppN=I}UDsPYpyQh40(Snpc-InvN30hzPdPkcwCE2QPP^zY zxyG|Suc7Z^^BV9RmXnm^EtJO@9~mMJ)qQ)!M~3j7x{RY98BDvI5FMJl8tGcI>Qeh& zD;gaw+KFOmzmd*c!=nRM-Lk8dXhg^J>6%rube$&wl5sO#?u{0`xAs~tDcEkY6Lc-* zek-_cZUAl^|ID6yM!uWBJiie9G(q@YGl&hxxca5rZwA-x;72aF+I?*3)R*6G27cre z$^|}L_nTQGXHzb}|Ru2+B^ zw)A0!ObL-%V?seL}3_DaJYLmU|rviW|0IU*;+rd{OP%^ThetEeyP_qPjn?(O9}{ z855~Yu2M3pW>(}Y6(6kS3YV8-=v>G3wr+gCa)0mFn~mvVXE-2C|l zCU*{Ve4gMk!KcIx{{`jSuYdb_D=4=DvxFF&TkM~l5}aGFe#T?#%+$rMGo`T^tV!@^ zYPUUEpuZ)7HC(Hd!#Uf`*D_Yv+`2W~AGWPY#v0rRwf}Ym2ZBR4U+%LKxWk1r3*uMK NmuuPZ8XqHW{{X6$SnU7+ literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/EventQueue_stub.o b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/EventQueue_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..dae2039ef1e73ccc62affa8f781362372b6074d7 GIT binary patch literal 31576 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/FileHandle_stub.d b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/FileHandle_stub.d new file mode 100644 index 0000000000..51d121c5f2 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/FileHandle_stub.d @@ -0,0 +1,42 @@ +objs/AT_CellularBase_unit/FileHandle_stub.o: \ + ../../stubs/FileHandle_stub.cpp ../../stubs/FileHandle_stub.h \ + ../../../../../platform/FileHandle.h ../../../../../platform/Callback.h \ + ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_poll.h ../../../../../platform/platform.h \ + ../../target_h/platform/mbed_retarget.h ../../target_h/device.h \ + ../../target_h/PinNames.h ../../target_h/PeripheralNames.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h + +../../stubs/FileHandle_stub.h: + +../../../../../platform/FileHandle.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_poll.h: + +../../../../../platform/platform.h: + +../../target_h/platform/mbed_retarget.h: + +../../target_h/device.h: + +../../target_h/PinNames.h: + +../../target_h/PeripheralNames.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/FileHandle_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/FileHandle_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..05fa86636a2c3515b9c80cd200091783e9ef4201 GIT binary patch literal 644 zcmYdHNlw=?F)&TMv9gVUfnl*KkYL@s<+I1_5~>W&*Pq80?_55Riu1X9g7mQj8$650#5O->A56dGRv#HUq;#MwnixGO(Jp z(Hj0!5^rVWQ}dJKR=HT3W&Vz4gC)4kd7`pXuxO^*SA6E!Ew5q_s|wA)rzX)ehC|FN zg6*f*<{FS)EC@d#v%qdw(+Xg%@!B(i7_|Zkijrd2&m1I1?Z2L>Aw}J%PTOtTeSnY~ lQXRzD8n!piAjaHH3mMrfHk;!0|H+C4Qn4Q{y}}Vj3;^%hT}%J~ literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/FileHandle_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/FileHandle_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..d733a8f7c86a2611f3aaab3edf3449c3e238ba63 GIT binary patch literal 3348 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/at_cellularbasetest.o b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/at_cellularbasetest.o new file mode 100644 index 0000000000000000000000000000000000000000..38302eef3f6fd0e2ab6e74822e0a8dfdba0d6435 GIT binary patch literal 91720 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 TBtd3?07xF>Mr3z^`~d?18u%1e literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/main.o b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/main.o new file mode 100644 index 0000000000000000000000000000000000000000..de97687fee2b006c74eb5aa54b1cd00c7f19cb37 GIT binary patch literal 16272 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/mbed_assert_stub.d b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/mbed_assert_stub.d new file mode 100644 index 0000000000..b3085c20df --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/mbed_assert_stub.d @@ -0,0 +1,7 @@ +objs/AT_CellularBase_unit/mbed_assert_stub.o: \ + ../../stubs/mbed_assert_stub.cpp ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/mbed_assert_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/mbed_assert_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..bfc11053275e1ff0790056529718ba853fa5af88 GIT binary patch literal 208 zcmYdHNlw=?F)&?zV`Uoy1H)ofAi=tM%cX^k3=BZT@DPYWfEhx;X?`dl7sU+Hj0SRn ze3&qZ4Fd8&%mijJFxWw9As`L2&kQOCq!>YBPd~YsH7rs;xTD!%2?N7IMwnihG5~r^ B5<36@ literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/mbed_assert_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/mbed_assert_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..d2b5caddaa90d24f38d3fbe8f10c3258a124d9c4 GIT binary patch literal 236 zcmd1LOHS7^F)&?zV`Uoy0|TQdka+sZ#jIhG`oSH|220q0{M@9}l=#Hr;?$y&_{_YL z)S|q^9H1}*ClKrD=>t)5Noi8CKC(KHh+c9*0Z1JSh+uGJWCqj7gfm=>2`CIv2N47D Y8KIbg!Ie<}$Oegl04eseL$rWN05Dc8Q~&?~ literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/mbed_assert_stub.o b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/mbed_assert_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..cca314c8f4f1f14b3f57c7f14d34a70ce3b67af1 GIT binary patch literal 4440 zcmb_f-ES0C6u-06(qf?&ir5A3)Yu07PZ3HLXFgu(nSDQhmUXnBErk|OWZV-CX&y;1Y7S>!ZGj(WUa&rIC z$)g!JfIo*7CD)gkX6b~V**ocsk@YBmPS~hM0Ug)(r58AU5SHvpdBzo2V6Gi%zTK+I zh}RY%r|~J|jb)R~q%tmtz?qQ}+0^@UEz&ee7nSZc(b0VlxK3jgx~zH=9$g)s)kYw? z5n$>g#<(nub;c9D{XJ&yrrveN`mVl*A%|_eFlhGf=-JtWP+{Ps(Ltjh%IFjkI?|ak7p+spZ_|IoA{8 zho-Etp&@I;&e>V(ne1>ro6kOPrRzc1kh?3gA-!rDMAs|N?Ou2;pU&s3bj3=~&U;Oq zTN)HTh=KHjbh&v-dTvF6><4c7WEzYDSq_?B+7G;Dqawuk*w_wh>r^Rh1Ywjkoez~X zd}cUrXLELLTdWu%Ho%%A8E+gB#zLR5X-!x661=%b0K*@W+U$FK`!1x$)~<5E05H_; zLM4#et*k!~=_5`16FaR#{C2lpgKebxuuWw~4VHkb6SD>12$CUIaBi#ZfTuvijmsT| z&Zbb^i0m>sz!_TJt;-s;=cpP8tSMHv0wkG2y9_i7Q>@XX71k8csR?98E8V6s#rif3 z0aHM$Cy*)DwV{szvR+$%UZ=MJ*Vl?2-@OOk(u?Y>#U^*03T)u4o!Bh@rm>dGOU2gI>fey_aaabEiF&bD3NXK_hJk9~qv;7v5Uyb39lMLsh zBDTLo@|hU^HOcSA@FkKzppolIT2IWu#J$7zjPD~Rj$4G|yTTt+ff&X)udw~o^}sE` z7~o>9D8DtYo0 z$B7`%ZB!)3ip@O6 zP80G$uT$I>^>GaCeAM3|6K3@ODgqQ${4YVO%K|!N-|O zl)p&%d7Usn?z4D)JXbL$*9okm6O=z2OUNRRpMrIg|0h@!P|H8PAhREjS2YannZ74~ zmU(19mhs*|EWUq#Apc`*NF&dm;je&6TEFRp_ty`$?9c0p_j9~=G4>Mqe~W@f@%oc$ hNAs=pDSd|=;NMU6wHeQkJ&}~(qVw}(45m>$|KF-Bu|@y@ literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/test_at_cellularbase.d b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/test_at_cellularbase.d new file mode 100644 index 0000000000..0b712292c0 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/test_at_cellularbase.d @@ -0,0 +1,77 @@ +objs/AT_CellularBase_unit/test_at_cellularbase.o: \ + test_at_cellularbase.cpp test_at_cellularbase.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../platform/Callback.h ../../stubs/ATHandler_stub.h \ + ../../../framework/AT/ATHandler.h ../../stubs/FileHandle_stub.h \ + ../../../../../platform/FileHandle.h ../../../../../platform/Callback.h \ + ../../../../../platform/mbed_poll.h ../../../../../platform/platform.h \ + ../../target_h/device.h ../../target_h/PinNames.h \ + ../../target_h/PeripheralNames.h ../../stubs/FileHandle_stub.h + +test_at_cellularbase.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../platform/Callback.h: + +../../stubs/ATHandler_stub.h: + +../../../framework/AT/ATHandler.h: + +../../stubs/FileHandle_stub.h: + +../../../../../platform/FileHandle.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_poll.h: + +../../../../../platform/platform.h: + +../../target_h/device.h: + +../../target_h/PinNames.h: + +../../target_h/PeripheralNames.h: + +../../stubs/FileHandle_stub.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/test_at_cellularbase.gcda b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/test_at_cellularbase.gcda new file mode 100644 index 0000000000000000000000000000000000000000..279641080ce6b1653c7cbf2fd2beacc859d1e254 GIT binary patch literal 2248 zcmYdHNlw=?F)&?xZDkt+1H)ofAi=tM%cX^k3=BZT@DPYWfEhx;X?`dl7sU+Hj0SRn ze3&qZ4Fd8&%mijJFxWw9As`L2&kQOCq!>YBs=H*Q^&Do1+?uoHGXujyMmB^zHWpaV zpGj=$-!qz4SS^dY4${K~R0*>arU{)769>{@GtPHpskiUG&OR?~(>9P997qcAFu{6* zy_v-tyv>d5HtjwD(#wKf16Xa-jr2V8($<6>%?3+AYC-NoavNC9w9hS~8zi2t$ERkq zoQlZ2>ynO~au42u%&7sI0}FeY^_22)nFA9aDKsn`VKmI&)aJv?C4mN~musRwgd>*T zxwvKdtXrV8U;#9M+HQlH2cuzbq%|LA4;C8i_uCdha;)ulRv?!bu(Ac61_cX9j7h*l z>CXCNB2G(eT0r3iDq~=3aoHngy*iTJ^TZnDJc*>CgpQyuXPl2TC6|yC+6Q zwaGlHIRtV8zB1#fw>e~8 zTVBN=Ru!6o&u@vIF&tuE5o|xbHUo=7{Nbsl6~J2KwPyk`Y6TJ$CB?3vIY^A!e?3z} zin>poM)ng@Ji(aYxJY#nV{6#nID;5-H!Wmjuh?vg*Z(Ig7D&Z@xbzBN7`@9qognP) z;fS19V2;85bBS8WU`??iw-S(VeDZbopxB JAslI(0RRP1+LQnQ literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/test_at_cellularbase.gcno b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/test_at_cellularbase.gcno new file mode 100644 index 0000000000000000000000000000000000000000..941f55b8857f222fbbdcd772a7260abc9cb57a66 GIT binary patch literal 13212 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 Cqp!XI literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/test_at_cellularbase.o b/features/cellular/UNITTESTS/at/at_cellularbase/objs/AT_CellularBase_unit/test_at_cellularbase.o new file mode 100644 index 0000000000000000000000000000000000000000..c20888758654a40ce7a0760cd9be04b62094c316 GIT binary patch literal 96408 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 + +using namespace mbed; +using namespace events; + +Test_AT_CellularBase::Test_AT_CellularBase() +{ + +} + +Test_AT_CellularBase::~Test_AT_CellularBase() +{ +} + +void Test_AT_CellularBase::test_AT_CellularBase_get_at_handler() +{ + EventQueue eq; + FileHandle_stub fh; + ATHandler ah(&fh, eq, 100); + AT_CellularBase at(ah); + + CHECK(&ah == &at.get_at_handler()); +} + +void Test_AT_CellularBase::test_AT_CellularBase_get_device_error() +{ + EventQueue eq; + FileHandle_stub fh; + ATHandler ah(&fh, eq, 0); + AT_CellularBase at(ah); + + ATHandler_stub::device_err_value.errCode = 8; + + CHECK_EQUAL(8, at.get_device_error().errCode); + + ATHandler_stub::device_err_value.errCode = 0; +} diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/test_at_cellularbase.h b/features/cellular/UNITTESTS/at/at_cellularbase/test_at_cellularbase.h new file mode 100644 index 0000000000..37f22e0cd7 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularbase/test_at_cellularbase.h @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2018 ARM. All rights reserved. + */ +#ifndef TEST_AT_CELLULARBASE_H +#define TEST_AT_CELLULARBASE_H + +class Test_AT_CellularBase +{ +public: + Test_AT_CellularBase(); + + virtual ~Test_AT_CellularBase(); + + void test_AT_CellularBase_get_at_handler(); + + void test_AT_CellularBase_get_device_error(); +}; + +#endif // TEST_AT_CELLULARBASE_H + diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/AT_CellularDevice_unit_tests b/features/cellular/UNITTESTS/at/at_cellulardevice/AT_CellularDevice_unit_tests new file mode 100755 index 0000000000000000000000000000000000000000..9d2d3b5e5885e6981a0d77c6d65f44dab501bfc0 GIT binary patch literal 676488 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%0Av(1r!`LPYeC@eUu$LNYH=w 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 x!9lQ;9YJw7b>rX!NcB9za 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 KM*FXWga03HV|+^h literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/AT_CellularDevice_unit_tests.txt b/features/cellular/UNITTESTS/at/at_cellulardevice/AT_CellularDevice_unit_tests.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/Makefile b/features/cellular/UNITTESTS/at/at_cellulardevice/Makefile new file mode 100644 index 0000000000..24c68809bf --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/Makefile @@ -0,0 +1,30 @@ +include ../../makefile_defines.txt + +COMPONENT_NAME = AT_CellularDevice_unit + +#This must be changed manually +SRC_FILES = \ + ../../../framework/AT/AT_CellularDevice.cpp + +TEST_SRC_FILES = \ + main.cpp \ + at_cellulardevicetest.cpp \ + test_at_cellulardevice.cpp \ + ../../stubs/AT_CellularNetwork_stub.cpp \ + ../../stubs/ATHandler_stub.cpp \ + ../../stubs/AT_CellularSMS_stub.cpp \ + ../../stubs/AT_CellularSIM_stub.cpp \ + ../../stubs/AT_CellularPower_stub.cpp \ + ../../stubs/AT_CellularInformation_stub.cpp \ + ../../stubs/AT_CellularMultiplexer_stub.cpp \ + ../../stubs/CellularUtil_stub.cpp \ + ../../stubs/AT_CellularBase_stub.cpp \ + ../../stubs/NetworkInterface_stub.cpp \ + ../../stubs/EventQueue_stub.cpp \ + ../../stubs/FileHandle_stub.cpp \ + ../../stubs/mbed_assert_stub.cpp \ + +include ../../MakefileWorker.mk + +CPPUTESTFLAGS += -DFEA_TRACE_SUPPORT + diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/at_cellulardevicetest.cpp b/features/cellular/UNITTESTS/at/at_cellulardevice/at_cellulardevicetest.cpp new file mode 100644 index 0000000000..294333766b --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/at_cellulardevicetest.cpp @@ -0,0 +1,96 @@ +/* + * Copyright (c) 2018 ARM. All rights reserved. + */ +#include "CppUTest/TestHarness.h" +#include "test_at_cellulardevice.h" + +TEST_GROUP(AT_CellularDevice) +{ + Test_AT_CellularDevice* unit; + + void setup() + { + unit = new Test_AT_CellularDevice(); + } + + void teardown() + { + delete unit; + } +}; + +TEST(AT_CellularDevice, Create) +{ + CHECK(unit != NULL); +} + +TEST(AT_CellularDevice, test_AT_CellularDevice_constructor) +{ + unit->test_AT_CellularDevice_constructor(); +} + +TEST(AT_CellularDevice, test_AT_CellularDevice_get_at_handler) +{ + unit->test_AT_CellularDevice_get_at_handler(); +} + +TEST(AT_CellularDevice, test_AT_CellularDevice_open_network) +{ + unit->test_AT_CellularDevice_open_network(); +} + +TEST(AT_CellularDevice, test_AT_CellularDevice_open_sms) +{ + unit->test_AT_CellularDevice_open_sms(); +} + +TEST(AT_CellularDevice, test_AT_CellularDevice_open_power) +{ + unit->test_AT_CellularDevice_open_power(); +} + +TEST(AT_CellularDevice, test_AT_CellularDevice_open_sim) +{ + unit->test_AT_CellularDevice_open_sim(); +} + +TEST(AT_CellularDevice, test_AT_CellularDevice_open_multiplexer) +{ + unit->test_AT_CellularDevice_open_multiplexer(); +} + +TEST(AT_CellularDevice, test_AT_CellularDevice_open_information) +{ + unit->test_AT_CellularDevice_open_information(); +} + +TEST(AT_CellularDevice, test_AT_CellularDevice_close_network) +{ + unit->test_AT_CellularDevice_close_network(); +} + +TEST(AT_CellularDevice, test_AT_CellularDevice_close_sms) +{ + unit->test_AT_CellularDevice_close_sms(); +} + +TEST(AT_CellularDevice, test_AT_CellularDevice_close_power) +{ + unit->test_AT_CellularDevice_close_power(); +} + +TEST(AT_CellularDevice, test_AT_CellularDevice_close_sim) +{ + unit->test_AT_CellularDevice_close_sim(); +} + +TEST(AT_CellularDevice, test_AT_CellularDevice_close_multiplexer) +{ + unit->test_AT_CellularDevice_close_multiplexer(); +} + +TEST(AT_CellularDevice, test_AT_CellularDevice_close_information) +{ + unit->test_AT_CellularDevice_close_information(); +} + diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/cpputest_AT_CellularDevice.xml b/features/cellular/UNITTESTS/at/at_cellulardevice/cpputest_AT_CellularDevice.xml new file mode 100644 index 0000000000..ffa6e8d915 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/cpputest_AT_CellularDevice.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/gcov/AT_CellularDevice.cpp.gcov b/features/cellular/UNITTESTS/at/at_cellulardevice/gcov/AT_CellularDevice.cpp.gcov new file mode 100644 index 0000000000..b0a09410f6 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/gcov/AT_CellularDevice.cpp.gcov @@ -0,0 +1,253 @@ + -: 0:Source:../../../framework/AT/AT_CellularDevice.cpp + -: 0:Graph:objs/AT_CellularDevice_unit/AT_CellularDevice.gcno + -: 0:Data:objs/AT_CellularDevice_unit/AT_CellularDevice.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* + -: 2: * Copyright (c) 2017, Arm Limited and affiliates. + -: 3: * SPDX-License-Identifier: Apache-2.0 + -: 4: * + -: 5: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 6: * you may not use this file except in compliance with the License. + -: 7: * You may obtain a copy of the License at + -: 8: * + -: 9: * http://www.apache.org/licenses/LICENSE-2.0 + -: 10: * + -: 11: * Unless required by applicable law or agreed to in writing, software + -: 12: * distributed under the License is distributed on an "AS IS" BASIS, + -: 13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 14: * See the License for the specific language governing permissions and + -: 15: * limitations under the License. + -: 16: */ + -: 17: + -: 18:#include "AT_CellularDevice.h" + -: 19: + -: 20:using namespace events; + -: 21:using namespace mbed; + -: 22: + -: 23:#define DEFAULT_AT_TIMEOUT 1000 // at default timeout in milliseconds + -: 24: + 10: 25:AT_CellularDevice::AT_CellularDevice(EventQueue &queue) : + 10: 26: _atHandlers(0), _network(0), _sms(0), _sim(0), _power(0), _multiplexer(0), _information(0), _queue(queue), _default_timeout(DEFAULT_AT_TIMEOUT) + -: 27:{ + 10: 28:} + -: 29: + 21: 30:AT_CellularDevice::~AT_CellularDevice() + -: 31:{ + 10: 32: close_network(); + 10: 33: close_sms(); + 10: 34: close_power(); + 10: 35: close_sim(); + 10: 36: close_multiplexer(); + 10: 37: close_information(); + -: 38: + 10: 39: ATHandler *atHandler = _atHandlers; + 26: 40: while (atHandler) { + 8: 41: ATHandler *old = atHandler; + 8: 42: atHandler = atHandler->_nextATHandler; + 8: 43: delete old; + 8: 44: old = NULL; + -: 45: } + 11: 46:} + -: 47: + -: 48:// each parser is associated with one filehandle (that is UART or a MUX channel) + 18: 49:ATHandler* AT_CellularDevice::get_at_handler(FileHandle *fileHandle) + -: 50:{ + 18: 51: if (!fileHandle) { + 6: 52: return NULL; + -: 53: } + 12: 54: ATHandler *atHandler = _atHandlers; + 18: 55: while (atHandler) { + 5: 56: if (atHandler->get_file_handle() == fileHandle) { + 2: 57: atHandler->inc_ref_count(); + 2: 58: return atHandler; + -: 59: } + 3: 60: atHandler = atHandler->_nextATHandler; + -: 61: } + -: 62: + 10: 63: atHandler = new ATHandler(fileHandle, _queue, _default_timeout); + 10: 64: if (atHandler) { + 10: 65: atHandler->_nextATHandler = _atHandlers; + 10: 66: _atHandlers = atHandler; + -: 67: } + -: 68: + 10: 69: return atHandler; + -: 70:} + -: 71: + 12: 72:void AT_CellularDevice::release_at_handler(ATHandler* at_handler) + -: 73:{ + 12: 74: if (!at_handler) { + 1: 75: return; + -: 76: } + 11: 77: at_handler->dec_ref_count(); + 11: 78: if (at_handler->get_ref_count() == 0) { + -: 79: // we can delete this at_handler + 11: 80: ATHandler *atHandler = _atHandlers; + 11: 81: ATHandler *prev = NULL; + 37: 82: while (atHandler) { + 15: 83: if (atHandler == at_handler) { + 2: 84: if (prev == NULL) { + 1: 85: _atHandlers = _atHandlers->_nextATHandler; + -: 86: } + -: 87: else { + 1: 88: prev->_nextATHandler = atHandler->_nextATHandler; + -: 89: } + 2: 90: delete atHandler; + 2: 91: atHandler = NULL; + 2: 92: break; + -: 93: } else { + 13: 94: prev = atHandler; + 13: 95: atHandler =atHandler->_nextATHandler; + -: 96: } + -: 97: } + -: 98: } + -: 99:} + -: 100: + 3: 101:CellularNetwork *AT_CellularDevice::open_network(FileHandle *fh) + -: 102:{ + 3: 103: if (!_network) { + 3: 104: ATHandler *atHandler = get_at_handler(fh); + 3: 105: if (atHandler) { + 2: 106: _network = new AT_CellularNetwork(*atHandler); + 2: 107: if (!_network) { + #####: 108: release_at_handler(atHandler); + -: 109: } + -: 110: } + -: 111: } + 3: 112: return _network; + -: 113:} + -: 114: + 3: 115:CellularSMS *AT_CellularDevice::open_sms(FileHandle *fh) + -: 116:{ + 3: 117: if (!_sms) { + 3: 118: ATHandler *atHandler = get_at_handler(fh); + 3: 119: if (atHandler) { + 2: 120: _sms = new AT_CellularSMS(*atHandler); + 2: 121: if (!_sms) { + #####: 122: release_at_handler(atHandler); + -: 123: } + -: 124: } + -: 125: } + 3: 126: return _sms; + -: 127:} + -: 128: + 3: 129:CellularSIM *AT_CellularDevice::open_sim(FileHandle *fh) + -: 130:{ + 3: 131: if (!_sim) { + 3: 132: ATHandler *atHandler = get_at_handler(fh); + 3: 133: if (atHandler) { + 2: 134: _sim = new AT_CellularSIM(*atHandler); + 2: 135: if (!_sim) { + #####: 136: release_at_handler(atHandler); + -: 137: } + -: 138: } + -: 139: } + 3: 140: return _sim; + -: 141:} + -: 142: + 3: 143:CellularPower *AT_CellularDevice::open_power(FileHandle *fh) + -: 144:{ + 3: 145: if (!_power) { + 3: 146: ATHandler *atHandler = get_at_handler(fh); + 3: 147: if (atHandler) { + 2: 148: _power = new AT_CellularPower(*atHandler); + 2: 149: if (!_power) { + #####: 150: release_at_handler(atHandler); + -: 151: } + -: 152: } + -: 153: } + 3: 154: return _power; + -: 155:} + -: 156: + 2: 157:CellularMultiplexer *AT_CellularDevice::open_multiplexer(FileHandle *fh) + -: 158:{ + 2: 159: if (!_multiplexer) { + 2: 160: ATHandler *atHandler = get_at_handler(fh); + 2: 161: if (atHandler) { + 1: 162: _multiplexer = new AT_CellularMultiplexer(*atHandler); + 1: 163: if (!_multiplexer) { + #####: 164: release_at_handler(atHandler); + -: 165: } + -: 166: } + -: 167: } + -: 168: + 2: 169: return _multiplexer; + -: 170:} + -: 171: + 4: 172:CellularInformation *AT_CellularDevice::open_information(FileHandle *fh) + -: 173:{ + 4: 174: if (!_information) { + 4: 175: ATHandler *atHandler = get_at_handler(fh); + 4: 176: if (atHandler) { + 3: 177: _information = new AT_CellularInformation(*atHandler); + 3: 178: if (!_information) { + #####: 179: release_at_handler(atHandler); + -: 180: } + -: 181: } + -: 182: } + 4: 183: return _information; + -: 184:} + -: 185: + 10: 186:void AT_CellularDevice::close_network() + -: 187:{ + 10: 188: if (_network) { + 2: 189: release_at_handler(&_network->get_at_handler()); + 2: 190: delete _network; + 2: 191: _network = NULL; + -: 192: } + 10: 193:} + -: 194: + 10: 195:void AT_CellularDevice::close_sms() + -: 196:{ + 10: 197: if (_sms) { + 2: 198: release_at_handler(&_sms->get_at_handler()); + 2: 199: delete _sms; + 2: 200: _sms = NULL; + -: 201: } + 10: 202:} + 10: 203:void AT_CellularDevice::close_power() + -: 204:{ + 10: 205: if (_power) { + 2: 206: release_at_handler(&_power->get_at_handler()); + 2: 207: delete _power; + 2: 208: _power = NULL; + -: 209: } + 10: 210:} + -: 211: + 10: 212:void AT_CellularDevice::close_sim() + -: 213:{ + 10: 214: if (_sim) { + 2: 215: release_at_handler(&_sim->get_at_handler()); + 2: 216: delete _sim; + 2: 217: _sim = NULL; + -: 218: } + 10: 219:} + -: 220: + 10: 221:void AT_CellularDevice::close_multiplexer() + -: 222:{ + 10: 223: if (_multiplexer) { + 1: 224: release_at_handler(&_multiplexer->get_at_handler()); + 1: 225: delete _multiplexer; + 1: 226: _multiplexer = NULL; + -: 227: } + 10: 228:} + -: 229: + 12: 230:void AT_CellularDevice::close_information() + -: 231:{ + 12: 232: if (_information) { + 3: 233: release_at_handler(&_information->get_at_handler()); + 3: 234: delete _information; + 3: 235: _information = NULL; + -: 236: } + 12: 237:} + -: 238: + #####: 239:void AT_CellularDevice::set_timeout(int timeout) + -: 240:{ + #####: 241: _default_timeout = timeout; + -: 242: + #####: 243: ATHandler *atHandler = _atHandlers; + #####: 244: while (atHandler) { + #####: 245: atHandler->set_at_timeout(_default_timeout, true); // set as default timeout + #####: 246: atHandler = atHandler->_nextATHandler; + -: 247: } + #####: 248:} diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/gcov/CellularDevice.h.gcov b/features/cellular/UNITTESTS/at/at_cellulardevice/gcov/CellularDevice.h.gcov new file mode 100644 index 0000000000..bd4a68803f --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/gcov/CellularDevice.h.gcov @@ -0,0 +1,126 @@ + -: 0:Source:../../../framework/API/CellularDevice.h + -: 0:Graph:objs/AT_CellularDevice_unit/AT_CellularDevice.gcno + -: 0:Data:objs/AT_CellularDevice_unit/AT_CellularDevice.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* + -: 2: * Copyright (c) 2017, Arm Limited and affiliates. + -: 3: * SPDX-License-Identifier: Apache-2.0 + -: 4: * + -: 5: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 6: * you may not use this file except in compliance with the License. + -: 7: * You may obtain a copy of the License at + -: 8: * + -: 9: * http://www.apache.org/licenses/LICENSE-2.0 + -: 10: * + -: 11: * Unless required by applicable law or agreed to in writing, software + -: 12: * distributed under the License is distributed on an "AS IS" BASIS, + -: 13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 14: * See the License for the specific language governing permissions and + -: 15: * limitations under the License. + -: 16: */ + -: 17: + -: 18:#ifndef CELLULAR_DEVICE_H_ + -: 19:#define CELLULAR_DEVICE_H_ + -: 20: + -: 21:#include "FileHandle.h" + -: 22: + -: 23:#include "CellularSIM.h" + -: 24:#include "CellularNetwork.h" + -: 25:#include "CellularSMS.h" + -: 26:#include "CellularPower.h" + -: 27:#include "CellularMultiplexer.h" + -: 28:#include "CellularInformation.h" + -: 29: + -: 30:namespace mbed { + -: 31: + -: 32:/** + -: 33: * Class CellularDevice + -: 34: * + -: 35: * An abstract interface that defines opening and closing of cellular interfaces. + -: 36: * Deleting/Closing of opened interfaces can be done only via this class. + -: 37: */ + 10: 38:class CellularDevice + -: 39:{ + -: 40:public: + -: 41: /** virtual Destructor + -: 42: */ + 10: 43: virtual ~CellularDevice() {} + -: 44: + -: 45:public: + -: 46: /** Create new CellularNetwork interface. + -: 47: * + -: 48: * @param fh file handle used in communication to modem. Can be for example UART handle. + -: 49: * @return New instance of interface CellularNetwork. + -: 50: */ + -: 51: virtual CellularNetwork *open_network(FileHandle *fh) = 0; + -: 52: + -: 53: /** Create new CellularSMS interface. + -: 54: * + -: 55: * @param fh file handle used in communication to modem. Can be for example UART handle. + -: 56: * @return New instance of interface CellularSMS. + -: 57: */ + -: 58: virtual CellularSMS *open_sms(FileHandle *fh) = 0; + -: 59: + -: 60: /** Create new CellularPower interface. + -: 61: * + -: 62: * @param fh file handle used in communication to modem. Can be for example UART handle. + -: 63: * @return New instance of interface CellularPower. + -: 64: */ + -: 65: virtual CellularPower *open_power(FileHandle *fh) = 0; + -: 66: + -: 67: /** Create new CellularSIM interface. + -: 68: * + -: 69: * @param fh file handle used in communication to modem. Can be for example UART handle. + -: 70: * @return New instance of interface CellularSIM. + -: 71: */ + -: 72: virtual CellularSIM *open_sim(FileHandle *fh) = 0; + -: 73: + -: 74: /** Create new CellularMultiplexer interface. + -: 75: * + -: 76: * @param fh file handle used in communication to modem. Can be for example UART handle. + -: 77: * @return New instance of interface CellularMultiplexer. + -: 78: */ + -: 79: virtual CellularMultiplexer *open_multiplexer(FileHandle *fh) = 0; + -: 80: + -: 81: /** Create new CellularInformation interface. + -: 82: * + -: 83: * @param fh file handle used in communication to modem. Can be for example UART handle. + -: 84: * @return New instance of interface CellularInformation. + -: 85: */ + -: 86: virtual CellularInformation *open_information(FileHandle *fh) = 0; + -: 87: + -: 88: /** Closes the opened CellularNetwork by deleting the CellularNetwork instance. + -: 89: */ + -: 90: virtual void close_network() = 0; + -: 91: + -: 92: /** Closes the opened CellularNetwork by deleting the CellularSMS instance. + -: 93: */ + -: 94: virtual void close_sms() = 0; + -: 95: + -: 96: /** Closes the opened CellularNetwork by deleting the CellularPower instance. + -: 97: */ + -: 98: virtual void close_power() = 0; + -: 99: + -: 100: /** Closes the opened CellularNetwork by deleting the CellularSIM instance. + -: 101: */ + -: 102: virtual void close_sim() = 0; + -: 103: + -: 104: /** Closes the opened CellularNetwork by deleting the CellularMultiplexer instance. + -: 105: */ + -: 106: virtual void close_multiplexer() = 0; + -: 107: + -: 108: /** Closes the opened CellularNetwork by deleting the CellularInformation instance. + -: 109: */ + -: 110: virtual void close_information() = 0; + -: 111: + -: 112: /** Set the default response timeout. + -: 113: * + -: 114: * @param timeout milliseconds to wait response from modem + -: 115: */ + -: 116: virtual void set_timeout(int timeout) = 0; + -: 117:}; + -: 118: + -: 119:} // namespace mbed + -: 120: + -: 121:#endif // CELLULAR_DEVICE_H_ diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/gcov/gcov_error.txt b/features/cellular/UNITTESTS/at/at_cellulardevice/gcov/gcov_error.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/gcov/gcov_output.txt b/features/cellular/UNITTESTS/at/at_cellulardevice/gcov/gcov_output.txt new file mode 100644 index 0000000000..3eb28f59c9 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/gcov/gcov_output.txt @@ -0,0 +1,8 @@ +File '../../../framework/AT/AT_CellularDevice.cpp' +Lines executed:90.65% of 139 +Creating 'AT_CellularDevice.cpp.gcov' + +File '../../../framework/API/CellularDevice.h' +Lines executed:100.00% of 2 +Creating 'CellularDevice.h.gcov' + diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/gcov/gcov_report.txt b/features/cellular/UNITTESTS/at/at_cellulardevice/gcov/gcov_report.txt new file mode 100644 index 0000000000..9b7b420626 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/gcov/gcov_report.txt @@ -0,0 +1,2 @@ +100.00% ../framework/API/CellularDevice.h + 90.65% ../framework/AT/AT_CellularDevice.cpp diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/gcov/gcov_report.txt.html b/features/cellular/UNITTESTS/at/at_cellulardevice/gcov/gcov_report.txt.html new file mode 100644 index 0000000000..523dfe8849 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/gcov/gcov_report.txt.html @@ -0,0 +1,5 @@ + + + + +
CoverageFile
100.00% ../framework/API/CellularDevice.h
90.65% ../framework/AT/AT_CellularDevice.cpp
diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/lib/libAT_CellularDevice_unit.a b/features/cellular/UNITTESTS/at/at_cellulardevice/lib/libAT_CellularDevice_unit.a new file mode 100644 index 0000000000000000000000000000000000000000..db0f4b3dc214bb1d4a838b9e0281282ca88d895a GIT binary patch literal 93934 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/main.cpp b/features/cellular/UNITTESTS/at/at_cellulardevice/main.cpp new file mode 100644 index 0000000000..8dd42f2cc2 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/main.cpp @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2015 ARM. All rights reserved. + */ + +#include "CppUTest/CommandLineTestRunner.h" +#include "CppUTest/TestPlugin.h" +#include "CppUTest/TestRegistry.h" +#include "CppUTestExt/MockSupportPlugin.h" +int main(int ac, char** av) +{ + return CommandLineTestRunner::RunAllTests(ac, av); +} + +IMPORT_TEST_GROUP(AT_CellularDevice); + diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/ATHandler_stub.d b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/ATHandler_stub.d new file mode 100644 index 0000000000..beca409cb8 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/ATHandler_stub.d @@ -0,0 +1,78 @@ +objs/AT_CellularDevice_unit/ATHandler_stub.o: \ + ../../stubs/ATHandler_stub.cpp \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../platform/Callback.h ../../stubs/ATHandler_stub.h \ + ../../stubs/FileHandle_stub.h ../../../../../platform/FileHandle.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_poll.h \ + ../../../../../platform/platform.h ../../target_h/device.h \ + ../../target_h/PinNames.h ../../target_h/PeripheralNames.h \ + ../../../framework/common/CellularLog.h \ + ../../../../../hal/us_ticker_api.h ../../../../../hal/ticker_api.h \ + ../../../../../platform/mbed_debug.h + +../../../../../features/netsocket/nsapi_types.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../platform/Callback.h: + +../../stubs/ATHandler_stub.h: + +../../stubs/FileHandle_stub.h: + +../../../../../platform/FileHandle.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_poll.h: + +../../../../../platform/platform.h: + +../../target_h/device.h: + +../../target_h/PinNames.h: + +../../target_h/PeripheralNames.h: + +../../../framework/common/CellularLog.h: + +../../../../../hal/us_ticker_api.h: + +../../../../../hal/ticker_api.h: + +../../../../../platform/mbed_debug.h: diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/ATHandler_stub.gcda b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/ATHandler_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..ab26a0c91e2d4b92e067f8a3bcf1df7abeb97382 GIT binary patch literal 2460 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 G|NjpaC6B5A literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularBase_stub.d b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularBase_stub.d new file mode 100644 index 0000000000..b74bf945ea --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularBase_stub.d @@ -0,0 +1,53 @@ +objs/AT_CellularDevice_unit/AT_CellularBase_stub.o: \ + ../../stubs/AT_CellularBase_stub.cpp \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../platform/Callback.h ../../stubs/AT_CellularBase_stub.h \ + ../../../framework/AT/ATHandler.h + +../../../../../features/netsocket/nsapi_types.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../platform/Callback.h: + +../../stubs/AT_CellularBase_stub.h: + +../../../framework/AT/ATHandler.h: diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularBase_stub.gcda b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularBase_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..68a448e286ce0332118a0f0e99f73a82ed59ed0f GIT binary patch literal 420 zcmYdHNlw=?F)($yzp{;ifnl)+kZ?7>T)Tmlfq@aozRU(BfPf!D!RdOK08|{Edc}k; z!octrXduW;5CE}3APR_KO1FST7#LK6G&7W)52aavGzf!$0E7bT13D87xS%x1Sg4cX zG!IaW11g^Zr44~JOwS*vTR`T6)Pev=9t4Dd80J+znB#%o0J|@fwY=m>wBU=Ev9}o* v7Ba&80oDjrBgB%D&oAaDfUE{)2T&c@oH-#T;X<1amh5OYSOPN#Neu%43Zo($ literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularBase_stub.gcno b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularBase_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..ab3b13fc01b2fae60c22339dcd8c43dacd0efaac GIT binary patch literal 824 zcmd1LOHS7^F)($yzp{;ifq_v5NHAowmX|z<7JTtC_BIcY8z1H8ZIYXmnqp|`7!vQC znv+wSlUU@GSe$BTmY!M?pORXZnVcG*T2z!@74@#U-Ul#rkNP;z6Q% z$pr-INs7R!~+^AB!!7AG)!RW0qzP0)HH&e Z9zb!AoF0ULd~(tQ$ZmNcRsdoc008)zmFoZi literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularBase_stub.o b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularBase_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..78899c165878675ebd75487c19a41c8ed3f28999 GIT binary patch literal 29848 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 Qq4r122LWl35H8#Q|6eVk7ytkO literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularDevice.d b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularDevice.d new file mode 100644 index 0000000000..17c23a7258 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularDevice.d @@ -0,0 +1,152 @@ +objs/AT_CellularDevice_unit/AT_CellularDevice.o: \ + ../../../framework/AT/AT_CellularDevice.cpp \ + ../../../framework/AT/AT_CellularDevice.h \ + ../../../framework/API/CellularDevice.h \ + ../../../../../platform/FileHandle.h ../../../../../platform/Callback.h \ + ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_poll.h ../../../../../platform/platform.h \ + ../../target_h/platform/mbed_retarget.h ../../target_h/device.h \ + ../../target_h/PinNames.h ../../target_h/PeripheralNames.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../framework/API/CellularSIM.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../framework/API/CellularNetwork.h \ + ../../../../../features/netsocket/CellularInterface.h \ + ../../../../../features/netsocket/NetworkInterface.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../features/netsocket/SocketAddress.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../features/netsocket/NetworkInterface.h \ + ../../../framework/common/CellularList.h \ + ../../../framework/API/CellularSMS.h ../../../../../platform/Callback.h \ + ../../../framework/API/CellularPower.h \ + ../../../framework/API/CellularMultiplexer.h \ + ../../../framework/API/CellularInformation.h \ + ../../../framework/AT/AT_CellularNetwork.h \ + ../../../framework/API/CellularNetwork.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h ../../../../../events/EventQueue.h \ + ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../features/netsocket/NetworkStack.h \ + ../../../framework/AT/AT_CellularSIM.h \ + ../../../framework/API/CellularSIM.h \ + ../../../framework/AT/AT_CellularSMS.h \ + ../../../framework/API/CellularSMS.h \ + ../../../framework/AT/AT_CellularPower.h \ + ../../../framework/API/CellularPower.h \ + ../../../framework/AT/AT_CellularMultiplexer.h \ + ../../../framework/API/CellularMultiplexer.h \ + ../../../framework/AT/AT_CellularInformation.h \ + ../../../framework/API/CellularInformation.h + +../../../framework/AT/AT_CellularDevice.h: + +../../../framework/API/CellularDevice.h: + +../../../../../platform/FileHandle.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_poll.h: + +../../../../../platform/platform.h: + +../../target_h/platform/mbed_retarget.h: + +../../target_h/device.h: + +../../target_h/PinNames.h: + +../../target_h/PeripheralNames.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../framework/API/CellularSIM.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../framework/API/CellularNetwork.h: + +../../../../../features/netsocket/CellularInterface.h: + +../../../../../features/netsocket/NetworkInterface.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../features/netsocket/SocketAddress.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../features/netsocket/NetworkInterface.h: + +../../../framework/common/CellularList.h: + +../../../framework/API/CellularSMS.h: + +../../../../../platform/Callback.h: + +../../../framework/API/CellularPower.h: + +../../../framework/API/CellularMultiplexer.h: + +../../../framework/API/CellularInformation.h: + +../../../framework/AT/AT_CellularNetwork.h: + +../../../framework/API/CellularNetwork.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../features/netsocket/NetworkStack.h: + +../../../framework/AT/AT_CellularSIM.h: + +../../../framework/API/CellularSIM.h: + +../../../framework/AT/AT_CellularSMS.h: + +../../../framework/API/CellularSMS.h: + +../../../framework/AT/AT_CellularPower.h: + +../../../framework/API/CellularPower.h: + +../../../framework/AT/AT_CellularMultiplexer.h: + +../../../framework/API/CellularMultiplexer.h: + +../../../framework/AT/AT_CellularInformation.h: + +../../../framework/API/CellularInformation.h: diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularDevice.gcda b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularDevice.gcda new file mode 100644 index 0000000000000000000000000000000000000000..29e33106e3004e2db9371d47bb1dd0cd88e74aed GIT binary patch literal 2140 zcmYdHNlw=?F)-cpU}YNv1H)nuAmM6$xpo690|O(FeVGkN00BRQg46Xd0jM}S^@<5y zgn{8L&_IxxAOK>6Kok(elx_iwFfgbBX=W%pA4;}+Co`yo}KqX)R6Nm9(>R~iY97u!X`DxkfvUbCX ze~|4$j|=p8hM55qhw;(%!Ng&9NvCk@rFt*bM79g&UKowb4462~OqhBY4HJjiH9zbbL{J`S@JR`$WlA6U7JZYC@(z|=vl zfS1MS;xId>vfH~kxw2lpHD}9bkewj=VD3k!VS0S@RjX#_%4hc5v;vF$g^W5t33T&m z#fQ~5FdAqz7{K^28r^=FIwTrg1{{h0rs1Sq(Q3D8_W_V!KxG9?FN_8Xfz{q{72~%E z_?@()*h+ue5Ewx)`^?Q06fW}zjipu1h#+xFRgZ#TPd zx0OT_LYEptL`3|9A3mMGXEzB0@DpKqXM3rKzBa{^5M)yz}0@ujA{^ z+)WJ4o9vx?=iE8pIrq$&@64O~-VT*FZJpoQ{(*hZJ#bSLMe+G2`}BfxrMK&{p8HNc zbHiz-+<(p5&eC-$$EgM(v(10ySw@#3bWqhmCw^jC_dWN55XC`J+W+u9b& z-VvLVT9VX_FN4yoZh65v#3PA%45L6g&Je z|DiDUELdW{Kh|pvSnn`pd_wYl*4K@W%Qo#7U%Y==D{5JMfw??<;PJklhd#Dt2-}sbtyM)!4$X8oS6&F^9yM z#3}KBoFg5l=poZ{<2~f~m^zHBG$wLn)Jf~n7IJJrPh($g5{yDjJcPzRetQY%TFMvq zFV}Fm5G%Vqj zg~s}C99W^T{)7W7G}fQYUr8P zz2`1C@QpJ~xmmn-4Gkyd%$7{=+I9UM?W>A|$?Adf=E0=ky@vm$wW&KkJ!_k1DZ6JQ z{U-Y|={*}hi^$%H-<}P7M`=Cqb5E&o?D|m;3BWLm2cmO{`{6X>M7s2{B|A4TnUyutN;GY zcN|y}EB;syIr9ay2< zGwHwz<(>x|SfSjL^;ZE&R z);zKfd!zFX{dueHQ_b@6&KDKNp7X7FZgXIT^3InWSfRXgy8|nfcfRbv3gw+U99W^e zll4~=&obCwm@#kGvwKf?5Z+<@H{qS7mUehG;vgO0_16vdxmuiaysUNT&l_!@YL<_4 zb}5WK=i{6S2UaNO+~mLt<(%CPtWeJRtOF~Qb8dEEg>p{TU&1+yZ)?B$ju)@!nmXs0 zt@~-dAwzPUZ8}BD>Jh*CSTxAHi(ly9xGt%k!zKHe!hutIs~lMbv<-r4TJ3gw+a2UaNW3_Gwwc_-^H*;C$r z|0N$fIQiSImsZbRaIE)POGlEyWWapOc%ah1&Az`HvCE!i-RtFb)`Vu@z31MaaK((oIo9|8&~TnUm$nA-%>d-$u*ehYCFh@G43fAWxj_@ zJ$yj;*v@mNWzAh#u_NDmHsb7ZbJSBlPFzz5GFSOH@uLnb zd`Y73e13DX)@o@cJ`3fRtF-r2a>l#t3<`Nf-O_DFxwMOUTR#P+i-4NrNViePI!~qBq(1Vx zEZ;mtJS{dyJqbt94#{`ybc$Lv7c6;Jf2=MC7QP|*+Ov~-mWo<67p%}Z zXqf{mbPoDp0~T=-ItMK`x-OsT820tqr46(BqE^iXOF6_BE9w1bbe!2@ zCdArCLop}mh;WJX&pTgnty+*FJj;kNQL9TV^&&Ix@4sxxd^LV;H zse@eWC~jjNu4@I#I@aMfY}9*{i5FyWi^P*WKXPr)HQ&=da@RbM zEy!s*-ClZrPumVwdY)(et1aAPzDL&RU)s^S>H65sde7w};Bdl0dxN2=zGMPj+m99s0Jw^N=Q@M;2i8Yn!xSS4O{TJMQ3g-X- literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularDevice.o b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularDevice.o new file mode 100644 index 0000000000000000000000000000000000000000..6a04b38844f5df85351025f2781e79131b062214 GIT binary patch literal 92280 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularInformation_stub.d b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularInformation_stub.d new file mode 100644 index 0000000000..a0e370e02f --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularInformation_stub.d @@ -0,0 +1,54 @@ +objs/AT_CellularDevice_unit/AT_CellularInformation_stub.o: \ + ../../stubs/AT_CellularInformation_stub.cpp \ + ../../../framework/AT/AT_CellularInformation.h \ + ../../../framework/API/CellularInformation.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../platform/Callback.h + +../../../framework/AT/AT_CellularInformation.h: + +../../../framework/API/CellularInformation.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../platform/Callback.h: diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularInformation_stub.gcda b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularInformation_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..775a63c28161cfcda28041579f5e202731c551e6 GIT binary patch literal 740 zcmYdHNlw=?F)%f{x3Z0afnl)+kZ?7>T)Tmlfq@aozRU(BfPf!D!RdOK08|{Edc}k; z!octrXduW;5CE}3APR_KO1FST7#LK6G&7W)52aavGzf!$0E7bT13D87xS%x1Sg4cX zG!IaW11g^Zr44~JOwS*vTR`T6)Pev=9t4Dd80J+znB#%o0J%@wdwa0Js~ewQyo|lg zz_5@J<`0lQAONcoJb0XKMyKR?d}-1cgPyp!#g%vKnFmWVP zz-Ans{~=3{G1+QIv%wNr_#mkTtKpc#se9IbO%<}gkjz16g7sY7A}lB(zU`RP5}OwE Kut3)U;sXE$pH2Ay literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularInformation_stub.gcno b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularInformation_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..0933b5c1bef1e9ffd0ac6573482d411bfcffa282 GIT binary patch literal 3072 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 E0DR3^X#fBK literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularMultiplexer_stub.d b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularMultiplexer_stub.d new file mode 100644 index 0000000000..e19580a2d4 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularMultiplexer_stub.d @@ -0,0 +1,69 @@ +objs/AT_CellularDevice_unit/AT_CellularMultiplexer_stub.o: \ + ../../stubs/AT_CellularMultiplexer_stub.cpp \ + ../../../framework/AT/AT_CellularMultiplexer.h \ + ../../../framework/API/CellularMultiplexer.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../platform/Callback.h \ + ../../../framework/common/CellularLog.h ../../target_h/PinNames.h \ + ../../../../../hal/us_ticker_api.h ../../../../../hal/ticker_api.h \ + ../../target_h/device.h ../../../../../platform/mbed_debug.h + +../../../framework/AT/AT_CellularMultiplexer.h: + +../../../framework/API/CellularMultiplexer.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../platform/Callback.h: + +../../../framework/common/CellularLog.h: + +../../target_h/PinNames.h: + +../../../../../hal/us_ticker_api.h: + +../../../../../hal/ticker_api.h: + +../../target_h/device.h: + +../../../../../platform/mbed_debug.h: diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularMultiplexer_stub.gcda b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularMultiplexer_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..b43238835ff50125543648447980112fe49006c2 GIT binary patch literal 668 zcmYdHNlw=?F)&?lZ)F<;1H)nuAmM6$xpo690|O(FeVGkN00BRQg46Xd0jM}S^@<5y zgn{8L&_IxxAOK>6Kok(elx_iwFfgbBX=W%pA4;xu_v{u{hA+H7W@{Z2jq4v zYJs9C0BoO%-8qglCeBSg*CiA{dO?1~r57fSWD3{}VTo3btk8AAJDLra!2E@z7Odu; mbd7&!cA_w{zmUv9XM**x8>bZqI9IQCT4K|J9v0{tKzsmw^*Sp6 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularMultiplexer_stub.gcno b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularMultiplexer_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..6e492f6e7cb7d04eedd70800f9d6bac9d8a63067 GIT binary patch literal 2496 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularNetwork_stub.d b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularNetwork_stub.d new file mode 100644 index 0000000000..bfd226fa3a --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularNetwork_stub.d @@ -0,0 +1,112 @@ +objs/AT_CellularDevice_unit/AT_CellularNetwork_stub.o: \ + ../../stubs/AT_CellularNetwork_stub.cpp \ + ../../../framework/AT/AT_CellularNetwork.h \ + ../../../framework/API/CellularNetwork.h \ + ../../../../../features/netsocket/CellularInterface.h \ + ../../../../../features/netsocket/NetworkInterface.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../features/netsocket/SocketAddress.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../features/netsocket/NetworkInterface.h \ + ../../../framework/common/CellularList.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../platform/Callback.h \ + ../../../../../features/netsocket/NetworkStack.h \ + ../../../framework/common/CellularUtil.h \ + ../../../framework/common/CellularLog.h ../../target_h/PinNames.h \ + ../../../../../hal/us_ticker_api.h ../../../../../hal/ticker_api.h \ + ../../target_h/device.h ../../../../../platform/mbed_debug.h \ + ../../../../../platform/FileHandle.h ../../../../../platform/Callback.h \ + ../../../../../platform/mbed_poll.h ../../../../../platform/platform.h \ + ../../target_h/PeripheralNames.h + +../../../framework/AT/AT_CellularNetwork.h: + +../../../framework/API/CellularNetwork.h: + +../../../../../features/netsocket/CellularInterface.h: + +../../../../../features/netsocket/NetworkInterface.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../features/netsocket/SocketAddress.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../features/netsocket/NetworkInterface.h: + +../../../framework/common/CellularList.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../platform/Callback.h: + +../../../../../features/netsocket/NetworkStack.h: + +../../../framework/common/CellularUtil.h: + +../../../framework/common/CellularLog.h: + +../../target_h/PinNames.h: + +../../../../../hal/us_ticker_api.h: + +../../../../../hal/ticker_api.h: + +../../target_h/device.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/FileHandle.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_poll.h: + +../../../../../platform/platform.h: + +../../target_h/PeripheralNames.h: diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularNetwork_stub.gcda b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularNetwork_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..acd566005215b7f05f1c3971ab3f0958ae517621 GIT binary patch literal 2464 zcmYdHNlw=?F)&?zdu1B~1H)nuAmM6$xpo690|O(FeVGkN00BRQg46Xd0jM}S^@<5y zgn{8L&_IxxAOK>6Kok(elx_iwFfgbBX=W%pA4;a4 z$k#P2_|%;H)=?2$`lb+{nkd0s?IZX>ddb%@TvJ*z9O+ghiL*nHHPP1 zqzu+C!t0(BcGp9rC!2NRGpCCumuo_8Sr0xnf!9sl_VZ`W#HYsa>pl@3iS`zJYSu9B z)A{+P#}S{J*^#p>yBt3J$CnO^LgY1h;>;@XnWNU7W;Jth-d}ubGV-LV4Au3I;Zwsp zMUKI-uIb-Tugx`t%G|nRobunzi|g^3CwAke&(#|qc+=w*IW?1nFPBwr&Dru9R+hrb zMsylj9)rtLUNakxop(;oC_hlG0Mf$;lz^#)mDw;pjE0G0p}}T)U)1E0TlOI&rZMse zx|!%^5aI*v0Gs)Y`-;}Xqj!!V*I_WdFdC-zf3kMCN}Qbza#}!Fv#squ>$ZY$ym>{N zLpS&3*UN&);fcl1Fd?uzKPi|88r(g(HnJ@EEy(Ynx)5eJjD~4IqQQEN5-tf;_nl}Z Z#lF`bCv+AqyJYFK#HIy3&XLTAGXZs;fZhNA literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularNetwork_stub.gcno b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularNetwork_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..b91ec89beb6aa097f7b8bbf3f12f2a6cb81d9906 GIT binary patch literal 16888 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 V_TNG=H~$fJMt|1TW-ssT|G(L}UB&
6Kok(elx_iwFfgbBX=W%pA4;Aismc9Oi#?8Wt97+4H4@ z{_(GiEDL@M(gTVUENX$GC;%Le1xd^@PyT$?>A5bU0MZMJJ6w8U;z*`|&4{a6q!!_M z;q8uQgC(%|LQ)G>Gr2xGQJyha1leCm=Abjddc49NV~=Tiu5emn(}Err=o&zL0Q8S% A?EnA( literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularPower_stub.gcno b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularPower_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..8ac9a4bd3febea946b099655d88bd2333b1dc589 GIT binary patch literal 4032 zcmd6qO-$546o9870wVt4A0Pyc3HZBzup)-U)TN0SLkNozCD`oGENm>>wOy7-NIYmf z=|N3Ac`!<%#%N-~!5E_ljTaAk(!}432R(4YpNlcRH$%%VSqcLr?xcO4d7aLC{pQWQ zR!>CwcQ$$a2#;!9(Kq{P46~MKK)wvGac#l8Fb=a1sPC^uE zE!43e7EzyM{+K1DTB!ZLaeHIY$6A66%c1SSumu?=5vOW~0OOz@rAj<5=Er_!J-^tX zPp!-^TS!$Ic}9MGq2%r9Fo4k`Cg{j0YdD&Aio zpLFKX<`LaTF^^%s<+;?hn^DQmxmJF~{+T%!^DNKJ0XCMEi?M&^Jxh-|JQtIf(f2ww zhAkMc`^9>7#oyHrj;DhYbMW#ll-F|GWUk8MnIT`!hx0^^sLRFE>TB^_1N|2Aox@`R z9%e<6a2!6TVtdTYIl&y53>VgX{WH1y;=9T%&N(pPQ@Y^mvPJGb6iP%jYAEQA$lAv5 z4~*$zc6Acs^Mqp}6J(AB=OfpgSh~zP#Ah&Wtb3d-_W||Tm+LtDh0Gy;cNmBjJ`UQ$ zBEk^!^K{|kSnn({PPRWp!hemEqc`h&+TTn(I_DWfp7y?;{X+qPkh!PB??cQ84boxV zIOUc*+ud1zAFcsHti8;N*=hfC&olNz#>m}y?abGNcJ4i9zP@L3I($s-d%2_i&cU(P^G=*Z<6)^dS?iS$@!Yl)oc;k%xTre- literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularPower_stub.o b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularPower_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..a19e85e765a7702f7f8e9b91fcef29cca47ac037 GIT binary patch literal 47384 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 SXb~jaK3bP{4-G>S4bf2tk+u!J#Ls$1Nt>C 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 E1Ik9A00000 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularSIM_stub.d b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularSIM_stub.d new file mode 100644 index 0000000000..e44f577fbd --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularSIM_stub.d @@ -0,0 +1,69 @@ +objs/AT_CellularDevice_unit/AT_CellularSIM_stub.o: \ + ../../stubs/AT_CellularSIM_stub.cpp \ + ../../../framework/AT/AT_CellularSIM.h \ + ../../../framework/API/CellularSIM.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../platform/Callback.h \ + ../../../framework/common/CellularLog.h ../../target_h/PinNames.h \ + ../../../../../hal/us_ticker_api.h ../../../../../hal/ticker_api.h \ + ../../target_h/device.h ../../../../../platform/mbed_debug.h + +../../../framework/AT/AT_CellularSIM.h: + +../../../framework/API/CellularSIM.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../platform/Callback.h: + +../../../framework/common/CellularLog.h: + +../../target_h/PinNames.h: + +../../../../../hal/us_ticker_api.h: + +../../../../../hal/ticker_api.h: + +../../target_h/device.h: + +../../../../../platform/mbed_debug.h: diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularSIM_stub.gcda b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularSIM_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..a6164f2c5b7f1040857c61a3df4bb2a5638aa314 GIT binary patch literal 776 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularSMS_stub.gcno b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularSMS_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..af2bce100166b7fd316fc58c7fb3cbb7e5d4c74c GIT binary patch literal 12676 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 ZePkG=ckk8rL)^_WeN!bKzQ}xt=zsI|VOjtH literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularSMS_stub.o b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/AT_CellularSMS_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..166354cf808470690828da7a66a60e640ca2e30a GIT binary patch literal 81120 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
{ra0g6roCnmk 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/CellularUtil_stub.d b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/CellularUtil_stub.d new file mode 100644 index 0000000000..151c082e9d --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/CellularUtil_stub.d @@ -0,0 +1,5 @@ +objs/AT_CellularDevice_unit/CellularUtil_stub.o: \ + ../../stubs/CellularUtil_stub.cpp \ + ../../../framework/common/CellularUtil.h + +../../../framework/common/CellularUtil.h: diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/CellularUtil_stub.gcda b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/CellularUtil_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..83f29f97ee8929e04386b4c8e458c338c52d5c04 GIT binary patch literal 956 zcmYdHNlw=?F)$Upzp{;ifnl)+kZ?7>T)Tmlfq@aozRU(BfPf!D!RdOK08|{Edc}k; z!octrXduW;5CE}3APR_KO1FST7#LK6G&7W)52aavGzf!$0E7bT13D87xS%x1Sg4cX zG!IaW11g^Zr44~JOwS*vTR`T6)Pev=9t4Dd80J+znB#%o0J%@4gunW|WyS3mFJo^r zFf3$*`2(a62*7FK$3Ga}$ixj_&&00tz1)Nchs51jlC`$n5s`gD3F$ b`&v=E$rJIlHTcxb5-@c7Jz>@x9BLQ<3D$TW literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/CellularUtil_stub.gcno b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/CellularUtil_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..741c2e034398ee63417a0943f34b59bd792ae605 GIT binary patch literal 6080 zcmd5=O^g&p6z=vHS8x|Z@fV5N1W~iQv&^i!Vq%uH*B=ZSB4{un?MzQE)4TI$PtRsS zF$9UL@j^Tq5+yO3NPP^+F zSKoW}y6SaxRV&`!N7Eyj)xREp$FeN@eqw`B{~MPl7B2ku`<@FcsqMbHJvCm=`vuqY zOQl9B7rKooD5WO$`jK1MSILzF&kbsBtr|woyk*@+V}^!?=~s^$`TFpb8nufCxeyI` zwHoOxQn9Q_`zHQxWmEQzN^}GL-^_K9p^ZKnCo;5cRV>S~2dEA`(AD_!o($34evoRP zZ2F=9nNt&wAs%;7yKOwYB88?Ng>F=Ji~a(tPIj9YWxYHAP5n3o%WT#Q0vcl)lLKseGF}thWVUpj zB-aF<|Mjj3*geR0V#aeH*u3VcDbz>%z3$YN2(V3Gk!>~jrlPr z>y=*`amzq5%?Gn=w)^vj-4ff5nZ2H>U+(^RaC&{;am>4)+HIcoXsYhla$zp=@xsg% z3ZY-G`*n%{0-%Cm8iN^jq5Cm_-6GqLnf(w|Ylluea{lC>rw{|Yf7``iED?irDVX!y z1i~~9{BouDr9LmjURnR`y8(6!O=GC>9{6nM&$;2jpH_CtgPED2Qg92^$gMQ!ctvN0 ztILCX*mm#aLHOgcPch>>xbfXt=cCs~XTCrE*Wu;z;HX!v%==-alLAmo*TCa!a+2T8 zvGuN1maa2>R>eQgAXt~E<7|TSh^5vg58Vfp*BafgDa@pS!6UbLnfnIAL;wuTy=k{y=^Yl~!M22XbI(JCLD`m?dS1U+Y@Yu@^tC?VAVtW{66Y92;?$ zSex&^;U)mp92?I-{5QuKr7@eSj8SQl_=9y0GR+51h`Qo}f&Bn7#TXZL#RUWV2V{!z zq^K({7#IsO#n>Y1iVFtzCCC)x-(rfr4l>1<6m`WN8+!@+9b}5Jm2{`5I8>&oG)d-# zd;l`VdsfsH7YwXlkSWGcv;jH z7YyWXkSWG1qOQ1LAlHLTF_!Kbi_bf6*%uG2efrWLo$ews`T|1TPhHF1)JFEUcg~#f zXA}DrGmgoLle^~@-S5ugTLkaYHs2ztHg{9SB8@S9CJ(de?tg#4?jYNa8GnEL7%rwS zuKVK6PT$}eTvdjCxjOIj-4uO)ctA3pH@};%JrOCV0QzR y1o1OJI*{6W<;c-X9iKVo?Nw`Z6FEm;;n)>4^@y&a%=kPO literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/CellularUtil_stub.o b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/CellularUtil_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..e0e39e5e0503a27e38d27378572860874d9a612d GIT binary patch literal 18352 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 May1)XuQwLz>k zf)=dT$||j$c&N=_*dY*H8-}Am1zS6w@Jg>*&Q-cqQe zOc~{qDW5|5G|FdCeg@@VpnMkPXF|TYW%%ulExX<;ZyCPs=UtT#&;WAh7X;v_TkqZ)4N_Mzv8Mx?DJIgxqv$D zjw9#pa$!GL9pBI4H(e|bA9hUcdSNQKx)*%~H$NF3_%NS;uW1X?U5SqLv+jW(K71k; zh6j#)zLl0j9N38G(FHvKt~!LpG^qs4Ii7^@N{NeazimqJ##v^mp$=W|N^vs;-@LSiMto-IB z<&$?;R&=X(cfF53>1~9a8%6%+!oEodm;L3~J+Dm-A^VBSKY7zzMNjr!viD@;HwqX3 zpRn+LV%F+rSkZC!hrRkouvhEiRfj(N%oF@#QA!>3K-93ZuqdV;;7Y5vQ|-ix-unyg zJ)@!SdaqQ=>wN=!`Rd5P*)6-9KY2C;+K+cFuq1yoYPoeYG^qKLmf=^OeKc?D-uv<) z;~QJgrQKe30d z`)Z*;Ve^0dd;k=i%PnZcOmGtdGqGhD9M&_zx;A@vVm_uL@M3r>dIw(G&bVHPn24#} zn?H1qMXn0>>jbUiKkYetTj-LA<6YIA>Wx=LlbJ2if$Ey7SR$3F>TQpARHV{Xo$+X9 zpg*3jip6_+2703XRhu`g-L$EB!!FV!r(Lj749!X~g+AF(a9Z}UYj(606UYHB+u3iszr1E;l=*(}jfXO_?hNgSe z=PybmGs+v#HLqdu2fT(!gT=2mf(S=w% zrM&10Ep<->T?3oGzw#J-T3uU%4EKW3Ps11DW!}HPpE3 zqT7D!c>HzCeDm@|`GKZpwFIc_I0B_YTL+drCmo zczo{+C_+!^5NgK}(2iGe2b!pVvlryYHvqL1&8c9Z0?L{;<^pW3R?#-5?;3!${V`h+ zrgHymfQ?^c(#UeD@_Ha+6`8eA(b@vl^8wY`8iM81;c8853(m*Zs0oP<6+C+nFqW=Sc7Uzu!4&)=yMGJVr*LZgjl-@)?u+4T6j0) z!2l|nh_*{T!DVN`{LsFY2AeN+d^>L|(v6}u$PzG2Q-kLZJ51}a*~GMdIWif63%XG^ z5zawtR9=p*64MGSo6#C<#3q|@5DcR=YT7ERX{%AGiFfc^)LCtewJe5mgDG#o2DF%R z>rT+wX37^eLV3iLFUImwhyr%Xc=TF#f2kg>!N5WQ%F>w*7*1VKoCHkjls6}z^5z9l z)7^Q>3pmr&X`1rSI~}H9Pd??>{ZKO$|Fr!ORW0tXnS#6?-(9mofnN80_aWl_8(@D1 zKAM*(4`|BI0DYY))3k3!5a+D&z6Yc~GP(3y*niWJ;Cl|g4?^8L9&AmAkJfEiW^7Wc zFbKup0MXNtGvpuk-UZxel=^r0+ktx~qW)|A&j4u3U-ti#Q@+;!ODHQmt56~Q@?Yn# z1u3dr@9&0k>8w;=T21xu^gjut5FpBbga1Gfa#Pvme-bJIQ@PQvXCRTj>c^g+TD%h^ zXM=$9-v+$}vHNELj>2c!OrV#dcSOI}&_4xQ0G4b+*E7J#ug1}*JZAu{oarW>hJK-; zuK-#L({24%82VK}>vrf`|Cy-RzZycR)Y;&bXD8729q74VsHp2Ex^t^8#27>aw2BW2avW?VgX?t36{EpN-C{1y~*XZs05&3EqXe_MVn3 z^?3E99J>-h&rYzq4=tmTQe3)9aV<0RdTf*C`3}$@XC7-_kJWAUya1%1GucGNSh!M4 z{|k`bVKV8BY09U7`oOHVZPtRZ`jisg@XP?pEQe||UZ>^i01Y$6Hu!Z--UOtGL)Kkb zfrPOKG&$vvu*r~u0bF1vdy8;c9Ippab|eJ@4**wXFfa_+cw7U_a77M~d>FDSRN~o* z-`)5{X%6L{{ht6+^%bDpyRW+@66phGWc2Q9Q;T}Rv^S^%r@&N)&teq9LM;}&L5u_y zb+;6w&vmHKPESz9v%eKY6Y!}=h2DLa)=$v+rux%$-l7&^XM4x09Z=r`AIG3BT#Jh8 zP=TEurHW_&_ki*=eCkmg)T<>pF1+KJJLGV_0Sq6&rvVXc5VpNH4ZJvLy!$%T5*!p> zy`>`$o+)GU?4JY|MYG^zi>f6!P`vtn6uI;oqq$cD=Y@IPIB>jpY^_s>a?k!g;Jig} z*TBV$R}X9L7LF{h-e^#2mLvKoh`lI8mm<}BI*u{lzP4hu1jn6MZ#78C3LgbQ-`LzX z8R0KrkK#~R_5hBM3BWW1KDs-wpo(!%J_m*ElnqxCP}akz9z`L_Y8md%-pirZ3m->O zwu8?>b~|O2?FGuc@To^}t?VUeoA)oF_IL2nIxVUc3Va;pSx@Uw%ud5p@$6p)61W@Gqd0mxFR&I$#puxr z+*UZ<>WE~3eh@yiqv-L4jREP#PURo=BN4h{C0+~oZ-FQ(rI%k^L`^D2lVRMJIO!!4 zDxUrCW>q)#DgV8GTq96-v>Iz0fe8m#7`H4=Td3gKUk-PG4zs&)jikCBAVp#%-Q5!BYwsd)_&!q@)ob z7^zf*ZuO4`6fPo9Q@(M_O3o=+TLv*cOJO#q%;OtZQi7-ls)17-mIjarq9C%JGR0$< zlH-uAB+CX%vd6Qw4AE0(fyycn8&^i$h>oA^!K}1M+nWHA0pkN2n5fMcvH7y49z#Wm zNlVEWSl5>+WSI)+X~3czfh<$JIo?mL^sJm_sL64QN|sOS(0)xr)3vaWOt4waUf?N}_bJv!5dZAa$V z1oRKRm}`UFsIziGtP16+raA3*wU;*tS&PBXfJ3xfH#@PTVIWK<Mg( z71pZ;(*0G5WUObPBVH9-u%N0=RaREPKRn(`Q`sQ!-PaS%bf)@yRgT#9hWbc-ZADKa zIk3H=D>+crp2(yPOHZP`sw)<&%44ZxqtZkiPZ-lx@vV5sm}4iWlCM!aZ%jM>nu1ZO zR5HE|+bqv8V|{%%8aJepO{u;e(e|ErWj8+IYl`;tv`1rGOsy}|-5-y3WOnq$(}2MK z3TGA_@lGhiMTT)V!tntRE)IYJ4l$t&+n!-CICvUMB|8&cP=yJwynP_ilc`7~^(jZz zJD|cI44aWND||aWo@Zg+c|34*mxZT$&zk66Qx=GO=a&rzUWJPiZ?SjIM4bm-26$oF zje+MH1N+wR3hZjc(#z`uFE^eKSJI%#XKC_%)8h&3_4@Mg`?I*;=D)Sb^T9rE`DuY= z-no;ETn_z*#UAkBHSfGh-npnWhj??);|qFcdjgkv&ntV*Mf#qgC-6bwZLc>^^e=)Q z@9Z*Yp~t(ZtT?dTMfh7Fe7nXYmv2~Ci^t&&+@)*J8%#7e*T$fSn-dD?^=6FJRA<9q zQ;nV9)t?$jb~JBrlW$hgjUCE}#(SfxE1rz^M>C03Qbh*(I-;4libRszqKQnrKdsOM zl}>aeqdlsomc~;ARYWqXeW0^5-jA-hS!!C;+`6$Q;*e`KGUrV<^Y^0Vic1Lyokdp4+8GzpIgsGTa^ z6K&`5o{f;=_PWQiwjCzVmPkh;-51Toy1}zd_ds%sz1HMCTfli)ARaY~9p^hTss6PX zoaW}i)vW81IK(i1Z}V8C6rqc<(?az8(4^6452dw?((a z2l^uE_*SUIU?gOeA>}rwkef}lrrUZ_$*z$8%IS|tZ#>hT>cFO`j(8@TfEep#FQQ`{ ziKMo{cv4o7nT&%i5{ZNVIMxW&~ecZ;Z9)Ib?HF1b&Z)z~E$D3NSVRNWy!Gcg-Wo>13Xi;@deRX~H(ojWjW*`|~ zp(jux2GwYPta}CQ8Wr`mp^C0hMQ2}ssx#3OuK+?Cs+o8?QxOBT{n4&C)YBQ5tQEkN ziN~P(E7F;M2)YvuG4rkQgM;50KkEkdYT(wK`e+7Bbej%EA=K@*Y}E50kHAg|ebNsx z&Ka$8s=*SWC#I{qdNcW8m1+W;I25!v&C=d@Z%-<=Ma8!iQv-+mf8|p}#ZdtZdfH{@1UT$CI;v5N3tPkt zdPh)na04yHaqilS*KLC36GllU5z}#^NyBr#J(YqU#dWc!MrES?UGa>wmaL!|26N&X zT+z2AVAW>>dA;e{jj(`U-P*0L=T1~nSbAYj@NyNxYm@8>g%N^21YftnLYctc>BPlJ zU7y{b3XH#66tagL&OPZQE}Dfx2aCeR>ozWmsC0L#KchDe9!8_;9WA~%qOP~LD5ZNF zI~oRYDh3;4M*;U6c$~n9*9%&Ng3jaFeH|KX$1%~4d$sP}2rTlESa*L{Ho~TdFL$32 zuH&V7F`lKs^c+az{>@PkLoK?I;{~GwFAobbT8j?$36IRy!Pa$yCP2BngX=)jQ`cM@ z=WScA0(G!9B$BXfRm1p?=+(lkWZ7#2vwFA(rcUqE&8^2@7|o!GtXY5I>Q(DuaT#cj ztc}#y)h(`zR7c#`N}3fB46|;Nc8}vcn$c!fvdfd(dSUN}`O^tkUanz)QH>MO8k5WQ z@JcURmYq_Kyp^V5gT)I0ipgj^F~b1HeI(Km?}4>9tJYcjct_AzfpAf#0}mH0i4e-ev0(8%*NUSHC#$njrpNe+GqOdaP>k)WOL+Q&9q(yt+G7r{^Uc83nDYGrLC7z^< zm)yak2eZrOrT1*Lrm1OJsC;ufT<#2*jk=d@8MP>Q{{`y~*2jYHq8Uv&%0eafIiDOo5SWR?&@WOO&rz77=bhkF5k9|bfhr=wt z&gchn!Gv!6)gL}{WAK^xTJlIf1xMsA$)}trNI6uWb7Y-`@ez;*_**D$eEc<+@DSnU zSrIsia2_)`==sEdgb?QMCHyeqtp9GpUlKUh(Vr24zfbtn0zVD>L;lAFektJx1&&pp z{>uy^P<8|HAD}w>iB+F+9+VMPspp9Q9#?)i{}<^);vXU$jw+qxQ+NcKoA8Y#Y*!n> zA&cx&Gpt&+=yRU>WwDi{CrnVTUFXr7Bak8fYC`llrn1j@0_U)+?-4)q z?-D!~$ITy5>OpHC$BoW7aRyyS4N!ML9V-<)A7BhBjm=U?}y;Tob$s3e3bL~ zT-g)C&*vM>^Ni2ekb9Ki1Vx{gj^-8_LXJ1-CoU+v!R>q&l$%E+Lcchz8I3B}!=OCJ zg<|V;2TzBc(;a=J{P{jvqWK3yGG2wviYFl_brPc;jldLgeGFweDvga=uuuy}W3)hE z3yOYTM-~*aMo2-P+`*P*8_g_m)jt|RYx-!5F6TG-Gqe!r=vRY68sxfDh%a{)E5ucB zaV#W|zwQ>|lmT~%8-x~52hChVJ#?UW0_T5Cb-1{lfWW!7fSA>wEa!QzAREz0*Y@oZ zI6X|K;8|uOvm-KC?KmI=nrcYj=HxbbcoDfco*wAc2i0!Ds4>BCUjxpqG3|5_WYXw2 z1kyEX0c`;udZpp%Oyp#a@^SBhM*|6b$g9h6VA>UrL_0e4l?z{~!exrSdOsbmt1!(r znZ5(Sy9~xFE&M_#|M@eM>MR`j=a8Oo0sImRZ-p}J`I3dBo?6nAD1hU2EGG7UA@L7s zG#}q%;TJ)f?S8|;(e856bAJK+5evs_a@O;Lg`=KdQT^uy@ZVVYW+=0sqZW>O`0VwA z0yrP+VI1ss6;nGnJ|B|&gaY^(0{ zhk2N|U5xJ*_zQ+j-BkepuE776_@60&9~L;@SN*a8{s)0SM*8vo1rz(vco_l~{*bAv znFa8(3CBBKyekhAf0f1G1sIPjBI`STn?FPZbPMCm=~5~nK8Hcb+o+6qH4V021p7>zYy_3rGHH!owDBx2w&ZT>b3NB#rI3~9*1ZT${x%Co{t@_K8nSSk|A2)f|4W)1s4OzI&f55`A$j?1SESy}{dR`Lvh(@6u z0@n=z8vem1CZ}EG&k=zS5q?zQBZMClxT10JiNM2z^AR4~9U|QPxq8;05yIh*0CN0P z)aa=K4-*~|_z>ac0v{n9-ayaQPkzH2;yHMj@UXy#2 zP-eS)j>Y_Yh;Pv1N4t#klR@UclKAwW4ntYu_Vpy{VLz6V9P=}d*GQNc&zP!eqg>)W z0_Xa+0{9IUZeNEGtmhs3f>?kEIBeon#*Ftd#5*lqj<@ARljDu?TB2jS+Tg?e(rn@D zEnNS;1JpSV=Mo?LAn}x?#}8%Hh3OiTIeHksiEtd(F)Cv=k;<%pA=UXDSK@L!b35gD zW?aT?Ea{hVW4y}p2Yq*o8@6{6@wHm~Hh!7FPp5iE0bI^^wky{M#z~DHR~RFHK3Plz zysoQfCdj#ch%bZB9$F745D(+`(KaUe;480FRZ_d^y7O1m>B;p zb~2=XlR5a8DV{e7ycjzN(rqSl_~+8T@=bx`Ux#A)Zzgm24^qeKA5j1r`@`4wF9?1w z4Jf{@Vg4Y+|5t*)nfyE|aC|<2=|ht_b{i=^dH@2A^=}|Q$I>`r{4{FsRDr)r`uV<} z`SCe1rW(P2i294~vzh;YV*%0{!T%e=V*-DT{NF0@Zx}TS-@CxX`Z;d53H%VX_nQJ= zNd7-8aQsCHOy3vy$K>Y^1kUgMydv;xjT-f;!2h1~{ENUjZtn}6fa>i6zuc%*NrCSn{5pZpA-gvS zd;!JnR)PPX=HopAKSK3~1iqH^KPPZLhk8-q=69f!`bUA+(RzaKrC{QC){y=`3jBWZ z-$!!HKau9kJb|w!J+%UVl=SlTHS6Jatrz?sQG6~F_(tmYxWMlqyITbwC;saM{tmV4 z7J>f*&ELBO{tW5=mcZX6J>L~L_sg>af5?Pg{aD~DsQy0%zK7!cYk|+CdGT)o-$3pC zSm4i7{Jj)cj(>#w87J`X(0V>y;BQiWgTUuge6AEY?_b>lKb8DU3!L@bAn>n|pSKE} z=gA!cFQI-pAaFh(d|2SWr}#W8@Ii|Ih`_%`@p(hwtp6>6uOdBsKg;oNpt${q;9pAq z^Zh3C|CspTFN1YrJV<)Z7x+=K`$d8Cx)T%l56Et}!2gx(4ha08i2v&XznJ*<3;YHe zmyZaX*OR9Net_cqvcPAOp2Gs?b^INHGygGxPoem5{5YPsP&`X1XB^*G!^Gp1@lx`$ zTJTpA|5|}Ff2+XPke-CVd7ShKd=0Hvw+fu&&+8)lX}pK)K*9eW&BrGMzMA6vGlAoK zEtq~G@K*?bPvCcw{tpB`m)dK7ye_*RZ6?0)q>ugo74=`Gz^9P@I)VR*{BITbN2LD} zf%j27`vuPH(GG#*d$E{)C-9@xu0IGoi4B2-@7rMFcJcM)YJm?D|3w1-1;rsE@QhKb zk^*Nv8G*k~e%>zdpHO`65%`l-|7(GNmHc^1;P{(Um<|hkC$;NUfnP%N<=+Ipk=Ey9 z0`H;t`>7oqPu{Oj5%_D=uGs<)lb&*c^FFak;Jlymd}X^K-C8&s5&ZbGN0>SV{;$-Y zzZ3X<Tz`sp{ zYd+x^A3jUOuDL?+v)vAXbHDcs{1sFJY0%QoXLpDn6#T6JuLb@!TIXLB_@k%<(oZb? ze8z@&(W&^IU58me{6s*JRW*zeYwiw$NBDd9$05o>Tez!JdclzS#C ziI9+N&(n1pHS6RCDr440W#lK78c7h2>q&shm~p=_{}V*pM>+G;^5s1LXZ|*d`(ff| ze2DO40_T0al<3UQ`*pRzd0%c7IPbH47H;?NUJJMT_i+oi`}eSg+x`0n;T(tQ)SeG5 ze!Jf%VS^xHX7_uoh1>nU$-?b^$G?Nagc*K#omZ9V9laU&y_rh*Jr9$2bE!Yx6Rm{b zM98R0UDQ7iP}vTDDsAdWa^B>GAF7W<;@e~KKKNY){E4SrCiAxQs9(a(F)(^r{UWN1 ztbAFM-ef;Mr=_qzh3$v-y1%vQ`X;pbeS_nhaTRt8plFEox_I83+sC(RN$0;aenR5n zU3DXiFM&p){r%A$&=MUyYEehLeV_~85$#N=N>h%u!{6Bt=8&WP(PUSghnit?f#4T( zV5Au`j9XP1OZE1`@0+R0B>YfKCHxo;{7?=2rVHtgcSkz=qwr#GCI0MGAI^yXT>1ni z6F&>JHHE3dYvU5AuZIua{yKRf`4$)X6(=Cy>LTBG0`k1y+y1XS0r@r;`{5Ii?{<;L z>*CSIkGt0PKY9Z4d_7{zcbtIy5b$EM<>OEvt^YS`>0J3v7x@rixOLF&JCsb?OF3Vc zGEUn7SM{EPK7}2`6!xw*`7xi#as1+~Cbws*f%RXsqJ3f`6y9?qLoN1222eu|hbf!| znVbEg^9-He>q7f@%^>a95GL)1iLn)(vr@<^WAPmL==h1iu>2gsFVyLGCEWbqOBYnt zB#-`=!bkeQ7BJK)%&QJ!oCh>JN&9U;bn|}?$=lZks7Knl0x&oKM_l~JcVeXf`vG&a z|5u~5e|G`<$6V~=yCu^8>jmt;M2yz~-A=Oo{|H34_J?q>hBTtT;XD`eDe#f@z0i2K z_Mb=h*L(O8bcd?dS7xzV9P7dF}5gU|-Qqh~0i1%hLXX1?&&t1vaE6lR4kOo|E<$ zu>U&QZzFDOKVDBu`)?Jn&*#BgNS-rk|IGsS8|X!(gCvOdXTe9>$M-2vC%-R5?CQ)C zQKF;5eSF7L+W&j9Url_Rb= z{Ly+lv3<@D7m&Xb8w<%kd&N4-asCF$Bh5~)ki3myndKONpX4FSNry>(uOM*ynfV={ zyNw_H-=F|fDam8}YT?83Jb&@tNepp7lnPy~Gj+WF!}bUlwO|`{$m_HZHUNrSsT)Tmlfq@aozRU(BfPf!D!RdOK08|{Edc}k; z!octrXduW;5CE}3APR_KO1FST7#LK6G&7W)52aavGzf!$0E7bT13D87xS%x1Sg4cX zG!IaW11g^Zr44~JOwS*vTR`T6)Pev=9t4Dd80J+znB#%o0J-l&raTBG`U`mAVE=5?E0C5#Hjt( zGc}~B`_yT>O}h^eazmzzyJ;aKd&Oo`y#7B~u|O*J!=+a^!iWI?EM#KZ literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/FileHandle_stub.gcno b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/FileHandle_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..3e34254e3f836dfff76aa94b8c4905656b5e2926 GIT binary patch literal 3348 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 Xt{=&&3P7MdKgiv|`#1vOqU-;EiaZcF literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/NetworkInterface_stub.d b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/NetworkInterface_stub.d new file mode 100644 index 0000000000..f469db9ba4 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/NetworkInterface_stub.d @@ -0,0 +1,23 @@ +objs/AT_CellularDevice_unit/NetworkInterface_stub.o: \ + ../../stubs/NetworkInterface_stub.cpp \ + ../../../../../features/netsocket/NetworkInterface.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../features/netsocket/SocketAddress.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../features/netsocket/NetworkStack.h + +../../../../../features/netsocket/NetworkInterface.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../features/netsocket/SocketAddress.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../features/netsocket/NetworkStack.h: diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/NetworkInterface_stub.gcda b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/NetworkInterface_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..e4d6d3545ba6ad8a3f57c11991fe008663ff3647 GIT binary patch literal 600 zcmYdHNlw=?F)&?qe`Om31H)nuAmM6$xpo690|O(FeVGkN00BRQg46Xd0jM}S^@<5y zgn{8L&_IxxAOK>6Kok(elx_iwFfgbBX=W%pA4;PQsYR|q-iF4(`N`R-C5|a6MXANb3|v6HdV2amR9sS; zRIHC~L_A1XFS(!qsLmRQ85kTHS->Og>0H`zk8!AM3WAS>Y5ORe|*suMurBLw7Q4gd6K^7h$H)(*~1t-AaQ4sRbIK!udi-_<5rjy*n;%w5x zLlJD{;3`8vZc>H^1(*R2kN3}aSFS&{cPakxFaf2H%z}7e)dZ@6fI&h^`T*t6!InNi zZUWWGNPtlq$T{QO;NRWobPyCC+(16|{9+0UkKDv$qyPb`B_&M6!4?m$Gy-xHs9u2q E0C9q@-2eap literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/NetworkInterface_stub.o b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/NetworkInterface_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..fb4396dfac45356b18578a5148a32638b592c80c GIT binary patch literal 16864 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/at_cellulardevicetest.d b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/at_cellulardevicetest.d new file mode 100644 index 0000000000..15628e8e9b --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/at_cellulardevicetest.d @@ -0,0 +1,4 @@ +objs/AT_CellularDevice_unit/at_cellulardevicetest.o: \ + at_cellulardevicetest.cpp test_at_cellulardevice.h + +test_at_cellulardevice.h: diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/at_cellulardevicetest.gcda b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/at_cellulardevicetest.gcda new file mode 100644 index 0000000000000000000000000000000000000000..ef1166a9ceeea739ed7583eb72ad347dba6dcb16 GIT binary patch literal 7892 zcmeI1dt6Le9Ki4BDZO7a)k-Bj)TZakh*TIPBCnF^tx=O9dVD105yc|PdfSo|%Dc6d zSCsXbmXausrEOUi;X%>2&p%>N%pelcpZ#tjC=eQJhDEjg6v=`pPFrD%V!JJ?N zZLo#NU$FE9+ruye`G7BD}k1snJrZ2IySRMm!ymurCaIUYPbToTpwX85tna}1Nu0pno_jGznDW_xS! zH!5+LWu`B91!|Xkp%#w$Kgz$H|M2$%)W9)O_dJ2$mE8Mz^Uf3OF#(TT;Qob;9mBnp zqG~5J2;vtBo4|1dj$wGbz%h6Z`#~w-UOLLeUwOaE5aq%#c!Xojx0y~iXxvjw!yVgK zCOE|ZhC#W=+VCd3){P#I(vtL5t7y2Ex}x-iEMrZSi+jQx`pP^LeNNu$OElk_4`#31Wc-2-c9xU zl^w9M_TQxU?rVH4mwWOyRrDD_<9luM3@hX9Zud|wvOn=AyMK);ea(M8W*Q$S5&8yLO<4FSd}}KW_j{QI_r9md4do(!c$4*=a-Hv>rkl8dh8v|Ljh(c+ zDGTM|o-l{L6}C+?*OW^=Xt)!riUt*r9k&YQ;*v+?HM{G3%{hs0e#3S6l^IwT{ zN00RUo#uPivFHx>(K+{$`Pnd0%(&x39;TXCCid${}(b}$B z3afq6=8)8m=(!VUFf?Z&Nv&Go$zguRHLWxrWt#35J9jzNk?^FgytxxJ1s6$br#Y@1 zYdJd0jHEWF$4;bo*oI5v5!|~}=e2(tkA$}?*Y?Xc4?I+_!MSINNV|NPEjt_>r6;$+b)!PER@*f(Rio`vyFMUOHq zAgK+y>CCw@OSzq-_HJOGw4cx1+d<>8*-`2(eOE6e;Wc-CRNv~ndMZh6`jZ5|xJ2!8 zlG^Qh_D*jF4*E16hwGl1M5QW+lJI8UIup^EEbAhvHSC!;w??#r==Y&J!A~4|Kc<_; zqoUxd`G&j)`$*PSGhW)OqOOSOJm|H;C^^wNpp9hS?BZIzZLM?LX*}|3Wbt*SYl+T- z2j^byzy4|_(RGPi=P7Re`PH{bJhm^18*JRSBACX*p|RXne`Cf<65i3DGP$8$U5iL+ z{Tsy2Ox_I@lG?`OmJTn}y_;w}!ggf{QgdyH&I#F>hC@v*HWHm{R+@8|h#_qP5|4+f z?yl|Y&D3c;It+67KW0DoC*fV{b(d4LPxNqc{mT+?U8)T(HWe45c*L(y;pea)3xOlkoTJlzQyczB!%7SL0Z>quPhXK_om2+ur??_#7U3UxBP2Z?Zn!ItKj? z>6;az_Z9GYBpiU}uwNe8IXbOhM4uWW3q#ik$G`|{pM7T&kZ(TYl5e5cO0ZABGbvbu zM>r-VP!?ioVi>)yiDv=tFTPMKFaKvQHu?0%t}(>EEi}lz>|cL3zAy({yLPs3 R`qT>NLcjyhk6|sC@^9PQeWU;Y literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/at_cellulardevicetest.gcno b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/at_cellulardevicetest.gcno new file mode 100644 index 0000000000000000000000000000000000000000..7ae3906df23fb43d27bfa41eb131f8481a857fbe GIT binary patch literal 47248 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 LYhM04+4uY(fUY)I literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/at_cellulardevicetest.o b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/at_cellulardevicetest.o new file mode 100644 index 0000000000000000000000000000000000000000..83b09482c7ac79558e36425733b20ea63fc75254 GIT binary patch literal 319272 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

HRn4l?L7YbbH}DFR(F19AURmjRGEsg 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%0Dl?y?cn#nz~$ir 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/main.d b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/main.d new file mode 100644 index 0000000000..ee243c0d26 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/main.d @@ -0,0 +1 @@ +objs/AT_CellularDevice_unit/main.o: main.cpp diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/main.gcda b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/main.gcda new file mode 100644 index 0000000000000000000000000000000000000000..f2ecdf96801d577959772d74d906cd145261cdcb GIT binary patch literal 356 zcmYdHNlw=?F)&?ob7dO?1H)nuAmM6$xpo690|O(FeVGkN00BRQg46Xd0jM}S^@<5y zgn{8L&_IxxAOK>6Kok(elx_iwFfgbBX=W%pA4;u^uv_EXrK@S02GZD?*IS* literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/main.gcno b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/main.gcno new file mode 100644 index 0000000000000000000000000000000000000000..06c4c74eb1128aa99f41819c5de3da0974f37383 GIT binary patch literal 228 zcmd1LOHS7^F)&?ob7dO?0|O&Bka%5Gz!pOh!*!IhB< TNP^4&0gyb%jmYi-`2z+3JDe1J literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/main.o b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/main.o new file mode 100644 index 0000000000000000000000000000000000000000..a34ac03d225d348ef008f47eb360da5ae05be2ca GIT binary patch literal 16280 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/mbed_assert_stub.d b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/mbed_assert_stub.d new file mode 100644 index 0000000000..adeafd9fa9 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/mbed_assert_stub.d @@ -0,0 +1,7 @@ +objs/AT_CellularDevice_unit/mbed_assert_stub.o: \ + ../../stubs/mbed_assert_stub.cpp ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/mbed_assert_stub.gcda b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/mbed_assert_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..d7826aca916fca63ab10f03629d0328f5e576ee1 GIT binary patch literal 348 zcmYdHNlw=?F)*F?U}YNv1H)nuAmM6$xpo690|O(FeVGkN00BRQg46Xd0jM}S^@<5y zgn{8L&_IxxAOK>6Kok(elx_iwFfgbBX=W%pA4;t)5Noi8CKC(KHh+c9*0Z1JSh+uGJWCqj7gfm=>2`CIv2N47D Y8KIbg!Ie<}$Oegl04eseL$rWN0557RQvd(} literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/mbed_assert_stub.o b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/mbed_assert_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..27840bb62a86d2ec0419e41e714bbac096621d97 GIT binary patch literal 4448 zcmb_f-ES0C6u-0E(qf?&s@MiKYl2wBo!!EARlZy(*sTyC&?+X9>Fn<9?#k|LGasb* z0R$4T@j-}*9|<9b7>$2{H8F}IF}~@GiI2XJ@Zf_QA4oL8bMBne-klv{R8Ds0p7T4O zbLXCWXV2_A@O;8B1d}0liDijVA!hoP`GR5#Vn{qFri%+ViwkewE-nPWE=>PYe7hT! z#q-yV;(}r?9lwD#Un6`AZ^v)oJxVu!-d&8D z(B*s0|5II=TB|8Dw&S0$gY0OgTyOcAW=U4kEiW@GZ9j0Omnq9eBWT!eX8Pdd)YQJC zQ%5tl4?l|)6?w8=mYG)RRWGx9${Hv8y$ZGhryd5iY|oRfZ+U)DGOOi^Ev~`ycByCX zRh5RkHVHY6PatnBnQS1HaU}pQ87h%YT&}fAGbCM9x>rP3?>XSQjTPv!;&r(7bamGq zU-TltG(e1TMHp+0$NLBSlKt!Z*BEPi1|EVOrt#cxvVU9O_CACPL+|eyHU^=LZV{rB zgNY${w);h2-z4DO8-UpbAt2*Mfk+P_khIqXr`&KD=)FC|kohUN)bq9%CG`2=N^v}* z?4O3aVf@*@8t$q|U{Vd!%)k%l+!F%dZQE-o&&`F4cV(CkBCPBEW5)}LRS-jSRjZ=I zbGF`)!kRd6XwU8gmgNN{YtqV(jcpyXvX-6-W>>n7-4Jqq&TT7VNpmk(qG;3|Datk5 z6%z-iQ{$UAr^d{jnN4lUj^?xZ?6awK(+?cEvnn0w*2^H;Zn?H|{+WC_pG&2ysr2le z+rpgOM-Ge#=dJzT0xDLQIU0Z%d6#mjcHR!ldbZ zprp~$qj@u%Gjp3F#lVz{2k-`Dymmww^8?2ERXx3z;O#vO7+y$f!SC)LxR4lMy}|+m zz)-gXl|X96vVMQ44>g^4?6xlP+nr7gwvy__4plO2vKU`H~}=9$7xrwgvX?u7IR8AS0-gx?1vZs!G(O&ZZ2XPM&= ztY%WTPmv;A|7<11F%8#O&y0q1k0P|F;TZoq$vk3wb?gw%1L9aKzgJ%I_+0wxq!2w}n~qJd&|dEZcSMQvkF=ZD=S2T>fR`p=-C5&JVV1q_)oq{iems7v zVQA0vBl)w;Bm1%ZB`}CZ*Y8i{e~b-jH`_wAmH+?% literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/test_at_cellulardevice.d b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/test_at_cellulardevice.d new file mode 100644 index 0000000000..cdf07ce59c --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/test_at_cellulardevice.d @@ -0,0 +1,164 @@ +objs/AT_CellularDevice_unit/test_at_cellulardevice.o: \ + test_at_cellulardevice.cpp test_at_cellulardevice.h \ + ../../../framework/AT/AT_CellularDevice.h \ + ../../../framework/API/CellularDevice.h \ + ../../../../../platform/FileHandle.h ../../../../../platform/Callback.h \ + ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_poll.h ../../../../../platform/platform.h \ + ../../target_h/platform/mbed_retarget.h ../../target_h/device.h \ + ../../target_h/PinNames.h ../../target_h/PeripheralNames.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../framework/API/CellularSIM.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../framework/API/CellularNetwork.h \ + ../../../../../features/netsocket/CellularInterface.h \ + ../../../../../features/netsocket/NetworkInterface.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../features/netsocket/SocketAddress.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../features/netsocket/NetworkInterface.h \ + ../../../framework/common/CellularList.h \ + ../../../framework/API/CellularSMS.h ../../../../../platform/Callback.h \ + ../../../framework/API/CellularPower.h \ + ../../../framework/API/CellularMultiplexer.h \ + ../../../framework/API/CellularInformation.h \ + ../../../framework/AT/AT_CellularNetwork.h \ + ../../../framework/API/CellularNetwork.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h ../../../../../events/EventQueue.h \ + ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../features/netsocket/NetworkStack.h \ + ../../../framework/AT/AT_CellularSIM.h \ + ../../../framework/API/CellularSIM.h \ + ../../../framework/AT/AT_CellularSMS.h \ + ../../../framework/API/CellularSMS.h \ + ../../../framework/AT/AT_CellularPower.h \ + ../../../framework/API/CellularPower.h \ + ../../../framework/AT/AT_CellularMultiplexer.h \ + ../../../framework/API/CellularMultiplexer.h \ + ../../../framework/AT/AT_CellularInformation.h \ + ../../../framework/API/CellularInformation.h \ + ../../stubs/ATHandler_stub.h ../../../framework/AT/ATHandler.h \ + ../../stubs/FileHandle_stub.h ../../stubs/AT_CellularBase_stub.h + +test_at_cellulardevice.h: + +../../../framework/AT/AT_CellularDevice.h: + +../../../framework/API/CellularDevice.h: + +../../../../../platform/FileHandle.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_poll.h: + +../../../../../platform/platform.h: + +../../target_h/platform/mbed_retarget.h: + +../../target_h/device.h: + +../../target_h/PinNames.h: + +../../target_h/PeripheralNames.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../framework/API/CellularSIM.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../framework/API/CellularNetwork.h: + +../../../../../features/netsocket/CellularInterface.h: + +../../../../../features/netsocket/NetworkInterface.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../features/netsocket/SocketAddress.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../features/netsocket/NetworkInterface.h: + +../../../framework/common/CellularList.h: + +../../../framework/API/CellularSMS.h: + +../../../../../platform/Callback.h: + +../../../framework/API/CellularPower.h: + +../../../framework/API/CellularMultiplexer.h: + +../../../framework/API/CellularInformation.h: + +../../../framework/AT/AT_CellularNetwork.h: + +../../../framework/API/CellularNetwork.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../features/netsocket/NetworkStack.h: + +../../../framework/AT/AT_CellularSIM.h: + +../../../framework/API/CellularSIM.h: + +../../../framework/AT/AT_CellularSMS.h: + +../../../framework/API/CellularSMS.h: + +../../../framework/AT/AT_CellularPower.h: + +../../../framework/API/CellularPower.h: + +../../../framework/AT/AT_CellularMultiplexer.h: + +../../../framework/API/CellularMultiplexer.h: + +../../../framework/AT/AT_CellularInformation.h: + +../../../framework/API/CellularInformation.h: + +../../stubs/ATHandler_stub.h: + +../../../framework/AT/ATHandler.h: + +../../stubs/FileHandle_stub.h: + +../../stubs/AT_CellularBase_stub.h: diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/test_at_cellulardevice.gcda b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/test_at_cellulardevice.gcda new file mode 100644 index 0000000000000000000000000000000000000000..410f46548776bc89dcde3b155ecd22302f6d5ed3 GIT binary patch literal 4556 zcmYdHNlw=?F)+PwYh@b)1H)nuAmM6$xpo690|O(FeVGkN00BRQg46Xd0jM}S^@<5y zgn{8L&_IxxAOK>6Kok(elx_iwFfgbBX=W%pA4;}(v4y3_mobSj|Z{K~LeO}t8 zZ6GsXenV1+jS1Ep?9D9J;B9VXw`unQkX~4rqGv2}ms{o{-!I zRx|B$i|7W4r|a>lv1{2T^3;CTyBAsIoFH>RagGQ|h|T2k$<+t*FR}WGRY$716Vzr!Hm2AM5kQn?o;w(haC=LUJ?M>*Vsu)dvf2n0^?IE>0^x%v?M) zI4&<6Iom|!oI5%ic6dSxQwkh*97`_M86+H-FdBB40fa{c9Cm4+zq8#n_);_)c6dSx zQwkh*|Gt?E9DJ4VdNk}X0|<`@IP7+wyzIe$SDJG)?C^vXrW82rp7NI)xz3JI)2-e5 z160qt0M*gEUK?opFoOm|1RPc!U(~(W|E6#HG`9rY_Ew`}SWy}V7%qnP7feo_Q~&WY zj}^I}0_)SD(;)AF`ZjMLU6EEiShCY;iA@VAO@R6~Ftxbs`FYYj;Z^1F7UVV^k{+Jz-mflA6xl6HCslEoi@ty#-}=dm(}gf19n-7>;Jvj`84L^!THaS z{SWI?!Dyg+z;02_Gg9||Z>U3zTD#>{3}RKG8TkB`=o!Ny<`u#A(`$1Lq3~4G3Sh1A z+B1O|wE_u>l494-93)2Vzn-ZfMct=PBl`&{o?uL{|5F{r*c!Gs&LGCzO$!;>D>j?r z_5aC=1yZpeF1^ARM(=V@CkVTHI3nj2n4_@JV0W6kUW_@FAM`h}Ech)bTtWSDSX{zr eTzaE4pT-26th+``cyy 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

r;KHh6; zScU(@CflL@r<)FEXdshItG`(L_FwhGg`xUPt|vR(>(sXo4z7h}{aXClPH#X`x}A3O z%?3O85-z_lVebikL_*B8Ym-(-mc-tCTi@)ar~iE6BX|yp@m6cd#%7_{Hs#ZAEGql# L(bOmZ?>hbmMxMAN literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/test_at_cellulardevice.o b/features/cellular/UNITTESTS/at/at_cellulardevice/objs/AT_CellularDevice_unit/test_at_cellulardevice.o new file mode 100644 index 0000000000000000000000000000000000000000..577c3041d7da9296910b5ccb591c52bd3c4d3022 GIT binary patch literal 149928 zcmeFa31D4SwKsmwy-9ORpiODh8AzM9bZ%~%j<2JYpuQZwD#I-uf5MXA4{xS9&ugAT&{DfxM!LP zI-H1bvW`#H;dC9A>9Aaf6*`=)!?`+~ufv5pJWYp-b+}ZA2_3G`VU-S7>Trz?t94kT z!#W+Fp~JIuxE|pK9Y0rx8+BN(!$ySbD)&BLx%Z>*RPM{iom08zkXyM|qTiPLeTjD} z_ZICx=fV9#x#!iQ!&BeQl$RVzmt`}p6n>AqsCWmneC%+!^q#zT>|+nI28-)zD=&QY z4s>(n-uo)wd;k5W%6)m`+0&JK6EDUOWf%GGA|m%3n)_{uOnMUWlKY>_-+O=M6_?xr z4$@G2pQzj$R;|h_t|lGGH!|4!<8adNvVT?U?0qo1EIP-^z5iCZ_g5i}Sh@FeXEB>S z_c3tN=j33s?-C)|$9lyo5$wBK0DFJ({*$katjv}5ORumQvZTbTl&XAK;updaOT*}v zdu3SVzG4ufR1ZK3CHm6KIaBVh+?RNFhdXr>orijNkvk>Kcsd+Y29}pq{;W!#N_ml-wB97bN$c|NP%3xo9s( zq&s{RTvBp4f<=cRxLUF}f^mc)Cz)lDh6!jX+cjIdHAHDdFqHxxG1DigX0n-@mQw2P zijYc$m2_8brjH0Wi~t8cVYg!#pPJl!uE^-6u*9>&5=#e}@f@N_MusKcXmx*B&c$Jg z?NOIglZ?ojGN?&t0lf5QHe)U=7--v^om*nnA}4{}MmY)WcE~39hbSKEnX~n*ujb6> z*nE5M8;;uj@0v3Y+b6xur~9Iq0T->>S5obsF|a374s++WPuboq~)%*T8{am<>vLJR)oUz?t+3AkLAiE;_HmVavx~LpoaoNZi`&DGWkF&a+Uglt@z)i6<76TY}+ClHn#tt z*NUtA(sCbYMdj-Fz*dCx_hR{TIKexMbzwl|M(Q-OL1qmH|k zwhGGjsQg#`id*_Jw(TPQ|8@nvwJ$CAfmZxLEB+5?#oVXPymM(ePq6*ZW7Qte8?uXe zU+f=!CZ`%1_IjEOsOd*OHp=boUh;-n zc4c1_kX^1Y)qQak6Hl&P&zFkxa=Lx|hN`rprgFWXeS3hJWlfV_-hgk4;M6uOHUH96<1!GEQT$s1jKZC|?BE>~C=KO45O z{nFov$?gvgQEi3ZQF7aR*WR9+RfdS%XfTf&klb5Ekd9-j_8_PQ8vpaeDY_v ze%!wQ?~YFiVfgM<{Z9VN=8JBb|1anMge2an#}N7;_y?D6Ir$U!{G{Oe<~#2q4(k4> zuG*E+p%<*2Q-125_Z(tEO#Mf7UG&VR_BlP5Y`l9<+09Idk#SVlHE&&9e8=$TZ|`gR zQ!l=2$n&Rt=Jgl1?C8&oryW)9j7O6Cqdf81vnEXY=r`VByN^AZ#s}@CZ=Za6!GCVL^UcqtMSl!F%JdbFKXLLq zFSX|%t^PIHy!M-?M~%5Z{jDW8FSwYnBh}v~{a+uOv+?C!k6heW`E9QL-nttnANTjZ z>c5`f?paa);q@OM{hRY2V403qe?GtRq{6?xvG3D;Eq~F~-})-gxTe zzV_eiZQt8Cctz#nzUr?zi63rwyrbqnKfJy6HTM6}+F$D@J-?y0;wwMyYy0nO9#{UO z|2X%7zUmK_`Gf1fzXgu?IaKw;YUp#QmAyV-n(<8QV-FsNmrdO}UwN3LZ%@1)rVPF3 z+dEc0@k-CBu8DFr`Phoq(>*_U|H;anKEJ(B z9<~RhewmypdKTxbW%zzw>picQh|hR$&l`K!y_#cHO+oQk?;}ai8sGCriv1Rg0tL9)({9jUG$p#o~s5W_q)~Cr~#?t!M)`t4VtuP7z zr}00~Gc!6Gwsg-}T$fy`J8YSBShAu;sc;F_olFW9~gL-C^q>PQl@>2VwIRRrg}G5RAacJczdhyRDJ?PN1TItLfq1LA?h4WV(I+scEFyQ zHzVwQqj_)QZQY_5qntXr=SA0Vg@NB(RCM&^G_uFm$k7)Gv{Bfe6=dW6_uc9B`3Lfy z%ia7Z^PF4U{A=@^AGrCyi#j()BDX}GUqTIWd0K|=Q20{ zikNe4B>&BR&V!Ns$0N?Q(fk{t&TG;9x1-KC^78M^bKcC$|7)IedwxD->DB!FxAL7^ z`{m!!&v`7SIMvkWzuupDf4RT&kemN>%=tnj|91t>Ymw-uqt5UFQWO6<~jH0 z|h0dLk{M(Ol-i<{6CFw^52R%xAxD!qrdY)|NPhbJAXJ9E#r;H z?2%%R)?Tn?wB;IUP&Q#B&9kJ6M6cvdy>HQQ=&+u-+1Y=)2#b3$)xJx$sus^*7BCtRAqg8Q)?>Oo$hH!grzGl zucI}ZW!wbm@2)jIgqXPULj4Jmm`vQ_Z#(vxQ@|$@D4E1670QIf_>kW;L4v#@K1k| zVE3DR39kQ@1ULRkf}2W?VeALE*mtIF`W`r^wxv zAClmo+9cS2g#-s~k>IKaCHUkoCHU0eB)EF$04Bd?ssx{&E5WtrN^spC2|jbP1fTtZ z1P5Q1;Cg2u)7>~mf}0jf@cFYOxOuk(U%Xy|FFh#1ZNHV^EAL5g#|XTSsi5$y^CY;l zR)Vj!N$~YgNbrrDB)IDy3BLJ}K}>M>0SUf!hXmjLfdu!wF2TJcjwi`|6%u@RodoxH zO7Osb2_C#df`^`z;Nd?=@NfCp2Pi0fWV{5ACM0+)CBfsDNbtRb5`6z_68!rQC3xZu z34SnO2$MfK4MD6h=6*=R{%)&;$GDdx6v6HP5CvC7AD%=RJ#N-*Ko%S~`=>A!3yz!f z7J~r|O9~k@J~Wg;>IV`u|6YPk?@F-w_+iAgOq5{DLJ79kO3<2?pzTuk&8@Ecp4wE8eL7 zWxxKvEX7?x?8h8C1+f=6WC~(`T-#C}VD zOn3o!6vCWSKWZ!$jVma8M|GO3J1rueRxoJlOPB-;22Fb#0Y(`X-N(Q= zRP+=-dRj4hM?n`6ijjgJM4+$oL|;XyhHw|rcm33zkPOVrZ)r~}0U5l90wS_9_+m!2 zzAK6;*lmOjiY1UR;tG@FV?!Fqj9L$J={Q3gCFdbssWxXw6XSV`;gHlS+#FvtWDCit z9u@so@^ln^E8{Uu-*&#D-%dPRPtosSRMYQdJcd#dq?7Hs4L8Nicu?$hMp;@Ze(@Q_ zUbL;ki#}N3MIT}^G^XPe4PChm6_hN8u4Yun*DxLf?~@P;+o5Y29X4_3*-ZEb;=*C# z&<#%@t~i`a#yXy)faNLpM#5t%-az=VD&9N!yNK3pnWdky8*kS(o~Pbs!VeD1(YR!^(zUPJVX+G^%XqmHQE@-2Ta` z!G5a-2S}=Ga24aa)SqO0xJvt}a^zd0;#V{6L>0e=@u|A3pFWuhnEB9azvV@*lit>1 zD5ZT2IH|}CU6IeQ{G*w0$n%ls5FZqK0lz1(z<)!e(E9-fUFV!g1KAl;5Fy1d01Ej7 z2isIqu7!kTk}_X|;22151o zG)m`;rLGt8=)mq$SMXaHBJb&yDW$z-s#d% zDP)i9X1tlr`&j~|6pWz{SXb4e-<$*h?HM1hnnj`S;j~6OCx}+9_I>GH8bE^ARcclB zhl(y_Muo+Uu}P5gD8!4|2#P^UYEOl)NQu#?(NSu3P6C!zSEc$K<(2b-%2fe>NFZm4 zU{MwN#~do0J#wROdk`r8`DpZ$C6BlN4oLpl1Vut1nrQeiXCmfy8FRxN=>aRQG|@1J z-KfT~iWfn}V*=9C;xTh*9`rkAZiNew=)K`(s{xW6o*D7S$1zh0*AZ{B({=nWY-PoD z#5;^D?J(l6j4SOh;%|&A?J(l+j4SOh;$6ne6wm);e6EVW$M~Z0EZPXi?><3YR$EI9%@A0vbwQQd8FbXE*jXdL6grZqTo<+2ZZYZSo zktQ8k=Xcr2b6!JF>N$JlxxdDZ^!CUtiUa** zU6|d1;|e4j_nH)h%Mw+FacswtZwXXo`Vr}svq<4-&qCg!!dx3Es!pNeN+zH?6{#X> zl|H?WMEn7R8xR!xTs|vY9`m?JOy&=rAxofm{auR4RZ><9x>0rvS5AV`36jzZTu7-B z3R}CGE)@bUu~fs`xZ%Q*>#jobR&AvUvPqKdBuZpKR4i{%y;sl+it6h^#id%1O5xLj z=Nc|hxu}1z2#hR;0zc?E6ATeBEW??=_Zd`L_aeKcEjJXW8(x`f`ms#vNFA)h95n*WO z?O2&kOt(36M_t0G4DwN*@CW&*OBq+1f7D*am5v^D8RNGsfIHjOj#xBO)h=?PI~5vy#nVEelU{f37ov7-{dX0UXeWF;Qr zC8k3~p(U~6eVT{nlHE_OBv5tm6E1Bq`d<{@>f0CGA3}KPlJQY?-@fM31f*9ch{rS! z!)5d=x@u4>47Pc+cyxR|<7()RUc|T>uA`STu7>F76^yH4Il7W@H7rM0F|N$3(Wf)6 z%&XBW8DFIGTE%#!im&D>vRcL0F#aJGuV%bP#cLR^Rq;B;>s0&<#@DI%IgFp7;^#7c zri#}yewKE5Z;OtqyyICS8_UG7>z<5A5M!%dn-;D!DQ2z z&4_Cx&F~QiX>>}m5uamJ$FHaPsXA@M=c&|+P=tEG2E}N|Nf~HHN*M@Uj~ju~H7C%) z+VX2>!DM|ke17!Th!^q)NocH#S{VKsbD;Z9p+r=NFA$rG-aH$6szB-7Q&7b~%z3){ zY|_CpKDm^{PZ0v+ln)XPWo_!YJ>j7 z;DS@CtoRR=^z=6R>23b6NwMjM6sTG`vk*FyQmMcU56>7XFbhGkUyC;*)F^ac+PsGd zZ+bHoR4m8gBL%8Tw_9pY52w^#cifsNot;WdRg2%r64CW(1HVon9ie{BG=slH=onR* zDp^?N(nqSQ$ibj%S1rn(ep4T%#)xQS86(3VWOJ%={E%tsSXISUmH3WSsD@C#_hf}| zV%eKmT&QTA%Ow?^$t4Ho4tStOw8Hnw@;C+Y=?o&H9A}0^J7c9IIa^yC#2suM@z$qM{QwoW!RKEemYlfUGM0MHc%qdG;QZxi&{Ks6h5;m4SIHWB^q;qN85kL(6|Zzjo{I)}w}iYW(D zrjmk{ttVhADk_*Cc@n^ROkQwGgbq3tUl2J6ZYsVo@_FVopG4#NQ*dhJ^GKy{P8082 z(J4GbHN0R+WE|GWifn0Q!ZMF+S!4ljVhWRpaAGLZbju?@Lk7c({{W^^-GXXn+o0h9MH;psL*E%x&^4Thkk)&TtGxYo-6phz`lLTLltTwz|%d{LP<4RP?RWl z1yHL!G*e?ZtCURut4Vdva);hjr}!E)-D#wWom8?7=m$=Ob;0{Q>V=c0x&I2_Vgl5! zEAfc@Mx7;uFIkQscPXR1+((h(NBArIBoKwitN_eMJ`cnz2C0<8jc z(pt*pB$23hP#X;Q2ua-;Ae(PUl`57oe3Fz+lSYMfJ;=6XklOTBEVZW36Z*?Q`s=o8h8s~s(r4h7MvEa`H`jDb4jjcWAn&XQdGg>%#Fx`bnQ1~cQ`N$3+dJIyH#1b_UsRJTc z0(G51TO+aLab~N<|2UGm-vZe~hEy3NG7?LkvPcIA>F+@Hwns{VEqsE-QuIH!=m!e@ zkg;eT{HYp812-o030Sq{j>C zS3veHkMwE367O52gN5{`AbZ^-{TWCLpX1L9Otg~ZB?YdPYKWv7Sc*=^pQ^e=JHVzb z7TQxlx7?$p7-_ykZQ7wiy9snVJlaSlL!JEwC9lxslMu8_lF-h<@5c9EFsjB8X$0i#gWMe=w+mQLasdTw&$HjK4k&^06 zq-gL`&EW`AwEU6-3}^r_r;HNXJ)qlbXf;{2&2qGmeF-GrFl2@A`E}c1)1Dx-KL*|3 zJX&_6^n0!!ogqI@;Wf~S!ekUCktz7|Wx*Dnt#*QwB*7{WpP7+BGw&2yt`AV@5~1ZD z%5FpJtYYRRJ8hO@gzU41L=`>Hn(4+&;Vk#!$@WY)X0H1)02h;;HXU-C3x5GsWCH5; z3AW8Q*_cZu5q{huK#VjzFx4W&(ApL0d{{%o1|YN-9E9_gs**7}COf0aE&7 zj0i(iNkLRd_k!$tkJQsQ);eK~7?L_so+SDX68zpv#HCr`IcR0IkPgJ|TaMgi2{WdN z1w~in3zI0CZ~*>PThKPsg-nx7*QcM5P6ydikJK+DV>;1CtwaTqs1XUeGZXnrZp@{m z*OiJ1{Utaud<W85CiAN=K&RA&}%_~o+ z{sM~s3{WL4Uim_G0vc!{{#3pEP8++)BJC%nl^|PVNL7E0-DXi02vs{Mb{i_?D-f>B zNIBLPotV&nCX@CZG(#cPh`(Ar4Zc{l==?0fktdPj$4s@J9i}ih2CV8<{#)maDt+J_c%8L=>Et zw*z!4{*k;-dhzq~u48&@x%$z(4{C@FlM!v7Mumoo7xkM)A*`pS)($ z<1RS_8e0HAg!?neZV^?0Er44A-EJ`10(covR~vNUa;CNfa24(&Uk3W_OcDrS4M~gR zfUiJADYMe@*KyCn=F({DfJUrz{$Mz#Wf@R<%EO@7@dd1Ho+C@nm|ME^q&fOX$K2BU zHh3w%!`9O&zRL+9Hl(q^DLupqL~S{g-v2a;R_1(&r4Suky4C$S7=)IqhLpogJKTFf zRhzEg-bIyIqTt_Te4L8k&9+lJBBkHrEUI=yO25qsRxOoE@1Yu6r05@HHPwzt z=|e1&+7T&zcr$3!Zb#|AF|KwpN*^VS+NCIcobhuMpYILnhkYFx(WM*Rk?=V+shb9= zwmNoF+9Wp@C`_Bn4pE0oO1Dens>3CvJLN_lAt^miZVst5=evJLd7n`?A9J})@|?Q4 zP+IiY>SmAJ{6^heA~(NPH=mFayr^z2lY+jnPC8+qkU6fpyIk&ER|Y}p8dA8OaOz%$ zzcO}LA$z9q4aO*P%BEJ-qD$TDL3yj8RzpU{M5$!J)b9O2KVnGKcq=_yvidooFBptu zrO`6cxqkx+!l_E4F^!UN2%sZ9jLNWu7@0!Lftl-JRcSjV-6}vg7>rsfh&81+h<8~y zq(O5Y>D*;Vr?9)pfpX_w1QToy3T!E6m3Q^KXED-@_=5mlMNgb$dc5QS`8M`6E4?9YLD!NYQ#>C*oP zvF_i1%7;Cy>MjZSQX;$!r^-0Z}n)Tj55EKMqI&v2e`*PJV&yc!%NjeEbcFXd&$GI ze>HxfO8*{k17?~wc#mUHh-8v19VSGCx+jBZjz{PhRuPWz39CVr@(5)`!rCgaQq*ek z&K7ldgYsfSt&0{{MY|5*TMbGLCTU<*|9Oh&J0N(-5IKsyT8)#|{RL3J4WLh#l!AU2 zr~=I6N&=+y6brTb7Mc>^Cm0%C!ZTFnrvSX%pzI2sEqGb(CV@{G8s|)QT4}4GcLBQB zU<#?lmHInNX!Z+Df3(p}p!uSq(;Ti6>^*?qAHaM{F#iGQ&jXlG3+4}i{waXDPUQu; z8-YL77@Q&O@*ETzwn!W_i#<9Ke0H#-%6+3p_hHZ^4V}h*-ox$y=A!}ZKYQ4#fw|FO z3#DTe`&&GcyMcbxBk{+dYT_>m-Lt^InuA91`m)fl;q#y{kHMc*T{rO^f;|z?aRJPo zf|(2GsR7J41XBZOgTaVc6pC%7N_LOXYzO}19t|Z$(WsK$Cp2vA>p^p~q0^1{9S?gi zFpn6lY9^J*BSP|Xpx*G%G8Fyp`ml)EQ$k2+-W=2Q9*r7w(z#ACEydHAW_VOKAHOyi zE@9cIQzlomh=ehHGl!2P6j@H;O<>=}EE<=it}Xac+BAARdAc75>T-ittHa_M=vM-r8ZFfa5-SX=Izqv3H`CC(`fvuLI!qe zqfrG*GA-K+#634pyBg<%NktGKH*2$o7KdQ-)cg z*bVDRz{?eiFB+^egq&hRrB7nxCfp6=iKn1Eqz`V6JrCp?Ox?pGe1xr!@vSa5G7tTR zKS3)0#5k#|OP=l+pr#tM%30cP9F(Wy(8rIOMuc<~$j&sR%HUF@vbv?G4Wv;a-2t+T za*-}3SGrL^nkS^62icc%kyetF+kGI-7t((R*)zFF*OK%)McPkD-vL<^u(o&F3&m_gP3B|CUzsNi$WT%6q+K{O(9(S&$=r0tlz;*>F8Z^Z*LUARq zp9)YkYl=dlxC7X`0u);`#j!&16tK?(DB3l}aYFGnuz&L?RueZattkcw#qp3N)iM-# ztS$*vqBj1-QXsz_CTi6{oXym1?ZSV>k0oktKy(|V61DLYBxCZ7T#lbl8?+KN8pzK0 z>HHPb8KOo~_iKjC6l=msEYdx&4swow-vjw3)39d?|2eZ*c}R5({sgItH36O`WJ8{j zQlO?Av^4@Ih%(Wx%Lqx`H6T0JkSZ^%uW=@z4Lw(9ROoku_R1XeQtb(gEc!g5|56TG zrHcK&`X2tY-p3S84BYQQ)+%cBh4MdzYf{z5Acn;%ZM&;L{|$ zKZ)_n6}*J;8&!NPp2juF?LS)Kv5sPCY8BoOgrdaE<8SlTRl#RWl#Y zR1ZYSQc#*rRQk#CXcZsZR1*^CCv|w~*P!`;s8tx1_zi>QbE8>_)nQTc<}n&8@t{~_ z6juE)9=q8n@u}C4fdV*7A2s%V(=Fv9W7r(j{^X%d(l79r-;KLHrwWjZzK z2gTx}`O7I~V~i(hHcEVu#G~XkaS^MjqAMBo9Z3^^!@Vle%IY`sEQU(+`vIVl(}>(y zmeYvC)jju)<-QOlm|vnZnY5Zu9u8&J8z*(%44T1=PufPXj(0tVxN^cw>ZUDpmMY++ zbT{ZF?cB)|%NJ?-$&+|=#2M1kDS*;5DECr@EKU)WEcM(UV~PiMRcPnb44lV{9D zT=|41$H_+dgeI4>DU?rW@=W?vC(^?;c^0E(sL$;v$eEhS|unw;na zLS?qR%)zDND@YPkM8hYaev?PEl9kj%tLjLk608;vutuE1+;n^ai>iqhGOo_(Pd=4Z zRvx&?iD_0^uS7p406{uA4YIf2_75~s?#1E->4dXAO z6?n{VDobtoO9#c40Wc^=-}uHDJ@p$UK9$a9HDV!zh)=zO0Qr&eHYi5N`JmWG0jAjB zi*P*Z?G&7!_ax%pjTZZd0VBN3X2C>*V$TU9I&3$_=$79YV|_QA&3`3!>LP@ZX1RM+QWm)pvD@-dZ>Y`FFx#xfUm2OmgN%i2ab?`*0|uH# z;M)z2nm-haT0vg~)D;G;T1BBn!@4&C^+ki$e5JJRJ%HZtVP=zAej9(;&+bow`IU!N z96w5|`xc<@8H}CbKMDGHl==kxsVcFxoJ~aJ--sW_o#vrfWn6<|+yQ}>k=CUQ4mjJmRe`PhaPR^or zA{~}DK&pH*P+u}=WuGYR=8~)XAby@OXsf~UhDqw*0QI6lYrZ9dc^A+~LT9TnV%fSw z0UaH{ERZy1fX)tJSYDh40<=1SsTNEVpj!f%^@7>tytI zCBn@ylCY--#n?L=W9K4X%;=yP7i=42TsjZZzqG42#<*}BB&SmFAi{XYX~+$V(P|qM zD-|q_yp1s$xEo`Kd_ql&Gq=}B!tBw-wqyVHWF*r z3DCV{Xc<98RoSP}@y59dhP^2_Tny@VHf2gy1i`>a)0diXPb5&uQmG?aTqy zV*G7kN=BSw&fQy?+P)^~8~0!fFkSd-Wm1tBPU+4CxcemjJVp``?bAkb`%38>_uyT? zd>4PMOipH5w7%l`4M<+GX}8f>FxR~i6>|?BgRz*vpH!YziXOQ8{Peb-l#@4t7GCtg zjUP?pwYg5-$lqduh#q+I{2r#w8%?ib^uVL%JKJbym}^I#in#}y!1caN&M$sMaUPq= zxzun@ z`E;K%tuS->oL>gl@z9}G|C-jQ$>dy{$+^zwOe@Y@KIdiN`mx-cH)L`?CzJEJK4)5i z=JGjT53WDW&AB;~^QKJBn?24Qv?9&rYn6AvHNVzY z-pp3JOtspf^VE3Tr&{gC^V0QcC+}*mlcERqf5d6$^IwrEV0kM3L_>KIWhl|9wUv3= zmtXp3U^?*EN*<#829V=NarX)Qc^sXsq_Quc$CrTl8va_DiafUQQ6+OBf4SU)PXYZa z{B`o45z-d(iKcCQ_Q_oPbi_Rvt%17)e;El{xEB*WE>Z%-O#Dd^y@_4vXC|^Q-!MD_ zm?ZvMnVk8z1!;Z#d=W_Y*|ghjo<;h`J=mYIX+ypb(j5{l<}Vkv>Q>xNaxz3Hr;qxx zq2zO0YU@fUr;p_=trBPFi_ql#qrB%;%)?GQ-_C&TbQjtrJCDn}9g%rEKJzx7dAl(4 z_Vmo#b(yytGj4Z%T~8+$;M#fKcl90KOaC#)9psK5Ft{)}VAOzh!v?u<7&(z~PGRAx z0HG6yI?)013r{Jm8jQ(mo*Rwv#>GwkJdME;aK1w*J!J(kFB+3*KB4`QP`EJRG1J}C zMkqe*1F8lu7(rlRzQY`j9Sp+4LUO|k_>S}PK5fJTH0}VrpbRPSyqPXw46-*6WySJ_ z0a3>fc2)ZJ0pvT_=P?&#LvSlKs2a@M;t7)LP(N3u88$3~#c-bm{2{JeHJC(rxTk9H z4Dc9bG9+}gZmxV5<%D8Qd*TF$$4OFcwgQl<(j^qaF&-S{SMaf33wfla9#y`g88_WQ zD|+lOJLzH~39B~2RD#7ic{nnfh+4)}+YmO%<5=i-!(>$hb{YHF#Cw>fttBxs47YXDVd-fQk`{ zGftB-cfV${?Bss#vu$vdRjfG>s~9_Mu5Pn@)^48Po;YEQ_XD7Qu90*pq#E@83Q#jHNI2NgrVHOO$8 zmy2|*-GZ=E!6`;g%YCU=d91LrC7(*04?7X37Dl5B=b})KbGqq%RuE6G2*I?HV>8k4N`n5olU z4l!3%T<6Qc+}dnwlq%B7vA)<<1!<6W@Y<=-Z#KA_RTsmLZ`EFUyx9Wev(Gnq z^+CUx(YTqaSn27O>Fx><;*vs@@0NU#Uh06Y)7|*s_5p+3;|mrIZyNmRB{CLT^PTwM z2-H=f%mzb1sZ`U`&I)IRlpUwjR-kI5(G%zCD9y|7yO>%LatF)4UVx=&UuM~B zU@J{ThsIJeU}FuL`%)9pVetOL0laZt8SptKqQljJdl>&2mvI*vV6ePr8iWp?2;3X* zi2+YB5gncoxHldP172z(A@srY#@aQ>_L+zd57)i{@(*tRFKvPI3OOFX0%O>9|32V2 z{JI#S4*uL3J>6Y1TG|_1dzw-+mUeco<9qPKJ};!M(A zl?mE8cXo1i#kAIz_MV;7HnsQ65SkecEjiQ9Xi7EoY*HLrTN-9;YHXa5#bK5ye`Zd- zGfwSHXOd^J%_`Di=(~4WZPMIT-W;Rd+|@R(N6U zPdp*6ns`PE&bFQu-Xg+pF5yE@=tloD2e^mk_3!1g2LMK)_`|=q1z||A|2{;{poXO2 z>B6NQoxAEAS_uG8>(f%WYs6;^&?62eWi)hSM|*S2CeT6qOP3*vsitv9KF750a#Ld^TYO7WQfR&~JtWlpf%LLZ0 zuFV8g^CM*nw75=v%7V88eLm_lT$!m>``;nUL{#}-8dHewG}|3<6t%s(zOyB1+6F!a zC2C3Yc`;B8GC&ot)*l{Q-IGr31PGE5B4(SZJFV|)EUE8S-{e3l2&Y#!OJK2_20wL0 z7rL?ik%3TMHt-?GjXfHf1}I)%V-ZgW7%yyz^ot~p2SFq!LFCjd@UI>B;@F-X^sj~? z{(=%b9+@{dN16*d_#&sj(heT%QO7;awHZ2$GD}tJl3w5vSKAyAWQ@s|7 z+ATDQ;CU=q26(U=TliLF!r&WXSH%v*R>ro+HmRCrP?flEJr-LSf}H67E;2fc@nm+N zG(-lcsqRm{{8sEMIdiFSBV&(`j3KK$yXeP()qSgCkKT(OcKgMyk3HINJ{tPe;@IhV z`O%Yc#wahkK6ZKpO*mx;XrlchOOKbZN2Rze_U(R==>sDR2Sw%&i%c(yR1`(#4vH)v z7AuZT2a6MhMWbdhIQAC)y&ah{II?2!Pt@O#=#JZ%-29IYh|G7R+ar*>Kk^^g0kqux zlN9M#;n(Bwds~VTX_7)kDvythXRKep2u@M4N|8(4Y}CMhzeAxVOMCmPN#u;d&xDdw#QQy?D5E=X z!=PE{s&N!8#vlSVFWQNLB#~nxr?`-A5Y5HN;;1UdsQU5gkz=V9`q^6Hdgw;2VKU&K z@!r!29E$y_HmX<55d=YD&H_y&#OSNIH?MhUyY-~db+MLGv z_Qq7JBUYwoq^xS`PA}lMwC2wb*e&ztcQ$pRw3ztQ$&eqoutm+0fJ6oazEiZA%-TBu}TRTiVy8V1PC`-6?zlwY#z2Nu!}s zjSe&3?0-uvnWk-=?CkJ!j>k=%VaCms^qpEN2PSfJ%g!Xe7~8lRC9SGHqvDL&$=bTb_&RPfneIr}x1z|~OcneR+A`SU%V2eF zJn1y=XlY8J|2mt{3=ZtqWG9$(CL4AoyF2R}fm*+2wpxS4%lzd6q;E?#J~!J-)n@fp zHT{KORLheXv3Z?Mu#X#^9bGNyRFa<=n$y~f@0}#mUPot+iZ!*#xFuDIM18FuTfvU& z-rUiZPHwMn?McCE?|}q&c|0uQ~e^j6Yyl(<0@s-}r zj&?DaJ31Xzq;!3k)f86EXSH^xQd<+PEl%LCYxFyE09VMcDJ0DQmxD{ zHsjOIYzMphW*PQ+B@~aN%jKiP$(E)>O$#LeABd)wq<(B~Z0nT9POPY|sdZYqf!gJ@ zcsz?+1qWa^Qg4+dO(I^Q);BE>YeK!GexJ{3Ztdx2*_kuHql_vi(^&C29i12sT#6;T z>$j(pZ5ryx@9d^R&hc$Qv}8aj z$Kx`jwZNdQn_KHQbz}7lZ-t?bSD0o~qJ;5>DWpu4OMu-xR-?NS8U$79N^MeQm$IQN zD1PKxUS=sBZ&?cWJdf3Ts;rQ5P5gG3GGz1$R*6G_z?lrugri!_-|Bob=j zXca|OF9~-61Yc{3Bbt{`-!9I4G94wQ3(*&u{sL;0)TUI|0)&{fTIk zWK6xgsjH)>lb(5f*QwU`A3Cq6rvBu9x& zTb49*bXctHiO!fG>XVxpmP)Vz5;Btq^|4H(4tlJaKP^ss=Z4yszKx_WI*U1FJ(wYo03W^Gc#98qty3Y70k*#~sDwWnL^Te}^Y zEy>l3&q~%-txqJ+tg5R_E?v83>EgP?n#FZhYyIghC`uv%+jqcNYR4pl7VGRuQ~9;D zVe;-u!eHB!-t3sU!Iwy1jH*`0XJ!lps*kedTr&uL{bR{OxiSuv3yWq}L$A$O9@2cO z^EhH5OOP(UP$;R)N?kPq$&=q11Q`2Ca;>d z(FMbQnKsu0$~ry|#&kEFny}wQ0kIq?QL_|JDwb1Gm(Mkd8Ujle>8_qeYCkb>&~C|& z9qqX-oHA8lI%yM)UU7q+8!s36GIm+8SWK!9&YQ6OD!p>uFLr;N8-$9gEPf zRLW=^%k=iM&D0z@EX{;k>ChOWvZVQ=R9{!B9qx9=vg>@V!P!b$U+I9BHZU-&h*r!` z$~XzL&_#Dqx1_tAX6ayPfh1h|jj(z)aRb8_c|ZSoW&*U9K{8y@o1tW|oam;Jjm4MJ z)bR=$3)bq5!qSY9(XI4(lM0$eP+@~6nNS+tQ}dQ7I9oL}Sjc3sRRygg)iXDBb}B=I zwPA~J@@w2KdaEY23GI=BYN+X`$3k+G%Fi>V)I2FBDX3(niFJr6fmLaxjj^F$c8z%QuttVb%nhb5*8&tHx!reFydvQeEAc zKkUgf_$g_{sd;k}lW+?LEVgSzf6>~K1)0$cVsfi}tQ}Z$lMp0gpe*#v87SV>VpBG7 zE@yk23I&vhx2UPc5)kd=Pe~2w4lI{UGQSJrtr4IQrb zZw#Tua~3)FbT#TpSiA_B>;r{`^4Z>*?wW3ffST}}#vYWry%EdGU2P4R<#%kxUCJwZ z*7CoCgDp|Lz0FB1t2t|NV`HkjyDrtZxxJ&cV-r>YdP5B6c0H`^j*bS5y{IVb-ikGk zxM&hv{ARZFM1}Uih?eLPyDQ*iGOm<(95Z8sn5v@5>#-7+9VDlxo#tq&sYLetjLc*& z%VbevMu2u4VX-IEeZ0&=q!Vg9!BE2>lex@n-f53dn%Znz0gi#XZL_>YX^=mi^Z&re&tlrW}&eTsak20V@@}wNDZVBQpYudmZ;bPNY+)YPB_&yiRFo!8s8S9GE20k+GOp;F1CzJ%xKUc&YHE0 z*VR?Bn?l8GPKcOM0fC{m2Ow;>UI*V# zvU=6xH3_G!p^FmXH^p)+9x8o5-YikziCo%?<}kW%ZB24D485xA#Wi)w#j92&8L5R` zT_=6+sL4_pJj+t;Eovr=S9nqfS?Ot*$B}PrGP5MhoPlIcp{IeWp#^RR%o8mgO)#Q* z+P88-f{8*SPdipILBgvty|EK(Rc*LeSFT-?NUmA8dI{=JD_$F0j`r$xw>04B#U||T zr~N73SAnZ*{dV%T(dydrnUqxwq^^3*cWqb(x2VNY0!}7Vm*5P!3{FCAHt3N8O@UQi zlc@28tb&tgE=j`oC{v%pwqoU%+S!7U=^50RLY&=}104R4P0-9}A8H)00D;LzNfw;0 z%B6zI%F!-wXSeUYq{6_V0*{I1!mU~@76AteY7VO&b1gHpmIBRUBd}vRrWA{yI`a5;3Vc}Z+7B|b(u85RL^CZ|!XOoExd1IVhw>e~1`WShdw2Rkv@hUuby zQ>vS)0d+Yq<%siKTyA7YpN%_k#F{*s8sk5$qYdh9H(#3QLm`2SO6!CwDpv^vw&}6x%Jf?oD%@dC? z*C#T08@3jK=hH^<#Y>t~{>&CaccW|}pvS~n?d6!YPK#T6UhjCGe22*15U)O^J7u*d_TSt2` za}n9RqZ5aD(#^(rQ9EN0t|Sb3@r@`ST~JdiRcX19vqWo-Y6ELAXSZ}_Eq!h)R;^vK zcoj5FPeZaQIeXTunX{5*$zHlZmLF!DXS+AuQ^BS&k#io0^O*Y<(8%;C0}L`vVUFg+I>JK5W~OBZ8u_xt4_j%o(wwBRN@=0K zNq6*M@n{?~%6d&Ex2GFg;c$QtM7!QqcX%!WOL-aPrzk8_-AJ+S$$*TP&*^2lf{BN@ z*8cBsMcRg)3v6w1wdb$M^->L$4J-sQ^UqcExY(9$_3b^)^^NJCE^Mz>H@2x9=n*v@ z7xZeXi?baup_HB?(~kV z^c20fY%>~F*mkndJ?edL-(JKsdN9K_Y;n>p@WsKZ z^0c<5F#%DreeRI&FiF-;R)8(ml zDe1ylQM)?1IJu%hb=cD6ikid+G4K@~(nWL;y3|l$@y0FBB7m8X_Ml*~^?x5%;wADPp zLdMIK+7NpehB)^Dxl?DIc)@rI?#TF+wx<@EcHw?Qx1=$_%3n2xa5w!aJ?&^jn6aY3 zWoy~9Xt`Hp%oq4R;7IrR2L^9k+hBpCKx$SoGT@KTd90k;`=eu7q*I!nnE2>M28rFpG0T9lZT=2CYf>iq!EFs7kE&!B$LFZ)1Ct$6_hGD;W9Q z-oWCVW{9arV64ZnsUGx-BwARn^0Hh$;RMbj!7JJg(O^;0vb&n_y+#zMrJb&Y1`bhK zTW~H*i#3+Sc4arWtk`hgQk`=x6oTwqd4&r~l4tQ+^1@9-%V)7bEsEyPPk7H+oT>y` zk25?zl1{bJJuIh5SSCCLQ39i}UJN9<8Z+%Yhukt)+ zP&H4x1fL{v)Y_JZkhEU2xW_GrbcS9wMk;iM*Hkcrn_76f#%?92+YAQZ=yICS`reRF zV8CO0v2oYh_SRjT|7pLm$IMp!;_Wyk$dh^O^&RYWY=Aa5&#pjDlyEs8fDKQs9K762 zWo)Zcj0I&Cb6S;EsAw8lg@&!u zpDGb+SsTjD8BSPRcV;YgEO8Q_vv27qwqVKY?L0tH!xhK9N;vzic~MQmo)AOgWM8d% z**f+<)Dc)Xcv?pv<)Z_+vUVA^fjkk&n5TnQgz~kqo5a@4I%^SFX?iY9BOOISy%Ct937X2oHA|UI8oDxYgA0XU=_4y>fC<9i|Bp zxOkbr6i;NItHz=sp%+iyL?)7L4tS{(Hp+VU+bLc_>Gx@@#td3jBCV|*?VC!dZ#i}G zoR2l)MKWkI;d}zlCGd=}+Wln~Fxb^3gT#7M%Nv@`cBA~3RxYlVvDsGNwG~R3#Mrm; z1fKI5Od(bb!&!BKIn6}38{o>dY%jvSjHj7@6o9MV49&VxZ>8)Pni%@QGjl>t@?RULI|w9%m{r>^uMHpfJtGYkbNq3lYM6d$4>k}`%95s!X8)HEqztJmA9xD!67&dNi0B5vw8dkpq zIBW$$!x~NL2(#1(+9yi9t?fI_MZ5#{IlJtI$6R(dCC}gWP;MkV{)jQq)X~GKw#GkA zysi@)Ok3+RxQ*=6fM4p5${w?oxD z;FZR5-Neh;;zm!1=PdImgPQGlGzX=k6;#=Qvrjo?28YeyLV;VStrG{Na*WPgf+0#f zWb9L9_3<)~Th?N7mPj(k5KqUiShKEV>69rYv!+)}FDof8i_b2bT{f>|T3foOJ+)9y zinTQ2wjP$;LOg^$ZFWV;v`r<`nqf?GTuuX`8@DXcv_>AX#s(JdA@_}2r-2B|OBjgL zP%a3hHg0gky@brIA!X2dGd|{h9{*5XyIS_`Wz#;nx@y&`s@epm@@2I=zt*L95S1H^ zy_0o-S(_m2l%=)Hmtc3*JDwxG1Jgq`K8=X@VjnM4HYJb$C#pC5ofKRF&EpD4CTjl# zdZI;PQ(*>e9M2S08p$46^L)$6R3)qXWjOIX3G{t8POx-4bs=Ud ztRotqVjIzPFujHipl%+(GRub5{=>|^)L9mgCy9-hIE)S zXT+*q$*dL4T(jDNFw;}cwFabMDG&d%z^EM^eO5bt6Pq zp90q2aXznvg+7jNk)reT<1bvnpp=l5j!vY|fQAm?dU!LLbBOO)3Z?j?>X! z(8+~kn=BmFK{f40VJWjtXNuR3TSRd*0)m+;s8GSI-p`=({An-Sk-Z-#6Dz}XeNLBa zdAT)oEvuB8Im}Whm-#--Wv#uQvxCRs4ct?D`j~toC^~C8M0|0olYSrQR(QrZip+*( zH>}s3)WK-fS#vDc%qi#v+dEpCCQdpPqSnIG^*n7srIBMbCi@_04*PMlUPZ?m z9KzG=jXByLQ`R+Q+I#9i6$chHN|aOzkEPLPJ5hL$AUgx)Cl87PVAXr;Bo&O7c4}%MzBoNjUVplb}j=%jZ}oZ190NO)|?O z$+U8Lb}rM_fK}ma>&7D^j+{xA$pgOC9gX6FKnLh8VKWYWe+VCh$e3FWYZF(Lg>;sh zzb#pTyvHj7dqrlFHPa#Uwl^AZyp|IUHk)_`QXbWHxXI87U72|VfbiUf@W`>_ZYrc zq9ZfFWZQ9Wwpp2gSw_ojshpwbqXanl%ykc+kHxuyW@>0!Fq_)&JROD+6>g=Rc2(Y9 zteWruqi1ug6@?s8@Jndf*3iRps){bCz~-1|R`YzOH{3FpAvt|9YWU#5A}0iy9{lI; z&>cMuM5OQ<1bWwSC`G%rWXe`B@sR{hGgzkrz?Mb@`@(ugL5&}=Qf2pxww@Ylz3NZw z{byU~OV;9uHu?Kb6>*m9GfC<}V>u@Q)u|LH1~<;Wdb?-X4a7{_waM`|=KMCa+n;`O z=xvUAEFxqJgW8vQH{#_2OcYqaWvF3a{^f}RF`Xz|vk=2$w-^Q31@z5ea0_*N_4 z%vmPm*r-=8zbx~-wnx?Im*>jL*DMe=N6$x9JS2p3L@>(aS?F?y?oPas3W@~>hVT}I zz|3ne7Uhw2@q~&^4(ndaLiKv z-cdtztXA!Co5+*kyO(>aTWLkpOBuF>IvQd>37GRy2DWEw3acY@d$Jje9E_W+Rgs(- z5N*YS$@DYx6r-W@7nw9o^x9nMa+n&u>rkbrw4=%!60mj4Ff#QbkjjWt8;S?#kuQFJ z0fOVUT)kr@WVP;NkTT^Oo4_L2a&<>@D z_mA?K7f!CG{C=h5*qRHvPf&eBn5C)IUV*sX)%#S`^1D8G$SbT=S*uZImBT*F(3e(m z~}nH?yOk4bbiUibq#ohPmkJQm^Qmd?&7=Sv!|C;Os|*}*m%&dlN_Q$_q-a% z-C5+0I<_FTA1_iJ4LJXJ$=j(H4=DP0Wa)AJnm_;;aSMpVwUR#uA6YI0#BU%Rm%Lrs z!|(R+=PR_L^YCYS_=6f>%Fy7?_4B{?F!*ORUfzCf(nsn%{_kqMybasKul4Yw`EFob z@^)+wf0l<|pz-pyY!6@Q;Wuc!ygl2)pYGw$*LZoGw!t?FTH5!Z#)q}U$|E$Ju$iVyZMX-Bb^(vA40=#<_A3rhj zKMptiSf>#Dz<(_DCOP-Xc0{FC0;hTAQw{HfW z;+J%%7d7Io^TTwwlKh$Owmzo&T_4kp)^c&Q<*e&ty36~JZZzt4uQVdQy25%I`Lg8i z*~8%9Jq&&{`iWN<{{_9^*>6o+{`jRS$;y;b^>@4O=R-Oi5k-HqUZ3iPFY#YL4E|}2 zm-jfEJa>s0%D8%4CN}1NDy^IlY6v`G~kc)i!^-+f%=L%lTFkM+2*7#()9Qeg?B}rsb1VfZbpRk zF-@OY{^^Fy3m?_=e9JYjO!_hfw0>Vloc!M?RKU#omRpo6dOSLk^v~s_=cvfM=4$#U zbJEL4x-$}-tLYErq@SBX%bPu#{*IjV^Rwu`sOfLi^qK9$-p{4LA2% z6*wm&;=*#$Lxk@Mmut0#oBRxXn}*{(?{XRV4H~Yy(c|;)8jjbiXVAZ+;imsgxu#&+ zV}F?o#g^-A4L9X6;YT&x@GFV3QWS<`RS z^qJ#jX%>AkD$e>==j5NrqFc1o2NFh|z?Y5zYt{6Na?)32@xMmXm*p(a$}IXr zn!Y4J&$*2C8Xm}Z9CW?(uZElUS*796X~8n^w1zLz@N2CSM4jMwVI1c>n!W_zCg4@1 z1)>lFF8S&PE79;XH2gU|01W(d8h!};cp3N$8h#_{XTzuAs|w_Q0s7yDpReH?^*}Lv zzNg`p8gBY=7$W4eC;(4t_}l>eRt+x;!2hV>69e$YXczK7q>AZmwgybpS)-wTa6r@F ztwCVxT~Vjni<`*9n*I(A$fU;?4FlI-HT{hmZpJZhqfVWM`oW2i18HXsD)CXEKf}87 zqfzH9|Hg_%o%Pn8iZ0ju7ir8yiz4c+Abnt~rZ3STBe%SbISOV^YpB9^BOH4;p?*V+_0)N{7?Y?u7;x%mLLE zoQ5w7z<;md7X;t~AsE6x0H34bX5u&elN!EA>q7(otcG6@fIn>b2jG7&{GsRUdX2z$ zN~HY*@Z}nQK>)r@!w&`EpVn|=Fq(4SZTQDB^L^g%55W5$uiGa8pRVEj#*JP6It^bG zfS;$~7X;wf8~y?KLxw-bpUwY8!#@D;k8cUG-7W~gCu{hj0K8hm9gH)ZKjTrSSzy7R zsIxf;lKZIB5(3{E0&fd}cZ9&Vg}}SA;GL)!TOxQ}DsZg?EablkTn}Cg{#}7XNd&HE z1dc%;xc)5gApxl4j1`c4$~ObIM&KheVCE*OK2>aPy%1kv@#1zQ3QeEuiW=n>Kt>&{ zOtRow31q?b;LU>TL6-&BgCz^Dg**$cg)MlsT@bBSMjdi8|SGLZYaXEhh>t-+s=)2VX+YaYY^5%J2!I4!#PR zUl%^v^jn0_M32uN9eXN-&vg*xv6ek7J~yO!IfVX?l5aNueUk5FFW(J1cALPb zdhk*mds5)jv*3Rgc$o(`U(g&0l`+;S_uzFpwn*R=9{d~~YZkcg$5^f5`vgAMqhG6I zw+r0&OPCt|D^%)OYkh6{<=>^gHO@1w7^$*a8uvw1zzRB%}U@= zft%LCx8gK~3l%xmsqyH=SBkqlsO;k{f1@{!q<#GLPKi#r7w}y4Q#BtWi78EgtELaa z>oom-O=slxd<}n9!_A(@V~4}qVn`OMZ+u;KI18oo+Tkp}*{hBu&GybOF6ObV7~=jcp$bx6J!Yx*n4WYX^s zq5qMlzj=b9H{XuWI;v0r+1veDukg{Hvh%$bY_ubB~4BlOg5& zLkPSCQ+Td^sSkng1U%O~b+f>$RUzYB_me+oA@J`CpT;ac z&xX*y7y?&^Dzc6_%e!Ck;1iyUESrww6d}(idHCMG5ax4H$F!_NsPcfFl}$DQU-jA> zfqB7nZ#34640#VWfnp3VBC>W;X!%*HvGdfv`^X{me_l3(_tz72fY0%AMSm4KBZC~!MgYI7H+FN zVQ15WEf+=?RAixa0eu!mH#77xHUB~ROwAa|>B!&d?l)y9vsodhapi!hJ{fp~-NQNA&5UBk1WP`NYDJu<7+-hQKlTBdA`l?5u;FN7(2`{3hZfDB6*{t>j2rEL7Ap zp2$2BPKPN`3%|p31bmL}S%<^7)M5CA_M$%3ZoPm2-?cM*&wnB9T)efhVccf$$ zEb~FOV24_rV->UaG*;_MnlSa<2SNO=@XMv`dgV9s$Omxme2zw?^v>xpB~lM6i1hc) z=jaq~@4SwBPWUgdJNiECeO|Y8aPOr$ig~?vM!lEkh&%A8ET7&>bd(lZ@619)J%^## zD<`FV4=>6`s%&yAvY^U8ta&bFKB7f{Q0CVCfrUjcl!3)cFO=D9pk9cBYpY&JbGMu2 zG&w9mwnM=0Rn zGx-K{U8XqIoe^vlRy+t>8kYvCJ0o|C^wL%)p*8_6iK4TmskPdA49!9=Q|Yo(c_j(4 zDSa1C*4xS?DIO}5H&NnIIlh%*J*rgBw>RYeW_K7)mm>55dR6@7rky+aU9avAyiyUL zlTB_fV@u_D5DxsdR9o+Sos;$PAyDLgOdK5BcUbR|%T8+AGDp4&wXR)0(pr<^3(&C~ zQxE<%Zr++~#tW8NWF_j^tPlIW*k01=k7r}L&w3!9S?2y!`C-3+8g}`M zC|NI0hxbxld3ZGZ&A(pCtZ}MGLcDApJw3IXp@-%3P5QMUy=f}b^P$~$Brm!0N|xPF zNAy|o94(gf`*=Cn_xdR!|9Mf2jVuw$Jy^^;6{JCY2AS>DyH-6KT2T{xuT2skfJ=3y z`Q-xn4h{sot}0Bq2=egi&C-??eEo>l&}-uO>=GUwuWxAC9xq3{yG4C~PM+kI4--&F z*46fs1HNjRHMvQmGcvfx=O8CM65btT9bPkK7pOP$tGK-6Jz3w>WH!zUb%ZC>xMe;> z1F$_VR}gMa9AVqf`33&Wp5Q!1E+^f{=Uo!uTBd?5xH(x7SH3YuHffXaZkPY(7My%u z)qGwEfe*$xA6}-v7HIktL*Q#H`0tR;lz*KCXTGa6pN%2#T^9U#i_ZlXoP0KDK0K$y z%aqf=ueRWyf}hRegDuybdC%isM;k@m569yMGZX2H(N0Dr}B z`HrBrvwZJSisti7*!dv94;g;g)l)mC43~$qV5bni*QWNBmnA+Q`sx8*+wgCV-v)*s zF}$PUM-9KiaEWsf{0<86bmB{)pBUgb8UCH|`+(u!8~%jh63=qje>%XQC%y*yEdjpW zaEa#>_EDc1e$2#k&~S-o1MHs&@B;Wgo%Zi0=t~Fq1%_L{^$i!lTVSU}fVU^U1N!a( zKFDzEH{EdYy9;(E2KZly?}Pr10AFmlT}S?ExcJS7oizczk@z9#UkmW}4Y%vaUc<%j zaoCZ+pOvEhsQi24r=kBPz@x=}Zzmi2#sS{eaN92(4VO3zW1Z?1;6n_zc19X5c1pv} z_yCu`3zj17VC~#)xY(%#JNE?mqlWKydYvbi8!mQgz|J!P{vz>YwCC#q{-NQv-}f0V zeiPt#e}I2)_}3=>9}SP$K|F zz-yu(q+eb#cIp}~b~>YeQh;|h-0mNG8!mSG!_MFUp8+oEC*OUpPd6Gy4eD zcLjft?5D%;69K;7@RQDl=G$h&CH|qXvn{|sCY}ZTe**kl;@Qy4-`7jg@uK`!!)?D8 z$9Pr!EZC_S;H?d}{odYiIo|oO(>=gP8gBc2g5hFkChSZP@HxbnLVtgN>-$J~+2+af z&@0!!lX{7`=E-~D+HPy$cVB>iW4O(e9}Jh{T@E`1asEl|D=$x6=aCu#-hlWf*uOZy zFE`w-Q@stBIJdyg-~i7cz61J60e*|&`<;CqNAnC9zq?>Zt}`G-+ei5m#P>n}bbxO% z{D8BkezzJfe)C~xXMpb`ehB*g0ba7SME~FTdqH10z!MC&`P0~NiSsz@v%_8^{be(@{z)raUPd41Ho0l3c@g%@bmjJ)U@WW28d6jOs*hz++i2=R< zT$UfZ4lX91?p~MjF!8P)N1i78o#A(5fWKk5olib6T;gvBJD&ykVdDD!?Nopl#-#zY zzxu;|*#NI(xb63vhD)63u+uQWuQ1&9dw;{lP8RG85AbP*+kT&AxY!vAJNE|oW5j1d z|MviY3!L-hUE{Jc#`otGO z-y*=<6JH8__W&PcxLv2x4VO5V!_LG2{|oUo(BBc@iw)oJ?CU)6SHs2c2H05>;2Vi= zg8sDtf8TJsuI)8k{BD7ruLAsg;ya-KCBUP&REOqI6X+WUcw575{&X~4;@ky0y#jm? z@oeZv1^8sct>5W}i{E{)Gb_Ls5U&LNBLTk3aGQtg4Hv)pu(K(^w;R6S={2w3H(cx- zf}KwT{A=RJv0fh!@In=wQCFmYZC;f$T>Kt~-^u|VHQerV>Kh(w2gK7Nz}p&b?Q}5Q z?w6(*F7`L!y!OojzSi)3r`L9V)^M@219ox)e2?LFzm#XV*x3g=-vszihQDv(DNxZp zaYe`7A=oJ$;N=as>*fW9OFXAxr(S^fFx;-2eGL~oh0%{g1KeLf%E$k`_{Bba2I=*h z!?Oe2Usoy;;dO8|^vdTsA5zv4@9J^nHL{<8_}>ZePYt*8$=8NUJJite72t(%LQMOy z3G`(GygG5c=5pNtZ)CXb_hiE*&d%`LA;3o&Zu@`V>tdknYz{;=U3UDv)dT>LJFoznqcyowXKqW!oA`icQA*Uz!~($IGd z@IHp0bQQHNf=oreSbDdKvK`Sk&wYq-tB zHw+iQTj2No0RP-@n^y-67dty(=U9OMMtm36$C9|7j`q9qYKGgqiW)9{cfoJt0B>cu z-RH>li=?Pu{T@KK0PkbCwKKr*gU+7j)m+0R&ZY97D~keri{bfBr*^g*E+*E%&PM@$ z#PBbT9l4&86g}Qeuu}jRx?x_@QCI|Q(h95QY$n}?`XgeH-oks$E6S%Hxx(>cV{9oQ|?cZ6jQz5`> z5}yx!!vOC^T)&Tab%2jH+~&`C!=-%|!SA#HpG7h( z&V1N86yQbV!y#9s{l9cKwNu(~v9lC*&JXZw|P~`a4|6-c4`H9 zW8#Ytf2#mbHQeS^FT=&9u|CH(cy2FX;Yr<*@+&hvC0Co!Z%CxY*eMJ8uN| z0dQUi4->CkK%$96z9+8hV3CXb>jmAN_}wB8TqzgewG6lONn^vs&L-Gt72v7FcR=4K zz=smw1^t)+&obQh`wfOmocXYGYk;pX-1hq#!^O@a*m*9%cN%W{eV^fCXCLhB5Ac)3 zPeWfI!Buueo{Amib-+1K>Jx8{JZVB)^P~f~+Am#5yhS2C0(`LHHcv7PFYM|UhMh?P zehcwR(BBo{4-l^b{a*uoo#A$!+GKcP7iR+Oyb<6Z5N`tgX90fLaJ#PkXn0}gHyL&c z*L6=^(e_tfj(9uhF9`5PhTC=RV#CF6XV_^U;5~@xv4f{0%{BpzX{-L|!Vy7_H-~ItU z-f+8rxY2O2Qwer%3-Bkwc|Wj{xb6p@Cf*gtn@jc+;CFj~e`2_uSHCh`;;#Wa-vxN2 zp${O|U+!TO=t~9o`NWfiSs$bB~I198sP5`?+^QX0(`&W(ry~(A;azXI%&AX zlMed@8o4K~Xum73Yq%X>O$--1S+LVO!21|($JaH6i=COUlM&!|fR}XI3*Al6W6vY5 z<7)wN9bZp^>+#Nq-?ah0*>F3)-ZWg|p9MR+0{jc&i=h8Dz<(mX6#62KoikT7e&wYN z|JJ>(`B2etnH z08cjD=KrOJ%kh?m-!1_@z;K(-Lk$-@m0)K~fKMU53-R9^;CCBt^Ldfs;HJWMnEd@w;94UgF`47c{v3>SSj=yMFW`elZTJ`MU@ z!>vBgaM9=Bd8~2W^Rwa?5x6{DhUY1UTl;B-%fs9vQacjKG2H5x87>d=ipJ!TT*IwC z&+yp8;$9ztpR?jOT=dZrUY}yPwV!6V=u>2(a3#lZt6yfg=<}e@HQeg+43EW+@gBi( zpB2C1qOS^lis9CNn&G04LZ4%})h{z#^hrAZ7;g1>hKoK$<1gl(xN=tfhKs(N#&5W_ zpJuq|`)K@zTm3S_MW3ee8*cS^hKoK&<3}Ey6~E!4U!d_DZtbTTF8XB}zu{KD%y7}K z)A$Xydc7W$#3}k*jURb^R{VyGey7H7xV4{VxajjVe#5PPnc<>8s_`3c^?8PiK2lo# za|Pq(toRKVeR1e@T(Ulm^yQ$>G2F(p%y6-v0)4LGR-b3M=+iWQ95=@kHC*(QG=9Uy zz7`!HY9|*j^kKaSTp2_>1w4&-4)|E&x!{wCN3f1eBc7t`5%C=GImC0p7Z8u&pqCI& z0bfQu2Ye;*T<~?oV}rxB&qm@Y(h08Q63+qOMm!gMC-Dg8@!iBz!1IXbfFB^93x1S% z1oP}E;wj)dZlwF9339-7d??Qa*Kwdcf_bni@=O)GzFr**?*;c7F0&9RD`Hnvuh)CR*YMBc^}IaBpLdV-{SMv+ zozbTwo;F4=@hHCxTn=-yyM^Lu2Rj^(a(rDbc3io}P7C)~iX7J~?xt~GBG45*-p;V! z+2gZ#f8xEMA0FV>8UCt!tbQjOF741Cc5VuA?w8Vmc2I8naK9+G?O@~Y zNpaSIoq++a{i*F-7<$b^=Bz)B1ZTZ+Zl6QYbDk(qr8tj6-zUJ?zFyyr?JK{W?Bv7# z6#>rUbO-dcNw2&+@m#X|<9W}- zgFkOQGr!3kB&EK;JBv3nT+Z!j`|$jUVIAT5a46y&XY7bi z0q{Jdygb>_cCHcNbpt$^coX>T5a2u?CPP1n^vWv|uK|6{0B>aYUiVm!tGVHlKMAnY zF2M2fnfBZO9k-`))~^ZZmGk_t6ndVYmD~BDq}y!jaq)bmdC&Q&oc+!W_*I^W*L7UX z!gHPnlxzOWzV1SI>mwUuSGxJT*gj486mXjlrOa{lhhF{8$8(-%l+PgjB0QfR;COow zJMW~QafwvtZwW6?07_Nd3;$f9ySH}ElNV8}9r?UQi?vh6=%Ww_`as3*zJcK%8J=YL z$A)Xai=Ewur{J;ht%hsA2!Gx1K6otr4Z{Z+zRmD7!^=t~l(D!M^rk|0Kgsa744-EB zcEfWF-(mP1!}l1z!0=BD=lpMn*Ld71uZ7nopWk!0a(HgvU%c#?jz=CBy`b-md(CI% zoag$S^IZ9L#?Gt8FTcMS3f)acU)ViX&h1bGI&KH$cK)%SKl1#O06Ut8dc4YQJJ|Sp zQk+fjd|-eB$Hs4Ymt5K}#qomVTLqJc`nn+f?K8C@_rfc=|5Rt~=-&{qUXJY}G(b_j zD0wo^2umA&uY3F}5=Ylx(F^a6g+=$h${Td>2CDhH*!+1n9?PAs%c8%>aBV-e^8w=2 zbx^rpAE7M6($MRwNm9C^`gwSsKwSN1 z5+9T5>)%TJ6FIr%%G1PW-D^y#`7Q=ay#jZq8&aWzCac?S3V~`1JA!D zei7`PAilqXw{x2K;0B)S?;mNLS>Pp$_}7)!z#GRZ#BV}7=Wks1@-njK@ofH-Wwn z@mAm&#H+XVajYVKaYxVfa|w;}BKX})`fiv{P7?pBk+-A2zoT{*HuU@=#HIW%XwOc> zPvL}II`R7v=Op5b>UsOO5x+9YbNziB^}7`O71HmHdcA(0tNMBkJU>bLH!*M57NIMu z{~Ys1JK~Lzw^tL-!TO#>yaDoL9`WZe?p6^Wh~s*l_=6RFeA|iZ_51b{{}^@-5pRih zI7Pf%eQ&=o#;d$6`$qjcoN~nXW4+PyC91y@^H*ci7sI|ZiTJN*&rZb8!-iCU7e?(r zj(PhU(q9U{qlxcM@y9ip_^q&WGx0YXdi`C*e`@Tx{w|Eh(;EG&zYC-ME7V_0cB;bf z3&bC3rpY}yV}v;W7f}Yly}Ac zq&DeGT<+sZBz_$8!==QBboYAwTvhGsK6?P^M_`^BNxWAhZ)YO$Jj|0biEqZdH<$Q+ z=pP{dE%=kfPk^r@{$XPu&t~G^dK}qK{65Uj9}(|}IKL$RHumi&iKjO44hmp@r0sbd z-e8|cT=z@Wh*!k^p&s!P&Ak2Q#Czg++YujA&g=UTZ;SbV0`cD9_YhxE)7$ww@nYD2 zZXvF}>-=xxt{Vq{2}<=Li`it zXFlvk9?~`JfW$#pGdqP+Eag@LhVn(adjd6 zZOFrZ#LvfkJB;|06z_K&@g``8nZ(Cq-*O-E4A{}%kI*<%v9H)k`pgpE?-Am2F#lA? zyr_1rhrT88ZWuoUiC+nRJ@MJ#3yIGMUr&5Bp1()@8nnYv;{7l$6~*fse<7WRiC4h; zkuJoSVxAmLyd?7P4&qVd;iJTdC;E2YK>QKRw=V?v`^4*dGm$+3{vGis_7y(_cv+n1 z(Dr#7^Lv#5PbB_&OCM0n0PjbZZ zJQ03BCH^_)y|0Ov$2d7byjC;sw*bbgw&x(^;d#UhVScDaJbIb8qvuQ1PCvxcob;cd zzx4Y5s?S3^bSM48$j<@9`!@G}M-ZQl^=mxwHAuwi#Ft_I*X#dlJOePF==J}V*X!>6 zK1z1}RnYUl6EA~t{w(pWDPI2y@yjvp-X^{n^ZzHr7fN8R949`zi|2_r->>m+Pxibu zaeY7BiFgw1=ym(m&V6W~A*3IPajVzuSAA<7mtMDDdGV-^X9n5%8U1w!@u%?qWh?Qw zuut1bygTgZb@J732ke`FA-$e&t%&?peRJ$f8WNw{&Bx!Kcx{ZA{>1lTBA812a;zhZ ziH}e5_SX^Lg>m#D@h4#C1o0PJc{`PHeo>EW2HNvd;(JlQFY#;8k9xg#wR0=x?J1<6 z4EI}H$vcR*Z0POZOS~~Y*I7(l zuP^^k;>R&RJWu>y%wv0qUybAXH}Rh6$KQx=#5gK~cGC9$dy0?0E^+PO#>B@U&$|+D zjPZ2^alMY^jl_3ge{~aa{jSEN#EW9ydy;rVtRt@xAKum<*PFzfVjuM_aqY+NiR<-k z3*kJFw%c0RDN8(xe5g!3L+3H#sTl9ghz~Xlw_M}zi+TG& z(jU3Rx7!-x*Cu(sk@$U>Z?_O{iRbST*LhH{H?Hv{b@leYAbob!^IwS9MIM&KzDe!q zb%M?(o`UwNOZ-R7Gp&j1@1|cyd@jb-K;o(&N<0nyJC*nWtb;R&|5(Z&?_%QX(T_`s zuS7i05?B2u;@)~B@*#1}lYPWn!S9d6wf$pX0&_;S{jWqnRl z-;DisE8?v#^LBa@|4*vt1BgF_eZpkok7Iv+8}VtF$L=S-4g0Hyh(CpO;c?;{i}`p~ z5ZCK)ts&kD`-JC+Yn(3<|F)gCzl*r)cN5=$^I(UFkHI|lJ@FOD+j4kctNnO=NAI@^ zas6G!ONm#*eA1D4F^qS;j{xR73fcR@A zyx)A{6UCq_2Z`^+dUTZd4!l1)N&Gdm+iBvp(eH)O4;ueKjJrz2S9I|4R40Bt`Y%d+ z6yBfc_XX7c&&X$850#I=akVEqi?HA8O#GSdKAs-L??FHIA^thy8Ax1z=VmDJ4VdRg z62B7j##rLNAf5@tQ!)SRb;$L2^Dp-C&mevO%RIl8c;%?)_Ytp-b#Mvs=tW-t81af2 z7t4uXhJC_n;!ia2b~X{8iFxl;;{ED+{hP!WV_*6S@%6BiM|?HfVL$ONupc-@{4wZ% zCB7QRTR7_D()M40@luX>Y4q>;#Pg9?4Tv|x`;KJdE$}|*QsOV6zq%3chxY}8h--ch zBR&Cnl}>y>N+eds5kHD~?|S0N7#Ft^PsRTBPU63Hj>O8{#IrH3?7Wyq@@#?IW@B9PuGI-p$1GurJ+0{B9iAPU6?5L}Fzh@jaMV z4-ikp{^U6EGI$=T9f=jq&&!MY=cS2j{!}2owY%3hBz~Zy=PilrKBgmaU8hoszlppZ zMqKrJJ$8+MB98Y4(pSekqt{(m{Zzc)f0*=Zv2HFS-YCHz*H+>+a9&_L@p+gJPY{1Z z0&wML;&-4Q8`bfzYn-Z2B3>-T>(Yro)YkKH#BZtV`Mt#3V!SLSelOl1zCc`m=R249 zluNz+BgFN0h)xp!3+Ay4&`x^1pY-r{>M%$9cO`yhC$H~Kd@lGj;@a-F5bucj>hHu? zV}4ji{QfrH?dg>hcAHSyQ6PiRkk82WJ(@t5#?9Pzbi z=evl%gL!Wu@i#C({EPU@*gtP3eiinAKNH_v%C}EJ@fzhke}{NB)}39%&&PVPm-ts0 zM_&GF ziMZ}lA18hZ*1;9T-^KACAU+WN{w?wDUA*72SWmQl23+oWW#a!S;CW}_8^L=JKa71~ zHu1j{^mb+t*Yl5$6E6)rD~M-eec4KU2=Zh*@wLd$uZcf{Jo%A$Pt0#6@w&E8bL1-}oxQ#x@fnzZl8I~lZHVuw;qCM#uKEGQ^>?N-i8n-k zP9(k%`-l68AH#lQBk}cxeLTB~kHUKY8S#JOJoc}|A4>6d3S-}`{qia1L%qJS@|oz@ zW~5I+e_cs@YY}gM0P#eekG+L>Gvw85;!WUpJ#oEG_h#aHUiUTPwXh%in7E!d{*?G& zv`iT#Pz&!4skti zJe#^?Te+SGK1_BFH23l7 z=NPO%59^8Y7cuYEBd+I-n=()J_PY?*^T1aSpM`mNG;!6BC;l78;~m5`Pwpn3hJE`g z;@bY}iC4uwSg+rErXA3Z?~%R^=8c2I^}O+S#G7NEQv%1K_Vv7RIpXhPzuJQM=$5{n z+Y{IE)tNY!qsSoQI(~-{Ps6-)BXPBV6Y;w+FFin9`(-Kdr_e616Q9`KAD3Q7SKH?_ z_VfElUrhwA==F6~{|fs30O`AdA0e)P=k_!4#YMgSVmKeK_TNGKS0cW=gxA+5J`wA9 zQ{v;WU%G_&;7;C7AL4o*;9BCfuwR-$d>GcFY~ro4znww69Nzck5KlqB+)4b$u0GDS z#E&9>^t!m(ZZ~7!sMo($ev9@y*|{mj+y8?2ag4ho#GfqY^*^-V)<$A@Pq9|0?1oumG$hekt;58}TYVe0#n_{A1+Le&Po(uO22owt%-& z0PCLi%k>za#fT5+==B#6PmX$CoA@;B%P%259d|3Z9a zg12)k@xy3`hln4;{QNlam1xg@5vymqaiC0IzG$XFx!{|hOFy`Uz#6NFVX(!mFGnD}Q{ zkBYYNuWNs`FXW%==U2-0`&e~JKOXPv8x!wZ%G>Eq{B87$e*UTUS7Ki@iuAQG?`0C- zs`DFh{a)rm;&U+XuOhw<>+E{s-{JhmTf|#+^~d!d@d*_?KS*5l-w}Tj@s~yWooNU3 zV-@11uupD7d@uZVAfDXQ$1|Gv2<#iR-_-9nXrI}n?}PPmKJl`6zqX3_63n0Li5KYP z13RvqJBkM|d>E47KQi+cN)6VJgo?N0nO z^l8LjMc#}dUahFNe>3s%n73yWFN`?+D;N6~mzV!tt+ z^nI#(`-_Qhfc_EU%aQ-j5q}M=`FOwoZ{n*l|NKmRWJ4ck0h~Y3k8$)E@gW$W zFB0#H{q1(*!>f769}!pmC&Y6xFC8PU`X7j2hJB;{9lZ9-@Tm7&9`mU3s+c#L5x)`h ze@o)}z2xDowg|634$4Expg#9zQV)sy(G*cS~XULNCj z1o3SJe4JB=-`vCV=>h%#@e#1Uj`+<{Z|8O5i!mR5PJ9UFs|fa$+Rj5TpA-%7n#31i zovj<-ml5BG_&Wvo5aRjB&yfMXns^fC`HjSXEaKbeN8*JrFBQfC-Ch;jXygr-wXxPso{%BRNpHKW%^!pOx z*I-@NzbDZ4Nx=HPj`SVTZkvcd3BMl@{~r6Ce-qcw(e!<``kjw?piqiG4&@E7?=4Gw zF!l)-5ZBM^I}m>c^HMM3OOUsNi0g5s6aN+K!S%%d1^YJ`eN+8+nE&gMelDK3Al|0CxAO#Xoj0B#uJgtT;=f@Z7{U1!jpsj@XUh^# zEARbYNPI2EdlTYnrv>phq3=WdzVp5PfyArf{NzO9CGb8}&kt$*mtnoWhx8SYpNojM zspI{wB>ocGXD#t}@qYYO;+mh^h(A@w+s`Au(&NZi#PxeQzY*8`DS~|0<86)oWKH6~ zU|vcfJ{aTcD&ifnU&;vZ>xgfv=?~x*;!}|)vxyJG@jOOcKi6AM{GWKAxRJPiuJ;o0 z4z+zegFE|sZJz?zFJ%(%-^lB-iK~7Z@q*Y#EhMh`2Z_IjalM*&fui2;dg9x$e!NS3 z1N!Ad;^nYz>h~!1csF9*JVN?bSYHZZK2!ZQJ$yVRh<{bk^9zYj!#sHr@fvNszBTcy zFz)pIg!)aC2d?xb{b|h4R}+61d37D}XWM!^*Ap*=`1N`%>bEuY^GLr2`T02U26(@) zg81DRc)!mR{|fK3UMBu5_FW$kZ(ZEm*+aY<*5AX#b>2Tld_3mEV(_oW`(ZIn(^L)&s8qX=@c{IQih&L+Z!A44?eMXxun_Mb#PTnRg(N9x4%HyVz&7BPMw`PDd|G`ra5*ka*)iee0ex@cUt)b6O1w6L)$b3A zeQa4`_U|IS#`6fc=&?14>HihbzhU&4Vq*IL1oYn$Z;JP`=kqsD?LYC_w8GW>-(1vz$FZ^ zpWw|zP8p6VIQB}#o?cMW-QDYMtE2vTE#m68DRK3i0xo`=dlRw$hmcR_on>elKx-UvSLW!IT=aQ>K>>g4?Y+@suWB*M_*p*^~Iw zm~5^Dm-fUG9y4?+>DA6%#C4urLcBRTXDQila z`?Mn729sqEa6R6Yg?#-C((CcQN_xF6#HRs$jo#j#+HZB9f8H9LF+_mJRZ=0M*8LTyuTj<`jUNqAJ41M*9GTzT9G~v z`o01ENYeib{Y?S=J*2Nu-^cg&fc^#2w}t-0fWApzZ;y|wC2<``-H88sk+0tiT=EK2 zMeK!}NxwSk_4A2;S={pl#tu?A_QFQP(RDHY0ohUeUmHCh#`J~zc|Ux-wFA5nacze- z#P#oH+ks0v4DhaE|EH7w-#A}1*66P``uU{S>kut4dYKRPcbc9geR5rIY%TGhaNcPH z@kfh#{bu4bvEO=)c$d;%|2FZ2j-Kx(UOCb8&xq@FB=-~Vh|S$$;#=@O=NE8kXB<+@ zLHVn^ALWJp(@2y!4mZ+_IMOiEp19E5hyjrlc74+`fNFF}wsG%UvJC zOBtSKIF_OqnPhlbJeIp0JeGLMSR@mTJb;jwVL|6gY~mZ%uXHQesccN%W@ z;dzGJeezMm8{={8P6Ba7?wZCP`Txop-puf*;mr+CGW=r0Qw+EJJ^j5(c^Rn?tCeQ- zcHW+3xSfY{47c;}0>kZmyUcJqAFeap&U<<&^0LiC9S6$4LgSS~1>rV7s}k3~i5hP6 zwgGW%izLHsKI8OOMEnZB9l8|U3%7aRjrdSJ?_;>l|3SpD%tq1-x8q_gan(;U+>V!N z#0TSfj^TD3%^}_&&lebO$JY|#*W&py!|k|RNnCSoo#A#oZX~X`m}|Hlr`w1(!1JAk zYmNxoO`qW@uV1T=b3KAJ3-&aaBX9GX%KOZC(Urp5z&t&uKG!a zYmSJ18gVR}ksQPAJT`~;JTckb6wuJcYULILyxaNqww34{a4=-YKATQhbZKvUO z9y?&Tov%uuve+pl4pE|p+xh1b!|goN&u}}Rj5qvu^M>Jeepqg}od;ev+>ZB847cO@ znBjK(>hBNA@oMhNA=kzRNVpx3`h7{^cHE^Ky&YdO47cNGq2YGCJZ-og7h4Ut>)l># zI3*rCE{+*)^S=~2RrEH`>l$wJxu@YaZ?g=y`5AR~rAUlu^4Rl~*#Dl}JWMm(=3$QE za1|rV47YihYq-tBJi~1sMx+5;kvMH0Mh&-lm}0oi!!*Nf9_AQs^KhBrHV<TRpj^*Wr4iTjQJLV{4mncMl_f^s)1%n` z8x6Pf-fqL~ym!iQJMUG+d@Jtkyr;h>E8Na|gN$BY)AKEn#3|FqXO9@^?z1QR`?30H zaz@sO#O#b|*^$K9!}Jl^BO-|-r%b_fc`0%DHNBfB_s^J;-9KaU_{<3-vL{aN)FSl; zlC((bJ#q5*5m|pIOddZnBfWW2m&~k;ZX+h7XJvFg+t}Hfq_Z5JrAeMLeZr_embJ>9 zG9o*B`X39Evoo@?{#e#(a>k9B6Vm@!*fMKMM#goiS((&wXB|k((SPnpl1FD{O!#BJ z&09>#$R0j2YvQQuGAE2lb%`)}qVMQ4-7kH7Rv2+Q*=t(ScPbil~{Rg&aAv3`6j{S#s za>Hk8)`-cSGj7NnrH5*i$T;p9*GzHpl2yTGI7|57nd85{yZ;a0v9TeCa@GG3$-HUI z{f~qGuetvr5_6doGP8$|m^^vJbTmME#>lB-hG$L~Ju#B#ACDM0a&m@Fyg-vjOc;}) zndw;^l$ANb^?-lbP5zO@Q4`0H&zRum{RtDZGZMS@9?*13w#!tw&KNs<^yCraU6nDD zCr+IdTi5=-|6S(Rr{C>=VK4>v#c@B?-QVYKSnkiAic|mNbEv;1 zPJKD2`Dfc-`bvuJzdi2xpRKZ^UmS;qjBn2IEVWB zKHMI^9Mhj|e?9MQ>sO9bKkC{c>0&ZE^g|S76wGE$2L*|6%Yi z`DF_qe|1+mp8r$upN7hE{L&Weze~XXM)>cK`g+IyI|lp@dQ6Tg5=o2wABp9koU3L3 z69fKB;{&;CQD5)a|G0qvjdA=Z$MG+p(@CT}|BQowd#+JpVE^|A{8xQktp5J^Wv=4m z&kgw3zxTE0G{qkKe=*>HS{(mv;`rYm@LwE%m(f6+n!^6&`uOqkZ#Vqg@h5+3!^dC2 z8FVJjI<6%6|3zLjMe8f7h5Fooi5W2G|9S8~&G?tG%>L)WKifSF$KTQmzE#hJ6L|vlIe+$b z@tQyCzefY{4_bb9|MiX&|DJ&VpZ=u(T><}d;`r|q$A3B3`SJR%swA5$SO)zQ_dhjf zq?D^4FMl?|zwN(%u0Ho)n}Gj;@IUX2Xa9ixUmWnCw8FQ)-T%s7hW(F%|AJ)r0Q^VE zzt&egEa1Nlejv3Qgfe~xx|`P5_2ce<|Kg~)L>=K?>noPef!)7IiUQo{!2dcVy!apF zZdzacKL`Ju|I6V2cCt&&6!}NMf6~gc+y9z4{__I<6J)Y+<&WNf><##D^LOt*H)h4} zKgAXwzkDxBl-&P0@UQIzGiU1S^TMva3*oHxKL!72#@PBPb20l*4ESFL|JBqH?#t2h zL4o?YsLy)!uV$_a#GkUtx1U{qMz~5^U)$xTfd8F;GXB50`emG5H;w(S97TQgr!VsJ zCj#+LLi`%1cQWig8xl8|Dvz5_MZX&bKrmHb-t$fAMI}Je@nps zhDUw9amD<-{?GnD4%Dx?!q?bI73gW?{XqPKs`!z<3?gpJ`PiH zBp3B3xz}yc<5!mGUXRy)3!-QD-(*)w>+ATF&n|iFi|u7~ef`elpW~P39J|y{D(aOf g)#X_va)Y})?{4hBgk$miPm22bKcc>q#R~iXKeEfb`~Uy| literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/test_at_cellulardevice.cpp b/features/cellular/UNITTESTS/at/at_cellulardevice/test_at_cellulardevice.cpp new file mode 100644 index 0000000000..2748af4831 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/test_at_cellulardevice.cpp @@ -0,0 +1,159 @@ +/* + * Copyright (c) 2018 ARM. All rights reserved. + */ +#include "CppUTest/TestHarness.h" +#include "test_at_cellulardevice.h" +#include "AT_CellularDevice.h" +#include "ATHandler_stub.h" +#include "AT_CellularBase_stub.h" +#include + +using namespace mbed; +using namespace events; + +Test_AT_CellularDevice::Test_AT_CellularDevice() +{ + +} + +Test_AT_CellularDevice::~Test_AT_CellularDevice() +{ +} + +void Test_AT_CellularDevice::test_AT_CellularDevice_constructor() +{ + EventQueue que; + AT_CellularDevice dev(que); + + CellularDevice *dev2 = new AT_CellularDevice(que); + delete dev2; +} + +void Test_AT_CellularDevice::test_AT_CellularDevice_get_at_handler() +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + FileHandle_stub fh2; + FileHandle_stub fh3; + + dev.open_network(&fh1); + dev.open_sms(&fh2); + AT_CellularBase_stub::handler_value = AT_CellularBase_stub::handler_at_constructor_value; + dev.open_sim(&fh3); + ATHandler_stub::fh_value = &fh1; + dev.open_power(&fh1); + + ATHandler_stub::fh_value = NULL; +} + +void Test_AT_CellularDevice::test_AT_CellularDevice_open_network() +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + + CHECK(!dev.open_network(NULL)); + CHECK(dev.open_network(&fh1)); +} + +void Test_AT_CellularDevice::test_AT_CellularDevice_open_sms() +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + + CHECK(!dev.open_sms(NULL)); + CHECK(dev.open_sms(&fh1)); +} + +void Test_AT_CellularDevice::test_AT_CellularDevice_open_power() +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + + CHECK(!dev.open_power(NULL)); + CHECK(dev.open_power(&fh1)); +} + +void Test_AT_CellularDevice::test_AT_CellularDevice_open_sim() +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + + CHECK(! dev.open_sim(NULL)); + CHECK(dev.open_sim(&fh1)); +} + +void Test_AT_CellularDevice::test_AT_CellularDevice_open_multiplexer() +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + + CHECK(!dev.open_multiplexer(NULL)); + CHECK(dev.open_multiplexer(&fh1)); +} + +void Test_AT_CellularDevice::test_AT_CellularDevice_open_information() +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + + CHECK(!dev.open_information(NULL)); + CHECK(dev.open_information(&fh1)); +} + +void Test_AT_CellularDevice::test_AT_CellularDevice_close_network() +{ + +} + +void Test_AT_CellularDevice::test_AT_CellularDevice_close_sms() +{ + +} + +void Test_AT_CellularDevice::test_AT_CellularDevice_close_power() +{ + +} + +void Test_AT_CellularDevice::test_AT_CellularDevice_close_sim() +{ + +} + +void Test_AT_CellularDevice::test_AT_CellularDevice_close_multiplexer() +{ + +} + +void Test_AT_CellularDevice::test_AT_CellularDevice_close_information() +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + ATHandler_stub::int_value = 0; + + CHECK(dev.open_information(&fh1)); + + ATHandler_stub::fh_value = NULL; + AT_CellularBase_stub::handler_value = NULL; + dev.close_information(); + + ATHandler_stub::fh_value = &fh1; + ATHandler at(&fh1, que, 0); + AT_CellularBase_stub::handler_value = &at; + + CHECK(dev.open_information(&fh1)); + AT_CellularBase_stub::handler_value = AT_CellularBase_stub::handler_at_constructor_value; + + dev.close_information(); + + ATHandler_stub::fh_value = NULL; +} + diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/test_at_cellulardevice.h b/features/cellular/UNITTESTS/at/at_cellulardevice/test_at_cellulardevice.h new file mode 100644 index 0000000000..3e70d03559 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellulardevice/test_at_cellulardevice.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2018 ARM. All rights reserved. + */ +#ifndef TEST_AT_CELLULARDEVICE_H +#define TEST_AT_CELLULARDEVICE_H + +class Test_AT_CellularDevice +{ +public: + Test_AT_CellularDevice(); + + virtual ~Test_AT_CellularDevice(); + + void test_AT_CellularDevice_constructor(); + + void test_AT_CellularDevice_get_at_handler(); //tests also releasing of those + + void test_AT_CellularDevice_open_network(); + + void test_AT_CellularDevice_open_sms(); + + void test_AT_CellularDevice_open_power(); + + void test_AT_CellularDevice_open_sim(); + + void test_AT_CellularDevice_open_multiplexer(); + + void test_AT_CellularDevice_open_information(); + + void test_AT_CellularDevice_close_network(); + + void test_AT_CellularDevice_close_sms(); + + void test_AT_CellularDevice_close_power(); + + void test_AT_CellularDevice_close_sim(); + + void test_AT_CellularDevice_close_multiplexer(); + + void test_AT_CellularDevice_close_information(); +}; + +#endif // TEST_AT_CELLULARDEVICE_H + diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/AT_CellularInformation_unit_tests b/features/cellular/UNITTESTS/at/at_cellularinformation/AT_CellularInformation_unit_tests new file mode 100755 index 0000000000000000000000000000000000000000..926c231b071e2e291b07dfc568273441e39bda09 GIT binary patch literal 385168 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

vE2d zc?(KGxeb$WeEF)v%8#)^W^aOd9p$n7D~iS&vTmf9GS)NERi0gkq*wHW0L}eG+3FS}L^! zuM5E+`PFfs*QC7$XVoADXI!V}G7JQZa?G~|OsCK^(Wc&g_uqrVfh^0#;m zW7Bx5+bvZ-z{vB_dHq(KGm$x!%n8SjwdflJe3uRM1V$n68k;wWVA!P*eLVJ%sEDUy zjv~6+GMxZMM(b)$w&(%wa+`ej|%8KT=e8lU!eA(3(T7nU^M@P1ozDZsiutq1r=y!fRLE;o;j%3ewkd&Q-F zMa9=zJ{bVBL*LfqXuE&cmU)e!?b8caO3^O1XnTN;Kg+S@uF&Nif3^n-LC@{81Umsb z<>D>+#F!XGUZO|%JC@*8f;Px}SuaSQvILJ3)c!2^h4{0($g@!NcsoJ(vysSAtG2oP z84rur7RNm^DrSa0pM=a&N0Nv}*r8a8;K~u0N zE`~unGi~lTfc4j*@s{8Ot<@ACqSv7Ztu60zb3X)V*W9vj1i=bR@DRXI zm7@c!%N?44rI`{#WAFK-TarEmDWmmO;hf_oFilS>{-Gn_sr1Qi-EqiES#^8hGi!7o z5UkIcOkJGA@h{pU{{U#O@_6MW7njCD!}p=>(=FYYdaT1F;q|f{Tw#bxoNkNsA=r?_ z@s{QUtuiWcDpkTme7Y#@kF5cJ2CyM+&svhlW4PtIxoLeCTH5&pEkE>T=+N@aA4^~~ zjBwK}Wgmd-b`AyC&8_{QFE}yifZWjSa0&Tou0# z7+$OEzFxMsXr1`iFLT?R(*WTv8!_=Uqft)p(d{587cSZ^BDZiRDwBPdqhyNG!gmVt z;;NR%kI^(>((z?sB7Wy7fHj@O6(HjYoACfZI~L^{V`w-ovQP@S1sFI#nkdSZ>inTx z%yPJ%67G1BWz;>UhO=!(GCldh!sr?W&Q|_ z=8f#?Sy~o2AK);6g(_}&{M7&`cj8;VB*-~k*oY>^0JNGIX)|&G*0DW(sq;*s5ew@; zFr0aaU5Z-^fa6=*+~01IA+G%f+Zv9)opR`Y%m?U}AGyPA?p5ww>&?!#6v+hHFQ^-n z4(o1fbDID({b);9+!U?7grM%#WEg0$FN(ixv!4Q3l7taengE+$dmetNNA*5Kv87t( zX5#W7;5FM)O#)cod;WA|RF(q(>y0h6s+B%tt+tf^1?Zl?KCoHq2pVq@S598D#9 zje?>Nd5;P$EoCe2o5{W^WstM1sgr^9hi&tAsa#Y;DNL2&SEmb&vi)2c}Hv){Y zPCb^MwG@xnq0s$*hb5S!2^<+@_BO4~wN#n)sf+~-6-U}p`c zV_bIS&}YPX?$jeACgaU6t$es7dchfa|eTM@FD|#@mGBpGC?P ze;lCe((`3H9KFvH6av(4Vy$-pJlT0C$6R`rj-}h^c$)Nz=qXV&?e01>>U*oIJ+Z1X zcT3ki{~6nnjnIR0&OSFpGE&uF>Xn%e{kSxMJMq7cAsHMzizv<2nGeR{>F_1lP$^H(|IU2vmqVFWAkH$N| z#Og_+M|pQ!;0%I{T8%V5RCAKeZsE>m&>zkLDJ8-xLtpUTcYU;JI|&N2++?jK2~22a z>BIG1_+*&UHn@r^@;B;t2a;JMOy~@B3A*JZyu|>H_$?{ZYCX4;c{ zW^+Gqa^sUQr9^#ICrwyt310{3ydL+YML$STBHT)~K~GA5wz+o^)H{(iG^@f5-A3w0 zQ08RH3}HRCz!7bd$}i$j$wM36Kox|8W~Gi|5)n2b@_$kPq(=zxpSRi z{QEQBpVrZp#BZ|W=v{y^8c1YpjKbi^kTbsWPU@Qw`Nsm~X zdmSE*k8RSReK#F&1|{Ku22b=u&Lvsm!!K))_OiZNn!KjPB2p0qoDAyTa04 z;-*_W`hFPx!UT7?8al+CyAs^(q4)6Gk{toYj7p=4BUa44v0{=yFG#a2o67*2rmXe- z1=auBB0BD@=i{brIQ|=3>@$MKnTGVs(I42{bxv-P?0)W$aN{#IS?^iBZV8_QSh9Mq zoX)`QCpm6=xg}ZT@PZE=)l{@_o6Vg?P`mAmXt9ha9AD^+eC#{g0>42gPL1dkJ^g`o z6U};$)!vr?-TP_(wON}9%HXI}r|YBTQk(la!1}TNa7%ENtGKhDW^*rc<(BE2JKb&W z833arz$>1So=xu|?97E++6{b4Fr0%)O9$ws9%>m4-3&_#@&3y@miSeG_SB*NKG6b8 zI`=kY`cC3VOOflQkljRC&K$&>6=2oh5?StTWpbyx(Grx-IiWj#J4QPi*+boz{Pm!@V{A_Vt`a2 zo$*@lgBbSBn?=2j9XIK=S$zPO9MU6|~YMPV1qYrl-khZDVue0M;KFZ(F%m zI=@ok6NKwBiSD)lAQ?!fmgM%MYh2Ft6rxC;@g9vNu|xnjS+F?{IS zWY};?2){~q%tI~s0FYV*9BdKMpSpA&z{;jo_cCh(EOZ-Om>&zPP_-?jzLNq6RnFU( z)F&3(?|Xp17p(oEBP9hfRSdON$niwz09R#gabuxgHPM3V4pYr;oH^?6f20o^zP1|} z56uew=ns7&O(?k!2=zU_kz?BM>}>$UP4&vJw)i<@^U91=SzC;Y2p~kW(rW?vSyQ_~9heQI&&nNdZhN2PerhbZzolKOl7rWXcZh z&EOIg+O1Ge;0~TYG%bm3rU2>GE&e}fd8?2#q*@(b1Kkc6gOHCj4New|;OWg|zdHFX zHtKe)1vb`x;tvl(=Ixk2nCVl^V>540QcF?s(z0MKsnp#%aiJt$(1~_hB$!iyw1KR{ zE&SmE(VmEl&$<+&2rLoy=&xBv{Y2Bgnx{oy!?eV(UFBKFIzttKu~N}>I7Lb4EAdS; zm+lJmAr8VOsVv}O3#K7Jh6W|5|Ki#l%LZ@B2z?h)(pgepsJa&07a)lujlAez$s${1 zLlxQK(IeFDa{mrOhc@D4C#I0KS4e|$p!AY$cn;`ryer>D0h5}?(r-w=o;JW%{fa)H z?7F9xkuoB!Ox+|~Ad8aJty0sXr1a26b+L#axDLnv;J7C%v`fvthaI*EvhNlJre=rs zsQ)bYc=%bE?35AsoJt${R7~PBqw>kxLeg(Z&qKE?Ww($+lG^izbmq9swEdaOj^2@* zS#(F-+gO}=fIwBcUlt`~guV}bEp^SO9IS6Y#yy4L&|oii1G2C@E~Dx6lrG8#VKVyt z94yZWsmNsb5cn5Y170;{od)!c^aqW4;Y~W5a&oV|TY6Gm0taMJ`wS|@qCPjM_COUw zv!yNI?2MWFpsW}T_l1U&F9h47g(>LQ-D>1Q*0DzoN@Gi4q(uQ_ur0K0+H7s^XbJJE z)huj1;e2@{I#gYVZsPXPpk%2JEVPB>t2Mn1r_gSG4hOvV@ZgXYs$b_ZZ&*rS^iBuq zosbG9VyO7UA}1E7?XUT_diD*rcMsj?i_xO%SrirbSS8A+iI^sotLIEklFng`K^6n? zuTW-;KZSnaONYYWEZ$el{-;nX%um1p==GDgY@%;UP!!2f|W7-6}cLEvF@ct`j|g`1YPzDyV8VvWB(YXJxbvmzp+|+m?1SsFfDg(V(6HD#l**Y#sWI*5D6c+n7ZZ zU5DJ~R>CSwIOQ^nHRnmQ(dD(pRiMyQYHjg07res-D;Ip+1#c3#;Ra{E5^eBRtPbY2 z6*`z$JX8!mbj%+f(M>&B$gDvLBgjjYm6-{Y2+t%wH)bXi_7e7obG!LNQ@#GsWX#A27Wb&v|3S2tCp^EK znv;q&@K-~gtZ=gw%(u0NJfKW!2!EN_4xR*`6HEZI(VfYsxysy`%2sX=OuY;#4I#z(qd( zJz54Wjkt+c^vs`tlzA01^lGX^!l=-}+K+XqT_gbEmwdwK!!ekz{RLa2ncZ|~ig@SW z=zYzoT)konJuA;@b%8dGni@O*xZ`O~2_s^3;^!2^32d_0zifZ-mPjy;3)l?GfH<9< zUR!*KeT^h)^_5V9V4YY7Oo1fy~4bKGj(oFvF{x)t0Gc`xBS)ECa`s3I5eq z%Lmin<+#l{wvV4NF$(5&&nfGv)U42_S=~3NsfeMnFtj-~=_qcJm95VeUC~a zPos#@cSefe_IV2We1z_ES&nenifHdpGz|0%*nxWTd2I|5Lj4mtHD8bl{ZX#|!sPp= z73FFvlkeE^aYRQ5BmCjHv0j=cAw0s(v0M>Q?MY#!_SuNT z`PgCKoNXGRwh=<{DtT6`5$z%Gmbm{g=_RK}nJgvA8vG)sy9}px zhLcoyt3m$s9OeLL{?_gQ9bb4`k|z*Xj`_T#6~^w+LSHky7EH6zQ(9jt@IX8zg`22E zAE|;%k>W7Le>=&9so@kvWrG1S0dr@RQj6n5&eQ&rB5b#2?S6d)o>kqq3HI${>njKO*;rf89eE9)P>SV zqYzm{cZO(Zp@VAkIBp{CQ9IE)m?r?{g!ZXHuyQLB8*m*2s`(IwYWBGNE#seGhU$O> zd#N$*Rw90hfMOaU{g*`#deqxO`Yes6LlTGQ1LGeLNq$F$jq^Xxwomt33yQ5j*3VRJ!azz z!(T$$nrf?0Mw0S9WU`373|@8DS0KvEHF}(VEFwfk!QaNj zwn*RrTqclK$(b8kXlS(&J)E zyfi{zulfETcx{n?KFnX~IrJz#cgsInf|0MDN2Ru%|3*sP1-@F3x_x~b;P=nQ_}v)8 zZzTEksl#u#x4wKs8spb8hF@#)+x^d2`5tb7Uz5i8t${GMy>BC>9**)e>$^|1N#5yI zSFiPW!kJxcOxu9{hK`gr5i{lA20)odHhDb#RG>2kyO%v6xg$qK&II1EL!ejFkx7*7 zvL}4M`OH{*?N=wA7LykHYX?*vd;JzoQl-#Ath~BEKRlxz{p+N^uMzq?>eCmJ{+34Q zuc=Qzl=QtCq3=_l{%q3!wxVJAkDgvn{vW_veb@;7s`~Whr2l&(^mo;#{|o77{_phT zNPk%)^q1A=e^XodG`JsNz6Q4fEYRRb0E+=S{PDgr2 zp_FUIEY0m$XRx?iu)6@RTq@uefCWngECuMhOTd2v^eh+fQPOJgD}bq*?|Og*%Y z84f)>I8RJ)Tv28G-qVb|gnQNigz~EJFlO@!Kx0?00W=o$Bnhqms?l6e zq6wKHl^xoN0|7sdmqL|hS-2(+{S=x0E+Q7!d9a+Gg+7dK!-451suJcyhKa&(UxMZ~ zH7+xBI47huSJk!5LpxOP?Lpyg<46xOWrT^(jZ3O zg{86bO2ehqV`29caw@o_ZH~59J%$!C7U9-6ds9avN*`Mb^I}^ zdnwd~{eTAat^B&?L%-D4W~Obfqi)sm9W8({CpkpcLR3H6h!79|%`L>ENU1p@1jd(% zSJe{KW>h~3=Bvhv6cuW!;47&DDo{;@#!S;~yE4hr3zk-YO^p6}puAguHyQC`^_S9^ z=-a{6*7FroYBhBId-_{$^tTe@vH|^V#zh!*V14~P`A8%ByFNyU5ftJ=5yGXvD^Q!! z-=E%s{+by5^$@((Uk}=kHXYlpc(U999a#N+b0z3te|t~F>hH9-8z^4^Y1E3C@=FHm z@-NgW{{@?0xBg`;KiXBk-a&vG3qBlT_wblIB%3dJ-O$edM$Rkh)H9p)=#}qa(D96$ z2S@sh8#|cx>}WF7j+Wv&2UmQjk(f)zy;M)2m5M+tR9tgNtp%a%PTBa<(N}$WU;9bR z`^6hkdAUESrW$!4K)%~9*TZ!fc^~0&w{dw_KkSxwDv90l_KV7!SYO`gc$fPt+-0aQ z`SIgga<52^y@QSF$hnZb*hsz&`RU?r>$-*mFg(+Sk5Qt28))-5uM?l44n1Vrf&E}o zV=i7K633huVj^fz${|L|+g@i;v4?9ZWseM|%T;gWyY)MkbKDdGKp#xvQ>L&US&;KRRJdoKG+BkeijbcGCoPIcR}8`&xy%HTMtQEvfq+QYYZ%pH}i zP%W=TVTMh|3qY}!mAMJKk53-eO{{!XH?b%a-BGC?O+hm+G|jx7G??}ETs$=nb8~j+ zgmG;5u@5m)ix!oQxJmX`aien+Mzy{h!BL&)FPgAT-lO40F;0f>L7Q2CHgOqhqM4n7 z_L%!z_2$3&<3SzKVka4~VLacR4Utz|A=0Q#$Zx>U@8s~&9ds@YZXL?h@1Pvlh|sg> zU;o@lC*?{9IDTq2+1YWQDE*@ze?VkKC!K_L>;1&oc&dK;5={G2SCXTQq4iJNP)!xQ$a^j2?IFEVp@wMssJugD zUfiQ@q7>L8`uU z#`_$gS=enPcCHUYycQ)_B4yTgPXIJ)yL$kdwcSSm&D!n_fM#v?DnPF7>?PZQH&GPq zz;@te7~X3hn18>|6Ffz&<3;Vt_+H584`ZnEVtgm8#=YKg>?@(*&hBVYi(;%319za< zC8)`)PE!DyU61wvP1AmB9c@|-K(l7u2GF#t0-$NvYXD8VjsZ07`VydN*XID)F7>!s zv!RQyVRy!L>@3;uK3TwnDvYjl^^fdtUm{CH>~DXF+uC*Z+rse?Y@SB@7w0oxcmHl2 z+%3+X4$V6sr{=No8s<3JB3IWAqZ$W30*264Q|f9X&O|m2>h7r=bUu|FIFmd1J#b~# z%Y|y`3tI28h%O+3KXm$yC|c>dE_Lr=iaI0j5lG z3J5<7_vLcKGv<&42au`{>&510X;W0GmSdC@+}_O-Jn7Ow=LgziH?`lO)WF5&-1K&@ z>cn9bbI!(QnI;8Cz;bdKgF%Tdu3IJUkkR|6Rw%E}55K{65Ou?ulz)%9Hi3L`lab^JDZl8G1Z`K4YKgYk*1F zII6={MQ;`VHdoQjI0p}}I8F_p+mdt#1*bxHGJ!+AJ#y9xGWGBsMD5Y}pEu`09Bw?a z={P!FkMma2lc8$U1C)f!dG|rgF3vqe)}2b})%9J3pE>|mTBExNL3@vn!4q9M*?Mz& z!ud`N{USaAP<5N;OE)iX(<0DP-p1*-KDdv! z5SK#Hu;a@;fkm{#%5@m@weZL5;tB?|^8}Cjmu(LC5?8gr1=@lAn+N;(i>{CJ#~scJ z9j`gv3Xqw&Dj{>}<^b-ktdGm+e^qVp^en#f)9<~k(AFTDb-X+)^gRkW`%8(dnxyyj z1a{+mD-M+h?}Ej-`~&8X2se|lK5quwD~@#Ti$88|>%;u98TnE9VP-gH`wdgbYf`K> za60@puk_-pNH~sw2j^w`Wcib%65<9@64XXmuRjckq0C2a|77`%b@Ky#lpl|1>+qZV zd;AjC#-X$t0`+c0wVXC=dum!a=Ten%PA#{jA!@QH`>HCE%&zhk{MK@AByH<}o{0~x4^XhzPC{VzfkVq?&q_!7-Wf|=RLYp)? zyI?>I*o(f|>R+}s&_`R%MX;Jwf6-uA&54>*qWltIEvM2F`?m|WXTAP@Rp^G`cXU0) zD5~o>_c1XO)5HU<$T(j0l&!vPeCx&7?`57q>qsA-%1?XIfd!Y0>s1t{T;9iIpm4AKr zO|Jgq+AAw`RJ%RBZR)Qqr;1=n-B2HH*QXZ@IKvafRfTO?iLc&7owdCFo;xoK>(V_raqwT9-xj7|&FxEMrKz`+V z)5RPw7}f;?P7!~wbu|q+&<%Gk&oo46AM;N}KJMwDi&}xTkOiBL`~mYzwR((I^ee|{ z$HZ?_;(_I)+|m)<{7si()C{E@3&>%C9I^kzx#VID!3Bdf9z0m9{m^OK-$>x zskGz1{4lN4Z)s)PKGVt^w6-6)KM=k=Z95%d-|X4~e(Pw_3?AMC8>bM#-qopG2I z2FC@Gfrr)tdpRku=YANMmzB`Fd7X&yZwu23XI#^tCW!tv2fAg#*pk>jI?1eln*yhx zKz3Z2uWxE_A92f*fDP{b0k*2^54VW1XMebp9fHz79Dhx~-;BRT^V!WjaboS(|DZo2 z3FskbJo&?k{_rV@tKbcSC)J!K^8r#+ulR>1&})+zy*f#)&;PCbL#}>7c}Y6uTlmKv zOG<=|+9XXs7Yt}G`rNvjb{g>d`lkiDL$NK9pV7Zr9BzIP zT>4#h6efl}Gp}f# zHyE8~qJA)|as#W>_D%0Ks9-=>?H}ROvO^tG=q7U#U)ksH4j*_tJ5D)1)9Wv+jZ3^M z1Aa&~L9JN`VY$@CB7wF0!+jH%qNScJ$QhRt+L@UKl6`n9Dm(O*KXg$_R;VmHG%Tf? zyMMM{Rdmq>fvYkSSDlf$bbI2`4Je=4|BS?C*k{MEzcMbnsKXiAq3>(p5PX;qF@Gg4 zeTI4Hy8f*am;F`X^>Nvp$2JC0k;;xc9=O0?I3NYy(l3GqQo5l7v+4J<;ntJXIP9~@ zEzoTE?4+!4-<-IQvgpRYOI$Ju>d6Y#WQV$>sA=4mWE-=?U2y3eH?I&dr*CZ5RKn7} zHZ0{%qhE)m;_4wX#shpJ9NyB&;CSWon+L-0RK#Ur&PRncf6;--8t(X^FEJssfbwdd zRiE9-HKF!Dp+jO{;l8l03uN|%6UHJfyM%+362RSq6C8`Zu$SSeYRD-T&=0M0M4{%~k^7~}8f z^w9gE&rBOdFZ9*0+c?;54#w!8Fm1&3U5_IV{%!gQmU8CaR(k&d?ddOQ9_xdLqt$1y z`uP)!mu(GwHb3GYw>3Sq-tZScHW-0O9D1rOE_3PD;Nh%(Rddfy@871qKeQ#-z9tKe z(f%^Cf0vel{`6Ye{niB!8%I{t&dG;d87<+y*U_PW&(>YV9RbW&m>DxXp2DAM1MhYJ z$vJ7a?p`}OC5W4_8(xV>K(ES2W737D+cT| z#2>yCv6!lnZN7tQ91I1TG0qlto|+wQ8e`|(5CQ2?AoEli<39TJY)q*!^9%4T>F@fj zOI-3GEM@ty6z|52l(Vo1lR>28A1P1!suxe7JOYX%{_dOTkG)(7ht{jv+(p)lf5aoZ z)k$oP-YBS67qinb#*Q#Rf8GA$ASa5-jSvjj3J|@>anw#hRn6Csy*V!;o?Moq5_@Ru8*R4D_^L(v={GRzwYG4^7p&#_X445 zYP@FwhA#RO%NA4_u*Kn3?fj@0hCkx9Lj6kE$2?A5yze;_b@l$zlt+Q!%P&o2Y3L7M z0e6at9srhx7^LcCso?YM&^M*yK`U`uZO12$!fTA%g9ibfW~LkK>ykd^xEI3rp0k&jD*Yp2K=+ z!gRg!#q)3^p~CkWy~?n86-Bdwc^*$}PA-|p3_a663=}62RYU+i6Axn(7ZSC_IV`o^ zeE(qaJ_QMvVr&lM+a%d3enwKcjHE^c`X_eJNEw~jJv${ovHOE51)xmq{&-5UJfBWk zAPw{F9Sh(b5zTf=z!B2BF@AtNwA6h~2Y!=3XnlP6XR8ECjAk>$t zTls|kcw>v(gEh2F-_oN)SNDg(mR!u;Exi4(hR?)|Dv11%)J?mO+V{{9CjFn&%1V7S z@|U9o&iKdRFa(20P~;HQ&mYYE8Gn$U^9T7o8_53|B9xLlCe=p#;!%W#r8`Ih$K8?> zm+lZzb9YD0KAcu))9WJ;Ocs`I72aI?K6N}mI&Fzv*NxKxe`~MTsi~npfF^wl7JbZHOy%$9SNuJ_V^2} z+@8wr_bos8Io#O;u4&HrCA6+!Azrlc7p2D`ZsbtsCj<_t)-o*2VE>vUUk3Yzy@X;l zu7anF#(C5Mjmm(3oOIA~hajeyS#wNr&Xh}#Q?uRamjF}$vHm+zeQ!+%deKh%H<_@| z8PWTrboTzDI}=1(>TBj#^3Vp28^mFY59Y+gxAyJ?&MXk4Lc2JRY{7MRZ@iUz++TEl zl^=KCyZDPnVGkQ?2}Ffo`3q|j)E4ZrXZ1TjC0K*&4ae2kt*8t4Blxo;@v5Q$`x5}= zgr;M4*RR4%mn9>bK$OJ6$4j|6omDidR-M=aH(8XQ;4l0co)$~QZrPzDfv(1WOs^kQ zC$lMqH3;P^gf#daV_fJLcMy4cSN3&xQE`65q)KoacgM@S7LNJM3I)(bdKOmgqfNPjl;-crALNprhWtfFRzWJ@$U zsRb{FR+7y6#^`Sk3_U@8B(se;jTAZ&j)K-A%eI=g)y{m4qJ&5GXbES`uCpG}`zN2; zV=h@5VQpV$$Ap7&1qK+8xI)#~%TY~`Dm;YyG{+KG9a^4|l9(O0TP?z1$GG)}&kJ0O z%?kX{EBYmD1Z9VQ<1$_SB36%x@E}(`-4Af*N#>KBe)y_PbDWQczRHsIi{hqk8T+u? zZj7B(c=rnSTCgw$n_1ntYd~k%Ohr-7 za5Z|&SFxUFqBHh7B-yL|ZpF}kaF&gCYdhYx|15YEY#d;Ha5;{6Zb6!_F!?Z^8cJVj z^F#Q~^JOSe*`5nGQh@2Ma`Eok~m)M`)Td|qkF;j@6d^f-8O*+;v{{a z*dF^PwH=SwoaI?o_I+X!Qo%Dounyf=+8o|X{mQu&qsfH4=r82V;WSk!vxmvC{Pp-a z#_^FJ`VU%PG>huXf$_@LP;(qsQU#3UkZ~}(Xj~HC>(z%ESjc{=x`T5@Xj*c1(KNgm z{ToBbiDUQ*WUaabPiQDLGzd=esLG>_%0^Gr19F~0fpg&HXp1k+lo*sl`Xr$E8f7ay zG0$LzKa82cB`@CZHoY|~fnw>YzzTd&K9>Y}_NY%sYk3av2{A*15FCr7@0gtb;^~s~ zO$HaSzS>B7yYYoht)!EIVlAWbbR>1+F)iQ=u3Za@{Y*h;fQ=t zeT-&jgyul2b71cW;D%HZWu(8bvX1|nur5C(7z%2h$ZVo}c%Md^Pv z7AR-xV|YRFdKvLnO^=G#*@$)>e3Z z;Zv*xS9g+>{Ad6o_uZ-o2Z8JZ zF-Y@=zER170fjn)LIR!2WutNw9OJCL;M{pkqOn|OdKby*P)jtfiPdy?KV@A|6dQEFnOBv0K7jJ*_gUpzTloxEzm#qQ%L|2NASGYdm?9>(FeP7|*yTvE0ubKl#@xH7w&TfG1gv^D zvda(A#TUJkQULikX12P8{1-a>Ki*A|-;hjQ#X3=zT>J+WKty8&bYM>_6-utSF$D{A)PR|Kw%i3lcBp-EzaUEhEVO%e3kgN*93!)lq*hts&Lk`900CgNp1&?TpU)4~o1RGpFb^zuV_7(aiPC9NB5VFZ$ ztqyUlGgocgp`lduj)8pYH9)2BU}#dK@o2DAfvq8!pjswX7#F#X{VC`>SSIZ@U1kf| zYq4rOPWXl)S)hAq(w#c<4b~0Kjj%y{FKBME>_B5ZtlL@J@q8&5tkjj)cI=|lZ`G_< zapO(3oVA-#Zglz0T){)&rPRG{dAZtCtrMy0D+Bq|$AIun4}?wM@fUizyrvZKlbrAT zCT3DG6hk3xJ9?-721N!;EUU74QenEMriGl3VB-N6(FJTV?c>r#vPuH%>wkW70GA$j z!t=`|mpy6$x-qM0CWitgp32DtC9g1|CE>sT_hvA|F(kZ~0jo@CAe}|CL!**ZM-s=b zfiPKMC)})^bpUZp<#2Zc>Igzts%oq$PKAB^HQJ9cfyuvIZDisjt|ZWKjD1GkXggY7 ze|%iUuE*t8w4CCfhoUBg@B%b0y{~jLw`y9;#H0uQo%GRY>J21pbl7yKn0k=+5{}jC zE{Q`9s+Y$x3&RG!YAHN8_LI=rU-hsUS*VjLF-_Md4Q7&A#r@hu#^ zd%Z{9D_X~(U}sdTujp4H;hSGctJESqanN{9=~gokegOeI9%*-?<4V6Y_+5g>Zbh}) zO#DOgt(|K1f#A7jR<9Dj`UzwItSD9mZ5_|S&5v@`b&QC@?)ej>5P!zN1e~4~4VCkz zwhowi#|kgDz9M^B&^5kyjBB7A^ley=guXBdndSNmlY?q3n84n(zej)5$^-=iKdF%_cR-Rc>W@UqVNCIO`$P+>{HF^DKnk41uH%A%B zr-m9RRb?5-t1dTClDe1>bk&p3@KPs$(er_P8q^73%GFP|*s3_!{PYFWtnHwIeCj&` zrK;@)@~SNcN>Y`CP}^F0R;x~o#4xrmAI)b)&8xzWyq^F?&5P0GeZoR(TPo1GicW)ETi+z7*Jg=7~oosT%zTcM|w|zg)si=;9 zKP0%QeV-y7?Y8fWgdo6Q65cx(~alK!QyiG`~&+w z^=4ZYZQ)eIC08XH$fx2Bl&XIIjMNNj4jTyHmnMYTs^wX&E@6ZU`_3E1r`x{Y1%=DL zUltZdJO5x_jD6ovOf@;wx9>T~i?#1D!i@HP1M_0+JCmILPxdYG%CF+aHy~{1{FfUu z_4zUN$@wIelEs)2Hcm5sRa_LJ2|DnnCE*0^vdg{d1^BWw{)7Nq;2n;=?O;9_iTpl>g;&20)pQPh>3JOfB z6Z#xb529)rM67t87#l;|(@ljwbuuALpne-basrhXQS=15^F}Qu#4lI7KG6xE`T`I) zW_mL)!DM>VNIuK?%7Vl~C5AFdtu&BV{R>ddd!(|#;@f(?B=@C%>5U=`Ou$N;Tsf9dJOMEeYEJ2qpHYYp_DkDY`><0KOMyW`#~s5!*&Z zYzm0F52S6!9qeH1nrX6MBloovO9ymO>$l*pWn$^V(>)kNZzAFATM^hH9YF&q6wTJ{ zh@+~tY!YC$=6>Y?GtZ`~2mkBn^BzL69nlpXVLrkq$2d@&*bn_CG_KGwYS0MHKzirO zD7OKC@Z~*d8gI5pfAlbUNy=*=uR4WPFWUZa?axKu9sYGVheHm&Ifwqp4!}(~ zCxr1an|(Cne;XgNA$CA*Here$BI$B=D+`1JYNpxllFqqKCKZm7V_UTVKDD1vZ0GQ6 z@9xe~Yp&PS(i87Qi@pYk9BbCd z8<;lbyaez1F#WVmb4?X_(5AW4h%B{f#_y4UO*1BqjJIjd;gMlBO@9~3uxSpz$VE0? z%yf!LGg2@zswCiGuOlOmyg^|L5bHVbGs(JJ*3ZnJS1+G!P&`kP@;B7WXPeYYC;yUq z`D~*qcJe#b%V(QazLS6K^}6y=2P)Ue|EyjN@#&5h*sGUonoqa;rUG8;rM9-TY(ESNVNS zcYbJIO3eA0+?IEhuPbll->-4s+}<~V_o%l9uI*T{LRM(+0-iWCLhK}=rYo=Y=R z0w+N(99Qto*%T=Q`C4BI-cfX0pkwqe;{ht*DNNYs^$%Q8;gj>%ruecg&Svn@*u^IV z*Ap+4CaCG}@oQVS*``%c4EgY2IEbZQlsCZ~YL{KBmx;UZ6AWI}hOB zb)&igT&=-#0IrqxoeRjL4qxlEkF0h3a?oa}siF3bMzIFkmqm0#?MrQlJ~XgB(60WA ze5c#D!nQA$?fV9*mi}W3?P~`*)4tXKH|s_v0Q^>i@c{Qq`?$V3C9e5bNC39Pv(=AaGt_8Q;dHr7`S+s*6(PmUqAJ` z1YIrqWeWP8`|VjC%{hJ!K+QZp-+&wAZv{lUEAeDC>Q$^*%wHB4{l1U!(e@hXmo+*1 zb-$ZL`6DA=!ZuUXofdB#+$PTLpEnL}8DWPPIeO-}o*s+yd|ZMjKd% z-r;EIz4hot9xDjw;A*uX{9ptBFdC*z%fIe@k2>|qw|3DW@JV*~bfHdhZHIqzTf}wq zGXh2TQyb^!t>aXt~^Q+&VK8KIf zpFVf{>h@>-^8UKz{l8bf@&3zo_}KR3{&9O6=QpB0zY+gm_>Hd5Z}cDYqrT({ki;nZ zThsWP>z&M9pdmO{<24|MHwHxuxeyfgO$PI%kwEc+YouSpDVyv3w2b zuO-Ll0|oH$4$D)WAzC0Ch zVb;I6F9PDv5z3zo5Z4D6i5_o?6`}kYx{Edl3q*GO`UHYI+@qR;Swd6!#~op8hd*3a zF9&p^c{URE8EfHHC(5ehyZ^QRH_GeR&oh^X>z{0M{-A!{U$NgB%W(fGsmUYMqu4xQ zSe_~}Y-CG6VY-0n*fSk`h(P~6sbPo#v05P6jaqcI(~nqN4z7;KsBd7QQE+D)PXL!4 z;lKA#?TEs8xeQF+SWkYeoB9W$sZ^ecNCfw~@ON~e`CyOIX;d}jD;B$omCb&e9&v3c z|GGz%vgW_)sVk!bKPPont5gUq^C14D3*rz}T!g3~%uE=mbAMc~pP7Yg%gJiGE;}+Z z^ch)M;Kh;VG+4P@fE%2yZ8DtE>6YTprHoKRjgsGA=QLC+xicBYHYBR#gPEiiCI2YJ zs?|d1-M!v)^i7riEanZ1!543^X1OmZj^Dv)i@!N?E+8ndG-%W(rtcpY>_QERRhQmT zCkvsUll4fQtPVD7MV%~s>%%GaY@IAzZg;X?t&`=oS?|PT$>1EV2A@g|S4RhD=?76N zwhwP$qitKFI5S8;0fOhp9GcPZ@smD?o8wJO{~z++1wP8+>K}g=2n0lTtKzUm|Q%P zr6iSB#!|YDQlJ#5_*wR>{ML#{t7BSz985W zP4SlDy;V)%DCB7C0bI$WWc`vO(vJxSUb~GO(0&__M84V=tp>vp19!1_@k@za!YU)k z6(hK659QA%I32-p=6q~0?kG4_&rcl=XY1jNxHn z38qX!hUmP6^)Xlc2dGrZ^@KI;Cv8}cMfJU4${qL)93J3HVN;E85NAB&*Rxn-+{QIY zDtjB+JN`eBs}L6jM#nMl0ftxnnBzRE4}($^ZtM-7(QS!-FIL~6o4l_|jmO?7-RM$4 zG4RKyIHbwS3vsv${gY%LN-WRmN_Bke-_*vu`m&+j6om$1qNb)qu9xpyftOS_;Kq{# z2?ZzkV9Js$ie5Lu{DZrz{KdSE2`&c@@W>lb756~&6j<2Ip_h9erPgjy!HOZZ;(XRG zL)T;|e~q~HgAI&sW-M5g1T6Aft*_92B3`?YBMrZ#vzIvFCb8r${|8U zbW|;(K3{wLNAcB9RD0JG=CSQn_xa%cQ<>af3uay%MYl-f_F}A2xjL#HQPRHy@&KO6 z6bZ*nm}2;g@<~{a;x-}Aqs7pIsvx^z=RXwIuWcsQ3250j3)tr*LAs}3kWMeyUm*vJ zXV5FKN8WK!6zT603^JZc45_8Y#(O`40;USNs9dV6}wtNiUx#NWBo>k=`quC`abpw+Uflvw3z73cq-A8nZ~wX=g69 z%8TBK%75I~LEBE$ekCQpJ11&SfW0}v9^HusCfYaB66_nW2PN32gCj3_3G(DEM}xYL z#Z$HwAD;G}L4hN{`Ia^sYl4kWGq4=~p01QHBEO;?>6JV`C4bXK)B;^B(B%sEJdOs& zeRtzqYMweSgg36AWFGEm-1mLTar-_t34`hP+UWt6&i2z-Hck*xp=_Ro=>ye)QW_5c;YYRH_rn?C0L8RAA-OTFpaCz4F3s~j`q1~E6mYrQBHR8G%s7^}PSOoM+MR$0_7VcYpCpyM_@K$7+ly`EPq5G7ap zx`8_`8@7+3DJ)|=s_|`Hi^nd3v-Kg)1OmLmZQ<2`FBPZ^TQ5-j;_^)E?Qt8v7jeC2 z_p$bM8V_TA(3<)!=+*CojGg&u4$PVH`l~0DxZlBv3TrJ6ht$XkIA0iCi2m4xyCg#O zP)QGnj~|oWfdgYy1bCwbX8BlqB;}7I_Jb)8W6vdU_{_D_JZ0UU;0d_7!_&TJkd^X1 z#3v3Wk9Di!&+n02{j=22QuGvmn8+zAVgKVcuy1P?8p#`E^!~?*__X&wTzJtZSsFmVmajaQJnlEJRT`61q|r5DNZ@S*Sz8=uG(<;vC2}86oQv zYjbRiDJ$FJdL0(iU5L}QK<=p8XCjU*dk&3FlBeunvYBLS)lPxj6mjTYj4OpRH4+}QE~7wdX~a8!N(9s~|Z0+|E*2f*QFZwPxn zl1q64VVz(v#&?3eO}@`H0Y9^^!~;;cPa>)xp*k~Oo+rzDHU6Z9WRVpPU=QGHy>uMh0o8z?s1$+KtG)8HMoKoQ8}BWVhbfVi*^F# zIJ;ZSMUK|gJ2;4U<9!%%Bs_x1j$!Ur!v75)yTy}K6__HHU}H5};87M(e)Sh_l-dUR zP`cR%QNTVQByN}4c8jl|tX%ETxB(k?8?;fp(5yq$H@|`HNEx=$R`*Y5c^W*XC!7%RQRsNuYVffOEkVaCIjE`$@uay$Pziq z;Fh8m;aq%k>Om-#X_0|G<%P`bJAElLwT37^aOD7|jO&>UszV2TS4!c0NDV1pQLJx5 zRb;|W>JO)Xg`-&x?bpOfv5)=Y^L4_lK*-S{07c~x8yNEQT$XKa{L^j3uZ{xJe zXEDFcrT&@X#Lvyf!%K{X6dBHftsN~}vhXRcLq(WCUd3cR1bHNZyHW3lam0Qe zeMZHK_CuKISsYvcA0o0d~I50eiJPp9yxJ&O0uS%9n1@Kdg1qVtuqpYv)m zs)dL0o^r53a(?1_zFyp(#A(VuE4&p6OIr$YGbqf;+HUMt$DJV3L_JVOjmt1T@rf%3 z#cweyA!b^PP2^C-vbIR7m--?NA8jHv#g3y3N@IsBfkc} z#AnR{ATO*MV8Pu$sIR4mZHN}^E6E8j1$L6Zqo}9l1q#x~X&s0fecbv2_dUQWC}%F- zh@P}+^kBYg#xAu@8)wr2)E8Y3^ZXYHvINWErZ#8OQ$z-A@0I|?ER>E50t0M|fEIN(O)bQQnZ@)yviOPtxIqjHv^k)w#{Ib+Mx=eoZ#0Kav>=!x>!~S-F z!#p~P@skJ|Q>a8+&ZFWtlnORR-`J?ixy1sB1X)f^q=FEov{4gjj!aK*?WL5LuD!OD zAHh5rME6dF)I2m^gT@#WM*s~6n?P}(+aV(SjJ@6bs>a?eb}-=)=5sM$2S25EZ`^MC z(qrtK;3TzDmCMw=k^guQt061j6TLqN>3t*jGWMK&Zrwsz1-Iv83YMGs(sB?tA0@yu z`$j&b;N{rxq<$<_;|0?4$^5u~Lc!08!FOx;Sa>GPcM0%o1Noz{pp2K7ftfBxynY*) zIU?yh(S8w_X(pwoCwwdX_Wly>mu=6_g1Mfnad;>7RZOm{+haArwd@fOv1w91wzk{IZvgl{wU4SN%>5Wzwzh&yz6d+|B} zl&3cH%hTlc z9+pkE?Kj}Z4CR50MH?>Rk+%!+>3A$>U?RXh&+O$GKCpLX$J0lajUy1!v*Ob`XJ#ev z6KXid=t-JtUrJmL0PEOc5~w@TDB9S7svrD2(0C#}4*EFy~!XY_;dfhkm*C zV~Irklj-^I{zgAO|MSu4UahYs!XeNNK%>51RuxXpM;2`|?}45$aLp8h7pf0yCn zs~cd$1o<|%)v=!9;$!g>Y(T3$r}*(QxAlk=Cm)M%95+32JvF$m#ehN;J>9vVvq{ho z8NXZX!SB{hx3aR`;w6=UnFZ%TnQ*Q?C;B84qDz0h`kQ$lQ9B@>%K$AC`H%XXx_E{c zY(%Y_9K8>01R2DGKT!acSyN7XPzKXf>2|H<&7$TEC`YAw#A4D4G z)B9wI`!kq#e^fu+G6+bs6U6`&%HGk1PY|^CF4C<_JcZl|@*i1`*@NTww|LzhHokc8 z4n$>R8=&B2qXV$_PNhs~YQqMAfAp3{*_Ne1jp6~K#J(~LcNlMjB;T?@W++64$lsuc z!a%!C{2Zv+@)`BZqxosdqevdjclC{2f1f|F`Poc%+{H~No@$+u=^I`lPjGuU43cvUd>A%uHJ5zqmU!5rrFhD{T z!jkVoKRxt1IGBL9bSvn$BBlE_q^vxQHIc;V&a>>b4-wt6!G+WVh?96Pq}rzPEkqng z#T%fpLKaKFu9O@b;)AFw@?w-o&5 zZ%-2a!2fbF)j2cUfk#y;o&;Gib3t>09b-9FVZ7Zlt+p3@1OL2~!k-|WE2`*xiw~e1 z`yby|<;nbn_X}U5y5qI}%u`|O-oAzO4o-XhiP47j=mLOF!+(_~lg+ek{sF|sN)`H!R%YwzA%WGmy zTVLOTD?K4UB9DMjo}dJe*%Puw7I5;TX@@Tpn`m%bi*Jat`8DQFY|PRYWSmW-Y7wkJ z7~ms#KcCkMd#zXCX;@%=6y;jTOX1v3GU7ZQuKU8$ks`Dk*<_35iKc6~(3N|H;tlLa zz^SY0I?(5HSMY0iHGXOZpI{Li2Ag4eQ1V_Z{FqgCg+CyNR-efa9CnPu=~)yZ_1|M3 zC8hmZr|m?V(!W)IJeSlT5Fr?e5LeTF`g;f{9GKn!V)D*lOn_jb1P;YjF|v1tQdUyT zCHKxbAo@8Z--0NcIh(o2K<_M9ii141$?<`#m)Ybq^{saObx@k9?m!!P!FQ~S(xP2t z$}V~W=1z66kwp2yU8WHkRC6EcrC%vW9=rbgN?oHU9yXqMcUD#bwCdw zPfz+xlK@ViCb_mELpNA`<~*vD%kl`1DwV2Vr?x86;Fu(uTU|5r*O0G-A`>?)poITC{8$601a_8g(S^WWVC%aUkyImZ_ z;FoXEB{a?rh*Yze%id?{Si{qGS`pIX=W{hb$n)KJhnQFDeh{0}+(ivuO!Z(A5*z4GnPvaTQCf+eT#}VJs?n4y|wj)$4L!doJb5XOhFpb!!6II zj)2LJKpw&XMIGX&2qj}25Ld`5ShJYTDwMpfUoSJ}L5XjWWe$j1gm~i1*?g+xhr#{f zoGJlIoIgRw9UtAY-+vmq6|jvG-A}OFNyPa6boeJ=6Xnh!5&X^SIVm4|B3MP@#6{a6RzgRFMo+2k{{2~kRD8n@}mn;@%(7W zEC<9b$f8;Bojc5lQWpuuQ^2dp%!FY%h9K>7%^=SoW{7L{T3d@vEfH zwe_3tQ{&({#FC=iH+?H(9lWwOCFvVkDbB~jI({> z36>`-h~M%T$dOCtz{MBx5>}ugImF~G7GnQTF&Lgn&=+tYPoDLX?G{05@k*Y>AXONf zHpz;*G%aC678fPr?rMGUqqFIUQR2ZmgsUL&SEl0b$5c`I4yQHW*rZn8fL1QHHHN6a zl%_jWg*^%sbUy_R21EP+z@p$rxpci&sz7gXk*bKjGe&HA--W@}T1xK}W&25$E_s8f zxb6#zXi@6O{N48{0v-l+?)mFtMm*Re#l$qq=Y^pxgF=4qgp|{`o8Qnw>6w zU|kxA;3R7CVDBs0cS&hq)M*zX?b!8B9{dVmmX`XkvTxz;z(RTPQ3JZrA@`-4r_MdU;Qem)2}BKh{25E{S{ z3nf52i4RH=P!UrCqj6Y4-{LCHAdDAL--g!@FP4M@ZU zm``rxGyfFkS3Xx+{24ssGVDLmWq2xSE05jO3i7MkOHilo?&mj`3DGX{^Kmtk-6MC* z#N4-7q9d|dRGx%itQeo7N&?y^%4N7)ysaok8WnX(A(XFab_{-VDJw!E^?!qgZ8asv$gAEy4*8EMvX zaG~ILm-I-%&IR_TTkb~Bbj?gXMcUkFy1t^qw8=EQt9@yELmIoCI8T)gyS^}Y|{$X{e#ni0(#KR@9S&J!aw#p zbmYgPOm^UL-izQhFi6ioemdmAyWD(%$#gjPZGybpf%bZC0i6ljVJy)Ek9blW^(M-j zWdB`jm6@==M@NA8{bPJ5`2P}rcu;*T?z33eG5FKHH=aJxiCgX(BuK7QO0FHgt0mv+ zp;#=TVpQ%H51(t`W;G76hMT1up#NM(uSPVz&#Vsr9};g0!dqqMpv}s8(e6*_uZ3+l zrHo7fBm#MCIE2l~Ctz<(4-(u_rpL*uRN;Xrf@2o;L$(1&<>3!+YZt$zLl-anISZM{ zpVoP$*mR2N2k@^>_ztGz;hWpV>b?5ads!~(KMejjH6eZBn~CXNL%0tcg`d2?9G+Eq zO#XW@Uf7N7`G0cY&>aND>?FO>g>F*2+71-}hLTgIu#Qjm$_Zux6WL9PQh?Q!{)1|C|A(E=&iHFKlfpu2n*N`zMD;8Ca?xi44Ii3s2Y zW}vYmKIsxBVKuyD7%g4Lhc`GG-bf7(%m`k(nFuCWX@z=c1cbv%Is9WV972si3;nj)Xkk{8Yk2bS2LsEnKyo&aEp@;}*MDEj^`jt$eTlVZ9y zp<|Y3xAlz-HSzEg+_IfbXALmu^H3M=!H*W_W80_Xk8<8lMZ(r4Tiel^qTur7;-&x) z!Hu~lyF3drUOc2#sx08gv%HKKhomJ73sDhTC+$PS1Fx@jHgP2Lx%H16&Tl=5-81FA6S$Y_^^a>{*NFJ{pfWoVOp91*udH*UM3} zHT8#BaQ^KZL=cWkM8p)=aQdM}9EY-O$cNum`4Z4}N73Hd$YjF*BYqJRHlX=p;9<+L zBz=4)7h8dCwYEBh0o@2BalhRFJOh?9$l3HE78(*4xN~ziFRS$d$+I~BUb|eR6LDUF z53||0g$6`LjUS%W0nU)Dk${sM3>K!sI<0RF;bP`@J%^-5L{Mg98#o`CvW zutdt$fE)t{#0>z?IeP#Yol&yR3LW_lsuP}p(G-`MrBhx&3iG1JI>cRosS1wM$&bV* zuZkw0h-5yECa+8Fi2Ok*w2&KoL%Od;pq0VZqr~9&(z!$!0}ai<9jhH8lh8nl_L~^u z{3|m9BHnA4=|h=+4Dxeis`)}{=rtLbJG*~`$s6~Y<`crV&IXfM`5F9OFQFX}3rhhl zxFQ3Y{JSE!Km+?PDjQmQKose0lU24XnT<0S<}5d+nsH3WPfRz$)OjBO{cQOn9?`{lSa;{lzd-r^EB@bw|6he}-oq&elPbx^kY*}GbCqd? zmw?nuTOMx%-^ESH$>(|TeQLZuitp2tzDFf}pBDd}tdAb!e;Q2mm*m~WixrJSTAY0Ppnx3(&73CPg$X{YI>-|QIPxAnmNII6C!g+ zSH3Al7Bfa3+GU#iCu_q zZbORi$ALn_5m_&C4fY=95BNW@7O-Ha!yfN)b!hE`TJFL74n@{;MOFt4&5-(uo8Fu> zH?CHu@v?z{g#!fJ4e_fR32>kI4wG`X)h!4P4Ar8I2iKgh`Qd=Dbe?wPNt{sON9Uh{ zR!S9JUMk&Uo$D#XYl|EYZ(@nSO*;N4rIOOG2xfun!clU)5-`PO^cwl zar3WQ``YK1TWi5x%D9R_bgU8JHPVN2+iSgEYzaIoV)1x_*m)Ex!ad;9)&&@kThj1L zJbX3ta;o5|uI*yLSHROOD_*&QsO%Hn41@J@xNc)Ahi>8`{{*x?L-(<0IeIj%7POVp z<3U*s!LHL_ub1I&;ZXg`eb|o3UVFVS4M)UZ7rg!QG}etBxUb=7CIpQKD|zwGb5|3LeHmel@*@$KI(zK|Yme}is6 z!(hFXyDu`;%Fp_={@#GcI%Boy{(eGM!$yBwgSBM1TbvB`U{`-yf8X%w?LA8RCAL@g z_rZ_R-iH#~yW`6E_Ts&iv+VXBhKM15_sVd$NM&1tyvBaFc$K-V!cT4Y10P5GJ6b3E zyG_=}rr)J&xLw!qMady{(~sNVkk8hKaKlrh+rw67CCKL-NU)y1mUh+fhO>yIaC?#+N&AxAwTHF~+;)uT=wi_`_ z!rvzz_8|tV+~G=H+AB_Gmjf%h2!7fy-*i}xTV`!#R*aGvz*V>DK^=82qlhBgbeE3& zG9nY#YjN$Pd|wxB-vSm+e3Z$9_6^tVb4%E|k#fur&@FU}4A#b~#h>f(i(Y;AlkX8_ zwl<*#(McL$t}|7(At=z)W_385n(chz4HU&uwF|lma}cMvO2NbOhr7k<`flqLXY*R7 zM;#S0y%(tb?$$e5*%i7ng|he_abnv*mzz{2!%zuT$;dq|*}Ed^rCkd-vRZ>If2uB@ zrI5W+m(N1^i|{*K1Z`HN!{?bjz&47n>MSmC27jT0?q{D7q;l#S%xG$7@>r}qR_pt7 zWUKs&^k(mfybV~9CuN1~znygo%rzQ}o0080(u>H*Hs+PlzeIFoovm-Pf7Kdb-P>ts zV;sXarPDh*yDhLb)q(w#;iQ1`_Hz)xX=+&VCEuv1BFG2asb@^$X`KLR=Z$o>t=_~EOp5SegmNBjr&gT0E0s6Xa zB)S%KguA%)XRK?xB!hk#%OwWux)!6Zw`x^0hj!xdU$_xxlxko4=54 z8Jv|_@dj3d99@X#ky%B3#yrXx%y+6+8FL?F9%oE9O11t4GXR~^Pl(J_hs2aXY(@A2FirX3af*c=DruPD<5(8h?6*ERv{J;u@F=JTq zEhxx}$H|?2@FJ83Fh0#{IIA9MvKzwIUBybObtMMIvQz;?imrq)s*-$N31e8vS*j9e z(}gs4Br*KY*zfmCB~hWys@?^C!UN-~V&tog+%Gv9LVz*PGDco&M{&ZK#~Jgi&f{jx z&lvN#j*(i;ddB=r$CNP7HyE=XF=BbInw(5VuVD0z%xHCl{Rk8Fh2YE_`CJ5SAab4! ztj%%24;quMEl+X2Hf}!w`*}ZVgz=8sHuur=w9CiqRfVsSHNb=%nawJACQ8DS_MtA4 zjER4iiSg%CgI~+aeb0Al;OGG7`gU9<>ikaI=%?chFCfy)qQH~-tI6GxOf`Mr3zp{!|J_XXZn4;5suOkuDa_Of`1mW@2nXz}OQE5FO7s0V3%C zN}>wrY`zmPF`p0-D~of2-oLxSO&ufe)1RdMp(L@07^oZgmDQEuuH>BwRh~765Kg=8NnUXXC6-ti$Oa zP?&u%rgq>w9(G}Q_7B^-*!^%eore(uVk`V{ipqMgwTD(o80?=U%HkF|=TxPqKF-gg zOkAe*iOb`hDZH6)({>4-0>xV2R)q?)`(}s6Wo5VFk*4|B-$3C=MihR&^Rao;pyb%O z#W_g#2Kt6Ln_dNQZ=lQJ%{}0M1s7)UrKd5-`GJD##idQ+6AXaj+&BHg8~7yEdGqZk zf*glc4zZiVgt%N1Dmu@|dvXGjC2irtFgr9g%j@_P@vQ-W1Gz7?mfR$p8JgZR^_o2A z%onrUSiiViR&v0<3!sl^&`pRd!krqfqFf({cJqs*Nz}HZk9(jWw4VrGfESmcNcb9b zRuPEpiaZ>bbUu?@NNU0Thza}Wo^@Ce7{=rL0}}UotlzWaW8*nCNR-_yCXKT zs9?`-^AZ|l{ewCS2gTo>qW5>eLZ5(zSUwK`amXah@f-D52|Amf@!bGyLp7-+kK7rM zy@M{5Lq675^%rKhZ5{zkTgMSyto`?6%4%Fa$iNBefZVLcekgqw4z$+(n0F(iKmLF$ z;P=)HL?8hT+k}|l36b9^`5H&x4V(b^O^i{r#r|eld^h6TdY3t3SRlF*(b4wE@~j*Q zB}h>IzB}W)1st_6&w36`l~%*W*n?f}309>yP=4bg;HvamigSpkLFtfC!y$?xk~U$i zilfj(iZH;@B}M6QGB_g7Vqm?E@r1=rIzUlXF0#TRAftGOhE`=vH?G9tsy$_5?;pz> zuzC6jk6M2$KDYfiDcpmG+au=e1Rrfof6p#uwomz$p8 zjI_MV@=7k7Qxu#H7p%br79OYC+PaZt_i5pQk#R$1=gim9&2VA=>}IQjP|(k#i`(sZ>Y61JPGy!?9X5_h~J-4 z@&E_3FnWV$7H0q5-rt1c@MXx-uS#z)@gWo_xX_&HwO+*ynz&72mw%65WhuHqm@~oW z^jcS?=S14<`NnHqZA2c9$tw&lk2NF5V_l$b!hj1jorWfRa_e0F6C$HMxwS65!)0yt z1gG=T2LFELA>#>pQ0S5z5CHKOfOL28E(XHG=s%U^{Hc-CboroL7Jm1AWRm0H{SFPM z`5;Bd`@S=pcUUj^Mycj~Q8f?uzN@x{rJE3U>UkY#ygtO!Vi$xT19ND82ws;H{y9gy z`j)Hz;F;22(E1ScjEs`?t9pJ7g&t(Yb#k&E-^tkYdy^k|fo%>F6-PRINY@UQd|&z_ z^?Ek9uNyezq)|Dwo7G@yb<3Yyd0ceGW9u+^#}1~1rzF!@1%uAHgeLw7U;n2 z^|99{aKz|uMr5ST7czc3<`<;>5xW4`^#_w35HD~x1bVLlSPT^Xp+YxjLAmgRzT3cc zhMv>ZazkG-)QL-mAh=AbllX_98Buk_G$g&@za^6bZK1%W{0M z3N++LYzT&l-M?ylggGttJ3eB~;uB-IV`(6ei}}|f0<06$=Z^C&C9vJ!oi`JgSbp^# z^9KvwOghBidxAH!v0z%oZ=TQ$*!DXI2KEl|WcFe_gr?(r>%hPse0O^sy-DL!!7IQm zNd=(=jsojP1aHkq<+K6^KbObxtj9VDE`FF+E{BKD>@;hJ**Rc(=X6J2=kx({;|4d` zvVZx|BALXZjM&JZ_ImHL#w+e&Sbs>C#hCpn;d!mcN=dSFqf-p%)hxi zeM1|!$WHMOQ?sQUKfwVW>t(1JIf?g4$;pHxQ))ZcWfbLh#>$WJ!1riizN;~3x^HPw zu$Wq0h9`tuEUeeyyU~ML2Woc#)S^+)!Vw^09{u#u8L*5rwNV#Jl_wjdK7>D`{0|-r zXc++6?P)-J);Bf`nCrj2u<02;??1!_b(CLFA1bHL&r6eJ8hx3g4v7$mC?+q|f7TN` z$rGwQ!9NIpXW=rDfq@<{6*?#nZxXbt`;O#^W>4r^nd@5QYKLxQ&KtIq5kIK49;e3Cz4t~YpzWNhG+Jb86`LIodUE|SdcwdTMsq4+$o4PE!N z(unk8QH@VJZ;AbE##Xsj%zh@aBVIo%ggS6~@}Px*B|5(Ge(3`!Z-2}6zV$4pi9+XN z&yf8-@p9$$f>)~CXiO)mH(X5OG~e6?`YC_980j`dNjFQ8uD#gt`teA2sw7<=NLLEd zT?W!sCXnuW)OKwm>AatlbeDm2x5#0B9MWN(O}cG-hjeQX!}TfJe$ekv@$@SI5umzn zqT(LjjV34QGhS;)th2q=`$blFk+t)99XseyQBY!349(=U;whI=ADvP>rNo6VtGzgw zms3oAH2WZi)tBu1;JlCsP0z@E>%1Ia*vs=1yE(S{dc06mioisQMIz5g%-DbIJa*hm z5E^MvMx0GQXOCDShAFnwfg@Zv(YLrP0XLAuPx_urY0!0LlB;|2Y`FV9%A@H(8qAcB z0NN;Qv|_<+)LIK@uZ7+O2yuKa&xFC-o<~ApG$2n3feDn?E!b%|v&;n=9l_&@l0b7& z$u65f-=dsN=+Ebl?N7Dd)aT=*Di8Vb0`8+JRGwWRC-5wBHoYN9`bs=WcOTR3T^P@w zz)doqjtfc0@7Q$oOu5G8yAX`y4c0?(Jm}wF6fA^+@5Zzu>)itB^(gLs7b6XA;m_-b?`x zMLJT&K!)2ST}d-I+)KF=c>r)DTjS)n)?djNQZ~r7I1GB*L4BMkxf(k^Fk~2Ag+vZK zhr^o9E@Y;eh3a00J>Rm910n>`gU*!=-6s~IG%}%-e>bqDAwr=S9(h2IJnFpa{ojzh zpWW87TB#;c4cqmBgyBCuGLHSdS;b=&vs)Mnyzi7iL)Jk5n_ccKs#1|xna{RY>-KSe zM*D0H?!)YNqIgI3^lQP+$LQ(No8863m-ANWRA{I9Xg`g-tcOIS9m~EA7x#B0<9Y>lmWOREHSx3ird|i?LmtD)GR6qQ>W*zc6WgB*ONo_gY+0eE|NG3Fm=2XQn3H zFWI;j6oSrX;S#4V|IqM5mr)ku-P(@1T=UxR@4PR$>o43?=qFHwH zBG}AsOyzxLl0~_OkJaD$ZJ8JM^IrjCMl&e)HSrptu?v@inrhu9`T1r{K+0_&?G4R9 zxwliB4`LzJmFoKv@WJ{)bPNW6I|g!v$i)MiCR>jDlb<4cS)a%jvZyC?hQDDnM8gT5 z&}viUvg-ne9X|Mza`)PBtVqpVAx|p-bt%nb_`^^`U6U}f0V9|{d|Drd(5f#vwnLT$ zOefynBSLWedQSWxFPDOzs z!Ff-Z$S$#66EHV(UqYTe>B=828*j8^@?ERa0LVJ*IG}J^Z8v6V zOK|lFJ>DD#GP|P5i`w7y{7@4Fy0 z9bQSR%Beq)Yq?`wZ4!y@Afu;@rJ{`1KqR z-$PV%!JT)Fv~tDzf8EiuCug1KTZ|!z6-T>BbKl}iAJ~aToOcV%slE7ha#p)=A^gH* z{5j=pTtejF0N&XyV077m&jGl53@0Mc>}fAuO?teJVH3by3rj4mkmL((Cxm_Ng2;~e z{t2aQ@{cyMcfj8*nA7DR1JKxB--k>Z|kSXSZPxeS(hNh&)R{?*Tkc zEKBeQ*a;ju8Lb9SUk%uDoFH4;QfovyEaH!G;XfUjK%FiKZ2Z$Kq&cuFe}u#$pMJfD z$lY-i2KxrTwcTs|o%>yTTDeIA((ZnqDZXLieEh(n4BzXX(0MmpBh&6fDLJ{4`)gAn^y_f^$bT z@3_7j`xf7z-#~CmWLqM9+;u8j@H-@1X`J++ZO7M-44ii5{)m<4Y5&-?77Sv(M%G37 zW4$kPPz;GGg2_M*E$^g$Ysvedl&A-n%6pBx)|(!yrzL9k8RX6F!a6>5bp}kG+0RI% zAY+3r80TEpvj72;C=8D;>>WCJJx&c_{h7AzqkjMe|1O2#yHJPnL-T%ma)Fg4i(4gw z3W61ecm)YEqQJtEvLaPL+M2@0hg-g&kz>e^?|HCY>77s!~nz-%w38tt= z0!rJN3sJGG6Wf@B#N|jV&V~AH`u7%ve)aU1pvIh}`ajT-R+Jm@6$j6Ob^Tq{Y{ZGP zP^2hW)+@2FGQ=szt+?#4I0BVXR}4Tz)c-pU+nAylzu(7Bl9h-r03bEI6JY_s+@$R> za>&aMwO*C^W&iI%Ju*L!AG3hOKRLhB$7O%ZYS8KEadE#Y>})y*u!69$4OU2m?D*4k z{0xnq&rV3S6Nal^UT7yA1ls}?uQkJ^Qu6GSH=-$ND&?zoO1Dl4-IRrL=+$0t*NhDE zvA64+ZRi#L^H^_q0{ad_Qm32Pmd-pJx`iE<-PRr+_`c`C$QhJ}!5qx&gCNJmX;_t5 zEB=w^*zV1J)%R7^u1D#NiPhmNe2u7M5E79E>3&$H8d*v9uIzWf=!JYQh-1K(k662% z6miGKpY>AUlOfl^?lP@z0dWu!K(<6^z9TrQ37L1dznOBd!;xpbZN20_5&p6mCC^6? z{gVLB%s3_phdX^fie%_nQZ3}n9hK=BL6}+#4!E$yA)AWwCaR_4aNNuWy#*eOn{&M4RNX-<{ zd=R(=Z!|)ae}KjTx_IM{5TJ+=Xa4~|+7Az~u#8hWTD(1hjxM)<6GcKZKA|oDYpL@K zvvj?;K zNWL|oXo@@arZ0JdS%EMNh_!fNWHR;%YtycO%~STgH?S3%whr(HItF+G5m#|87KYuj>HSi(J6V9hQ)-Ga@Fta7S1tJB2w&yq55`wGr-Z8lNbliTHS=66Ze$a>oG zOhL9NbiC7k_{_1tKcjt6UiNm}dF|gDTwN=3TOW}g1z7t#-pNMpGC z0v_S!N0Z-$ao*mTf`6}O@qY_!g1o`%Qf zA+)+(&gN|7RSqmcbSyN=0TeY8r2yocHXt|2j49R=x|8w^wP!4~=VQx*!O(_R%iV{O z36$>Uz9h7?Vrx&{mWvVf)HM8g;v&Ov7lqsz-oOpm$Z6_8TwZW`EnUukkKf+l4GlPw zUKF~jE0x2*jas^}@3mV$lBPCmBSpC`@J~q^ruyA@#=(TPOm20-k-w8&UjPh(UzC=y z5m1vn&Zl4z{>T&Py*RTyfYZa@JPNM2!Z0*r>+1y^v-${6zP&y$vnw=c6AWW+Z)i|k z08b4%aG}YRlGGa^xAD#1Zt+w4F@@WhSgWiZJ}lS)r*Hh*tqa-W1I{732sMn*ai1+u8KI z>`bm#2BJ)XRh7PgIbb-VFIoZI6|urGvsf_>fAFIuO?_l}18dTk!_<+|T{)V#^XF6g zr|*hFyn0kyh}q>*2nL!`+~`T%x_L=(cm^l@_O#e|46NCPv2hX>tV5kmHxZ*iJA@c8 z2pk^f?|~B+G@#VHTzGl-Hv?`4Un+v2S(9FZ3Sb}nBFqVmM<#+q=tSJ-Itli=jK~-5 zaRNxr$6Sa%4QALcA|u}MwmMk>q61+^(+)qj=|C>S_l3rbCh}=Ek^t~)JB^9r$xbcI z#5dkoS4v$59MwGJqMeRC$}PGe`p?-k7{8{KmX|GaHvL9Y7oJ?`)z-_<JQco90>>AZ&l z@eDvL#sCGoVOTH4m{r`kZW|?dOoa=tM?0`d7aj@y8XkAysR%Jg4n`oyht(ba0;a~6 zf?)RJxwpTOlXqx8v>V9Y=Z|D=#a?}0Zl|;PCalLi!7EY$fOd&OoEN`+p`1IxBD-6; zl*$Wq4HZMEF9kY0g}F!9?v3w3XY&WBBzzvqP)14V6uufbc+j&hJhMI({kV6Cyr|Vp zA0JobWIcYduPmQo_hn3-=zll+VCO*8c|g34cH!ayXVY-lOF9QmM71iP{}o9I@dr={ zJ=5%!w4vW*XygJ=F+2tZs9(%L{>vTVtw2n5Yc6b$vRjv(fNsr_+hx+mEuQODERX|O zD({JQ-pR~sU1$_wRf)k-!+lqU)9qq#`ig88K z;ur#AV5_Pe194pQ4k<32&5fADLem{qQ~FgXPrH9LVm!F5 zT26$Hru4-eulT;3&~uy8m*d-c+ZyIVYOPFNlb(Y*KR}&OOwhBfAF~@D=U*Vf(U67i z4n44uG9F*JpME(U;pXGxYF8m^eH=11s(<48*))7NA8eT6DZ~EOAUE`!f!@%(6eD;c zX3*v<<&*|p0#=eCt_Vc|!KHpgDw8;8;IM z$|T3VgR&@_f=z=m7-B%Bcygb<3Fonp)4FY&j0In1p`tmsvtdL>WM+%E?CD_LVPx?V znBx%zD_EE6!S4ik!ATlquLSA!SdS=>fw%DXnSkbcxX-__xD2#;GQ9z$lr*H$%K@5G z;Z7 zr7+e1Q|t=3Q1v*ZD_GnnzziV18xIo9q2y=q>RxdpQshXo(t=liAgbd(4~s?kw4fe? zKV}8iybTe3mBcZ4wITA6#%+Y)jj8Q>PF}awFn;W4-etK$BTmP)7VsWHvb4H;c`cB z*>m7-F!Y{*7}g^+7mpzS7dRdn!O`N)ZC_JPeqI#la|B*9IBuIu;F3d5_5|JmM?;7< zk3|eK?CgVRzr}<|q+m|v5&Y1g>pUTtZ9@eeIYk4p`y=qw?pFT?;Ug#$*FKD_B0cyb zcP?%5I-h!e6ZJh$;Ju48pO@N}7gXIu^{?1^F7tWs3kR@2mA8eeAe64W%$H|`rfv#< z6`3$UT8H5XDLoWGjiP~KF$+M0^B9SsUZi~IkA`9-{yTYV?OHuGjSNJ~sYJG=n ziW%a_Q)-52ehssdxQ$;qCp(+E@g?Eob079rIyLfK3Y@2N|8a(WWSRaoH;yi;7n!nz}%1~)(F6%Ch`=p3L2#H zea_|(M>mJ1xQgkJJ2~PGdJzOJ#@KJfkOZVOPLq|C-S7BwfXV_)7~~!QJ-U(jCQtb- zwMyh{B}E9qoX4TX#lu3(zivl( z7${2N0VIuZE7}TmbR3k$&>7b*LW_~)W>OLK`sE(@gnCFQcit3en)qtK|BLaEB-*K^ z8xq-gJVG<-ug>OEFuf@PEZnCFbT8j(`-|ZBGmZ z6zi{8RuA$9roQM1ywVqlI07H{`QO6&J=B2R*rVb)a22SIT_0!DT_~p82_i05(ycI6 z?Afa;UXKhx!zxTu2t8}Z`*r*%75}guze2~;m;^FhMKUOHSYSn*O`GtkN;KLf-a!;( zV^l8Yx}42_iDtXP&cK>Y*)H z(PH6o2fZwydKGnhDRQ07XOkaLiN}ME$Da(Ebjf(IO7zEr~nJ68AM*(d~)_nV&3 zi9?|8=E2@O4`-^tZPdE&o*}jFj{pK4$g9rxiF;M!xuWs-?}ePlL@0BQycz&dXo@Pd z4TZub(7zQLV>KFohJqA?w~}b@IT<7Q$GF<$uzyqV+|Z!&vBcdd-&YKDxNyr7CKL$P zPlh?0hk<%**>X=H$MAg-jtd;0X8?7s_(s;C!iFLGhmHDQ6c!f|i)Xp;fVf_zdSQW9 zAplVVYC^wJkq~)sZwWstZDY8{=_4o+7?>HDp{H~7m>m8XO@BHKYb-2AxwMv)A%gtPfBWac%z-$q6|mh^K;u*?(w6|$(A^`SR7@o@zN?SWfM zl74v@t1i)kG%GDU7$|aZhfT~Ju)cMH%IM4W2yCr1Ok2Db>kbHN)HW{sC~R=zDqvS& zDU(l_nmPtWUMnbLgzuD^5zH5svH(dl#@9)d$;g*y?c{o;>3K|Qh1kCeowyfjMfi{S z1PeZ@hSaA)(cqA4Hlk>z}In1a!F zCsMF9Ny90npzm!n&%$XXAoFsxz&2ID*>sy7Re(LhU+dWBTM&!o8V@Oe-yg#Nw*zY& zQ3MZhvA^8eoP{*3G`N%2?`mTLsfQslPU`Kqfw9yA12!}+A)HM-Pe{j{@ zRjIO~!D|0NZr=wl*5xNauWOu@I*{8-92e-b3$UR&Bsdc$CI3L|pQ-)+(AqS-n9Kd9 zf1oKq6&BT$lO=v_JS~t9COX5xZ`8REcRGf~cbtc>(8w!50eRmKJe$Q9RTxM8VEd)` zPx;$|(FWQbI&m9*cq~sEmhPM6PdfQb`!i&huz(h-`w5~W>(%~NpK?PPTYbbd;BP;^ z6Cs{HIfyHti!$FNqMr6o28wSz!lC(&&&=Lsw+~ldLvJat`ttflyvoHdodw=fXh(gA z;`UpU@5cmw>yDbTyYOa-3*+#YkH((|Bs+z_izp&ZJlF{&tp4XPIQ9%<;_{l66%$LV zeJe`+S=kfIDr)wgS~qe2Z122zg>&c4omlF_ ze~avd%Ic*xbt_AKl{M89YnFVyeq!FdMftjrHQ6F;4<^OEVR%io~OnOXmD&~@im{x!O8tX6bgqv!>iR#c{W+8VrTXKvpae1)HXeo^ z*ZtAqf(!nw^+)S%)b)N=`zKHSwEC5f7~e9xT|J-CF1tU@&HbG4bpac`TaWvm^~WE# zHvGxwOZYSATspsGQGRXhe2&DKbv6Fl<14RrxfAsdIl_;x@kzxw$DB6JEG?^?kgW7( zEb%WLXXa#TZTfj_h46>&4b^7>=2*{Qju{;wdOpO1pwyM;}rNG4e(yFQ@rDZE7 zEH@U_)Yktu^x;n<(J=~f+qJ5{ereBN=eli@%dk0X{(fcOke1h_&=b-L075ot91B?4rM0%Y1HNHZ#(R79N7H2 zIIbKmZ8jWbbu)~OI(ZF=6x58IaQ(5h+s4J=RFRQFJiYr#u z)LmaxQMy7$=w?mIJ}!`Gqiy`M8WQKR68&AW$Sw1>=+L!TeQ(s?wfcMN#SJT~%9jFp%g30@YwCT~r7J6@jj5_BE3M+^7*j=z ztsi4b2r8$qlDWo~PZ*nZE(-Fq-dDP^7IF1sByzI8GW3X9R)sNWLm697NcNX183Tlp zQ#DE^Al8>IV=eU;jxE2?lo(uJi-F;-Vstf~Un-3Um!VMyh_?DLX3OZSr<*!of94T_&!!9>2Y^KH=SjXt-G z>eZpSOntj`xZ&&SyHST(I^N}1@r(bU!de}c==8-pthK*i(E00BxbYSE_V#xeBwYRp_o&VYiOA=_OVxI@PXKVRkmT zg#Uxjjo80Q=f+0**GlWEF}xB6ybaG-qv3rkk^c60FVX4Q7sTKlTbmJGAGYZHZXMbf zO*$`DUgI;TqPC_ElF80;+^}1>*SOs+(@Vak!VSMvVUG?Qb!a@O;@k9hiybdZAN!|P z^_MZMW%oUBCI7`mX((3ODM|d{uqBbeN^% zv-G!Hhb1~(tix_yPl6nsTe-5fs$#CM4qPFpiHvH0RaK_ptMgYFOG~TjD~z$_#@H(U z-(ZZLaP~4|Y?(1OJIiloWHpS<%4x_%iu$PH@2p7+Ok;LwwK?9LUE?!L&1yfilRBfi z#+GwNMMG^xnGeEb>R5=cp-cQeb5&`*DL;*&l$($oGBixza>(rEHC5%NzaAx+Zz^Uk zDKIZIjbTF#GpoUn|H>0v|jORKAa z+se`vkl8gWYfI}Y>uaj(%~h4YkOZqE+UcMqi6k{8*3T^yvNh+T`N!EJ|!gl_)r2ID2>noR4SCk(gj$OaIpYqu`YIyWVFuQzXKjkM)jw?UACLi-=0uAi) zZT*zb&Y50WU0Qd2fA!mR`mC@~^V8xEx5~Orh5s)3`C0XEwE0=rZ~lkt@747;>iXUP z;rg>Qf4AuR7ypOruhsQ$(DgU|hwI;<>))vB-|!!!zuHXC**Kg0erq&BvbokH8znJzq8%B6zCCukFWoBIk991yK zK;NmVg4!Wh+QwWT7UQLL<>u^)Rc0PDmilU-3{|W$V85?`b4)^xg;ytLG8bO0^YK?S zYq6>_22bH&EUl}kFqTzd#a~%w%qAYOEdJ^h)itZA+9c?I)L&GCqFJRH7$?lLbB~iL zF5T95+_&V(*h%N-*Ok^UzqDFIg!UDM%?$Q@SF7_c)}ak@QWjC4ukcMMsdCumH}+HB zhLarH^|&?P8J%vKWup#TY<|??Mjf{4(AA~#m+0?W9VXY)-*=0~w^!@;je332_Al1o z{Wd7;T)s@Z9Vv*((ics;Dvqd6;2p?aG9jZe(XMn=%sVjJjXJ$ehspMnsC`wZ8@l{r4X@>|8cwqPMDJ7dXFrih#QkyW_Sf!G@EUda zFXOM<+4xW5-)-mb$Nm$Cy8PLw@i#SH+&cVM@o%x|VdL{T>Ayjj`@HmT)A;x3dV0E5 zKh*wFg&TEf{7HS6=x~D$dv)mkvr2E&VVe$J&#CyuI^3v3L)T;5-%9lN1|9Z?zf0re z)*&b6V<$gl3X7lfic1?RSNd0K!v$r_Qh#-sG$QC}y&j?kCWb1QWN}1DN|-o{nk`=z zX**i>`Nx>vjrf1|_-@qsYm@A6*^@aRQm({R5(mI8-_}ogJF5-1Tib(r?XbtKvb?Us z?vM)q-S#I{$^ZQC2Hn0MjkinNy?QnNwYHt>e<}Vw8h@9jv#CQHe8Qt=Z3f($ftV2_$yLDKr!wov@)uEyDyXM;IoPFuM!VAslu9UgF6q`a^^w4q&4b5Cq0Xs4kuTrVrN%brPJ5|U? zp$U^~W%b3G3LxOAe{*rJ!M9u%tml5<_2#NNSo|iK(q0G?a3xH+_D-0I1r-|6V4Npg z2~c)_zPw)RbCcPsc@=dlVK(DxE9sw|zgOqSdV?n-q=Y?QDOnePmh@NtT;lB2GiY73eJwh_U4M5!dVsg{{NMJpOaDwBg%w-(K(9@t-$zYk9o*eYY&KSi^7BczhO|7G1v9E~mqm z&sn}#moL%uUaUjA{TnsBZX2!+ZMx=j~5+@R@W+U0dP_KNXiSB@WBK5wk&!m-5{j-6}JR{No~+3o+wFW%izyrksf@ym?y_4vOU z0sdcMjIY7&KQ%0)qO7X27A^%}=V4J}{B_3oGGlzLF}@1ftB|)YUS-YDfcSOD}=|H64M(AeT7*ICwZVE0l~E?K_8EEnaitN=3fcF-Fi*=Nm<8Bw5b-; z?;3xk^om$Y;;#)l-Tacuw^4^wqQ_=Uu4;fk1l%u{FK>V$)HIDX#+qT;$iFCh4&ugC=WvC4fGxRaO}WBr*X z9T($jmZ=&=i5=GoHii?-c@i=D>NvEX==5%P4T)bfY!)6&(+ z$7_lH-jJ!{yLHIb4wli_#<>9O#qNlL8!n?v9#twv)&I^V2ma#pM5pU>PlCdODcWWVKmj$ zndp99%=jnDSHf)2kWiNNNWlA2tlyVb)vUr29)4HV%Ru^sbnSXoCT|8X%PZ?7KG(B{ z67nhEv1Mg7*O}#|zEUZ4R5vE(E3T-+vY4|fUpFi=f@o|m$!~dBxbJA%O5fuc%AZ3tNT2Z0Jv`yP- zo3=r!L6BC|pi5LrR1gvsv=vkZMeG(~i=azTHf+}hwPLp_D4ShnV-?xmu8mch`~5lR zI+K}`nReXY@BZ%JALjLH-{*XuuFv&wu5+D-nZRMU;zv6yfPR>^3_lox8HZ}x9WW2} zi5!+JryXJ2?c@QoSJD3P%X^8NqiH)}C;qkfQ4hEUW*n?(+G^s!99Rsmg_ZCRuo33n zPk)FUcEaDoUidA{I7HJXK7c>G7Z$_NgZRTYVI%w&w!+M2{NW zc@Oo6%i(%h3j;r=K5#WGA3;Cy`*F1}A2!2k*bZ00ZnzHeQn|Jn`rvcn7S7ZLk?`f$h-qDE`n7HSTjxfj$_50oVY`;ghfyeh8akA8d!&E%?LZVd+uS zA6CQNA7gyMgJ3u9I0Oy4+h`^upIh-$#DxGhb{1xwf*5P zIOB=_a35R>vnc29umGk%$#DjQunR7PeegDzmCNxA3t-7p#D`id@u3g4z>{DHoDX~8 z4bVH1e4!uy78bL%+YE#3Z-*f`{AuFAM%V)PdxmibABDZ}Z!iPDInOd~;Ud@ySHVvB z3hafyhn27oHo|@Rd7q4<`2k^=2WP=nn8wfVbiqd02e-kjJbt_FIqC;j!&0~%R>ORL z<*7;Zuo(NtVI@p?fpTC0Y(rlSyI>RSgMH9Hn)!zx`YMGTun`7dB5&9SyLmX1bdA44dii@U87JTm{ZRhCO8^$YQW%2Oun9K74%iF(V8%G?|4948QdkTdAYX&g z+F&E>fvqrW6YU3^V2|v-M_%Lchgq-%=D~u^#DQ(^(;m>_`)fZbNgg;_8J{ZL-F?1Rm)?K9c|cEMiQ1HBW`Lm%{h zP8^s8i(w0FhHZbPJjOu>^wY0hFhKvw-)k?0eXtT1e8KT{0__F6U zzftZa?4S>ZU;%7{rO^8&{SN)G5jMdV*ah2RAMAp`ZN!5im{CYM&<~qn0QSIA+5d`q zz&6+hv%aQ%VGHboeb7Idc;Da$OJOOjhLx}dHo!L64EtakEa;^@VG#Df7N|`j|G(33 zFa(3J35HZYdU_g0QSIA z=z0hlf!x^)%hk3K< z2iRCl`@=Tal0tr`5PwKGEI+O8^@hVOum$$QHt0Q-xX=f^L&+cZq=m!HBHt|>?t-Q1 zlye&L-N{p!K{>E#59%izj=qF?!vJjCi(mVLO$5bT5vuot$#4BDpy z=D{9V47~^85B;!>JPTkaEQLL=8fvE#2WG)0m&$?0`Yo4Xa@vY=IePP~Hg2C(i=d1%ohvycCwg5UhmNumLu}X4nMVU<>SoZLkM+ zK~h44bXo!`M@CTflV-U6#2?N^qxarxs(gNBPkd9VFL`p7T5v1WdCUT z?_A1*#n78ad&3ZHg&nX5c0sM2JYg2h8jTVVAgT86D)1aZ%pjjWm`6F@ap<8RwqREP+hHl}hSjhSHo%Mp)CcCl zHW-8*upD;5YS;&xpm#j&46|Sd48dMl4Kpsl9~Qt4SPYv^A`jRCn_@v&LD&b&p?4bn01IFv48j&z3fo}_cEM`c3p-%O&+vzN z&^w)YFbkGLKdgoYun`7f3oM20Fa*0`HSC2=(0d7aLLcmc1+WJe!#)^--WeQcFblRq zKkR@7unz`d#-)@4{V)Uruo{-a23QH(U<>Sm9k37f!0IB}sS-UbhQXQC16IRE*aur> zpP$|C6wao7FT)=CpuZSD*mVm1BRrLQ!cYnMEF$mIi3j`UQZ8&blkzS{em3=k-gD?j z*ay8;#49In7@S8xL+^RmFQ$GK*bC1`4*d&gM;LPLC`$Fmu{V)Iv zU?~j3N>~aTUsyB?^XE00$6Y{^@TxL z3rk@W48c~|1Uq0K>=FG!{FhKq=!YFJ0J~r*?17cA4>myW&&U@Rz;+mfU9c4P!fKdt zHF-fl^j=2)!zS1Q+hB*t7f}zG1^b{MX4DWD`e6_TU@0txAy^5kVFPS{&9Di!iTrZn zz|t!GuEBpX^%q`2p0MCb#_hGR8a)gyK@a^`qleyW&|imt9mh2c!E#s)t6>9dgl(`D zcEL{Qt*0Gf7Sw8q53^tp=E3S4$scCjME#*3wu>Hi!BW@@tD*OL#sT!fK3ED18mKP} z!e$tPZ7}O*%DVx37=UfC6n4N$*aI72A8dwAw~(jEVO|~nw_*>2uojlWCK!UPunBg+ zHrNgQ%cxg9`M^9_4TG=+mct&{2>W0Q^e(5KuoU*f2I#$!{9pm}uHg8D)i5M-SS#|| zs2>c%9@qo(mQqe5<-i`;2)(yc4$Ok>&=0#{0qliA=)H;Zp$~>&0j!3_umOf(3#^6y zJE%Wwf~_Kl9k2s-!#>z2`*%|B2KHe&^si)mz=FFN4=@CKVD&1>yP0^f82ay~JQ!?3 z4?|G9g*@&-4!!r%PcRF%!w~F-Eimg=%7q0m>ptvZ3v7aIuvPT119rh~*a!Qde>L@A zMm!jVU9bW6z!sQwKY5ED_Q5vjUrwG6Fg{=(tcIZn=@-}oyI@u`?F@qtk=F|Hfu*nm zR>L0H1ie3}KCtN*9N)L0hk39M7Q^aCsJF;r2Mj$*yEGE-CG;?BJ>wY$VI%B;?XdJ^ z`uBG1p%2O@(}Lz&a;oO4&T#FYHpJWL8j>OMZ2kq$>JJ~OYy|P`d1ir5>t_T=!5t_ z3OyyqO^oC?b(y=)qu(ciq^@Z$`T#pl-BI;e7%3+g{eJV~=OJY+tf=r+xa&Uy;;uXQRP_mxkn78oGrv@ z$1YyG<)R;tzTr&%G6M9}4~ny9REECNPF&*U>O4EzNnXo{({JasdQiMbURA`YsfeGK zl(Q0jKI3T;+mZIU*2+Zm>(DpgKR;Tp542Av`Zv*=?ej$9Ja%9gJU?+B*^K*M+9y#S zyO7vzvUnY)IL!9BE#BsI|XBK)h&UcC9Y#`3Y zoy5sO@4ZmP8Nway$Q%`WT&5X3Yr`&4`z$2RYj&Ky635|B{%L`W631CboEr3Iy$($r zXEkyDvy(VGh%@$L6^9=rNmQ?`#94=3yn4y;0#4IGb!=;xzPG{0A%&soCXAB*BT{}n`X%Tm zMeC#H`!(o`Iqnjz4>q7b6aD$o{(5;N{#NwO365(y4;G@|g8n>?C(p@I$I*0IAGjZL zjmkK0l;&=b148Vpu+O+e+26ctd&$3WQGfUyiT}qz_TQ-ZPfC1g@0CM&7lHmr)Sm0m zuic4$6Z*%|pA_95SDDRW_Q!Vg9q4b3*6T|n?Ugx<^Dq68=y=UX--Ny_#(!Y_QiA@_ zD-zEK@_|19QuQ!^<@M4b?C>VKRH^zWI(?Oec4X*+tEw?xOEbB zJXa3XKb3b_&>s@5x0V-X`^n$DU4}l*Y2eJb;>`{e7Fhy zGx#TJzwPMPp)ZQApFVY<{%M-ly_53u(f6}l{9~Pb8yn+1k(P!+$zXW|IdVjQk z)cLFmefCcLSEBc!Pc(kkp+69PqWW!8{=Vq)qxx^V(kH54=I)wy81WPJUq1RVJISvE zeIEKm?OTODe<%Jc(QmnKC-q1F;ZF3M(08G~Cc6H5wb_9(X7kaHt?dur%(myyT+aV&W|%-Y3`h zhnL61YcOr3yk+QT+|VB$7p=d-3L*Nn=og^BI9jh;2bSnJqJJ8FqH(hg{Rf=)?vL?r zij<$Who+s*ahYhHn~VNZ^n@8`kEr_?Md)Wy{t40g#RK^-L?1$*Xk08qzi=n|wNgI% zc;!pKrlBuKzm9Fsq^SOwT<6vwxAHLiAG>YX{Zj0T9d-{5LE|(YW7${(u`3*K;fS zpCuSKa@=^h33xjGM?{w&b^k2~eL4C>?OcfdMe<8@KCD3h3i?FngL?F@qmMVPCBHT3 zU6h|F{s#00`b7R)(Qj)=e0|{Ai~0QK#Ov7{^p~KI*FKVye zB!AJL#q6k~sSy6@Z=`+RI9 z|32&&iv8W#PfX8PrW1dudrG>GJHZoi;oi_hs|c)UFaA~Fmq-8eh>Lg0Ex+aZ#PqCX z?!t86QqP2Rf1Od1o_FoAbpM2O9{~xhf=Ia)`!J8fR zO% z|MC_6;ZMc>zCrdYo%WKy@3#K%D`NjnjQw=-xjWik=7qxjXdmq9UUgj0i5%B5Ue*v# z^v_Dae@484v26DHRD%91y4R;!_1uDA!R^+4H_yT2qT6M5y61GN%~xxGBS~8oLz9do<;fw>s`Q2GwytHN9A$ zpI$mMz5Mj_(h2NLjx!4|2T<->;uYM{A5LeWdgfU1c6uB(y7a%NH@PNqKwbnVq$5}! z_rQ!CCo*qj?$7wRlm3u$8WZF_J-ycDUd+KZXv&h-)1=?Zh|_jgfA|u%Jzo;%)Y$p5 zYS?dR*VmcrHb!PlnJ-u3*Nfll;`e=m@}<+O2bV78ZoM8yVwg&Y4$O1DBb3a;l8m9sC!na z%0wQ({t&i3LE3@CWIAVJ86=|5M_+8~%LeO9RC%U<b<~sn;WW1GkI1(nZ*a)RBQHc= zi~K}6&c7wzz;QlselL`>;zxr9tc;VwgE;@F_KX@Q)6;#YMdlqD*9)=h!cLCSD7#td zzB!D{Ddxmelv-$Sij_IO*5KERpL1NSN8S@hz6rUsU$njSd#)}xxFXPG7ZycGA=ltlMX|C6D z(08N1%7uP!^ry%>8s@oi8f(zkWm^0VqwjT@7*&b+Fq;PP->1fFykmmZz$xke;;1FB zxo$1NFM!`PiG|+^S!*tLPfqtOleO|vqcA(^%QeA*CevYSJx5d@sE8g_ScAgA@&LC%ED^U z$x_Oz$G;c)@j?!^8V5`W*56ZL06r|QlQmGVmP4?NHxenb58@Q)rpd2(qqFo4Yd$G+RPFWb4j zjO%sS*FM-Eeo^8twe5LlDtMcFg=e|3EajBCA$swsjLU~{^T1l#Nxin==WXr}e)vF)-N`wrVaE8uL$7<)r0GoDgNBhZ^Pfdr+~;je{MzIirf%^`iT7w)^SM$RXfTm7W&qnOuo)6*;EAoejbIC5BSb3a4sxsbRm#O3le@-gd= zycPM45vkR0tC7oh_PNay`H1~GF(o&8>fydaLe0(m*|R7d<8VTG&^$p&c||1YePZDFsng{MvOaeHqVGcFc_?Nc zI)zL6nV)}z#^E=9jE-5-oygkmmvSIB={XP*c>Z83RMR%v9qmxhqMR$`xl z{Q)vRc3Adx`tg_Z03_gymsuL6npms^E_Oq%MF-otbC@Yns#a2I14`AAO0D3Qtncn zYf&Cy6kAqPrQId(eC*^mKxE(kh`b1S19I~`rxYTuh+{AHtWoyqVr%yA!1DmJ|It?y zZ;a^8b~uIZpOGq~O7!c|H=#GLH%)zs-Atx_i_)9-Tg~_~@~zK!Fkb0TmVVloc42G` zy2dy)z0)P9^q2)zFje|N@^5;E`wZeg(Q4Po7_8N$w<8N8$#>z=)aP0CUWJ+OyhuKx zUxvN`eZ2dqqF<}@=6S-b&*?G#8+W1KwhMh)o>hLl_%f~+D*yY~_RO=#(QL*M*97W< zO7birj>d1enCAyG&(fGYtCW7=KEd1={mNbF*C{=>3DvkcBjTTrC{yYC+4j_0{TjVK znax4+MD+TE16T4+Vv(rq%KO8!OIl|I)WmhU-u{uGmcyfuP6=2;gvf1W%^dzEqE7Cf)k z*XB5w8R;jLN8~G!`{KygBF~B=-+(;BE=L8DI9rf=r@b?{UAG~Z-}Z5~wvy4FvkU!(UFf&&Lhl)yxc=t+fnH<&I2~BypJ8_~b4Q_!Ic_GxB2>#LrvSSr*!E;h zG|#6yy~Zfk=f<5sn2#mi7UDG#?@@`DyUTbot+P~#ze1IGxzt1E$A=}})CBP+N3MZR zA>NEc@d}AiLp+%;S4zD3Ry?(~m>6!;L_O30J9x)RQ!+JWo}2`t@5#K# z)rXl6{^RD$p`=w2FYqG2>BF{X|4C*)N1tD(^Az+Z$N5$K*5cQLU!(ZVi07B5^CZL< zxohgt&3{wnx?~8~C2FB%UK`+I-iOXEVEnA_5ATrj9=6Jh zUi%N+i=IZtEpcltQ?-;SR*Hw9zzmhrI~zYhG&b;uVxD_@oZFU2ii`g<#J zYG1M5=l2+e(e@$z&c*b77&*Rw(d&d}=$&!|DH8?WHk&pP7;Gg%Z z@^ATZ{!;Ii_;>!MKYX?H*SN`M`SIIbx=-H`ui_=d*+LxeZ@F%hIQ3SXoy;dwc|7iR z@8lYlkebBJ=fDZP-XFeG;=Uadci?@Pfpyw+iJP&DxS7N)8preEH)5a1io61OIr2T( zwm%}TQT9&xO5~N;r`g6(?AI#$==Gh*H>mhd`4;4*#Bs{EBQHkoal}uf^MlBlCL$k+ zpMyMrTy7KCACZqoUd?&cDKA0pi&O4GdA+*>zXtr4h`?OeF&(Nh zC#F`LerEl-@b7k%Yt|om7xHVwzl8h5p>(gvOOOZNRQD|@URH}DUx+-2e1x*M<@LzR zkw@1{>{lZ%MShL4x8tuv-X16ZM&uoF;%`OX9Vh+{GUV0R%b2h~B42~N5&1PDjB4lg$o*RekH1aG zwT*+z-G;m`PClNKS^pv*D)H4v%FRaJ6UROuc{g(BxGzH96-Qoyyfcox26+ea=yJ0u zcO~+6+tLRzwq0JU(b*9lkt`_k^kOS_vOv; z$oijWjMCXb-d7PyeTuO2WA|h0Q;%ODuHV3;)+zE{Ow{<2_Fa!(DSiX(Kc8_sGxEOi z7WCEVhhuAv>w)V+IlgzG?|XmnJdw$Xq!)SgaVho7MIIzxwZw~euW%N(!p?}jQz(8F z_%;4WKUw!l{$2Q8%C={ubzY3Dd-LSlByxMvJl@hMCyVoItJqJ#-m&hJJHCseSAFWa zoTrfd@H6k%(Vg=4rnGN1@+Ra5ux+*9zeB4E$ry=AaYNT{){8f zM&1%fo{zjaj=TtY6LMM3+aHNvfn4%&j?Wt8l8;lq61n7)VF!T{XDxEc$0^?+@tLoq zzoUr5Ey+5*AVV+ANY&30 z%B>OeBjs+#KI6T3`7wK`HHMU%J%jZOcCu~N|IA3aX8qAuqmLfHVq1c|68Sz6zk%;V zh+mb`?=O1w5&1F|&ua^zS$}1pD31+FAKecUZwvAec{t_Uk(WE<5<87SSGtqDbCup1 zuMl~$Bc8N#8S)@M<80tLk;GYpUh=iqd1`LuJ6n9O zW0G~vA@$veo%Ba^e)-6ARQ%tw?(iJX_;8$qiqgy7<&N875-)ou_n#c=z+B|{$Tj4b zg4pwY)OU5P!^k`zN&W%se}TE@n!)9Bt4UsI^EvN(ZoyCf_JHYkXL5eho}0)okMjk$ z&(yfRGBR%M{EN|Vm3$r}Zgk%i>$gPCS89D#LA;C))Oqn8?9KO!<&FMnsnSk`vp651 z_ego_BYBh|Z$i%PTb0N3bl*i*e@Va8pl?H;O20^-44U7HX_zl#r!(=}PCktv_J{L1 z@H`(6ZkM9;O7{zK`g5D)AD9QrBJC;uh3K0T_)Gg# zDE)41+aK|(K`!|uin|(p3wnuR%|E9`$`#pqrH>x(BHyISbIP}=@|pW zeO?jyT4g`XHijbKkRbjRWgp#tV!vJ4N1tazo_4C$-v_fT-}REK0+Ht+m-;&6j7Ki@ zO%Z$b5&IJ4QeUV2LKQz+F5{&hxs0dD5`){m%!QE?w&>TOZ$*EIrO%ilUq|&>&)}uJ z4d~m^JKJju^0qkg?JAzrKJ7HCzn$_N{@071o@tyLG$m8X+RoT1k;85c4Q1R0o^2`z|A7`Gq$eX?&oPQzma`KPv zSBYPSyfluyO6-Z_v|on2AddYSyi88$TuPP#gT7Ao)t&#nZx-FxvVwhdiY$% zy^OnTnYy%)bdBl>~&9YtTZ6TO^=C4ce1jBQU|F#0^qiBd1( zJZ#-DP}iqxi6`wDz&`Hzk_+3@9p8tMI_2Oe{c{uBo`6+Ooi1-jvpnWjio7_Ii7t%? z{2kbt^Y*m#3`Ax-V0^rXCeB)$Le=e(aT*pUMVy`QqMJ%-;Dm> zYSFmmM3rosNBljcO;DrSB z;&(nKl7A=mYi0d+jor@C-?u2_`xaNqmo28H>gSHiC>>=!H!s64*xeug7co39;Kv$e zC(j>e%GYywiM3$xE3(1VB4Vs1ULWypkvu+1E*?*?;>4R|#@j)>g1_{Ke=hOd({`O7 z-(aNIOPBac@kqF)1< zmRd!eD&jP6>kmI8aW*EGSHf|Z-r_o!-+h<`CrAY*I0Td@A8Frhl-u(a&mpAT?Yk_u zn6L?62%2JkFLFFLczeF?4}V8&PtJ@%*M+lqE93F#>oVp^$s?Z|y{+H$hu>y9YEFp% z?m$4Ur{WB0d8o}t=G}VY<@KuTBvWe1S0gV)?pHE_*snugiQGJ2DV@kSB5y$MT-R+y zUW+_U*$Tvd2l8s<(d!hMe>2Oh_~!b;JnzN6@0h<6y~Hh1`q6A_W$796ww=fqB5$HR z=Xt*#c_VU<*sG7&uSPEQaoVp#F7=6)XJfw+xzs0K-V$${(npt*kGv4MwC96tdu9wC z2lCv6m+F0y>vMjeLj1;`&GiRy^Dzz9~WcZOY!cuJfE@#gA@JiJy(UgL0kYCLeh_^5g7e zpx757??E0tUZr0ukZXS*_`SnAzG`9DQT*!BXQ1DgZCQWGc*$jR3;9+f=dzvm&FPnc zHs%2&tBfoJG_2g*6Z+VTq~2x7B|e9l$YqJbQft0hchT3N_x?kDU#gJFhL_*$3m?(1Mju2^ zGnoGRX#;w*|Is&~cjmbXd2Jl|HssZD-?Dh zEI}{voOvxoF7cw}QqOwi5^vzRjeSnLM(LxkGmG%sL48W`tKq`NbG>!k#y_9QPa3%| z=9ZB2gl2y|&>TNSl+*Ap>w9S)A5XIf#v2Pvon`32i`J6&_<4+X>=Wf(rt~s??T_?Z z6>{IVgRh&HAD`uXX9qI0EpN2W4);U*mq_^x^U_SrWA+II=WRb_4V|Z>b-TX4=bo+V3IB5Zoq2CVE`O`mDffhUeusP?DNlXO`XhJROFi?I{e5B^ZyXJLhk~C) z(=UrRiX=`Aaat&s$FXLd_;Y=6dcnl>z~uBGKdyGxpef%R|HNq}&M1k)`pfKfpLyw; zca~b2h}|~q+IC?l_0GJI`42lo;;E0wbCHX`v;7K@OZkV|#!&3bkar-D9w+(8tB`jh zXE;WW6IO_7obYZP>8sydG{1Ih##@V@{EcCCYfZdO`3B_tapmyIro{SB%HM+Ak32U@ zF5BCY2at~uIqjv!7neBJYT8;QTTT)u=OV@j_Ri-Hl6IYEz8yu`OP(9CZ@}KH zSCo7!@>b-RDw#m+cOaL)$vh)Uo-ewK$sf6SeKT+zQ|?j^-xsel&Q14Cvb#t5O1?$- z1@S8onVB!weoNhxB;N}h`I_S&`%>&5RQ7|Of65P%`gm`QShUyV)N7;m#D|ZR>mg1n zabA(_jkBWHt#eqn@>QIH3nj7NF7+Fhe7oi>r2nyZ&JW{}mm>EP)BZ@imMD9td?E5+ z9Q%6Yl8@7VHS&Tu@^#4bkPop7g=YUF_s6l{irj}h`n+lOKk_W(&ht*@&n){Tj`+FA z8?a}27Wqh=Lgd}Z(;`wUpEBfK$PaYLtCYRWN%p6Rjb+IDu>Y+H2d+K%;Q)EhnuqS3 z%_pbwbWCj*rEjUoX ztKSEinO-_Oy}Zc!#mk3SC!k`&999gn^MeV)>* zbp-cH2Hv9+y9(?A*iDGFJ5^o=vga)6zh&5ku#>q#%2V;CSij|M^_{gEvd(+!v2Vcs z#zFS-7)eFux2NSJ_1T7f5B86UV5(dqJzx(@v%S(TXFl2^Z2cW6o`1$)kLtWJ?k{|u znQkLz=C?UD|DGrkzX<;p{1;1n`7Qvj{qX{@?3wf6LiFC@vGZUdx_ab3 zb;ES|`4N6d#22~wJUMkLyR1KG5LN|I_1h@%_Y7OV8-%t_ui`q@{26eo{^*0~_mG54 z{lM>`Nd9S6mfpM%Yw8Ey_m_UmReB%WQT@YMnq{}P`Fx}Vy8z|fm}vfro>$A=3taK$ zPbq_sxZ*U7RTWIE;d+ZRWD zk%03_ooA_g8Tm=REAcDeCmcR0lO5(q^~@Q+LBG>gl-|mhQ(rUUo@!*Om-g98yyBzy z8?tQ6dY|77;d%O{k@oXkLHnRL&(G$w`O_mWFw1e7gT57gv-qP|$0hyFQ@zObs5NuQ zcrL--m#dDWf&2%~UqNYau7T@@a3jyWB6cnw%;RM>ae~B=ZnHnqBE#J*A$n-K_+fd6+%ra`(BkcSQ8GZn+II+_fOKr2qcj zlzGNWUTwY0_+W_kSC{e75UoKszDUu&){UoAwCCOKKfARL-NyHB?P-tE=Fz_P82|EU zzch?z46Vm7zA?1tya$FGWhc+5)wKfSOP4n7q|aU23YYs0m$uSnux$>`KTCGs%YQ4BTfooGNyYUe~s}47U4SVtl)}f1zSz9L3I9y-XVi zFXA8d^I5W0E^Qo>!`V8A$9y!mOWA8w8|7Ixowm)(*kD}m(jRweH;Yl5{P&jp_lfcu zJ~~CyPSk(t(k9N-v=@}LKx$E7G`qFHSWUWemD}>|a2a)Ot zl>ekB_JG+r)3s7--**5vE>^jQU$1LC+288Yo_85+|5}RLp~^dM!a=`tYaw^9TdOqK zy7pmCLhJP5Z2n$%^VRmv`Y~+ZZXO=@xW(jsRovWMH*q*(&l{HM$uCpe>|CwwL;vI9GD`3UTxM#j5r}41+e?v}F9D9ISy*6DtHS1Yj zTXe{GE{2_ZyG#3(%V7Iumw}jSV_{CoPfC-j@(1b}n^!z}vh5=Eiszq5o^0GC>}ZbN z4rb<OQn+j_aH_eX{4=i(HpG<&-^ir%i?*%9Dd} zhc~*k5M6IhkNAvm?YD2%uO;SvF83J*TdQ0Ko4<0gCNM(}jEQ7zrLbHkw&0PExU{P& zj4>$r;eTk>CYNhmPOHm(k-^q4T?U(P#xE;r+XGyg`(`~v9Y)^Za?dl^S{>amX4~w- zCel8~-Rsg8ldXOF%ec*D@Fw8>QiE1Cn9}4=TA%2@M5~c%gt-2tSnoLVMDo9p7=bwp2 ztz_Ba($3E0_i0wB9QKiO)3L@9?ZkcPZ*^%)m1?gX zO!ABiv?<1IF6|85Wx$Z{eJ<&{Q;hcvZJzPRA=>4}t3$MFjHiZ3<2*WqV=nu_A)Hu` zxOa#&e18fJZ?Ijji~M2z-0xDfo7^dXOVRFj8y}@;54k5H`KvqS4J_Tp^JqPzk+gdb zdL~8to5%Rd(EjZ)*seDW^>afqc-)X=J~gcTau0^b8Xrl|ZKl2kgY-NZ z-51N&Vv$`Z+KqM_i2d;fRiA8BGMz@X!8lpUOfqhEGw|x&j597Lt~R#l+Kn#R~f3{Y;jBc0qh&f0$s|>OvgS-)> zSY|NDDuT%21Cw~y&gGudpxp!{M4h}p&RddvJW?fVox(O33E21Paxrj&Tf#4MOG&HTQs@J2DSx$Ey!`(#rO9$+pJ05ea}fSr zr^&bJ42`#R1~OaMi0mfUiKsb-U)Qy*F5^L6``X-QErsrvb-mRT& z?9jD^#z#8S9$VLntid%Ib+^mdtZQGnjF)xo-{$u9y0|^70!=-dKvRtsZU!sEXQ7O$ ztBp@}t{n#LK*96=ef;?CP`o)&y;B+>8%ubJBlY*$h9(CzJ0AR=HeeaYUK9XUhD!%;jF=((Vw^GfFsPMv2)}d5<;IQr;cP#n8;x%5Mg0J_&FitHYOz0j?B0CG zNhS)Jea$l%M{0cOAvx~*T-q4-(=OVyos5mwWZ}*Q+yaBYX?DpZGxuR<8k~{s`puFY zr)9rOdc&XcXt$D+N4v{)Fx#9RZ}Mnwx=v<$g+30GcXgxBt$nQLuzj=J_`nM8B>?niB zr*co~4=(+0a)3?as!`XMy19C$upF*KB^x%^XMXOGlcQ^iQZx$SvmK4EJc>(B&=> zE2H1L+)wM;pUmwqO!+@0F6S+C%pWR~*)a!lb$EvHK5KvgTcpK%6)uBK2CZo}d=xxh zPP~(FzDr5D(=$dhk3-9f{o~Djxpw9lxYsp;W$mTLy(wCa`(uOK8?w2=wSc$JIAjcM zxqjeXDGUPl4$isse~R{7UF7fR45i|V{|fX`x${ud&ZSvh^@)@B=@yO~J2TUnXC#m)U4 z<88Or?An)Ymh;ca5x*bX9H&pq{3O%XB8 z7>`q@z3+CJ=hKI!CT;TH+p11wVmZxtMiz+o%Mzf;%?fj+TZRMcr6#UrxZfkjoDP zRF0()Y;(%`DwR{#k!-)fgqy}dJDu%^SzV`UPrDCc`(wB9MymFOJDY9pD}6OYd&o13 z?HwNDqalo}W7&S&Fy0uVZ85hWNRid`6DcD9CdJt7)%sI%*xoRN43~K&od>+eJ43Z6 zydv&1CASPU)(z9{9eN;=-wws_??c6~ZkX|4s&?nFgV^3YOe8(SjCHBJtst2(Rx`{o z%GJt4uE?!F^Y)$J$Y%|24&Qwah6Uz9YAob(jHA`Q>5;ZOXNI6LmzhXTTt9t&YJs0x z;HMV&sRe#&fuCC7rxy6B1%7IQpIYFj7WkB^EzE-QwmmEY3O8V$nGkEA9B2^)YYAvgzc$>g6_D?sx2;ruNfRoc4VJ z=GJa%f9-h_%q{bsO}1*!o^S5&uk_`L`zdxSJrBLjkNuqszP5X*2%7YOK(nvI`-WNj z+-|#?; zT-(FixAXR?hO@teWS8HszV748uO#VZt- zDy~v|MDaPr*A+J_ey;efV#x!EdKUe%# zF=c;MzT#nuV-=?;p02n+@e0MIimMbKQPh(C+-n^tiOg%~Tly~-Ri>0xjxG3Z`m;4+ zYadtLytlQp&yo3g+?5{q9QBvSmdaj-noqPz*1R%c@ju&AhpDEWXXO=8`6r56uI$Q} z-+SD5&4<5t(lal$i>+P1z{P&dq_>}J=f7}0pj%#arGR`0U;p%n&6u-zkx_amJxBXw~t_X}SxNi9gkDT+q z_}lZkFG>F=u3LK6)}9M4aF$=3q<_`i)fb%De$7YD@@tdyKjh<#-TSjk+MMOLCh7nE zzlI%ic>XMpv;6KP{nK7(G3u`wyT)05#{J2)|9iJTbNtzJan^!o??@ZGF#C=!!E}7W*rn7wQf#lk6 z@vlBB4D7d{-C2HKlKyM&4_Dtarl!VOetDAq|2%2L{>MK1r%}%G8NU;w1e){@IkmNzcr>)#+cJr2qbV-EzjPA7;;W`d23Df9kRA zHC^xhb+WVmwMqIPF=p{uOD;TSw6pxyB>gu}J!Z_~)3==B^lwkn|C>*~2p)6L6Je)+ zXOjLU<*%Q(@!9crI_uw^r2nfgo-%RTweNiDEI*?;x$)PqY0TCCNZr&_^M`*tCgab( zKJX>!|M*)sjT^D&>MNY(mnZ4J;PLw|Gj4h1Y-jyzlk_jIxi0&NFCXwZ%WqB6|IC*= z%g_GilxFAr)1IV%-Cb{%)&FirwsZdJPSXGGSB^Nmaa+q@o%v@xlwAM){HpuTo}T~s z0~6Pbub2L_*Dt;#{fACII&;i{_g%Z}{VbpO+v}G=lKy8N@mbkv`A=?k=3kkl|E&vh z#{BWUb6#t!%UdJm+w0icUHJRd`n6lpS7EhRxni?ox1#TSrB`fL>{j$GP>PVQQAD-r}k1S-iQ~o_a7B#${cij?4p01*FSrIYF+>2RsMIb4}7W;?N?fP+xhRf zBjxaahi+&YbbRh2f7}0^hKmlr>81CFJh0%I=cEYx{)X@8RynHJL9qQ#o8jKOcE)jI zoX1BXN&g$VF1X~l#W$8akB{Oc{a5|7ey`T7&z^GnmnP}|@AE>#PpJ9NlP`}eA1{?W zMAfuBN&ihZJa*U>AKg6WpTEAC?~rI3Z^N0N+FvBsep}P3_xfV(Nv{m@Uz42wXLpPo zy}WJOLC*18`*3pp<6k^(x01%we&L*7o0IhS-@fSz-$NSR~_)_2}PfceZ-l6Z<7Aw4?XCZHyggc;@X!l86oA{=SS_4LeBOJB7^;o z`&Y$D`X6>=u~9R9eWTOAJW2nI@`Lx?`~8itI{hn?^zUDGSIMGV-+as2ezi&ZpC8ye zrS|#jo1Eo0Ch7moL#`p!&mKFd{hO2Yf1|p2zq5P)@Hc1wwIu2P_0Qfa-*akkf^+_A zP166k$?ulEdFiP?oN>izU&;8l&tKh1`X^f7X^$p%{3Kf6W$eN~pw=H+rBzNqu~xBN zQM*j(6>AmS6}3f5uUM~wkv9jm0qz{v0YKSLg^K2726dx zwO$F>>lQ_xr-Y@y5`BDES#cMAdFYV+PWz+gJU*It(Z0_0*&o&Vtnae_&ic&08Q#3q z%G=KW_lMq{Ij#88*Iu7lVBX@juRq#%k-zQlTeJ9tvz|KoJLmbSCrST(rx#v3`hd?j z?04|pzmc}K&kwyx`gh%RZ21>gk9^MA{uwP+J$KcAugu(W$f>RiKXsPxOVa<|rA_DG z{nd`oPxCA?^S7Vd1(Njt#~(i3eUD?$u5qq!YLoO2hi*Q6W7XHUtvloP>!q&t{L-AH z|D<<6KkDxz=ZyZ>@jtsn{O$H{PtyO~w?ECB|H7Fq&i?O8(tpP1+6-;4ZTCCWEVhE}A#vET?}@lKz){d0owGl}pw;&kwyx`j7hEiiJ6y`yJ>kzb{Gu4<{{OvZ6kB zyR&@lvE;_@`^RTy{juYTUT68lg>#5n1h?RS0R^v_7rfBAkV9<%kb;y$N;R+9eT z-#K*Hme0@4aQgd_^#5w)X7AA3OFwqDpFc_eV}`Yk`gG*^^PK*9N%~*9;kzaKJ@%Uv zr+-0`{zr^EYpUn(2Y8+J4tCIuf7hIpeahxsJksf3o1}kea=-W3xlL(K|Ar*}m-swYH-xs_ z>-29-(*KUz{&UIF%A&PS|E47U|26xtX%DV!yu|6>oTR_@!55Pc`||ZI&i-pj(*LQo z(@%cqo~}Ec<+mp3|H<>Mr>y#{eTmb*ElK~Cd+&GkUvD_)4rl)DN%}u@!nmr;y6H=t z>z~df{j(>ZHT0!W>7e<)J4yfB_q+Iv4M#S<=FGn*N&lA97v_c+7d+zh?@iMG!|FHB zyKc`v6*}9$FG>G}kN$hVQ7_!}sncJ3Jh}64=JQuv_5C+bue$Gl-Y*y@6^j)X)ip`4MioRNv-Kg}6&5GTMK6QOst|-S;yiaq3 z6^AeKURkyEtUa9l->{4RcV2&=v()g}3Jhd=vjmGk&%a`>04_VTIn%N66bttq?3%5!Pp{yi_7{M1lq{ANddXB=ny zcBu9ZUjE-{U-LI#NuqXz8W$@6-?Xnfx!|M^#yYR>TX&Jaru-LP|M&b&a~s>8^IK<< z{{Q;(x5Zno-fM!h{O%iW zN&osQf5jI#yYHlyU;Qq}=^sqe|ADWrA368) zt23Sc#Yy_t55MlR$3k;zoc^Ur`j7Z%f^Xg7H;-{1-{ndAR~cpFKX`0}<}5#yr2nD5 z7jov^{HH()^tL)w>hU(3+4?+?}{>HlGFWoF9>kES`_Z)i`_KhgQU zXBYnMYJRI#$3eTIcB^&V1Qcr(+ZDBCO0QU}*siE8S9---#dbwa%|8Kq9 z;`Cnii)q_(rml025ARw_?{JIkI_KA;KC{kWJyrjm`PKe@M)Mt3UUvRZoaLXra^8m* zJM+)jMgF$`cis=L+fXT->Xd0Khg8O+9drGJ>P5Cg}+Z7f8C0{Mm4S#n-#ki zeYY#UVzXkmqR&1q6a#l!_MiQuaBS_*4}aA;z8iOupY!;>QXSuwi~l>vw@b||?J950 zW@N^R-SDln>X*CQzTQ6{_R^Z~|NPx%zQ{p{~^b+5AWw(~z~ z#`C9bzU}fI&gawJyU5@6-{aNarM&n?{z*>%-X#4eymoBWh%>G(a{6meSb4^_`oNxD z{%JRc#%HZK`zh!1>5L@(Z+T*o_Ua>3_jEp=4kYP+$By70OSkv;InVFqN&5fx!QP8T zxz0Pmd3-b^>F-@VbmZG7uU+D-e`AvV@2=Z(kIa3Zd)@i`t#udv-Rk&gR>wiNqVF!N z-^vx66}uIEYW$TeHY;k^2h7fGzs_Q9t;I$q&rtgTr7u?U&TB0@pJJtA=QWmG*Q`(H z*VcaJp4RbIu2`(-Q><0rkIGQ{%3Z5f-sIVkwEZg8 zeuiT49+rKpVy$AOV!2|oqa5daId#&c6MX(T^A}%Iwb*y;sQgiRBgZZ__eNhkdhDpY z{89NwSaRQ(ywPLx#^xQb#rWipI)2ock)v&=BYdX7{Ci|pn_4s7bLxArXWA8Vunc2e z8_ln_S@szR1Wb!DY9T%G5NqH5e$_&?Kf|=*r@YkuqiVnW(15vhncDw@+PCcw%(3(j zEBywwU#9kbBP{)VwSR-!x9$ChS$aEOmD;!MH>-WyzUJ^)`wq2l+aKw-^tOGc+PC9p zA7SZj`)k#{ZJ%>wZ2U^KZ|nCy%F^5QTcq}FeO7L)zDn)e`u#@6>aS4ywmy4QtiD?9 z+xi2Kj@2(w`?lVf7pt#P`?mg&(Xsk#)xNFI856759G{IY8DH1s+vBTN+25IN8SZL) zWlpf-*QvNoYTs_p?P~u}rO%pZ+1vZ$)&3buze??wsQtgGeRFYuEI27(YG#`M^XCrK zKEJ7Gem+`5hqu?1tyA`O zDVE7`vjgTvj5s4sQSGDyL=^%AeSv&dxOKlYLCN| z{p}Hp*p2n3{jXlJ?c0?7vASjFY`?Eh510zO{It2T`$wvMyFFUezTF;UN-cZ4zQ0!c z_W04yu=I9)f2Q{B^31}c{@cj5u8nxx&i@u=Z;zM%*T>`MDxV`%&KYM0%q@HTDRBf= z|22JT*Jre{XTpm6k$URdNn36E1-PQcta-`dq)Q~P%N9C)s!xARkG5sVye zza!;!^%!jL@6oga8NBgMLd9qqYCT*?Y%FQFZ_0cV;%3NoJGXWV0d32D1qS zLSK3bgn)pM0Mey~&;%3^5D^QCU_+E5(u0CsA09=;iUkE98+IQ*K0fxYkN6w5^ecD#VC=Ly(;nSdQz1T^3`=^?rEO##>cAYhkkleoK^fIsk0l9Xdw z#tfM4m_B19$c~wA%oAuEPY863O9W;Zy98z$9{{Fh!XRJFPOCnMj%cT?nIqtumjtZ+ zM8G}<01jqT_a%A9RfB#Az;f30=9lDU|W7BwQTP$V8?U;4a)^w zzfr(0{D>z+cE2Lv#{USoImadOwvGbs94BDUQUP~u5U_WTfO`%Lxc4&w_n{_{ZeNjr z`@0BuV7Pz>v$M#1sJVcLPZsdVbOHM>5%B090gpW+;E68;JZa(mYo|TcOu)gD1ss|o z;OUhD{;^fSGY<)P_ALR={Vd@5f&i1h&_TfAK>}W!Dd4450$$!N;FSXaPMTwUA~3_? zf30-VGL4d;*Kn;vY`E6%sC4V;c5I_|*S=udcDH#s1l=zOP#NpcWUP0;PBiKF(yjNJ zNwk=W)BY&*93Bb!R*%(+XI`SArv#Dw^XdF9>% zL~bf=51yUocG}O{V#Bl86pQVQwns2h+ZpYC2Jqj7WJYH9tTGsw+3O&lvR1>)%t}Fr zK~rYmEwDao1qG@}&He~z00=s(&pw;La6X5mY1&<&(=^iY`{Q^@vmq4lrOjQigx&f_ z@PbZ`Qw}O*@c)%muH#NG0hv8I6ow{uhA7TkJZrvkXA<`*D+&pBR$Dye2Hi7$Kst7P zEq^Bct+f0+;*PR7lDYFIYx$+)L8NoE{JBIu`DMf%n3i@MXci|}?s->(7G}md&PzmT zZ9Z@KzX+;HK5iBZGZ(@Ir@>S1r{<3!<~YCMUdV(&^kX-111BGZqR1Aiw@pg$my2EA z!0ZfA%%5sk?)o9XdAZL*2)X#a0&My&c^jFIqnhS5{fNZPEHKA7O^h@l@tD~Zq8##) zM!0+#=o?k4lh}aVJd1wksOVC=+*IT(db^8R0t!b;PxVAn^DR1_1E;IQ)-arY~(KR7P&bJHnkNdN>R>7B2Z4`M;SQn_U*M zaiOAznA=i=hLjv6zRcjz?Xt(IreD&`o9SNsb34yUVyFX_wdtSaKge=%gx94IN$OKg z_psFa+0i-jH)cmZB>S+`E?)_r*G{F*dAj_hG9$MQF?lLWEV}&XUq|6wspN zsK^BRzSv?{=g5%K)n$(3?qoaWV4-tu+MlXkC6Pl%V^f>*hp62**_=6~oWMRxoA=;f z0xDifHtNZDD?Hh>Io03&3z)o81%kd$!7H5#dkg%k3U91XcWCn~se#Zl$XMgP&=FLo zU$GjU&}xw(9>l<4Mw?@-To1ml`*^5G_x0$32URu#YOOAi%Bm*4U_GAGXBpI;>tv7S z|1@|A^k%;7aW?=qUj=^lc(R+n0R`EUUq@OMT91477^&3IR^n4uKpMl$0w~C?TY?8` zA<;9aEyDl)mOazp%b2fVuand;;nyaqzmUos8qySiND&ifSZwQjP3v|ny+foT2O*mM zi=^fI+hrwd1(7#lY<5r@0pIDmspwSvr$^btrGfE1F9|$j){r$;SbXqW1&cKV$rDM zYSBnO{WwoLXIl#K1_hk}!lEUIdF>D_lM`A5lflc&kQPJ^F~eWQL{3^#J%}IFSJ{Te zis3{?SSr$+ew`{_;Jij#C~7@7F)Ba%N)h0UM?2o*z0Y=3ASyWxa;aPUDsmNbn=Q#) z%yg38b@_ZTqS1Pu2)$g(+zw&yzDzhS0MUi4s-kk_JC#WGU5R z$$Zr#a2e6ib?`>u3f;;7i(CU&68D9`Q-RgQozOtIJ#ZCqf9M{x&cGVt!O+vhuO^-s z%B7xbh!=zclwV7{ICKhit|J}|jmJH3EngfJp=s2=k&QH_!so%Z$ct?EW#VB@aiwUg zDSrQ7W$&gZIN?otLcbT9K0-&`LG_#nC*9$(`Et+R%G8`7H%=XSjO^W#<*nq)TSu_e zp2TX5IJCnOQO>TDIjP9&C`$Iz249#TC0NAZZe|@>0`syD8+=P}F0RvxKx7wLO$~~1 zex72X=HuVDs_g&czXeg8xF?f(BO2#=+3y&9+j2(VnBVj%`sW#zhBN&X^(3jtYh=%n zv4%?k>9H#E6Ij`Ug~}B{vaH&x5&ZuKl|599=2GDVt@+eCQutg$oWRF_E5a}=d@e3D zUj}z=)zz$)$X7^~LhqtkmkF7x5RcsQPip&^cUBY^CfZ<`5>)hKq6~w8Y%W-m zlmGHF1oI^Z4I(gw6F$O5%zM^g~~RfT_8NNT&9D^*l3p$>0Ql%OTCz zb^AG4pBbEfaD|j)d38GrjUxMq!TARlNsalXLts{Yuq#(iA^fiq73|6Ot3s#a9_&Tj z2|Y@BHSu65o%kT)1)*esW)q(j`X}ze1;i(Z zINuMRMSO~Cx|azqq|sbriihPTty)c>*u@(_&2i}GFsEa!yCE|pg9A%^H>L)@<)6{; z7G&E@o8j@z4fEPeTZ)H!V28P(UbQVjTGh0g!kDP(Kck`D!}&;@O_l9WD-aYLKp9qa z`g9S=amea$KN9o5cdWqQve*GUEy0B&pcku}GEToPLrJ_1qo?tf<%Ut}-$6X5ZWh^Z zRf3(mS(K&1&?uWlzPHnTZw~|Cww4YTaG!vkuL-#RTLHUlbQjy& z-ATY7`(Tn|S;kbD?N~lz7|4#5Zp;yA8~X)1#&UrfMuWgi;~hZREJ};n>D5o5TJ7{T zGX-4pynwYI2w3- zZ|^K%2mgbto!)Ssfa})@*tJ){?!y9Z{9M4zS(q`{>9@5LaOWridln10>ly)jZx?XS zvjXn@NWgu+3D}p9x2K(ce@wswH3A;Y#QVoie<&*8;l2VMsS~h&xqwG+7x36Y0Z)7) z;K@G)JXL~m+fF~&SHPjE0-nA|z(1}N@XS5|&%Pnxx$gx$pNBEdPJf||fW!R-yjU;b zrHci;yi>p{j{-R9j`4xO4C7aUnMMRXMs_)UhuCmsv&i>!E4ERmYbBVr(`^nqpzU;D z37|KNeD8jdXwvVc``(M<$+q5P!?CT;*j{YwTQ(QlI>uIFTi>yf*wznhJGS*Bn~H1} zS+ZHggv+7B{W}o3DcLN_Xl|$ftSvS?i%qfE&TRW7`lX%O?t1{eS>)=?BDdEQP$HW} zZl$2yEOPs9g!Ne~Py)A_RM{+YfpDGw|6{YL6iE}CMSj^VVvm;19RCbaESo?6nZ&)# zBLA!kJmd!bvRTBgujS9AzxC#ie;#pfv&cW6b2!M$W)YpE<*{AQ8=yemNq zGvgfRd7`v7pSSmMHOa;8_{}2!r{*ybbDW=XFJwYL1{ODQ1BWwCy;d8!;OVyv&jFO$+6jG5gQjuHjDgA4H_bwMgC<5 zhi;cWPHz_ZZ>D?yPNG;r40XV=%4U)OL6(ane3Gx-BAZ42{p{!*`5Uukv&er~YL~AB z;j7505ckj1!La*wr~Qq;z%JEb{MU zJLX`abCt~^|EnZ&=xA)JY!><7WOL?_asvA(ZQk=wuy`fe$88q*@BR@?Ua119n?+fw z7hYAeS(K%u24u5H<9f3wOR*aDW|78^-z-Y&J_ah%(|UB_%ptj1lwD1_Y!=zG4C>Bx z0Fw0jezfT-BffcZWaZGO9SJ3UJ`i5aI+{dR#<%ZYZhCXw^6rhoV28RkefvT!(zp7A|oulSrnKm zUf{e&TPSKhH(^l6hJpxi#-knY@wizOC=ivL2D#L&eI=Vkf!UJG#uO*%U6+q2-tVXd z*(?g|6DiJ|8cWG$QDBMiIi+f3omM5AMS%k%#0gi@LXXeQqQF_g=S)oV#R}Oh3Op(- z&dyRZQLvh{K*>OtS}{wY!(G3$`E>1B2l91T+-m@G)x9%vnY5OQQ0gCUO^jF zh?_;hD~apPqTp)cdb22a6>+^;6kJ1GZx#iwCayP&g4Yn&n?=F3#Pw!Ta2;{ISrojs z6|&NsMZt}1q}VJv2e!#(QJ_pb%qgxEO>Y(jcGDA_@FqQ>-wU!?6u5)xIT22}!((%^ zD6o~OIYDlmS~iOUyCusT$(Of|V5vQc)hL@q0ZT+VyH4h$H;V#K8+>8DmtYZtyP36Y z76lF)d`oaHuG5NuY!(HY8WiLFJjFuI=Vnph{|x$!6Zd3NZ$#r}QQ#eeZ(Gjj8}nte zDDVtR!sV*BZbd3 z#0h+E76rx%pNk94m%&|Ibv0{kvUEePIwXH@vnX(xkhu!+$g)`!kj)}i6c;AiV3`ug zW>G+I7Lm;bOR_wAvnU{&MdWfFlbV?31oUPR*<9bGB$myhfZi-3n~R8KYR^~PEDF42 za00;Pkml>U5Z9YUIcE{~Hj8pDq|sbriihPTtv8EuF1`lT9EW}m zb2`@g++w)QEI)$%oR+xS@TQEmBoF1L&y$cpjH}%{V7MQV+n!9bydnhl2Vi{`XR8hu zfM%9=ihyGV)3$Vo_LZEA3u;$EEabG`sQOtkwau(x%43<*8V z@|AE2uQt5Fvm}RMtr5X<3ta84z|FmeTw&f!ul2xVRh+4MY(p0@%m0m}TS0`8MaPiY z6yP%wLa}yWuZCv~@{FZ%hG%8>cTg)i4td?2jbMg}<~a0l>k;U-K{HCcU0$*kkh}>m zbK@Dvzea`Rx}9-T?a4HwSF^4^1MBNJ+iL~U+b|(yE4UsE!$Fd4T%th5PDR?M=>%bx z#u*8RlHASd33`}l>kftVWt1*_3BX+}!WA&iz}@gm!EU}QP!lMZ|z85l#rI5i;=n-26!bYer8e3GOI z`$+EQoDX`KXzTyNb3M!m9T-5jjysU#m(XF1+aY-$wUFzEaZ_!{e3Om-X)s=hGd%}J zUV`0m2VM;3SGbNQgks+yaUb+MgFM56LQ$PCkmPPo1oSY`)?Y{q%%=nI1~KkHlD}XJ z90KAPY9ZIXA2-#WOf&x@RFyFYgavW7=fM2e={Ptr3WjkNZtD{gvConAeL7H>H^mtV z`$+EQ?8iM!wDmfS9zD!_I&cIURosCjZ)Y}NLg;&3?Z|b<;ilS>S;$_Hjz>Q(VR{bC zABm#I9e4mK+d!aWLMXNtiQfm=AkP>OXCw?HxtlW?^f1xxrLEbUr{Nj1F{tk5EF+I- z&krzs?Z8tnB3wZk*WsxhNfciWSa~^aMwNLFz=A2;8Q{VAlCyUxBM13qr))FkXfE zvZ&_B-}nTG(eO9OJal}5IjWMc7}GYN1>-ebVkfn!zLfnOqhI5*BSymy;QWEBim7N~ zC0`}bk_`uz;!0@g-4U-sZlS8aOfUisvhmRqqhSD248v8$A4@SB7DD8_ zRN4OQH0Bi`ZNMcN6H#IIqrMd7Ypd~j7Ng-|aGt_d#iZh9HsHqRT#SYf!Ttu9xS5E! znVq1L-NDQ^Ees)9xFl~%sJ`FfelyD3_?V2*5QAV(TvbdZ*|Jy1kNXVpJ{TDdy`wjK))rtBR>4TfPFuoK%fu z_+~D5cCZ1E8Hr1>Wq~N$pRZ$cD#&wjNq$7IcZkubFU1X%_1TuyqGozR*#>a73dDWUqlfICAo8Xr$G8XUYWa&T2K zm1N8L!qyYY8iPz9T#_vdBxU6U)T{-0EH259hzfIx*q7o#yki@mfifDFgL65qDkhao ztB`5qvr(vju?ey6Y*stKxj9v~l5>6#hm8;884YiO^FFRBCYP)!djm?{ z_@JKAU`AmSu7qqQXJL3RL_lnhOR|=iQ?k@da4l3eKIdmNj09&Qt|}&%tSNgBO4IlZ zAo@Qzm#4~Ba(;!ZH-mTwF3Fm&q?A%K!4fPE8XqAv8V-Z=Ph3?@E?HA{7o67kc%jko zGdMF_m;lxg5)k46mLH>+}K@8L|ZK}$!)OJ1W4|aehPx*~2(1@0d#wGti?>3`c0A*Oa;*yuLG*K;C5tl56N6m7s zI5Vsd;*uNr-Y(aYF;8;vlNbp36==vk*nv+(lhizlr$jW#s6PBY^8`%tqDjVeMXSf; zfZ@aOzi-k1Q=>`zCq$DpQ3c2-tpX`B-cHZZ(In2&Mc9_JopW~!xF84Ku$@cV3s_kr zVAWIsmo5=-`Sk);KP+I)%L3MZC170|Tx2`zI|M#&5e%t`P9lE&&G*2sreCfT#Zy@Q*NBy6ryGRlu`j1w40-faf;} zcwvu#!v_Vt_@RK86grIUzI>8^SNZ@ru47CSm|JjwZ?K`Y4!o zR<|$FN$sreTwdGR(SOH7U5pd2X0ZaD_SoW%b^F9}F;dcTq%IL`Ct0Dp}jS0A{M!*%51zdTy zfHhkMTyv9vbq^5)YF`&H>PG=%gPlm6)Iz}IegdY{3#hwDz|@@r>h}ZafSQbV|C8v| z@1^AV>{on$Jov>b`;zBj{U@Teqi^pogdj-B%sETfEp%T0UfRc zKk%j`peESdc7N8DW_XomN~PI3I-n*eC7>o(2h`;D`WWdYpeDCcPzKcG_AN&RX03qc z+-g!KpeCC+{eK9kv7T&(S<0$bNM!vB-UwYvG;t=&>W=CS?IA74;WwN_#7&+=+;G(6 z`bp)@kensrCT}KjFXAR|)=)g;2Jq6OO3e6n}4B}mxvoWPRpMwKGgb` z5kEfSChxpGpoN)nj`IysT5BCd>B8f}M0=tn;rToaYE2{cpiT5$yaU3Am@I#Adn^g^ zYX{&35vm8CKa8jf-G^3{Kb*J&-6eq5iWVT9O0-Eu{-oclv55sd|LZ7Lr}>j#0vl*1%6EJs8R*eGcu*3mK@C{JF&QL($&2 zpHTz#1*+hR3Op>I#)l8u0KJGN6jZ{5{EJy%s*oN~c%K!u0n$=ge^!IHVl2dj6^XMf z)g+dGb+1aSXF!U?^4G2h)FoJ_OYlHnBwepdunsT&{0$U!LRNF&*Afqgo+G}IctNOR zIq>WFLmSahZA;*rn6@I+50#L=nRr{T1Y7uVNS9#i!$hS7+oZO=({y6(bKprqIw-3* zOwHd;`-SyMoMo$G9=yx@)I17Oj>GRtO<90UyjI=B4ID20PAb^~|KwqVh3=sQZ(z0q zh?er;UEcbWf%9^CU>W^F4&IgW;9cHErsF$Z^GbQ}E>B{q_=eZS5+1zEJ7&@oeBmdJ zkS}2RM*CG658mbFS&JaaIe|;Hx^Fw5y20t7fV&bgLiq;M2`fLG!kycgLiqqnVgxp zEMntAHRr**yrl*WX~u(hdCLq=TwJyQRr)2(yqWI(8;N2CG1LLeTKXsX5=+JTO_HzO zQpz5mC$UtV_cUggd`R|Tsa;Npgs)0YrA{47RZc21as|Vih&i_bHB2XzjD(SSv!wKV z0ccTjRLKPTzS!a@&zC~VD38to)=suxz9)39r960-_bQ2eYcw{s)Bq#zO?Dl=O-^7R zrOG|8gT*V!j>l4!HmCZ#zXy|7s(_BA%9n$8O;iu8=_Qt`iIN(SSSpR{SgIz9)u>~s zG=6+6Rc3ci7t%9zER{6|ZYYRN;Z6Z3(Qg%g`!?o>p^eSZGmo*-RcJBBtiqq@WhZnN z#D47an}ZOL%40m+!5>L%Q(>9_EyP62*ffO>|*- z?+q}8qEVORMMa@xql?d3P}p{+dZEx&^g z?Io__q4H7mQU|f^K>0RW-O)ITd=4o&`&dxTdMM`ENB=B?)tl=SNjO_qOu<|DipCWK z7Vzw2(Ri{8c=oYqvdhs&&OR26(N(q;%%Um3qb9v@wxYUk@gU)BMQ2c33C}(j%`~_g z;2OXirx?yw^tDOqxuo)j9>q3M!n2P>85Tznt`qdQ!~C>V$w7z~{UT|(fNEm2zNCM9ohO-ro6&4pCn#GRZQkC4m%q|ihS0u;rYFUUQ zVhEQh+J@#l`&jgyP)jO_>u|O?lt_%8E+0`~u9Zr#!dFE)oQ*4+Mgy%DE#cY6qIpuM zcTk8oD7YISELs@OR;0t({*}-o7>BEPhP0sM5HtK$OysI5)q@OYD>5ur3|CUZQYAe5 zSTt3vnAP;WJz0)A(oFQ z-mj>IlIv;iK9S zh)OtHxND!`UKN5!c~tku}71I9udu;yRoyat(1E&K6lqT!*to zWX7n&*&-?7Y>|y@qzGsG5w?}^>|>D*XX6@MtX8Ew`&hJ_p5Tf*=?OhGDdpM6qC1!s zSK>)`cx;BV6>Vi|uFxB&F5%h7A|1}wEEjyfFJ zKW%W%GBv>>26r>-k|pf0hYh}{R~#=;vWu*y2E}#>3y9V&3Q8ExR;0t(4jh-%8_^if zR;0t(KKKiMDbGF@NjTe|$E#-nRSC~N7R`~dCX6iw>9MNhCl+Y1P`i>U{Zwu`70*5v z4Hcuu3O`}A<};kFXr%DZ`71ud*^0&re^Y`lgS$@8aJHh!(ha%oA^Bs3-bJ%66Ee3! zJaQ|ZdMuJ~Hk!zt5pA%{%3AkhA|1{~Hg`;taj?|*~sNaN@`-7Q>4S$$mRx1 zO5)Z$^jM_B*~sP+KABp#z!HYD6}@C|4#xc$&DV9yaJHh)49)<#MU!NCb<1$Jq9X>U zfZU~N%+DVJ>*|ZUa_dII*@}Cz{pxVG;$FmcI9qWwaUIT9JczgsXDdF1xDID49!y+^ zvlR~^uEW`iYl!P`w&GgiI-IR|C~+OmRy>TWN*&HtJe;@=XDc2-T!*t2k0P$a*^0*y z*Wql%Wk4reQ#L0pHk70)8B!`X^w6W8Hv#S4h*aJJ&J zh)+?aJo{LDA&ur9mv~rS(y9&5J{Dh`4Qh@N$b0B{yGOmvIbD@@_&4x^(0Oo2X-BGwhH@$2 ziREn`y1Ntb&aAGAycyF~X;-2#6m=Amk6xYL4buI*Rxg@B&+CTUxDG;{9+_niW{ZnDRFfo}%!YBx6lE`4$w^Ug_(ICa%g4biu%YHJ%1?&Wv%&7SY%9qs+qVt?g8JWbsm44xeKdB<2>*# zP4Mp({{NW1zjX=hG`4|vbDXdJ+4E!Of2y?u?az1^yhCxmr(gJ!tfyhK@h|W`N$^E~ zFFM@r@B69;!jh1o@jLhqoT+WpHc07*`94BZHkyK0LH^?`gVbry3*iZSjBg?NeZU)h zJik{Hv{8GaZzg=e-eODxe|B6(RbIe4Sm=8Lm1C>|Ii)Rj9;ABH4dI*M%MN{ev9fDV zZz^@&%X}Wfx~?ltZpG=k?roN$9(7&!F-uCf zEm_wC%#^wwXr|WnAag1*C`MrD%@BF-r6`nwWf27zf=89;N2DHYxTM%G&S<0;2#8!p_4j$(XVUTXKqG? zFG7aK=inbZUZ$tibika*s<7eaEL$0$2_0$wNiYjNvQ_Sj~on1$Cx+2i^(G8jT-PjKPm@TFCDfX)fZd$8=u9Q3c4 z>bo9hXtT~V4$!WvX>y+z;C-XdG$=6pTnfuARUHK=C_Bse0aE>zOq;FB78*^UMD?3D zYk?|TB>O~8`JFJPY_UNLf~tReny|Pf#f<)ULqpl$=@ZB7->Wws?rsN8&pzMBr zBPj?y$1*=K2}58sG><7BB;GvqBo#kI-&KTeLw72Bcp&JpP(L)`vPbmX@hiBqY(L+9 z)uE&G#6cEwaOgvfxMhcE(}>V7aCX_#BOo&-bSvfmL415@37T@*vy_<}>VhU)_B`<^ zp^s?83wh~y_m$s+F{7;BXpICj%U{D=scgCwds+GaF^8G*u%dhsdS%&sgB5aR`Rgpt zQgQD3@*Om4nLONHegIA`J6|3Sl;6@H4;LC$u=lOdNY7t67w56UmbXk2!Qc=W^a zy|jLnJbYAs6J2tdJbYY!AN*Q&g;?-Kc^~@yDlzov$&XawVU36>ykY#eVv^5eL)?lPVJMfZ%I2d6T% z@hjK{j2DF}cBC5INiIj6FsRWuN3v3}IrQMvKbWQqSiRzG6+4PfRyN}mG#FzzsACeG zPKQ|Lxf9_nwh?0&O}82+fzv#}jh(^T*mw}F+vox6;5f%+6Lr}hRqQ*qfGr*SL1r@e)8jHKHk_?y z$N3y?mx6j>lJgQ9$_>|mZ>$G(bCTn-8{U-P4V*hc-J9eLWEpO+M(Z^Wf%<%s^E}i1 zErQB6-vjlN1ZO}Y`^~+N;}!f9h$hnN#zfz$0n6Du?z;>g4}%j;aCNy}M2fP1zRKp& z1+2aaHU}^j`vl%Cd*>M0qrs|6u-P+JY(D$ar&c-Gi@{o%U^BJnxl8GvFE8ZFVKev* zaT(QVJM;eTGt?)lM;ZITITYu*HS7eWtJpK_*uSnsYcbve|Ko&=*x1u$2By)OE#hbJ z_E35?f4{y5Ikok^;&=Nl+2A@h zAIH)fV-Q+CRTKA9b;=Nwy)4~zP4IqomL?HEX8P&53Rg5!!r-l4qX(Z3<{VO&lP zY{_nMt??$_BR_!pYm!sUtgkZ)(1Zg(!??U$KV}_mF@6W76|N3RPAeoY+h%-%G3;be zN5?rX-w>WXo6v2`8jM0v=#euab3sB*8oo5!K>;+#vR%eVPi`Y*w#DVtps8p{Wj7j& zP%7dx#=wPEk-|NMefVsydCH2iWyYMW`Dc!0tP0E90S{g6LiZ@_P>GevJKp6 z?0~9#@LT+a%%GJZmi^t>4rA!}Dm)H|%c+6)vY+lXZbTOz4{BYK6F@63yVn>C8y17Q zEXjF;Bg6g1Y$WCKq#@3cX5q@*YTyXIDfSz8pf>h`e;^^lmZD__ZK5L{Gx|dhOZgUL z-iynrL9;j`dE9slwMOob;23C8+6U5p2e#w{?ir&3-U@@&I>DB%n5?c-3fn;NHDf^( z%jz`vAR(BL(Vb2zR}F4I6oLP+e8{aZ&FnCmLnP;g#s#=t&cu8h>sNHmPM$f;OG>qeo#wJ}X!hU1Oq^PBMCuqMeojc$ zuE3aSUUDNE1tc;=A`jLU;S$4C%~#0B-12|0-qYiXR4+)>#HC!a^a`=2mSwp4M!3hb z&M)$Oc`l60tD47ABj(-PQL~=bERk9d35H2{dEbm$H6NQDe;=E{Y>|2Z5>LjZ^Z+uH zeolv=@p7DjisUrC!zNPGH=lu$dh3l6)W7*F`F5s$sE_yT`;6`jbj@bkn=^ay5FcCsuig@P^$!LfBV50@k z5j>*>RHhYWqPdSPLkVL>TIX>zR-JY+8bI2AoDZAe!5setN|W}rqzoEnjIwEcp8?Sb zpoNv->PRILh~sj5QpHLsbMnM~km(G5Rb0mF9pA&fX`|=CL}L_KQ{rsxl~_9(HrYgz zF&2S!Zk(-R-!S2f^T=5P>V^cT6E{%P=I=vq;9d-wh=mjHxRh@gs?C?u=Z*I zb?x;rCs07wULVt|z0shN-qA}un$MoP2h9ihy)AGiI?fov7Kj+}}Y`+)N@sBgzPUfpoz)~xM1_KFEnhnEDt)Q1R9bA_;&>0<6`dm5aN7yYGKdf0LlhFJNdP@)o!-+lWk1)KTN~m`v zsHFp{L6!I+#u|H~Uop3kd=X^mu}5u-!K~mUQSje5)g=aF`0b;lfjKOY*tsy8p#JPj z+dKtbFt`*14cgD(W&K{~YhIOXVA7}Aq!kyEdLNTdde$yQF5z^nAYam-b6k2)e`Zhc zkBHfu$QN(18R=$R62j}RpqUhaYkSQnh5|eQ5SCK3L*FboCe4rW)1L1C&?R}Io8i=& z+I&$Js6|38*-7gzlF~E8T1u~)HA9Ce7;Z7zTF+xkA4fAOxR-8W?6pUn&&2ykWF&Tq zXPR+FQSg(=6^qWa*^MYt!BB%i+PVlFQ&q|N=zj$xy?!CJxd*;4I7r8o zcEk8x@G8?XvRj*5avjiu$E83F^wvqm`>iHgSiRTq&KDNH4d@6zPZF| zGA=x&6eVAy4>aE@0b-05_bOyI+Kz($Kixy zw8QDoXu;Ec*}r2@Pxl25airtsw>Sok>KCMK%MEbdp6NGGT@c#xdq~oMpq7F#jAz81 za=Sb5pK(o$;8}ik+c=f1cJPNW6O6NPbqw*fU5FdrCt&(=zK1)FRbZ`-v(=D?K=bAQ z7d9KzYTSt1-{Wj=NE?BE;Vb$QcjHO0o{6(nYyjG~ujSY1x5mFg{V>6q&>QbJUza-c z7313kRYw5R;Fc&+2H+&;M|1#|CC6d@qn#2^!$fl&P7_8uoUrA{eK1eIj{$!u5jh4w z3{M?NqD(iy$$fFdG59k8mf)Jg)8j-`m|}Gkar^6I@D1SHf@><1@^si>o_;@whoOmM z@Q>oDBT3AT!jtd94aeaB1@JL0$&Ltu+HtRc4!6HP2JfQ%Z!FW^zHb`Q&QJ?bJk``~dk;W7+9kR(a zE#^WzosUa&5K&>SW9ljTL=*$afNC-9G`X{4ZUpCVxTZ2G70u-G=3Y@e3> zGr7vT%FF8HL{{yPVn{r>cJZ89?_maSb>+m?+EAaarg5ZKr$K5OE~#cBD$K#Zj;TkK z!>yf=DgMx~cY4ZZC6v7h&ilBg zGC7rr>{K{6*tuGyk^_&4w(jCe$j;>3W}YWE!>5%R4Xq(_F)r~Pi)3wh_Waqi7Aapb z7Yx>hUCU>mK1cbQ@+DzyIC}o|_m_FLIxf%F$K~1P_&nPlpJyzQCtr?Tdh0ypcS})Jqahcw zve~#&%K4TqXSd_>?0#IHJ&w<_k{YZHUwGy08_zSxp)u3A?P6X4k+ry_Y6VGDZJ2YI zI({_x487>36WaU(;5>nADs@O>`J6-4i+K7!TnUY;j#A~#@%85f9lwBMVV*FRsiR-r8^wwy%UP|XrbJMyG^oh8r0b3 zLy2 z>jeuk-ePm|@jy&wtN=V$4#c?MZUV*612OI~Dp7tOh;e^f1Jv>JK#cn{@t~gvV%+}` zFYxm~jQb1msGkR7++T@T`1w`E{f&6c&jT^;@5Fofc_7C9gLrio55&0GYQe+cEFOq) z4S5)m#RD;}DG%ebcp%308IvuvmsX z@j#5*%AgOoX7NCb+gcuWW${3a+eRL4&*Fg?x2-(v&ANjR?F~Brp)4MVaXW}@2eP(B z@zBw@2>BdR*^XaMzWfW$5BU7!4gdyu^2I-%l^W#97yo2(m47|jseg>F8=idePuUH+ zPvx-HduEcn{4fMI6F`n*DqRP)0PxpFy-|;iX)4h@A1ks?|fR^sCJ&8H=qL@P}|3Rcs z*T$(Ki5K{Jsx|vMHrS}2r&_Z&F>QsPr&_Z&6L0HTyoIs++TyJ} zsYfi{#($Z_p=&OHR2>Oocn6TvZUfoJ!>!rdcObowQM!R)ESxJ*x`BmTAn)&74)P+B zmEYjo>@rXv}rufbNd7>A2zs$lEK znYEw6y1_QY)BFt94Ys4S<7cpLus!i$K7)0G9XbIo@H1F9*pX_Yeg^9XJJGSt{fwdv zcK#N4MLy!5f?bKm(5~))A?XekHPOMk!CpNuKXN5lH#qPNFtlxh*u|Bf!MedyDB>tr zf^~y6J1Dfg8jM<&RrwjL8yq^ELVgD828XeVg38Ze-C!kiQ-1C>2Yb_0$IoEhAU{x` zMM{yYSmdCeONn4Lb1U#OSU1>D7mdNX!TwZQ;b*XJZ~%42{JSYLcp&f|er`txhqC~K z{S4L(j<_Di)%zK&8yq*mTyB?9a&?)2 zH4My&vssacE5nF?+Dobg@7Hu2xusR`y;tK`Drzhd;NF;yA}x8y-mO$ zBamNlu4UW+*B9sdBo3uGH{Ey{?BZP8C_{}G=i)#9%5#Rnk)k*^(>NJ05~`gkVAK@? z#m_?q`gUiR6Au!y>uIXip^fJDL;8{ef0Sa(|>z@-I4apukYV`9$ zH-c97E@~vLW61+8F&*}8o|K6W&5&@P4hjDnIUmDSN?8?UNVrdjgr`F?2bXY4r3veV zIwYJYW%w&J!p_WL>N17^_#`B}37*ZtV2?gtq}dp?m!kGz=!XTX5Sq?E)Wv@va3!!qYDF)i8Zaexl5Jw=XEmee;n@Wicc??IPbr zz=IVG3D07PciLsXE0CbTegs0T81|dyg?N7k!ne3euK_=kxp{mq#5>(Z`EhCfM&UE? zH_Z$2ZUG+uv!n2}e_AnwJIxF69t7UVIN#GRd@scNbnq4>_@cix9hjy=ytg4k<0|m^ zd%LMNFz`3c3-P`ay!*+&fn|_7YQ^Z^G%v*adGP*uJij$Vywh}uH^*4x8}Pr6%cwRC z@lNwXyo0Ehlo71iAjOz+W!J-PB@*JDR(npi)Lk$0Gzjaut2DW^(skF{%xD^~yFO+B zcxv5MnXQn@tGm9Y)LmN%=TGZz{tc`wDecMTrEt8;VmN==0CPJYoGiYG(gvE}f)VuU zdXULj<^p>uQbwh&b%^(?czy?0=`gS}X`IK_A>K#9`Zd8GO&eQDO?x5U!7TJST#`Js zro9mF7H5_n-cr9Wf%Qg$t?Snd@%|6UdZE*&Ilw%tCOP`QMM!1E?lLv=ml@Ik|1;bwA2%E&T*sFBY4r9uY>hooSiA3 zWWCX<8QRn$XfuBV+dzJzTZ>?{I+q#Q=Y!YbhH8v%oHc|yb%$I`g3MzQWFC_s^Oz1Y zcO}R?+-ov~{10RF4p(LaRelDUhkLV^`cy|9WF9_wP9f$<5@a5J>=veAka_rVJ^f*j zdH9K)Na1j@6+S@c1ZDmfe)4}XEv7n2khz$3rtvcEk|6V#1ewRCL4g^&w3@4&&QXAZ z@L7frOZF}dG7m2_Bt)wVgUrK=WbNf-F~~f;*q{YL)s;c!;l+WIV1v>1ZfFSqoj!5Q zt_(5{-yH@gX!;ps9=^X64+Z|`Smp=bM~bL_9#cF>yt)5LDt?H*tMD_(JpAx;pvU|S zG7mqp26zuYgUrMG9|vCTXOMaLAd5NJ&mi;gA=)&;&mi;g({Dg#jGsZ~;eQYx?`M#C z_*u$K_A|&l{5a!SR9z6+AoH*eGCvdiMR6GwWsrGT2bo_6>Y5~nLFQo{WPSsv zw|gUrJ^$oyomh9}s%=`qMWtb@#_gEc?FzK^=2+%FF6AoEMW z+K^x~wdXkonTK_d`7Pl8EiR+V7-SxnAakxRjf3Fu*WR`9{n-g*)fr`wc~}RTe-8e! zgpAnOib3XKFUZ^uV*!s#>)1deTQSHy>;;+gH~Kpz_-`cnUXb}I;GLG>Z?j;72(@OA zc~}RTlWHu4(29g$(%9AvG7sw@a}nGIp}P`-95AI++BvNmvJuun=JcrX3?yHSORH84 zG7oz}=KTK_$KovAnWPF^F~~gZ1)1CVm~!FL?Y=dG%)>g!oU%p>u-Ycs3^EVvAah~! z{19X6Q@q!jLFQo{WG*su!9Oc5qgpY@JnRLTUkdWNILj;G0hT}qnLo|~-VXjmCd;59=Uv ziWmjx`nYu6CHr4H2APL-ka;=yUH?L+2ZPMRI>?-k9|oDxaXHnFLFQo{WIh|z`AH6g z%)>g!{1Q<4oBE#f8Dt*TLFPL^7R04<5;wJDka<`KnKuWkXM!zVF0+e>7UySiQpn@Ky@@EJD+7!3gOqlRt_&>B?~Wu0ERHfk zzK$J!5VDUkr(NaX^k?#Z9VF`J%^t!YUV~6u4c6c<)gnz>!^7A3fpV{}U z9*Mfnm)Kzz5K;k=+6am3DRnEfWRj(-7(1Mwh#eNOMX-=?>SR8CFxcfH%;&th3^FUR6NtJJ`YH30@-6!)6(OJbwV0 zDoTo}qlb5bdJ}UXTSXZ?Z0hLY2SIo$&he^K<8d}&2#L`N7!4qy{%cblh7+Ndt0P(x7(vKnmDscsNDS4)S3a+K;`2rx57P9 zMiXa-Oe)~cxJP9)app;);PW^&lNgNQj(aVmi8B|N?D^b6mmxqJmZyNx#F;^Z_H%Dt z58yi?t!f!focXlLag_V*$x&5L&!ot;j3&;^m-O6?Pp0?uGnzQ_h?vc7dZA{rS?ShY z%V^@vW>SFL6MSMQz+C{gl!DR3na89#a(my?&1mAxJkibFeoY<9XyVKwq1G~*IP)SY zy%7aUH>e?uCe9pgg-DU2)-akl^IrP4B1xRj#QR9>A17+@A&e%@{K*_cvbbRgqlq(z z8fV5SI;UDj6K9SvsAK(cEL{ciiW?58Q^QEM%vWjUUW$vkwb!wjk4u4GAeGv5 zw%Jah{HXC!ko{qh3uln2@X2ewDx68&r+iTpj9E;Y9W0a|HRg8=Eq^Af!jqq;d%N#P zw41{DziN5;QDbhzYx#5KgP_*Gj5t0UPk@HP^V&dWIDgEx@KbX(aC8;iPo)i)0MYN* zukfU5w=jV%1>!dpy|-AypRX-kzXt?f+SA_8*VgdoYYR707eBLjmG%*dn`tyZx@cl8 zf4;WxnC!Xo8%#1=-Dv6Y%t;VeBlz>Rg?Scz$Imp{t>V5~{(Nm=7il*9bmOV!&({{_ zTXY`3b(){17`P#y1 zqKDsw8Ve8M&({|IX7XcEGGZ4iJ zVyG-OwVFT4e~?AuC#NJ|_thHyd~M-=bT2jjFW9vol6_dJmEWj5uboPr^K|)1Wk#86 ziAn26`GMPXLM?y3ws4k|eqTbA9928P1gqF$L*xgfl&?ZHVB@!^*cSOsN#|PApQ>IZ zkzbfjD2YK+-{d!Pet9~9eUvKq^ahJpl8t)u-D<&6&3zEKdkUDmQU&zS*N&VBsUivU zXOrjWHQf@~zI4HB80KFjZF+Y?haPwt=3lf`!e00(PJ6$WVg5y@36)>wv?KNK#W4S( z&GaWf)+ISQr;!ZsFOo2Sit|IBwpbebsQ+PQQ>4TE$>s+>%@*Aw8Q@v~E5iGI_Z^1kygP%LZ4QOxY0ngwk58aMsU`Tha0wLYuZ)h=5l$ZuUS(T(M~o zK2vz<(0b(0Xeh$iK1NH<@nF3=ZFN&5tpKYNuJH`!CZcRkN+vML-v;3~5*jH39i{UxSFP@ zbL38EmZ2puN@OClLe>+X6Ieg-b%En2z9(?Z#4iO7R(0Iwuwt!;RErMwRQ?$a^PuGl zTvO>o+6ry;SE9UDjH^(_^iJZIuGK|tf!Lk662(gK5>V4M<(&dosbb>VZNv-O`ClqruBf4lMzmFvTT?Ak$rgGyB%f;}J(e|I!y0D;pT;d^Yj_tg z=}?^yobwfug)kvW&1md7i)TQXjR9%L&X|q|PS>psO_1c=Db-X}$DMSm{=E~-IS9#D zPLSq4wKYrCR*M5LAjqH5@GT^ZS|6{wz8xFkEbdsM5!Uq1 zWvYah!HqPjI__gz^9P(DJr|NoPmtz*xV32d3DR32dGiU<+@ZD3S>Z`Xb&*iDPeby9 zM$+}y`Y7y`N!4-p);e#Om$rE#tqgRJXUv}o;e_Y;wZ_`F!b=-Xlqst{mU_5SJy5@{7llVd zh%cx*e#)^P+U2E9*255_Tl|-4ABxw*I*u|ACF+4+bgW1J;b}s%ls}_kBeXpFmzo|u zt{**`=tum1WIcJz)0Ffax3Irzq)FBBi=p*&aCo)km#h^Y(JsIxrH>Emb^OL=J>SKX zPU>b@?x47Id_+I(@@%+i49Io30B-z;?$)j2B#jlCQ=J@PW(G5MRU6L2MTCk>szWM87@AMli} zPAI()oXc=cWO6Z-fjj0#Jl&2fp-dY(i8N(1q-FwBt%4`3N9w|_Oz3!d9^8@%G&1aHsZm8CI_H$a|(WbX%FqY=c zQ9A2u5?PM||8iW2ZlP3)#yN)pHt*#GFay#EziVLy~Oou4#Rgc z##BqPWP{{y>v-j${LFY_HJAU&aO7|;zf)4Nebhs~zK~tz#nB+*Um4c-$w@xVQD@X) z@c+h3hsn7784YJ#iYDCB>kq*M`OGv_uGN&Qf(+~EBJG`dPr|D#L{pxJiA4H##y2IN zhp|d_K+F5!%(Z0xwX3XEo5vTNgR43o%^Z9ATDtimU96IJ71Y$LN5!yK>%|DlE zoA-yz<4n5P*2f>e#PSgBDgOAq zJYE@p{8Jv+dync1RHaWb#K1fAGitCt^V7m>4;!Q~SRCWcs%1>SM?sYLx1wj7^$0qo4Lqj*=^lkcDg9!9Y1 zXsdD=&u>p1INmg5u4;qG9} zUONd;Tf9zN%;OXGdTlX}PuLqM>bTq^vagk7E{{*x8;KXVJU(GxcNg-Bx?C9Bo0zu3 z;}gj>q-jX; z_(XE;JqXWA@%Th?J$W{zxKNkebUngLQrwnHZe;;BrFeWIxs9i&cBFWGB6-H02p>xE z_(bwdhIxE~;=yCCWdJ8xbAVn8Kn;&ijB`GV;CNJkQ~uP1@~1w6H|IF|)t7(&UwzEe z6Uv|dqF~bE<;C283+$mV2mhEH7^ zYc7NSs7zfN|0Jl7r!#!&vN$d5XV=^~vn&hV>&JH_I)ex}mdJ!PEXv%v8HO_;ynjWhgffqRpW7yi>&fhl!{e;Nt8 z?+5;#e443rkxm(B_(y>II`Kbd8KjM-(oZ^NoZ){2-1GVPX>^89sWUuBj9Z4vPva*% zoauCiPZ?+U*#L+7WBmq)UTjX;rKq}z;tZeK^6#Fs-Llvah_&sO#};G8r){?)wv}ON zyOpu+2#4ElRctL{nYLRUi?-c{*qafdw(M;ns+G1==k^Ei{w4hCZUj2X#0*-U+rI}C zze1?!TZo=2EoYqD{|H7Y z@5-mqmNU-nR{(c__zy_-q|uCX`z-+T>xzof_EP6|X|GQM^*JA{?PZ+XzXh-w0BEX3 zWL&lgWt}Ll{fmBsF7ST+8bLonbL~V_#g$mjTso(aC!m z+l+m>mfw%}*hN6^$|u3te@OE517!20JKE3)Z$-@Xg4;ni<9>)nXNI_z&k)!08Q+9S zP~wz}Yk7LvBOprAwLHCi3_%>S13JBeeLn8YRM+zKy2ooUsKvEB{ke*AQ01CI^?6kd zTnm6q2)*YfnR%N$fXbLm>19^Oteckai)A^lO- zi5Hto*YfnoE&!%7mZEEU`cpl4sZG(fJbnLdh|!ShV~kHTJU#U=8GnX#H!DTg^7Lmf z0lXeO3}4E{YBfv)B0tE5JM&_LJn^Z|MKVFO*u)7Qw$j~eJ&o_>Sm;MoScmZ#q&8GYeox|XM} z6Eep=nXcvOH_Mv~MRSG1Kr7O=Y%ENYgTa|Z*YdQumJ5gJpqWFu zt55)E5?#yF;#$sr=dJ~2laH;XYk68-%P$19lNjmhwg1rujJlTZ0rYYoGl{O{X>l!Q zwYv7qkBLXu^0c~^--9@xxABtfqDl5gr}jnm0Cg?@Ch*_2G`JIvy+&Qjp9A#Q0fw&S zX>~16WKa|MnH1?-o>tfL20&*7n0A&yUCWmN+7@8wTAo(d^6h|L;A7^|wLC4Z<^2He zvxp??)|p4w^0c^?UkA)hK32;`*YdQwmVX4OPx)x=dUP#Mt84kAKz++cb7aDyjAKb% z%bx}64?bGjT2r8Fd0Jh|E5^YH$4_fv(z}?pxRz6hxpRP7X0gdPperN^cWUWco>tfL zt-zn}(?}kt(zQHoT+0W5yVS>XBs){-TAntpRL{y`yCMd)F%uwJB_a8X>~0ZLdat{xS291e@2chm3FIXbS+P-YdLGwoe#-P##miMNwy5%LhO(YKfd_bS+P-YdIUkeG5=;572ZiPpfOW zpzj9i(-xh)7a4MugX zLUrJ$U0^<4%hT#wJ{!=b7L%kDSMk?K*YdQwmZK4zGeC2$rE})fwLGn^<+}mBB*4(M zJgu(f*8qB5fcX*INL|bC0F=AiCO>p7PpfM=&-^@UF-d9&lOMX4r`5HbHSz<{{K}`3 zjxXJ|aU3QO>4V~0PP$|@=H2*dN{w_aPpfM=u`_|07hvgHo>td#V%ve)X0h5ZjdU$f zt7|z)b^*Q5Cy{Ir?9Au7d|F-0-wgb1MQ9r7TAo(da#s8&LGys6bLP{vJgu(fUkCJC z0cPA9VAQqzSwNo;Fmx?Xt800z2BRLopj#xxwwh1Z^0c~^&j5arPs5&~G>vpEPpfM= zi?bCp+bx~bNZ0bTx|S2$2h3iJ)oPkg*YdQwmUFlCppTZJ7&KQCUCYzzT2AOEeL|l` z2i?B{i37^wT26Cu;$JXwz08zT#$(?;+cD~7n%+JU6tP+&G7bNPzpg#=Q+Eqc$+r+c z>3O1OoVyWMJmcM+jriPW5)x-&8t}}#AL6elL7w}myPffzGM+cWw4IaN7LQZy772Tt zUF!5K;c*J(9UwsdoWY0*k2BwdHv({F6mdr}-!r8UGRU zPIxQv!baSSr#9ls*y~B4jkq#q8gV~hgx8taq)&M76&^IkT0G9JTResn5>9xWI<KqVXY#~s)RSv>ypAYH!~ z6mH!t{AG=<{}M3nq~q~dUbzF~*586xiXW%_dPGT<41J_iIJMs)ulwxlJ@UHWygGdu zPM7zCt=a21elu2QTy$7=d-Ly&tP9<$h{a@oB7aljX!o0$U5dD8b}34EomfJy6HA;0 z{$;Y|P`c$#ggtIKl%B?*<8jNObgO`!q<0lSrQC8TJ)ObwS*5b&a3*qE_FMy|yrma% zQQza1L#f`_#wN}2&6grA&G9WM#MK<%T92UJa*&J@AQ|_!97=g( zQ|Y_<5r5ngU@Ms%T4Wx=rM$wa>@=3PO!gqkhAsox;~qrWB?LPj_aMrKrvg07;~qrW z2ub`sh*DnRR5rSq+^WFMliTXb%yz^is2@+aBUm!C9r0!m$35MSV7S!N?FgavbUT7! zyB*PhaIL4?5oFWg>2?I0eY&UH5iFY7j$p6}CFFO|lO7rQ+YvL+rOM29#Cd++HeABI zdAc1z5)V6Lvyo=2?HDb3AIYq~7M_>2?IO zU7^i)ScvcvPq!mjfK8rmM_dJ-J3QTv zScUK*Pq!l&eipTW(m3OoYia&U)*PVxWVdWbq@0}y2HO#*;Y~(*x!(9=b|$X!iMTT{ zj5mD9whfJ0cUzg+nTVU6iISV9LITO^WQp!fd;;X$^blHIoh;FviGKm~yB1R?dDDox zGw~cyzqjbh_aP-+oh*@^i4WsFHV$b`!cTZB305c9cpy!@9Z_{>B7SY`CQwhQj9(h> z1huSg$1jV27C>3uj=v`UZHBqJ9lt#OZwQB0x8qmDTM$cEx8qmFrQu~~qBee2{C=Ps zxRxJ(UHl*gc>}L{i64mHj~B0jy)=GxTt=YoWW=wD*CKZ*~xeqxUc2oWo10B zI~g2o?lZvu!qVtYM%?UVaFZj{l~3Au3bKD~d=eg0ftrUOmdsgoT8Zn@sH7S0W>DQ4 zzZH+u1B%L9(L$QV8CmkVJ^lb5mxL&GA-0e?GrmS1?~kv-GnAFjKH=W3Qj-F`SgJ%o{2uU5;|k)_Ft4!a2;WGney*ieGp$D92(abKX$# zoW!*Ah6@Hy zLxs*8egxFdEL!Ic6*_PD3!o)PR?>E4-cS)7xa3~Pi9S~54HY_XXa%&*VoZV*r4>4F z*bY?IM@tjV~MujfGe0sig+u<*RYA3)UfDlmt!*{tUsNC;mmXF)%bjwKzh977$yg|uQBXt^9+ zHb;z22;Vl@9Z|dJ9o)nvi}$`pTTbtqti!tG5bYqTKaqoyF`Zu?goG>S;dp zT2P)|K+TR5tGlcqTSK7aO=e-<&G4;=Nw=14v1i35zsp3$z>$CMZFeEsKS!c2r5O>M z%swV}mM><%i=FULLF8u@=T;dGbM5{jL`7G+mhb_aV%6^QEblXhXiNl+&*XXKx4 z#)6Sy9aPskU{1wv5uPi(@7IJZp-7cjdXm|O8%#OT88 zD=1s+LwKW?rZ8h*1)VdY=R~O`sNY%{?LIJ_W0+nctl4Xx0p@r3Eg~B*UBo>TDKfQR zEDo7I5kH@KkkeL1y8^}juwi7@{VQ~V95;Qk&8+mfb{HOeKyB-^N#zF^p|^V!qw z(y(4NB>G8OcGs$oCcfEz-$s=cJ6|)m+mAg9Ge8@=o4RWkP$(B!-5#g7VU4Y!HtRQ$ zgJwG~6dCmIw~?K-&!Y_AH+?3U)yh>Tac50Ew2w;@C4S=;*h?-9PQ2KEZn%~T^Skoc^}IZK<7naCls!?h?__ygN)LrZ$>qG-G*NP8 zw>%E)k;m27$>W+2%Hs{6md6{vE|2S8l*e1BT@xj5t3lUI#P@7K1t#Kq_sHWl&&lH| zo`X-sUw4u`4sfF-5x@F$dAy!mCW-j9?~uoJACbpfza)>h9hS%SY1DTje&alO+_F_3 z@47%9@9vYwZEu#xd+w6Q?T^Xh;9+^ZHw8_Qi2wDY$V*wg#2rE{m&N1m41mkx33rV= z%iMR!({s;}XVM*$XSw?+JQJl`o|MO#f0W1BHPr;ZYPLKsTrZD{cyK3C`f46bN|a^~ z%45gp@o+pkG9|u$o!{zDmnNQWW^>1%WWEydpD;U#_^+6oMEuvxL?Zqo^N@)DmRU>0 zf5)68d2lx_7lblm`JMI;rodc@DEsbBU|XU0v{&dFM}@9&RH)-+g`4;pjF}4c>a6fe z??whw4?_`n2M!@_>U#?iyqZC<`5hiCYCFQorX+&nCW{|ba&B`;7f{{zF7mApW`{ErORR`LS%^8aGEp^_J< zm;Z_3S(RfaA^c~Cn<^(U?q3*QQaQx9e`UC>iWjJtJ1$=~Rq+D#a#voqRq+CK90Dcg zyeeLxULJQ(!vNY*#S7HS6Yg1f*;V!92E2GKb30VU3)IUi#KNy zdiiYk$9TD=iWjJt&ykmdRlGpGe6GBFxQZ93m!B*z_g4KczRY*oaXwRZCTpot@^+}| zR_40d9Yi``gvpzd3)CM&<=4bh=iGg9k`J~AE6Kaq9fRKADCYb_(;zUQCA z#;T~}YWu`#U|)XIIJrQ*{5IBkw%u7UE(isUMRQU)t@()u<)rMpui8`7UM zwVD_iP(T|fudGNOFAV5gC(v?+kQoa8`rBrJU?9d$OG#eNKslKh2E4K&S?MzW6!GP( z4Ef{K-@vF}im|iYOB8!rIp6e;6uJI!5*;V;pU8`E`18t&|lQp}qRs$a(#k6Om?=9Lx6@xq%*N1>B>Wkqt5K-rCh^LO32=Ht1q=ehH?AkI#hxhL?C(=ZFrJ8KYfPb9%J zurJ&zL2@mAQyIPdeqseFU)y~*5bw1}XWE@p5kWt4OwR5D`12);p31yA(|NCyyK*Vm zzZ0dx4NWm2eFkK|wWL9Ja;EcMDR;{U0{Rl6pOA##8-ALtXP7ssvFW^5%01_cpnsF{ zj|)9r?9TS-iPBCso%c$)7p6czn+3K^4OK#@-VKWP22{Mv z!Ie)l8>%v)dKeV{98mGo%&vTz+2qg@s-J@5mp;`=>_@KuX=b5FmP7a9CuMe~b8R=4 zcodCf_>>D(BPdz}s-L6#y7B>MLzNP$vq6!wROO-i*us*2;C&5#eN+hjHK4uD(mT^X z53T6R2b>Mpv{2mziu(d8e!$t44>-@(y3GjHH$d_4ma682eh5_MM8Td#Te;u89DfD+%p2&TY0=L0+Lrr+UhHa$GYz59fjsOdN0{Vk;ZKFzGz^zI&a$6GNd zWA6p@Zi~@wt`YB+FGe2%>Z=xA{v*boLFeRg5AuuAKf`@NZ&mXVjs18xnNS1pcCYnno$RaVQ=J zZXfaINcQMZoG}i?Zvpu2KB|ch;2Cu&mdD9V0T#jL%-P_0td?4K zxLUUIg7=(?UXVH$e<|z#NK)yNRJqPV-Y-{~q<~*|1`@0k;lGgg%T=Zbg+3&gYOhLe zDdNPaast3rT^x5#3vVf^>Sj3Zq#DrfRk;&EQ(ajlw-j*(rS!Y0MGbu)!?3k@OHoz- z8A>m=6mcS;^m`dJ^!ph0V91w#2(Z-o_)~T1Re-^?@5M_i?<}f%CiYc;GTt}vcM)?W zqTBxi%rAghTz@m8mx*Fy7t(%|@mOz5Ch-QNs_TzOm_Jp?6<+-3um>mc2BWIClQSoO zMqTp;qpF)&AWj7pSU-`#U&}b)%&^?gM97fgo#4(=PK2t)m#|(rc~mXSB%J#1vNl`9 zir|FOu)cuM<4RbuoL`nRW%=XOe+sdxUM)rq=bREjRagB3%usKM=rPPE%Q4i#_>7kT zpdwz{jZRU|8;q(tgb!z{QQ|t@U{v+z7^kp-I@OX%p(gVNqpCe(f7I~?qpE!_XSn5e zA+OG)pD~*sVD-M9Kr#IoLIcqRne;c}Kh1J+A{^jVt4`t#MpX}Te#i-O6kY!VqQ54s z%bBy_o%++svro%k1*q7g4ntBUC_lortb}^rU{sZp(sMSeq{KM&yuqkyatWuboZ*J1 ztymfX>OJhIob+m{lh%^eHwfeuIGWW-F0=aNXMpC^xB&eES>AmQQ2YgGw3FOmG>JDD zRekJnAo&Xu=nX~-E8;q*u1|wp*8WE1ntBb1j1|y=WMMIG@9`)REk6L%Rgjf6*DfkC{j`}X+ z{U=^lR@OMPA(pFFwE?s;wuBi{}RDD|Mq@{IQ;ghi6ka$XIJyYXz34+*~;q2=C_ z;GdDdYiLmxe%1B|AbTD^afe}mOQW@v|7&Pm)~-cK@ef6mfA~t{c$nS7E7b3Ll`2|z= zW}1Xp_*{SXEWXV~6n@%v9nH`)+SdIXH8r;l*3bz3$@vHr}UwosG!=nq&QpHlV&n1C%jq zX^yU;U0Hbn5cmgOEdQ|If*4=5(M@Zv=hD0TNA^A0b67(&{!J!jj2aX5=ZNVF|U)(YC+=_`5m< zuqlqn$&x?V*KzXd+^tyWeISZE-6wFeC`-<<({#zX*%TW|%0GS*Beot$H*QfuvBp4B zGEI;SBCjQ%gcx$;`nIEFmf+qXxC`N)@;Zb{b=fcR8idPqLED=Ly0cBnL6MvaBp!FZ z6XddMo91#qEDrncVdhX*Amv1N$#<6n1sAIUK6Ih7qyu9te$sYALMPGVGkO3qC(-2y zdc0|$#0rj}$D7|Iv4SJ$@rAb$qAQ_t_Pn%>d`fVniy0?qf zs0Yx!UWWAmx_5Ci*qa0B-W8khBFDMCE13m3&h5Qc24jY${3(FrK8t`kfbQ+*k@bou zPrSjdjUl-v@2xxW)EvJ}b4+hA?|RKKy}`U2NU8_Wy&EN(96`>F5D; z@12aR2hhEn7&Zscy_^5aY|?+tyXAVs)g0e?5J9$QFCLO{0wm+UH<%ni_uj<=>~a7- zc^V6+2hfv4&x2kLpeHXOSP!5lhd%_c9zaiyki>WXk^|_;(a!;<2hhuB(cxGQd6&;- zj>Y4vd`>??dH}tAF2i~Ny?h?2^#FSLe1_HItGtnJS9$=wyqRqD0DAcXR;(UCFJJgA zgvH~lyp=&7K*usJ{*saL_$puawm9-89$)3{4+Eij zfY`#a>H+lfQ$I)|Ie=b%+980=0rc|aOid4w=p$6 zfL^{vi$;&H^0kLRqX*E-*OR9nKri2P8^U@3y?iSRpa;;)xBV8G(*x+`XK-C!51^Ny z$uJL~Q#g3cwG7>)bjgJGP5{K?tIGKjg5vR&dTK)Isr&J!2hdaB{|_JY^n}#YPYC8+ zZ4j2VcR=9F0rU#v=9Ru_KV-dlYo*oAs|xQE@v9@Px_PD5&1){8i!7#2GNcjJ&Fd7P z&bH{}2N_!qp{B*n>n^;<`hnh;PXaeDIiy+kD`ZpMyeh7Ztt_LPSH-3AL!cHnuZqj! z^llb6uZq{izsoS!C@LlT*Jh}%|$aogGr+#ZWJ z{JAPoVcfQ^1MVgtFZ{)At3utj<{?4%W57RVe!wknLuYV>t%$vcVQIUSvG*e!Zo5@6?(3SiTOB)uaJcO@#QqHtYRldYA~}Fw zq3cCo#``z$tNQ`aNhW5{x?c1QP%rpsessaKoLMg_MV2e^ljz}=GwVes0oP>l%3fR6 ztQWNdx6Q{3e{DHkFX9&-++N^E^J%o@%z6>m$KOW$i;_LA7gd<`q7MN45g(=PrRzn~ zUXK9vsE?Kd=oMzY=rF*l`q5O^kZ~DzGV}m?`X;)dn6baE0pl}`_Zs}_{zy_efS$fX z4xrBjbb-Za4Vkh3z+yz)0Mr>4o%|bPo3THw1=^wxB)ve7=96ITr+{+Geu-@A0dz{# z%z}@A?j;VOXO=wgUfSy_RZ!og;0D9(gwJ@0F0D9*0sv39z zJ@bV}5kn53XAZG)^Z^Z}~1L&DfDYhO!&veU+9zf6ZyKE3W zfS%bSm8%EPGyCL451?l*lNUXJp1It846OA4dgit6KOs>)fS$QZYE%!PXAa1V9zf4r zBQJUYJ@W?1fgV85yh$>u2hcOu37Mk@&@*qAH*)|zqX*DW#^iqkesyfFBwHr=G5%qf zOR^W~0rZR>K&K~F&Qj};kpt)%Ie^aC?iD~Euq1i_J);NEZwB;z79&aN0rZR>K))ZT zhb&qTpl9>|`V)XY>0{&odPWYQvyZr382^orl>_J*J%H||k$e2KY%ENYgFz3VXXF67 zaA*R}BGNs90_Xwsj2u8`zjL<&v)#wa0rZR>K;H%E05Q_lI2$$%~hFzs!?=mB)D>Yf^4cmO@42heu_+T&y70D49a zpkE5$)fSOt-Rc4Kj2u9}8JPF^SS{DTOa)gxfPOzv5Bq5CdOU!h(F5q;2I{bn=E&3o z=ovkL{u`j;n*-<%0QZ=W{~gfM3G@JZ zMh~D9>i!5sFZzT*X5|2SMh~D1VMQg@VDQs1@B%rqRNAfN0D49bptDBZWuR=c)Or9t zV-BF74RFq)L^3E3Ie?xq2hcAA!G24m2hcNX+(T_x$3r)EZw2a(0L=sF89jh5=+6N4 zh(#x*_T&J1Mh~D1&A$WxLrbFv&@<)$`tJdbRoS9S>rXp014-xs^nMnw9{3Y2jUxxp zGkO5M70`BzNm7cd_>%+Z89ji$87wXWO_!z91Lzq&fW8;dD+0`9Cank1Zvgb>0P`ab zcs+oA7ohhAnAs-*qX*Ex1n9RdCP@up^1}n@89ji`GX4@YfAQ(qCAHhi0rZR>KquXV zYU}~vr=4F8pl9>|IF%Nk)Ob+9#205UdB# zGkO617T`ZzghmdaXY>F%EB+8@zHI6A0D49bpg#rZ;Q+$}=ovkL{u@BKs;$MF&jaWg zJ%FBpwRAjwIs%xfq}Wz+06n7z(77= z=77a&HOT?=j2=M087QuShlXO%Tyg+CqX*ClJ>(PmG&<;-fV2nDA5X&Wl>_MGrto$& zIe4#KfdH{W#9zf^9_!Ru=e#(CI@5IXi^l@?ko$qcd(911}9zY)_2hc?co=yzE zZwAZu8DyU!IAR|u8L#P$cJ%QErj^mK}{dlipwYZCjdICT95RhCcuR9Tlws&YnDq`4tv{WAPfG~oNwh+tY|j5)eBcKv(9RsMXLUV_qGze#M*cksrosIY0n~6 z>sh3$k;prkGMUI-JV~yy=~<*|J&VLoO@6}CmcVv|1MeN=eRo?q^9d1krCa6-ZfkF)RP9@hevOIYtPsG0f( zh@n+P>Kz6(dWS(Xpo{UVBUXYq0E0;=e?fBF9$;RJ-)8dQPOZ>ZL+bpK zp}o+jeIH2f3e%oKdFP%Gdk{c=Y0^*M*+RO0$d==?Z4w_HQvTuFJHY%3zs-!r6gN=S zIJ|nfrrz*i;8a}P5Ie3GA*YObNNQ~pW8MkAJr}eIzt72EmZS}oXW+M)oNzL1vxk@1 z4cnXz)KyLvZ^QUW9wi~ajy5q`Cq(k}S1Hp2KGSysb31;U8C|M}v=dO3A2zf>^*jvB zV`19Ur~u;^D$jF$o<9Rk^<*>@TZ=gX-_!XSjM(uM=h*JtmPGx>j&G8;^PJPD9WN~4 z(+nOL6y-B5kIyup54Gke3;0|L9`7s4XI37cSw0_X(~66B{IMrKZ>{3Tb%t#VJw)TBx>^>CW2F2i>x zo!E3Im0AT5_MVP&N;1n*%Tt>%n&L~{5|1w~UP_l53`Wc{htOI;an98SJqeZ)nnXn5 z!iYFFu)0q93}iOftf(UpH{mjciW(56Qe=V6vb3M}>be!^qM1ejNH)%75F!iLy`(@} z#RpN#^Y5=u(^h>6J|)N$GPt28d6U@5$}ya)S6k{nu!IP39Jm*2rUpynt_(W1T3o6QY(9cF?qqpv`DPQF*CxKggI=k z(M(z%OIaZ*GL~6(K~9&?cQ@8hYBr=aH!CnyAu3rRE9bk-7;-vHyK8RNv5Z^9n`<~C zSLdV6P;Vnc8^yrZSe}fwmIOAnb@P$AkR+f4T2E?bX|p8LULY(sL}kOq0KgPB@pW^} z>N?gjOoTvkobo@CBTsz=-INtS(JBhnfLQCd?EqC~HQgku>FTY%WYo!FwKv78z2m9& zLW;|(w+5=c6N64`;Zp@fHS4RrX+D)vd((ZbBQ)3*G}*)}HS-Kx2vKI}4bH551vlI0 z7*cS7>Ix~ixqebc!JRz8CD(b@w1Lc!8Z2dRC8jYDK72LOf!MG_X|@t)L4H;Ov9b{M zibo5g#b;PbhOMS>@`61UtNtL-DM1qm2Qz?!B)4-k+C)~Zl?Cc7do zGIg^E3IbNnLei5_+p8phe)(622qpP8zlX`|8f4itFWU;25!)W70vbo?ZIPB>LcHG3 z4C>FyvvwbdtXtrQFp%9zh1teJFvLS35I6gHBtRJ(RKzJ^l$EIgdP^7`)e5I7GSD;l z;&}B4lrsCe1Mfkvs%;_Mit0KR@ghvtMfI4Q6O2XKz8J#jk4$n z>xa&;HZk$LYyy<^-C+X5A(yW}dQvbFtFfA~6IEtxct+h-pjdisopMa59eOb}2B~)k zTBPsgYms2O5w}8v!@5-G9tk`5DAVbLM|qi4AycmNnv_3)M8MzzaNFt}Kz5>IWM9UL zWEJ4!!lJM;h>1y$mFCq}n&UQ2WsIqgjiy{CSf=ci$AL>|8ZX@UO8lc*655=e@nBYFW=AwLf(2G9CD&Rhxh|+T=o>2~ z+k-Bk^|2uY5GfgG7Ub1R$xXCt0-a(kmXIc4F4#PQ_CNzD=v3d>5D+wm4=~mTzRF^i zBMz8Z8%y;>p3QVdxS}loGku_GE#~7aA1F1hX1fuy+c}yj`QWi>$2?!p3CGEcac)?0 zpJ%1CXq50g!bs^0tQvR~qtQmPlY$F_1hGLJ2y;;=N@^zYJ}UMyp7*uC60!XTZcHwkv>`gnEn2d@e4~NYFY~ z-jgvjPk3h2Z?S>C8nF5*yfVU)A9ZCUP*X?JOsbTUs+4d~h+S-BFG_`_2bSXU^@r6_ zGG)zJ#WT(-p31O#sRE~vdcl$$(($d!ny`8qAE=iJfqFSEtVkvXvWD5L4R_o?KG#{T zF)54>+r;%&YfSbTiV&R=)*8nL5(4_lYK?{fN_~BzRU(0gLbnO>5}NJgE3WB&-V8kp zbW%vji#C{HwZY6ls*!M3h){Aq+iyU5#pgn7k7h3CnoOg`%(_Xa6wn5NwhC#3h_+H2 zv@x7*N+JaZ^CBaQxUA7^Rm1|58$WroW}?$5+c20LSz+F4h54eO*w9&4m@f(CUQAw` z+qUC*i3syxHWU)(%PGuPL}k-T$^u;;!9s}btObi9W{|g88Mnsru|miYthMYoy4Mv9 z|Mi6fyuH`}FShgaizP|ns~Hp5^8al`5i$z5M2DMxM4@YEmykIRGvSiLjxYe z-45xr9n!uT%Dy*FB?m66X0reH4{*DfE(7b>4D;|HvO{P_K9Ds%(~gH(c09}ukB2#S zJlNqawx2AEM#n?m0Jp}?d`?b+0bOV?G+BcI>l=1puv=r5BVWHSw4EMfm_ZI~b`Gp| zhBdNLoj6aT>y0o%iz#MBi1&;{LK)Q1y5uF)geos1*?~KoP&TY zS7S_y`d6h(P-xB5WLn0%j&(cI3kG*sLq`WN_NPk1+AbbwyV5}0;W!lQF4#VkJu@$? z1C!EEM5n5ej%_p@im9+Ts4&t38+U1y78yJC$K{KN&^(eNf&<#@LGd-ZiDu;n`zN>1 z{I-Tv(4Dj6tkjrj^8-z-!l^Fk<7y*^G_*Bq>jN4Kn(Q0S#*&`m1JKPl4LIJ{<7N_a zf*l*8uY+}t6P0_gki&A|vR_pIfwsnA$X`7Q^tFtW=xpUAKi3j7e@`J8+7dUg4)V6< z!YrZTgAy@|!5kGV0tR!eAu~5@xtts{A#}U7T)48S+kzs=f`OlButYR@kW{l@!jQod zS?|1=a9pAKXl2;! zTxA93Y7AzljXj?d1@lFUkE5&X5P=!{1^X91i4g@GAft?xOX;z(Kr&zhLl>RGBEmP~ z{hBp18pE|DU-F64XBkR^p>36ZU>bM@X@`@HN~MBr{eaQ`%p3B}Q}((4nKuNIg{w$; zW`#9m{twI>0$Hg`@vSQTX$mbWCh+rCzw+gLum)CC&dW?AP$z+8Dxl7nP&!Ro88+Wm zSrxT9RH-tZX$t{lIs>T{tfN`;Z7rqcIx9feQ_!^sf)4v9ft|F`8dTUT$v2sdgu_Rq z)g;5xR=#P6g{>kc)~SKOu+&%EQwGYQAnGPEAC3^Vz5q|Bm~#jI zy6&HFahHpKC?4M%$3})5dk4Du#=3KjU32F)wmNyBeM=T)7q!gm>m3-|H*e>_n9?+M z_KuF^6H461?p){CPDS+fb~f(p>S`?D&}!2w#^6YdbNfc~$l;^c(K|4|YiI}sak_BD zGSXv-kdLmxfu7!-^KmB!wm+C51mQp1wYO_m$1rI?-JR+2Zq9q1Vx?(Z1w9UKsRq~+1n;g&~p z+m>e=Ys-ViZ+SGWZFztTTAs}uX?e74LCXW?w>)Mf#akW-+wusSmPg2Md4$>WYp1p` z;FPR%z3Xw=8pdcc);G0{FsI~;j_Z9THV@Ev4DioPZ6nwzDR;f!#Mab!x!6fHv7|-s zm}b!9T<AaWY3RIF41tUDn?5HT(a+yd7<`mwJ#KC| zy5F$FVenC+*PdK7`lto7c8(H#(mWGgYSB-9PZ)fZ=#%FcjlR!<*7+rL~aS*;;2XQAB}C+&Vb0ZgA+*j!w&X9ju(rj;`IB zj5VmJCPM}l)S^|ZP<=+Ng2q>?=yz7FGAiJ`gEXTMf(GBoV1cep7V26YJ}J<(fQ?={ zl%v6gd5EueaT4Ex;rTo?x@$Ps(QP3hEUuFg3-+QIW(ZpKOkQf35ifQjQbU;K7@$pp z@W4pNP;b_zfEj;wW7fAgf!C(Z+98BU<1A3aYqo2H(wxL;fo*22oi;X_+Xs+XDXc7n z!R}~nyUW2ppIxX!ykc`={2C)d=KGSWy&8Jl*ZH@E2?DKeFHtP{f#Y879SG=a*BXY; zMGz}2;`cCU9*Zrl3F6#jQTtt@7KW^qpIg*Tt{XdPd~8uDn!U@gms!y{WL|A=iB@ob$|jlk<~N6>4ymz~H*Tf~yE#O6!H-k6Un!>#ck-HlyYa??&$i zTm!tv+o>fZ)&6$Fv%!7wQEz2F@`n~V3txbkY#C=Zm?(2-4T{-DPA6ON$?kVP`l5GF zIF&b9T#FlW50O`rN7BR~~{gfkk+`_m#vlRP?F|-YN0YlIh;B=cC-(5o6y!#?uq5MwM{V5gJ&-8b z6PxdvBBfEJl6`oWa7DLJoj;0p4)l_0dn?NfT+M-_FB23hQ{QmVKoM0b9ACz=L4=bUB37jyJzF8;!{?Hx zdwr+|jFH31Am^h+WOYRRa#{+F{1WQbYL9qGwV;9WRST4@uUDaMMVCS+fX=Ee1g+{q zFsz608c~Hvs!%gQT`LfLsk$W%7S!s04T|b!Fk}iqYx_k?c-1LzOxD}ry_6z{~z$inh$sfR(p@0#sN94W;G!JPG+V;>D_Ru_t0wZ z#nms8e2aGg@j&?`)e|kHbD0%8i@Ai^A-PlGq zZ&pho|7TmMkgOqm(l%2&A=y+4_!0|$+;LyLAvWtcZy6PrALxA+72Z1$txcVaWg z$4;U~A+qfZ!}KW}@1I%&?ELXB266w%q7OidZSkHlk}Nj2IuUD~5Sup+$;DEZ*^_4) zW{<)PCmEaSdgsSB)I1ol>pII2d{4yX9V!T!kJ~Ng={WO2c^O+!lkipqk(1j^h2G!O4BlRG^pQ6hgsW+izkJ1&;d)T^#>POdNO`}hW&8UuTP#iF_eWr2WWe$s3b}a+d`5Go2;3a4*7pM&&Ls_7j{X?@1PuyCkt6 z+AMh=BCFgzEZzU>#kzk);`#ks;f3<}zqO?UD}#}2!>5SyoNh|XcQrv`Gc%TzRfxWchyiZ z;bqn&5Y8Vd92v#d0RS$x3IK5NH2@%ruK)n?^R;apf=)^P{2!R&vw!khXQJfI{edVp z^C$RxL;qFR{hnD60N8$5pyUs*E<;A7{c1q%0q=(92fZ82KHZtfWXxHNzXc*b+?SpH zPV6#vjEv-lM+51Hc3@@NoBNORezQV_Lo2#S%-MsEbOf&89n$98HV5`f2)tb-_bVI* z0V^%QkxU=EiCkO@XaQPnont`MTn+ByFJHe>LV@bIh_#ut>!jS7XiU$YV|ore{#NF#n-nxoC*j88yb@!mfQ^A0*^R zSO1VR+MnGuI5zBDGB!Ah0XRH5xVOv6X8U^w@V9H?nC&HaL*OYVp9%2Kh5KFw(mdJ_HR|F$Ul6-ktQ7 z7|!j?j&$tFWjnAwjeYIhzTQ!1PtV?wu8x78P;5r($D;gzWO`(1!08zp8$~{mbPpG& zH4oj+9uqZtPDdYh5|HcB!ESx@ID7kZ{VcIS`y4RMc8v`WXGbpW?;Pwy0wcWxNWXE{ zV1KT$V_NyV^{CsXd?yFyup!1f0)}1_{OuhZr;AV{jBY0HFk{Rf3e*LXJ~Mw zceEG9WF1JlL)os8EY|$H;9D_*`hX8fRyTQ=Nmg-xr!>SRBZI?IpZ$Xa4u094!-Hc( z+%!NPUz&sG2C9G+lg&cobqYy$uB*4dqc1x&$a)*xlN;{o8-&Bg@J_8~#OT^35xY!3 z7?yXW+z)D}RU2_2w-b&9HrFG&kdcPGW<(BpN4nuvk==ZHcEjdV+Z}0t5dg3~8?xCw z9ofEK?81z8?96}D>`H46UFz&*Q%J9ZLy6SSKwkZzK6KxK5eC?Vc<$@LP8^=-%iVa6 z4t6>_bE7%*$FTtfv~x&DM?Tq`M|v;IQ8qbyMoce3Z1yGAWOv738pa)h${+1vtbWGIq7tNGbI1mJ7^;@#8Oo02hO(WP zW=DoPx^hnTf~`xnoiU~sv}CjSTRB-o$?ePyZ|-ex#o+7M*Y2RvP#al#-6&(!6#6K; z#fUR9jO{P24iI5L_vnxqVYrun`cMyM%!!B3A~QCJMu)q5dwNjc+N4OBY-QY!1pY%h zNF<5T!LdH%Ls}RDg1t?#eNK<9X$k;V$NsBR)dDXBG9j$%e zKJe}u922>)M~1Dm>Tc7xz!tBn70CH2wz-&kw$3ra(D6qGRC;s|jzMfV9Ok)!F0_RX zb;)8$K=FV+so!>IQsbN7=^P;9jO-mc*^^cAX|FVG@f_^V^+_J3$W6zF z*ZL+D^{Dw;CsiFJyzuWyIIpgcZ8iI?2MLJ^A5c-cc=6wp-Mn^W0_$4Z&)jlWmMzfI zax~7NTGKAof_nZ3bX93T@;yfVVF^de+QIHi|K1Vc_f{!>&?aNFoRHz>7S`wX+%PmQ zl+ZA0Rx7CWXw}Nx9ci3%EcfRpyPiyo+gju#-W}pCB29BFQx0{M#m8>M9P8E&<#OTD zqt$z;JKH!%BY&x8$`b>T4)ThJ)_O{74uNCYe$7pRiunhy7tzO(E|O~8c;@M6Z_BPT z&c_>RxffShc9gu*c(&s#S@8EXTY)&VqD^GtQMJe`?-A0Z$5wiWg&RA}F*X|t`^-P0 zx<#g8qBAzc8v2K%K%3xL4=CFMUvba1qx;x)1*t`p@nwrWiEy;RV?<AC?NT zG7yiUme=Yxc9?UtKKD{mRn4JLm%L!>f~KuJ2-3Gb-}+)L{9OXPxNZ?9z!u9>q#l_uyVE3ql_rLqnDQi8;#a zd&e*Vzd4I9!Qs4HZg_whIEpdFGQYA;WVOaWK;YWWc}%TXktA%{V>CO|@?*yh>%Cop z2$W-GS*+k;kqk>bV_iIEmTfWu1SP$P-}FD3+~KfFSN93nyo(BCaT^JlKi zOTiRb2Gy}x>B<|GFI!;vz3Es^w0vp)3M<|Y#aB3hjcNOjFq{4AId)<+s(_BsFqWLk zx`#~Q{yY8NT64$R8smb^-(`p7EiG`_eq=DaOHKf>nE!}&FEmk)U}KpTu2(t(YL&^} zOVvwgg+?3oXm(?iI9Q(h2i4Jkca)>2`ik*bn~`?G@fZy%Eh1_%i;X?(aX{-HV|($H z&QxrrA49Xtm%7~NUSb_BHgDLor@ehq$0)XYcCo=0V1*p#{<(>bdT1eWb92ZMV{`Mu zJm1iED?5dBsqcBZ7~7<ZJ{)&ME)LL$AobE6%-V8sorfk9;0c%EeY$KYR(mC0`;KP}j|+Z|#Y zU$$@~^ahQv?W|_B!PrnYw#i7lNS%6`q5tejM%4Mm+jcp7u|knUx0T65k*3;uR<=1* zx$W&8XPG9BW?Z(3v6T;p3f-s0mX~dUP))U^_&^W}GSFSLI+tM4J~uo(INaXJ z^jp_skFG1%PRMrb%(t6dcV3EGcCHLs7yG9EJqOs>8yOlL5U=Y&%+V#m(GGY?*i41X z)!H|b%k6IO>vghH4t|%(r;GNVR;e`f%02xKx+r@EPIfYj%r&=fM=%&<-6zt6T6_A& zMs}ghJvnT0kD=O|7lEGJ%YCCAeu|;$YL?bFwShj})7P=HSl?XA{g08ZLDbG32f1K9 zfiE`M$-l1y8z+D|QY+|atP!jREan{P2sZUeIl1%tgD5^mS)oXm2o*Lq%_8kr>5ja1;!}Kzvb*ulq<}N2d&vJ-zTD z;2~Z*`3#Q1XJK?$oK-NaIg+w_2Y2VVxqOKe?Mv)bP8M;nrOsyP?Z4@-%&Sb1-$V=6@T2*k8(G)N`{Pe@)9KtqF5Qp-% z6g~wbxM2m7LK>O5VsFE-;t}Z%d$E`AGYv&-(j@5t(%$7r3D3!LIsXA_kos7@=B)jP=P;qhcB0eB1010xs* z;i0@pvxZ``|18`&G^C@4vC(y*li*LaNBe~@Bhcis6A3X3`7K?du;rW48T$eeZ~I21 z&{2V@$}Kyv7Z={-hC_LdiWMd7*+svPUbG*)yZk}z54x3pT}QfvFPB4#c7=-lWy=Dw zzsipvYW)SM2h^3XywJDBZ_h7bNCRjmEvy{csoAmNE;Cp~X+sJ`atYDB3m!J2lvLY9 zYoUd0+`bK>HLIf>-2iH=!xz=;9m>KjrK7+7VxJ(~v098>!3?7BiuXBP+Sq+5WCyTf;oB|_bZXC_ zid)s=_J9uW37~f#GTh#m>lZ=IEQh2Q#sykF$V5RMS!IQIVNDfk(iXA|I)D4F;)*oX zqnX^%6@r+|+1;>noa`R>hs{5V_Be9pTcvxq7wa41X9)wvG@lM+sGUySpd~hS#Bhun zWX;ivl0{DG572ljqJ8m-0ytNO28*BLNSDR1RGU^cF}gUFK0APOWiYNBct6omtZ-l~ zWct2hfppDwK^==6IBIpbG`(CK5~9wg8<9mt>^^J3Eu@i7Uq?S~sP`;{KRWtuj~a3z z{vjF}@L~15Evobj)vBLXcwAX!RwT1ax_jXk3G=rdhMB3_!sbzHw>a8POY&%fQY`h& zLTYk9jSztv12|w zU>ePr%;=z<7vt6v*zXw5+LX4N1zn(dA=U8FM?sRD!@U;=1#B4#s#l2ETV%o&%n2bPWcZ?s$t5|% zu%BT>U^u{&8sZIooF+RR{ozRu6SvTe$HbJXUYyn;PNWa(JkClMnJ0M%4eOfMkdqE%^{Nxq}`a4vgAd&P7BAl4ix&`%e;6|3r46e zTKV-A7C~Y=pdrxQs9|X@E4$Tl&FflG-N$K;Sqdwtou$%vIT(Mi27-x~q=PojvLWpx zd)DkD6lsyJg;6rlGFE$3#GjFTJ$U*B3stmOhJmr!ezBOtMJlbiDKJ&rbr~2l1KFK1p7=?@sL)T9jkhe9N24!*;V`HoWi^H1HCu3Q%>Zv~}1q_bWM|TF@FAPw4KU zHDJUmw)nU1v_OnSI)yK{dN|=eLhQ4ci>QQH(CkZyuoZwT*zp!*c_C(7z6c1iO#L8p zVT^Ue>!N{_El$A_W7_=x3 zS_Vt0mP}5Ep&~@g6_%n^=0Gf<%DEB$AnuAigT39eX0Lk5J&~{znOGb}WIXC2ynP^K zcA8+s8#-oBByk8kq|YXiQZNvjxw1`;I_O(kUTP{H&N}L#xy7zr(ttqy%bpYtcotnE zkRhuIQPnt0wTIT8-?PFUlY&O2qY>RkLBAI#Wj6<>oU=RdTsF&&j3m3m+7oZCd+MbmWS_j2} zY1|tsh6ORflH5!7I`x^xu~mC~&$rqAl7#Km78-m=KO*C{4z}C%?1=o&(-c9SEM_)E zAaJ74icoe`CJA|KLVgy4h)XGLQSBnGbfap)OOJWhnj;gt5e`rppSI-#-c-*~6Z_1f zU7=Ujam4=0V&YQBsyV#U+ZQbL28lH{8|$<{_l9Vop6wQficYND;8^D=vwoxv;{i$6(o9*EawjVjj^HR2~jDF4<)Tr_oy|oSe z$#s$F%?rZDE!JeDYnZh!$Ii;_k^q%b4-VkVj;GHpToTAJf7!__)dw}?;QS<}!nnU- z^eirg@6mm6bFlyyexe;+xAIl!$aS!OqM;g~rWF;7I?h{lkYO9v3C*omgxfW?m(85e8&)vsi+v8rrvY;RJQ|f+C_H^@%Pd`*pd^G-lh|_nf(9d$xTc zkA|baHMitTM@;argR7fuVgp49mT))q8ae(B|?m?B(b?| zDh~F(f`!CrW}9_YO$gd`qDQeV0!Nqji`Pl>LiTj=N#zQGt(k2cWIQ-uFb>5|wctpW zL(G_KpV=170BtIqc8bl@Fl)|i+C7$6z9NfA<910lFcxi16!&lj%V=XYFD_V+ZFhnO z#sm?&t+t{HA~(sBrKw!K2u3cB!j;-Oq;UTQugvBxFSe8A71Hdy;|hg7SOq-X-d()Y zHR~$6Ny@HsH1Lv8mMY&hNGe6ej)R%S8Mu5zcB65#L6BjI7wIlbY+u5ed)qK;I&2+1yx4CSl`c(i; zh?^cb`8X?tVeo|RIP2;=GM@G%C#LMIogY;r9d;Z%j^Kwu`Xc@ zM=u5vbWkt4(zu{0!dAw}f+dEB+$xWiT=9vA*M#ZvN6b{SSP4NMpeTy*XT=sz84L4) z8MBLO@3VxdLzn=I_tQnV(T7uwWKX7U9~k-H!%Uh?AjW3wQK z90QRiv^5(ZEu0V;J!8@NW3s3fsnYlel0#>c;j*;*Zgqi_w5dfh6B;rRbtID%_@#h- z$Vn#>{fNp5`rHxApv!?_maJPfMGJ5`o5m6V=RrpoLu_sHdBY1%>KL zW^l!-VTsKT@~x4JCKdM2^t*Om(XFp%(L`*^A(3!>bIwt4>0oZ(&@gTk#~o%zkd5J3 zGO+1ENzuyLgrEBb3qpdPYc*y=Kzb6kHGN4L!of?=+$|gi+VUQWV-dyoQc;>0Fu&Ge znG+B{-_1*le#8@1F<-~7Z3mu7E_4^T1DVj6%oxoN;5@TJpGDG}G zM81I00fxWfn>I1$DAwU+?qNG?(G03`6xXyO{qpF&*3Xj8qGWafn@yHWLJR0c(~Z=< z{rcM4scpQI)UnUqQ``9J^i6H!!};{oHa;BtIlAmLeYfAA`-XY9Uz?jUUGerqbB~yJ z`$;+b6*>E~pO3T8nKLxL{b<~XdAHwmvmbG@&)3XUdi&|Ne>U&-n{D8TN`!O~9oM^s|W0zm{g7b>{PD z_UmZ&b7=NiKVSLV&!5@vo!RG?g_W zbDH_IjQs?e{nU&T`DfuZYc#!=>QDB2L^m6H`}rYz&#-+?T&w)-MZ?R@yS-ufo#x$M zENt%)w$F{`l3;s_@H@@By*&6C^KS19wjT$w&-2%7`u6KU_nCM5Ss?r2AN#c5`mxXS z290mO_A}SK+t2*iPx{#BzZksz;><71yZzEka-;IIUzoAqld;c#HF*04nR7QOz5QT} z{Q`y)`Dfww26X$h-`=oK`^^pee9(NA!hUk&Pv+fzt)k9+Wx{@?VzGI*U#Iw#dADDq zSZ%&6VLw1&zcgW=-!|Wpu-}xhpN_Ck`@snNv|op?PkVoVr1;Kf%oXpyJV)y*T7G+R zd+J=p+Y8%gn|FIr`-jZCy_miEJf*jHvD+)x?bBYgZlCs6b^ElpP)GA?;r3GN|I_2e z=40FiT3&mrw!P{)ntyvmu)THIJ|BLy#<$lE+Z%@Mb7NNVQGPGu9bZ0imc$C9m*6_( z?M2}w&S+71+_|MFywurLQjCAX`9pazc$stgxMFb6X{am)$4$*u#o*;mLv=BD$~iQ# z7`(zcToj&m?yWCIpK%Tqg^zRY?potS|CQjQcZZ6?tDM?9i_up*=N&2ruW`07UK?eP zuP=>v_FvRl1U|tzToits^K4Q0MCXN~@LK1EY%%_Ije#n~xyrha&LxfV)n;^W9su-k1;mI}1P8DQw@%04Ja8BYa*j^o9N8gMb$+*EbBG zp|LiEa7VxVb)28!N&fpI@HjFi=|h;J>o`_bPu&KOv_1-xh&40`5AKoc%X<3TMyoZ!_?r2>eU~-xq=J zFz{Uw_+A4)F9LsufiH=`?=kRg5%^aPye$HM-oTq8@Jxx8Yexh=&%ifD;AaBP_I=_? zt+!pK9tI42+f@qJzm9XGfw#R@Ay*js&lq^+euY~;PZ{|25kB~wqoljv&|5xD27bu! z-)8u4GjPZ7vG6?x{=^lU?s`Liy@5BFa&0#7j~e)pfp0hPFB|yb1Ip)71OKIgKVi~+ zuYpf4)%-WSLFu11@Y4+Z-m4XE`CMk;`(LMU%jaVT-u8NhTRuNAaOaH*zsu2oRS8Y^ z-UxiHfj61_zu(aBH1Pe`D4z!m{A~ul<64D()WAOhIOWokdpZST$Hh+#+%fQ3hQ1Ep zd?5X-2>m<*Z;HUz0A5Tkbpp#51ise54@UT0Y~Y(B^miKgjtKo>z>Brl-wges`?P*AOyu8j<(i*E zhCeD-{!KOTgOPMkH}L%i-k{{pWq=n;_uYoR>ErqB@`Qmq2Hs@&l;GQp#rRACobA5t z`8J_MapYg4f$xaG+YEdt0zccp_Zv7YB>A_`zz-Vucmsczfj?p3$hQ3Z1mH4`K9OIp zXAOM6Dc6S$eSL-I|N7sy38dM;*8xtwc6~(7zZ&pj^|0UY*;chiIG~%!zk7vGy>q?E zk8R&a4E+v64>2YGo-^>F2)sV6`P^^djfQ>=;4JSU!~Y44PyRd4(BEt5U!`E@3IngK z)_i6S{1yWrGVqHG{653K&G5JS;(Lbv2}5u5{}%&49D$#R&tkKmybytJFmR_v^Mm5c zzl#mL(!g!My3)WK41A`czrnz_8Mw{Q`wV0KWN~WmndQ?KG|KY z-8Ta+<(jSepJDjC*T5U*C>(6%U#zk?pK`#-r)izi>tDyIH}L%ieyZVfvVlKg;8vcm zFz_AgmBXEeexrd`wktem;M*;K10OT+T^4?t(yuZDZwzquw_6^}A78IE@arS+HyJ*M zI+V|l;r|Z6i`D0Q44=csp2w^F`v?N8A7@INyj%E}g?^ILX693~l-&7Oz>D$!wa{ap z_1^saS66Adh78>DUt-{G25$LZZr}|DZuRUV23{HAQ-Ti0dOLhj)3to?MQRb|9%6%Hv<2Yf$xu`+j*Sw8H&(L)@!XyDr- z@W%|iA(Czj8i@7aMCjjP;7yTqpEd9oZr6IV^>Yd)z~pntz-@o{pn+d+;E1mOpb$yF zBSOE!z?&lUhYZ|_(AOgCL^??0zbQ9kz?xXsVK2EIQ+|1$&M7NMVdyz*&?(C;vCCqjQG;FKpPoX{rq`&3M; z`F2CU!?fcq3U;10^nW~2>6aS#lZL*{(A)N{IYId^n5y&^z725N6%Aea_3#!0KOBL7 z$P$7lr4SYug-ZaPLKLX!p;D;md`wYCH zFQ5Of417lf-aOavkH9Z6@WT=KXAHan4(Q?f`LluVh`^_wZ1_juYXLu+y;1oggJ7Z;QY`WZ-QEZu9vq13zf&CD)WUK40_mVFS1HGYtIR2>q!B z-V{l<-@qFp@V6VdW8k(vKX2eKd{FD(*3T~t{8IbQF*vAj783J_roC zon(@**)y5U5N0ORPBO!)oler3G?R2U-JMxbG;TZufyl0+FNh!_U|gP}@HEOIxIjb& z6olXgDqvim+k1b1|8wemPxrlb@9iWQ`lDp}+vlFDI(6#QsZ*!w{vGoCpyD_A@yCJp zdfR9@E>A)u~d^>Q5&O`D?`~Bm}-@+%AzlHxs`CIrN&5+MFKmU5* z2@Bs0eAL1(06uBqA6Nd{{rq*_Nm#hfJEInU5Ag|`cOEhP4{`=?6aG4Wp8?)u;WNOK zz;%4>)xvThKi|UDZjWOAvhDW8)_kXSd(5I=X86}RGv}``{iyM=)hM^#D)$QDORf5U z9e5q^C5D^h{1muj(eFkMJh$ubpY_Yf1wLcpZwLOog-mR=+-{fX`U?)xe*(@UH@&w(#Epf5O5Kd8^cC z61a}LRlvuA$1olTfsb1BW55%@6QI8fc+8@I5qKSN9bZS&gFLQhU}v;GeZZf$?2^U- z-qtB4egfrc9AFakI=_6H$k-2g3G_6~&F2Qfx!iHkYki(1oav9=K>whR;s=tsGwZ<} ze*3R+fbpGv{4Axn@GF7GF7VSo47|s}7q66Z$1VI6;L{eK0Ump&pZ{gRdo275z{f58 z3EeAQT`YD`9H7xE&PqEARh}q1^Bdu4*-w7 z+t2?p;5`=pP33Rlzft}czGpk+^BzC{R^UArJ^*~&!mk28ZQdd0FS-b&wmVfkA;6-`CIs}l)r`Vw+8ZgpPzpl@E!{v0X}Zw9|b;b;dd+l z_xt((R{2}_ai>8(7JeS^X$!v|crW5&SC1x~?dSEDpLP!LF$=!}_{A3f0O4$JKhy2E zx35_%^69zQU(Zv4$3Eo8i%M_dw-8>--+umc!e_Cu_Kx#)!-wMhz?TAl2KcCj@3Kzh zP_XzM2Yk@N-wwRT!ru@4Obh=U@T7&m2>dh)-+#T-Ct=}9;4K#ZA>c9KI{!`pcYwzr zhaUrUd~?E-sC-^D^t7(G`uC^}q9>!5 z`1PR|_@sq@0=RRjpZ-zc2@C(L^0)9ql2Y!Zg>MG#eAv(b3g8I~{~GX73;$o`Z{df( zP0DpH^YiZjp0Mx>fR9@Er-4se_;-~5<$nHZ9}*V+0?~(!FO73ve7o?`@uhLjQ47~N zX90K}^iAWOJr=HU&ZLEFoHJqJ8t1IHaE)^=1+MjUHi|ySEc{5|ODtU1*E64!_AWyG zH7@#h;L2au*ADn7{kh;@XYn5ezSzR=Ae_g`V`urt%e0}VeXA?{{kUhB=+Cr;yTD^( ze)>V+Jr=HUo^cD;IM1|&Yn&(c5kG&8^YmD_#(BmqT;n{`7Orug*p+_%8t3V;@XM%O zVS4*1(_YH|vE=+s!dcFn&i2ds_mGcsmA~A@-QoNXC!FWai93W|?dN*nV-~(0_{G3g ze{KZc1AHm;?J3|1;4$E@-6ZAKS^Sp+cYy1-8v#B8IVgTR@M#Nw4){25k&@%YHjCWW zy+aV?a~|PlJ!Q%5Cg9^&`{ntx(p&g`X9%CzHGcYT;5`=pUf|;vekbs03;(V1zt+!x zpEIT09t%GO__&4h_zu&zEr$LLPO^C=dP@F`7(AGV&%cK8c`wn^;gP`ki>nQv;5mp- z82Wt!=PB+4ZlAySmf>?i;C#g6guj7{wm!czIOXjl&uTaPzW-TFPv=dB5(ZfYd;{?M zmjqY(4-kGRt-?nUZ(IWU8$my{CoP=mqjk6kca&2% zpLT;&e(WcOUdP=#2;ZCb7yfSL8J0mmnUMM%3}&sZ(%$cP2%p1%Ukv)&;(}*@-$D3c zB%kp*;X`hZ`TT(CccFZ~QZMw^9?w(EGp z_a?if=UFN^%_GcTk9!>oJ}bay?7PDM2;eE;v8M!oE%1w#{&*?(NZ@x8&i(uRI|Y9| z@EcqySC2tbILmw{!6&&TVZQGou=5+>g$D)K`X79*v^Q~^;Cq06$;pDp)(Nit(n$11 z-##eyNrJxrM4_KNUFZ)1z8?I0P8IsSfnQEI%T13_Quxb!Zf1Jw#~$?KIPfokPZIJ} z{eK$xs;V7GlHvpwrjcX6#N476s_-oPfrQ1cH?p2v0=eqy+|I|EhY6Y zd|B|zfj0r~L4O@9s^b0{ZtD9A7+t_TD7)x1N(QD5;cN84GbXST zKUm7uA6h3i_uMxAb{Y8gjlPVJMZ)QNZi25uCyl=FEi9C+-Hg6{%+=49bN1$%fn@GlZQw|C-NlneY3@Ts@vks07)KNJ2pg8q&Dkk3Pc zs~k=T-eZm5L8ZT6=+%y058U~x;GY5i9|NCxTJWy|{}~B{5mIe)0z2f2cC!ve;vPH13tDz=ye|X znc}wyuKn^)!j1miC-?z|yW{LXAoU;JA^2gy4+UQTl;FDoKgrU9wB2mOP}{~N;Ror~m$e*z!u{hq*Af_}O|@Hp@f0-yRt!XT=LA19paS$IbGx3{>TlPP_c%_B^w2(so*;#1{T#Q}BkfcW+r92L zNx5yP=eb1Bc;Q*W4+8!!!dY(4<$|jn`v~xvd;Rzw;4@*3-)DeNTlVL7io^cYq1;`E zxc=4q1a<{pc&pS$uL*e{@O_A$#b0{TxA z&T^=KmGF5U_%n)MAbc(We!wv3VSn}lo+O;>le|gzXuGmX4>`OR^q&GAyF~b_{x8Z2 z|H)qoo(KI1#;;yaL*WSXX(4(e2lyvi?pffIu>9n2(FDZu(Q9Nb1)n}G7y6*}xmt1f zZ;Jny@`u0L3_cG5AA2ETkUfF_5_mn<#is*5h8oE7?}>@r9tD05aOa_fL3F%)5ctdu zf*-O-9{4Kbye?iXd=3YGFX1eo@%IR>@_8Ki)R5pygpG4V0rLE~;A#(lMe#JQ=Mm>f zx$g)4TZx|W(Un3^!`6Jx0p4@4;J*d_VZ}2EgWR-8e)u}@1mt!&=zmYRS&v(O?2_}P z+{9kOe=+Ef0$#W+VUWFmzZH1T7Qxl7z5}?kT=;wg^p`3Bexct7^<0PXsMq*>2=sRw zdVKNx`6>8}qTlIp^Xa4k$a2%`h(>_#Qxy3-@0a={fgeja)6by2^}x>rUU)uX5Vafc z171HV_(iDyMluMj|MvRm>nOM96H;!>aC4l8l|SNFI)49;and*EG(Y_wFdyk2nC{~rRM_=xaP`TSA&U|eWlynz&t^=bn4R{M7~;XI!%wfwz) z(8ul+{#T#(3~U7l|AG4#vxVAUPj+{fC9mdx3w2aIWX{y@Kxnd=h@weQO0j7Wfm&$Ljb0 z2RsJ;IvyKoz;b(s8iY?DesH&oo==seAFl`h4&dWhZ<4so=k35phlPF<@UIZg{A1|% zHv)eWc;b%N(1?+UK{(hR&{wYL*^0)Cg)^UYK- z?svWROv@cqdiVo6U%VT*Uaxi{+I1H_$b9s=LDloyh@RV9!1_!3@ow-*!mrkL4ID3g z^cp{v+moP=eNNiD73E&KPULgJX2D~?XF#8T-P8K-Nsb)XbJFq;>w(u@E__Z|B#h1g z?pSi@qXEnM*3&KYIv%eidd8DG1V2pJIM)M@%?Pgbxdr$X>Z#-9Dd1y>tEhb5_)g(J z_6On94*qWiURN*U;^V+?Bb?i7uY>*x`Xub3j`w}v#rz#-bcyf>8)qqS{jPscGC0|d z9-)5^ei$a4`#p(u*}lL(2zm#4dnE8X4v>24^_u4b|1{InJUa&azY6#S_>83z22mUM zh~nrk9jE^woaNAC_4^wx6nReV6h7KtM*$y$e6(NI1D}DNIT-ahkMO;BInY_$+Y3bg zYzO_s)55<2zkU{Yy(|5-4EV*JQct}W@DSkfcS}8|PZ0Y3fo~<;$a#z48V~$$&^td! z7|J!E{}2Js$wxbEV)*9Qiy4 zyny-QDByd%SNiwXL4W@?u9Nz=!0u_kWQd;S@4!B2xud`n7#CX4Yk^M#SNaDDXT5ST zPpO_iulyfPm>T9$Pv?D7?&x)b*8^VyeC*^E2H6|<-q3Ts9#i$_s#f9ihSP=5p`hOk zK6T#_oXn&7ypM49(a8d z3@P)s<9>I5e!{Zb4-?MxdTr^2;PoQPO`It8-xc*a?E@@_;AenvqYv=AIzaLzLr?zm zBMF00x0=tBgmbyc?_b_oB&@M9O@tPe@c zZ{G^~#1^5~etg$HQm$T;y$W&|2mSOjLVqLpe^dGVRq)$E?_4DE8ApBsO=sqF2;n>) z?YO~8!dX7{e!&5xkW9a7t?*a9`ud52JHU?w|8u}U20#4Oz~2r2dcE|`z<)%z>BkSP zFh~#Z7s021`G`io`RxB6Qf};HD9C;cDolX8y% zpMLO}DGPtqy$cEFdiG#^X??CU_(9Ia=-)HJXTMXWo)4@SKI#uY1pbq#zw&=c%SGIV zET;MFezBBWk9D-#XXls9KX?!7fuCYL_&F4OCJ=X0J|__#Mt|SQQvci5B@DBpz;dIZ zCq4O#;C}N*(I1~ zW8m{%@SlJmqW0u|!rA^jVa-QR5zga1abLo4Q2X#V@NqsTxa!9Lpxk>2 z2xqyCT6+F7;00?Oy$Jpjuvb3=pEK8seDu0)wHt5#u(a3tO2Sb7ALv(Ly#ERPsPu0K z{V42GGw63Hj`@8l@N0ngyqGY^;lQ6lee^o-%Yc8$(Bq5e&x3@s9FjXkZfdW71^#tc zCJc24o>{z6+N;-T9|Qc=R1lAgvEzl0+WF%MH~fbLS9>x@1D5qlukF`y^lqYOeW1Tvp9$xF zwD;W>k4d?9p2k+H2Gi?x_bRtHgMJL-Yd7#;PdJx*rnR5=DbP=Uni$fDy4!rd1l+d6 zzX3j(O&Gdw2)VP*M}+_6n6yjf@D||p7#FIys|h!H{u|*#Zom1Q3;G_&CkA{3^!9%J zCqX}I+3mYQKl!bM;c(R=Ve}H=JT4}8h#lJ%{P(<4Q>ZxxGE`ue4vj1bplkDOc^!kATN^2(EfdZ+tZUuGi-4cz^9xkU!!r zN!0%!;E5ZgUo<|@0DSyE1+N2rC*fSrDamtzC{Xy!f^U>5;&bIjN`eITQFa z@V9`^MTGOXp14=|s~+A+IJfIA%dfbB3@rCoW2exo9k`3=wQgW-{yd6u$KY3Meg16d zso%$h&ni50$hE?M8g}?t;3pE!@|m&X^JjuS@e$!O2>KH6(Q(0d2Yv-`=Z}KF3iubm zfAo6D4gGuGaUvf(kLcUrGd3-J8o=k*z>`yguK~W~I%(JB?Sg*>cn9I!uF>~PxjK$g zpzlcw{q3N?!qC&c0Q7As@H;?n@3Z^~c;RW`qvL(?_0qpfEWLdb;j9n(8l$z~Um~3Q zJ$bG0QF&gf__KoV5Be_wAKE1N=YT&9eC%_AtIqrq_|%^S{}0grnQ)d*;wq8P#lUy{ zsNjD`KBU^2i3q>q&&#A;`udz>!RIXE!|h5OD*T^7zh46W&ld!zYM9SwKtBV&PRGml zK)(d@T>|vZ$I$QJ5=7^P27@b6_3s+cCmt61IDR@0xb2tTO1K#pmOnfRdRyQA2z=rh z;ZI^QpX*MMdcI@5;D-W#?Z+XX7X?>4a}02MJ^uG*k+YqDem3Z*W`vLS`#T9Y`hS7Q zS@Dm6z6W;x)u_)QCkTIi?UCA_+qFKHo_`y7{o_)u`gM;1ulv5>>X+_*1N05^>3%5p z2*S-g1;0_}uNK02yy$C*v_5^{le$9MwI}$L!DswRDOd3^;60xbe2+!)z-NJv-X^&E z4?hB)fFDK8F`r)ppN4)e2EO|zr2b>@OLd+-j&PQLU0&+B1oY3;3w`6s34=U>g45uW z0DtOk^Eu`oq1X4h==?GQ`e{pUS1A6Ogn2$KY@E-dK9kUgI>_OE!dcFRI;rQ8pnu8m z!57b;T|O!HtpNL`{Z&Ue_oJQny9{^&>lC%;N4{0c)z?a0h%#1#-j1WDOu6KTBQ6mG z{e_?(yCz|fLxCT7yzswvrQqGbKL+~Pj|4vu_{_mVudiXd8Ti*hKm8@49|Qgu;C0ad zHv`{sknpkNb&LN~YpFh@{E43Zhcm7D+_3&rFXYNlJN|nRn8)ZEH zf0qco+J^%OXT5c97J6;hF~G<65qhTf= z2))+x7r>L&`fkamxIV$paRw*(j|=}eND_NXzua}0;GY5BzfszyuN^xA_$u(3gdSc1 z{IkH5Gs0&V;NLJfzIgup81#uJg`TDl^ZBFVR=eJK6XbTjUk)w6>yU4(@>x$f_sjIS z@YjABBAoTm&TqLK^z~N@z4|ksS3byFTO-wU9tA#%b6)!`k{_0QTKFg6C+`CK<%Dy6 zMz0k9`vTugIO~H0KT7p#3+Sh|3;in4Uqv{N-;3e@?+W~Dgd4rG;vvrv&h541X?0|v zm_C7Zipp&%;YMz)BIo14|03YYHwpfFH0%e!?R_S*R;-vVyW7t`QhkMT7IK8MgiU^&=! z{uJQj-$@usop&}9&h;59OFgxJbD*!gROtT;{I39got3Be8PF$xAoOcM{~P7=g5auG z|0LYR+rQXrDAlhx;8v;s*e`@$$NNVxPwDGJ&oxgu&Phy9>-5PrQhzcF=JPhg2VXpY z`UyAfwbp$*Q0~M}5{6o8%Rb9^@N+Tj-koP9%#TY!vck}lpYwCUPX+!y;M4yp_%QI#5YF-$ zx8gsON`Jr5zY6p(5zcy>gde5-yZAP#zrBBPG;n*KJqdWv_k{m$;J=A*&P%b+E2RnN za`kn)+Fy5p&-jbNX8?SjAe`GZiFi>A_@6;vXW9QZ&;rxMf1p=thmR(l_4YJNZ`%oH z{u4RTL-l)0%!leZaf8%{y48F>4E_%Cy|uqSPB^#g(Zhv)E$DxweBgI&0REcWh5zI& zLci}K`C*yjcM7idc@yyIn*`T-4g#-xO7O+P#<@u8(J#jWzlm_JrycLQ^mxIqZ4*9P z&u@Xx{oE@7TJ4A15x=--EO z3$PC=pN|1gU|r*a&m)Ep+1thy2FU~eU*O4iB@D6??LGcZk&m6f)J8b#$;`7tzd!gC zf!AX{Md!_HfKMTA-wFD!63%jqT`Bd^`SH7ko`?<<{vdar0-xCD1%DC)JN|j8=Mira zT=no&*rkKl3$FI+5~An%{Z=c!_i5mc<+tBMIM=fWac>=8KP8;yP>=ZShf&c#5N_Zs$qwu>_J}&Ust|Eu$!KchP%@iXz209^XJ-=g#Y;3gh7wMZyzOk zuD|m>;gbY@hv7r}!j?VxKH+RP>aG3d7nOdC@K?Kc;1@)mi!HgigmbwGj0;-kn9o|m zS#G1tq&_sgn$Jgp*S(Z5-{`$Jy4ES6R`k5a{eRO_&0`!G@1>Xbo{{wnEF1qAPQf}Rcg!_bFO=tB(n4d8Fby}t_nlh+6zwW~icI3D)= z`4#93kS7&qK1Y68>SM3RQ-qswv_ty61@!M!`o|Imc@6Npfsg-DaMkCZ0#9Oo*$edF z+gs#j&qps2y_p9sefS@8j9Je5nrp59e&j&1p7a!@+#L8PfZOr3Zo&_x@ly9unc3A2 z7Y#ig_WZfp(39PRJ=qt(-46bVLc$>XLqUHB{!79COwhmiE08nBi^fS-0q@yM31L+kn5PTjZm!i9QDS1;oeL6Kj2aDfl}-6h1pZ|6SlScM1M8 zwCiucdu|o{{h+`7I4M_OzpZwA|F23tCvOsZmGjZSdu|c@Xz*DLe0;m$hXKEgaJK(F zmc9Ba;l^HJovZvG1)l`wwF+YG|9?SW_ZPv>2VQrV@E;tMevw}tr=RdQ z5KZDhMdX1UpdY$Sxt_5jg%KePcrycnu3FrDhF)aGI1o)?c7qE|`a{Kr)spl7037>~S{}s@WBCm1~_~XEP zwhR9l@c$*8>ofY#gh4*FNPhV2nOy&aoaeu%5)k~P{}%fCON3ta_VdR}eSXs>_);Nv zt|5AE*NkO1ZU>*4J*7Uog8pIPg-3ru> z?cXnh&%{@S&%eND2J}roAe{SU8unku(LJEI&-4BkxPy2O4L9={{kF(0_L%TL8~9fg z9~Atvz@IiazIgu35YGBGGcEMH;J3HjEBx*A!o7quy`2}d6ZAdf!bfFw5GfwhKX#Ph zs?XPee&&yY?}Kvx8@K~K{0#7a7#v?bfA+jj>S_DKhZD~B`9aG*w-9c|g=OD9V(95T z*YH0Vp^Ptre;w+n<8%hNeXrfF_e*`Io=O-F+P_PH7akY90sPkz&h;4`T49h*;GY0} z68j5_fj%g6o1tN!e`Rj7e1J99**$&&`cT$S@-4?=%nKUL3L2xmDb(B7j^_Av0#Ey72~*CmR> z{*W0opHC6a<0W>#&>sN&8-^ZVJbxYq{pfvu`saa9-YdB3?d}h8J%gWP4NiIjJ2L>1 zt-!}Hu3r!QLc+NpClEK#dFOiIG5EtvL4Ozc)Lok}NDJ^O;7N=x)x)QizCrZiwV<#6 zuE@FWPr^t2_D#UYej|7*=(hr&x<+s<_x->NcL;tn=x;SRzIgsT7=b?tKCw>YC_dt*M$tK`$d6VF_KX5A1^ZH`k%BQ{Vbdk>ox`qGY z;Bytxvwqrn$PX$GyPeBh~1^iE1?rjN!s7=`CVJX*nLh$E6 zp9MaJ@%1a<*AUM2an6%+HP7uqLk}X)A0DjaMhe>>=tBU0{xDEBJh6I%q& z1OGa3`~I;X0iVV?OZ)49MX@QIT}ZkGao{ZB*=h2sU+I-G295PAM=1Rgsm;XxgzM7Ze}?8Bab zUvB~bx*nlF8~Cq*_q;{QJqmJo^sS^aR1O4fQGygi+bH&dAeasrC1>p6-)oy$c z_~^q@pE&s60{+eiq}(L%uYunAu+Zy#_Xp)OCip7QzwvRlGY2|T)_UrM)1_VZ{U^s0 zJ&&WYCxwstZ)X$E`Z;~4;3tCrRf<0(_jXa>^f#kEqrVV*FW}z+9<%(SKWMqgm!RsI&+C3B{3noqNa|!h z=b_wwlzS-fi$FgHJD}tGGr$w4NV^VRBoDj*eDwK*0knUYJ}Kqec^!>zxSpIw^eneq zw+a6i)Mp5M>PCcr1Mpix?_4DGI_|!s_<#8Ep8`)H4nGM#FMxl~pM}55|G=lDo}*U? zegNoCC7ktV;wr%p1U_|~&@WjjxbjI6J&)_ttbLa4;BV)rT~0X5!NK_{;YMknrd$-} z`Saffr~O>)XX!Y77JMeQiyYMM{R{Nd9}~`h2Ct)kF6~MpuBi0=z-OQjI*#50+<8&> z=y>@U@Wg|H9|`^+*jwb&bGYE=1OJNB!++3m^h?5d+&LJJD*xS{hI}wzXuqFDIQPpW z^lC&10RLlE=0K}0-yec&_9fJF?@goLv`Ph0cUFAY7dL#_SU1E$0Cf0_vA{oI__o_X72KW@#J2V{3=da*j=o9|C0Dtu_QBTXB97Q=b~SWJSV_k^<*jVsXq$6_U|`Om2&@YgW%dP9iX@SB}X{h zv3l&IsU7<^4FuNPbsfT|4fVN1`8+20Il#XNydL|E+83A7KUjb4ecrXe?>j>HsGJ`r zK1^@ld%Qd7?e~McK=e0q{Y#=hTK_lyM)*wHdP}&mOV>!byQ2OX;12w{{egdJozQ=5 zv(O(3{BqDwC#2jpz`sB^>(%p?eSQe^_I-v=1F!p+@Yns;J)e_uC$YY32mfBe&AfAk zzr8yNXSuz8mGD^$`YXX_`bUEASR_Au+u$Jb{CO7iZoqY3?p_vN?gr2& z?w4}a&I|#M9WM1>`D!WrV}x_Noa+QvJ9Zc7CsM+v3w8Y+<7EHqP8a%}DBxd&v;1c) z`S15zss9Ax|8E4J0m8Z5N!UrMf%$9)?u-fli-GUiDtzw5xX|%+G5C+dZ)pbo8nTDn zFUPG;7~~zmZzB2_{_XwqMer%WKT$dS3b-BLbABiM?R<|VgtML(#uA48VidB;;B?>P zL4pHzo}&tLJO8ya?;(Ha zGr6hea{%xd<~1GH&4inF-Ig$PdkMLdR6bZQ9}WDSpr2eW<+{MXN;tRIe&5#PptsNK z{hn~1cP4Qk&Qd7KA2vyS_IP{3a84|e0{*IeaK7e#lzYYtLSNULFvt|}4D8Hi*qOtD zkAXf0JEQIWCh+OrgrQ8K+!+!S%jc;#39fegw?xnKAGOwNySxZFJSp^B3^&I)ig4yL z0eik1@Y8@#AJHhfw;PwA0_?^J-BAn}K#~*h8gUBs* zgV0|D`agUkyq<>>J@?Br;_51gHo}?z&|$)7E%>CtzaI0x_R9$9?e{T#AN2P7N`4Kz z?snmS2lyX2BlRD}KJ~89t8;bqans@JGO>2lH1M_)CPdeC%^Hx6uT_eB85z&k>+s{70d;&+8pUILp5W_Fw(3 zb%Zk?I}Vu!9=lQazZLRv`ikXJd1PQM!SurBr%khtroIE(~SLnf_(XO)X8~M5%#nE}Kdhi|L)I zOs-tq=?oOp!oddo;?8xM^wu-d z#auSGB{?**C7WB8cT#7sa~pE`;xJW_{y&uO8&0n6%No29crjysNN%hCd$aXrFL|8Ih7WVhttTf4O*89hg@bm8kftL2aEab!-h+<&4uZ_ z6b)L%5KjG>-jOYp#>AV#cp2GCS)srCdAO}1Jj~OsD`HIz6v{;-);Q!@L0Vagm2Ymd zug3aVyuk;X;w#U@>nlG(;t`LDMpb@ntvps0v&DINg~Z#J)smYkzk7P1@^gdh`&o)d zH&uw@?r>%}HALE(@=}ZNTSI^Ib#=TsoW|cpQB>8AZfFYUjHr#+$>q275Rj+CE=rui1Qd ze0g6nT^dZ~b17rX)8#DvGdD8an<<{x?lziVSFrhKvrT4d{!grP8)d3nMHatLxKyx> znL@rulcN)yo4T?*9d?zAG%cA4snd;nv1a#OTPgS(&mJ=QQ zubqgx+?0^HA?5LuxH_F38YyNl|20YBtBd*J4aLrMu0P_b^=1~WNJ(eUzQIi2)=d9; zBUrKdt$icKBF)>Kne7#Fsxfth+uENQNRJHpe%jXFY93bE&xL4RywOt#I|^1w@kUQc zzTfTQ=1fVGH_DX8+9k$OqV;Q_yt&blv^wMUog+g-n{r!o`R%z%aqe;yR6*M9GG6AB zLG@&H@p((lg?u(gs@$FK9m;g%`ZGItR&Oq4%0uM;NiTQ0ja={Qvn|x8mF_k)94}#%#CxQ3cD>^GUYbWMa8HFE#j+^S7|CRzej=<*;J+? zsRo0YA@ciH<+%o3nes@%hpf!^@ALuPnRKzAy0rps9La6SW%%ii94ehG=KC_GQV2;` z#`u^SrC>+41!~d8wr+iRHrY}2??b}Gg$`>=Ij|>-9(yAm=>|kR$Os2Kz#%wS%%YG}?St z=ZjnYj~Zvaq1h%pBb_ZLv;BVBY%-e-RBc^8x8?NVf}he8$AsT2FTmDI`xb*|iWQ|e3wzu@B%NhPPP=VDO3Ynb6%a+CJB&pPFG;Krq zQf4-yp^?&{MblBDnaIMD-Nt8IKT^)@Xd_pkO!f9a>+*eDeZZz1P3V4T6^Xu>=YhYj zv2jgbpWP-J8ZrP^SOYBSRc`viRALwLg;bIBJVb|O+T_KjdIrW?b;jetU)GTcb?d2n zbID9Go9}N=hEa9q`!j9>JInIGP?{X`+B8-MklqUFTaf%z<*NPi&GA>SR$8fS+-P6lXqj7QSgA)`vqqp$HSKfw^JG!)_)ob9z)J>npX0Cg#v{I z7_48$fRkFYZo|qI>r$!GNN=hmwY;gRp(#~QYkdCA5T=AMT~76py&4%xlLuCj1P@Uk zQ}(wSSvK97;&3*{u1Z_HovZ{3rQd0?Hi3lNRE^8K+bLwSX5)rU$&|(@))ez2g%#bY zHq^w^Crvc7juiYQ&6h_@8FS6Q$Hs2(e5^)h&vlfMFu^Wr15V8b(q(mU8k8X6*{_h{Ih8%!NuDznGouWxg6t&;hfRD>{T zGN-YV8yQIVm1*Tr3>9ljd_mdIBK%jPH0`1V|P3)~S=-Ch50^#{!|L!tfL+_W%! zXX)StEk=8GA()1D=>iEmsxKS<9hnz1+p;{rhIePng0Y^hM;ExHN~bOi-|&82IKjX2 zU2D&<%?nrgRo3L&yf8B7N!4ggpy~_F->&}xjn_cE7mBZ4--R@~fl4nZbGzmX>vaU` zzQF9Q+Ap9h5UK00NEuc;=IlG#@}2vGR*7@+b0cLk&!_!mH@dX&;}}q%*&fcOhq4z) z%%8&Bv@1(NfRR442T)I;n~I0+Uo&QQP?*z%18OYKq86HSd>AWHYqdJhhtGaF%}p(% zCF{!;^2>R;y81IuzZ|`q=Yv*>ukbK4m3u|Xu-dV}s|U}_Zkn*r?CsjWLUWDOeL2}vVP@i9b7QHB662ylukuwcP_MR?}i1? z7P=b(jaZ;T71aj|X=nm* zguv(LEZU{d@9AhE&AAnU3e0ok#deG4y<1_;3-f*c->pCOq9hnp_5h5@oo_X){U^g? z)}1ax6}n$$HW|YA-0c0fM#|3Wck5SYhcc(pvTZ11uS|mk{#9USfS|FoGuKy7&;4Q)!Hn+tJc zWVZ#_Qa*f%QlGpPSSxL|NgE4!QY%iKm%VK59M>jnDrL81^X;8osg^d{C+to4ZS7dS zZCiW0Pq6W3j;};)>e=F}NoPCy7sr0qmna{Q53p-8X9Ce)6w6(X}0-nn=b`OeDSqjl-wJ?;Zv5%A}tkSmL zg;z5`WfZ_4PSX?&&Xky=TFQiFOksEl)iq1_aPrjF@R~#0qv*1_+*fe2I*4|Kt>v5BR2B|@5 z%}O;WgOgniVtW#;K^iVMj~h2DLC{69$GL}_-{3Xr@uG{yce0%A-1cEUj#KeE`iGL+x+o900(80! znky;!m(|sc@zAWFWu$RV@~ZaLD>kj`W*?-xV}1Judeys!tEp;hrD~)aNqc78*ttBj zjWT*mE=?-*_iZDYkxYA*&NMK&Cas;hLvMihU@`oG6*a%@p(I zkwYWbcPPzi&YbXBv$~C(K3bDv`G`s6tx4my3K2<^64Y{YDAy%ZNrywrsWK%%=SRxz z=he~@mkte>TyyUe-Vq~f+X*!^7-D{Rd@R+9lki1D%Y2`W(z4g0+b$ZKd)9N zdI^VWQ<@ar-ks#xwkHRJizIK03@PoM^1?CMH(X0zBreMQrIRAHo8G{EKu&mem@@H%I_QQuQsTLrnE{9H+NJp0O9HTxX@|m*A|lNA~Spr zTGb*owcBHxl(<_lDgBhp)|Z(>zcvlF4t-Unx*2)$^c#*-6Vyx3S`2(3lwMb(?dgbRjDmB;hTJn)n~{ ztXAjtxVor*HghgrA4f3GQVNg6LR($+3!@*567^i34e#K{Cu`|b=#Dn)|^(uo(P$*qse@;e;Aotk9t}TMJR2QrxHqRg7+alP$+SPa}`D#bl1YD zTsOi43?(KZkPB#gmf@rxzqaD8&Pu6%Z75-=Qyoqj=BS5K)>;FEJ`lOY2&JyMgb91X zUKoYZ_?K6P!nQ1Qb3yoWEsWnh*N4$8yvy0B1#0-yQH$YFYCeY?vdj*r4PU;8(}sry z!e~QhqN?$ah*gAf;`wUc@e#wwa&qk|SwCCTl`k5^>?B;|*;!ecE@g~wWyO`Sk=bOC z690|Vj;aiNyH<#STF;1<(t2G&AXZR8blSBGa+h=W+bagYkLGdp;`LUc;x9I!$cnF6 z_15N9ZuPNwHnFM;ffj~{vKl4}?UImi8ZkL9Iq3DBrW~fQXyUL8}u(G zLnz(GUYZ`ZrYaA39Qd=tB7TjO%x#5;cTBg?v0K`o7bW$2&RJ_8 zHKe4bzCk)mOiQ}@;7ZBwK8CfXeJ-oa@CWT~Fsfu#p89jvwI;Q3F05+#^3~d=d>s9l&f&Z8fUYT;Z8jSy_)qqRCR@*$6g zMAG<`tx7hRQ4q?1E)P9}pp;46XoUK6=2ixvM(fO@d6jh{gjCvqwccUn6 zfrrQq>Tf06*b_S@KF=;wWbTTGX4dV}>e%+CM>LkQ7gz~2#_TO0=%+i|$O_v|k%U+gjuwZtd_Cm-(cIUROAkfG zxWZ}Cy3ijzUXtgk3SR{(nMmErQR{bbqaaO(8EbuOi*DEth8TEK8ySl?BrD;Boxp7$`$qDg!l}J-cnf7=F^1N$e z%B(%)qG}%58`Xgm^=PmP)~JknFtXXRml-PP*&nOfy|X_ay2~HcI**dh&Up^vcf-b} zXT((t38f6JdpM=c>#H}eSl^y%?_5Q93(G~r`tLQJn^NtkrG((LRU4huspE7prQ*xt%jjC-vpd(u>)Z0f zG#vZaWpkMo#Vxc?$7u*0ElJYqA-yHjNtY6{A3}Q!O{Z_7i-#*dTY;n=He=eV*oqcoaHXvHR9180=qMr(0LdM&7M!1GQwS)GEMd@bA zAzbB3gQM=S^9~QbV~Q>Y&6tAhUW{`jS1z(Mhk&J@AkC1Aw%8n*{1_rBmHR2JAkg;k zI~}!I-kZhTX4>g5WmXIgRg{nNUXtc|>dv^QbV%N8%u83ci2%C0T$eBV#D$-sO>`+y zfjoq&3J_JC?{kDA@+F?W`!mBY2{XK1xw+Ixpm81YI?nFi?6!1C*1-8AXV^@rBD1k znjDWC!9WbA``hUX!G0dchD?;fl(C#g>1ynUa(QC$&ZZ7n-bLm@?#z@6N`ro;%n!~JuvJ%VnRzh=XQ1un>)79 zMdF$MO=S|HTnnNj*;7B?CGHK4obR(CCl>*B(S6ROu&d0y>l^4+xuHB=@{IA?S}|PQ zLo#Tz_5u4HmmCJB>>43k*F{&)XNu-n2&qZys{9D0mzBI7NJH3vOCVh&-``Ku5E-lG z=B~>PdWS1na~joh+i-Q{S6fZTpZIn@E?g?#;Q9xoKHQyOCHLvdB;>h(lWSx2hE<2_ zU`;+vrNU6QYz*(lxKBIU=m-McU`%xkYEE;uw2BTMlsT(~4vH?|DO&C4xL67?M|MBa zjFQ{JmuB`2Zmk+t*QLsIZ?2j8YntK_kIS25Jg;|}OQ1Pm=pX%LeAz6TF6iRSpo)ob z8G}U)>vO}&C(-6&rZAMI+i&|kqerYqoI5sTo~OkcsZD4&I^Lq;Xg)_p`9tP13wqmt zIjCcN0Iz*=m-opHxLj>9U_LeFf@DD)>f`A|QiFzz?B2Y9$`F*Gxye^FqcU(X#YY*2 zIQwa9%-bi>S$YdM%z<_BaK#dMY+JmZdWWvq-9lbKi7q?Nn)|_dV3{g<^{GWx;$FMZ zPNSblqYQVLIl{c%>CUEPVZNl>z+GIq#Y&u}hrY_6n3ljlKC51}V~ z1G8&6EicY?8}uH|F1}4TXX zTJ5Wzq{MI)Yupx_?(e4=PbTN6+hR>m+rDk9IaE+x9YoCnl?f_r(t|*FLr~tE0vAeL z9bSHP(rq@>c)D8EW3sWt3SVJWgzR4?&^7(&;m&+pnhw;NMMEmJZNR7{C1`smg@$Ex zS*=<&PpGdV=@6GR%$j#Kr09P}fS!@iAVXm@-PcPVZC81upAO@3s&j`~@@>fR)Y9&+ zKTk0=UqnE^cX!zLp_`HeJ|x+RFbfcmG={FZ^eDem45E5?)GwOVuUBe!nX9KwskXwX z=)zYpVYkwUvO&60ciyO8NHa(XA)Uj#UWxPgFu88MOfUQz1X3(Ig2|oHOh%=YA2Qdb zi^Is(2peYR>gEt%nN|QEBV?ZTbdq+2xZ3q|9?QNv>vg<@)V4YYG*yiz{AZmGxlR;| z(M3I5J!vY;y>Ue>@3EDxRTg=*4~zM2@xHVIi%=8GA?7}##_JQr85+zqQoT|6j4a(* zPnq~T`Z5LfKTE1{zGWF_0-r(FgtO3d+p@)cj^i>iTSfK^Kg8E%bN9~qR&ApL3+dO` zgUu}3a7{V)g0EWxivaQpcy7b|hOX^&TUOG2)U-13t|e9SA>)YU?^Q{*+Z7|nnI08G z9EJvn(KT>8c0eFM*Tjn61SB=#&b=FY-Om z-)2EY?KCx^julR+eP+EqqxzL>SzSx zUt1(2oT<)uq|MNlMJR7;wzN4@?8W^(HEQEFXLitAsmvmSqCZB%*sxWGu_p#$0;U~7 zbJX4SN-S_$h}QDW>|wVL7s@+fN@f0a?OiO{f-yNP0Uj;%j^2K=oEjD%%bwZzwTk?b zCSK;7(GuboM)$58A7FDS%AP`0yE>ZV9KWY&J~Ylo-4yk5C8J?Hry1uhY&PqP))kWE zP>JR+?p#?SOPIda?hf`ftj?}1*$ppgWHaSLn+vo;tcto15~#Pc+<7F}>GT}E@Gxg3 zpr}f=`m#w`qtneIboLyE)@ycjT!e=~b+;yZ2GbVCqXQ4v-GqnkF>RDdC==xhvkm2U z8zBG6<|~CBxpCrushnzUxVbH)IO1ML*i6b3HeBtZ%>(|1OE<*%W-hl zZ_kD!2Dx`cvhP7FH`!iF^_TKE>S9#WGnU=iT?}rxN14S~iLIA$AE%21SkpwjRh6!2 zUYG^tO$J(gWy94mN)KyS#BHUZr>B$idA%a!YY@Gy_rQQ`ZJ75&z80gEDg9&W2 zhgY=<9_8|F{zW)NZbPBr(?gm2gO!wwj&Rz59oo5q`=P2JgSvAm) z#(9P#=ZN(vd?%7jYwgu1q9xM7-i-ji!%eoE^^fc2F*iDQx~}p6Wpq>2Ic!IjZ;_#= z!+v5l+c024Roy!alzSACBWT_eDjY&~Fyiyq7_6@57}oTyFhv;9V4XD@xf7}}W;iG$ z{u)lB&SAK7g))yQzHb_7``9#SwmI8MIoSaX%(yfy_0kz^(+jLBAUN~Ply`g7I-kVN zphiS>Y6IT|C;3Mi=~-ILvp4NI2@uiOlp@a42j8#5!Kf`GbU|?nzJf0p)!nsF&P$|f zAnj4|HQFUhEA(yK6$>8R3#^PjV{0&0`tn1#@v7R!BITo{OBrkJ%bP8M{a3tUIJCE2 z8Hi?BN2VfLX)T^NJR6=K!{Ro|)<}18gf=*7m%f*JN7R>XFxgZ~d5J-H7ot-3MTlmF zR`Yy9MOpzz3cFPivrW@TiBhd)l37rX02QLZV3_q`Y1MXJ{A(vq>MM;PnPmcLp**(Y z;md4?mdgA-TegPwFozD(k}jgA6lHMhc~tF4_hz@bZZrLx?q4gV%49g@h=!$n6cX?* z_l!@;id9*ya|^ulHczo2APsu{*%CW0EgK zqn)tg>TG7HUv~(o!oF=1uH5DYv@5JPA#)BD6FM0-#3?G7g{xb2xP4X=OW{pr>Iey1 zN+PJobBPc`BW;oxk4Sb_R0gIp*7Zj%1B1G6QJ^IYU(zu=Lb{id8}x$xo*5^F2S^cvj9 zQ0s4v7T%s%PdR}V!{i+sERj%WWph`jOw^`Zf-Z2iFrVU9PA8ILdChlR%(v|2d5m|c z<(5@(k(O6fIEmLE$Q8`DxG|j+y@$!WGU;*~rz!iCEhs{E?7j777r-8yl86_U0A8`B zo|dx})tO2*k9^KPkDijukK3H>>1?@>?YFg>vLeIx&P><%#4oD@lP=G*qglVyo*0Z* z#!_C;=_=qVtWJ)U%{GV6GH1@0{en`tI1p}cYj~b++_-kBVRIOuy}Bju%{-Y)hq6M^ zzF_$Nl<6&Tv{mJ0{D^s(kJnCx1f7&XxVxTmLyF}Rf^xc&y$|u8w<~)O%r9E%N*`pwO$Qf7V-^rNqo+>qO0XEZ% zH*1E1Z5~6fOE@zeyq#b1;{5w{3P<>G#=Y>&PqOJp17v|;Ax72p`Yip%I@I(^$(96T z=RprFUT+p-+7F#a5JYxl{IiHU)E&M=H7;8AEqvE* zhTm=ib59M4+_7VRwe4?9IWJNWH#{=2S={u-#!9BuuvkBHGKXB5utY00iPY=fVZj|v z_AYRKiSdqb`@!w-S#DpThtwxdU02HX8@Gm{IdnzmChkyv&O4trle@vVaXAqEHeMZG z*+TS<@k$d1ikZwTnPfacb0OZHSJg&IRBbW4Ml0xGVxK95Q!#^yA--C=&ElM{a#~Xei4QAB{V6tdMshg)gbD#23TXNnW>sp5_4>y5Y%fcLPf| zKH@M^Fd9WqM(=7d=Z^Wk?aEYU&M&qy)eFw7X7Jg*?Fve!j#+wCZb#jZFbIzom zH5>v{n9m(@TX8is^63cLrb0n3 zi{=3o9COXvNkM49NMCLCjulgq$NgaIA6zDer$f(j7|6StW=-=J8&U>Y3p)|9WX7juE_ z&BfE^u4)>iKL4s}2ECGJnTG64sJr5efv7JkTgeTytgL8|%+{rmA+vhg{0g`&lx;{0 z-r#Km4P6;b;U)%N&3>#TmV`#)yfSdXw0aG%o_nc^82I0XouPLX+`wBmruL5yFZjf(}(r5Z;{$;(bR9m+s z3@UD+=1YV|Tg-b{gl+?!W+IEm>?-~wFBsrvd5#_!8GFjr5<)yc>+pU%#yj!#Ja72< zI=Hzzzb?NW6M)wRpo=z!(`C|$3q&s7o;C@k*tWHH;k^q6a|5~Gy>d<7Ag>QGc9Q&_ zHECvb1?h6yc_nsAbsz$A1Lpb8Nt-Ka3tXr~!-eZFQfCW*O^Z5-uY`3$3?q z4wwUimcJlzq+xouhY13c+3IAmn`G<2HkaSOB^|0{GTOCLTW>EoTKJkfzN^tl+?uM% z6);I`BBZFLkBZ6)dClFHU>u3!SGpu*sTSwkMv*>3&M^X^IALx&GAye?PL9!&CO?>$ zegR+FcI!yfO>#@1bA3Cto`_jwP7+x>+wUg*@Xj7OfJ1^gI$`=v5VgdU9BX%U^tt*l zfwGH4GYB0&sV*+bBu(Ct6hH7h0r z#FBkHR`yaclmzT*GHs3g7Z1uv5TSGBjjE4;p@Oga@dG5c}TRE9J(8Z4njhp zZwgHf?4UqkFflE3_S1nLAr7)VbWw)v^zstF)+-HJU+7>j&z@BiNuXC}!d#E&7>Eu^ z%OJL7a{YFclS`FNA!<=rDPch;PDC`Z5E*u}?&s6k3mrWb+v}UbdD%|?LlB>(gV9t; z>h#4Pd@C1vCk8mKk8bR^x1cs`%W>2uR!xjq-af(PAEz8sLm+$26-;hK4x`;=^ z)5z~Y(kwh$pBZl=SBma&rqL8UZ)a&8-6O`kKsvX37oGmF5ucsloHjGZC8I`mFpy*p zl#%(^l-ruiZ?9gR!*ZT;*hE#)^sqPOgLkIn0wKD?mq*$w}lZAW{PqT&l7(8#ti`KJ4PN(1Qa!-86Fig`!;NMa(*u(wa$V zfX?rhsx{G-uV-;X*UOoMddYd@yW8OqmNZ}ECwaY8MGkaDpnm4-lcx3dwrYU^+=aWH81EsS7l-0(P+Yar#M((bY?Zoq#BWhhl!y}wl%@vO_7j?|pYH|7gG?u~;EG>5QGiFFJ-F#P@e$nXsX)+Wrk!gy9 zzXnDoz6rg0Wmt>x8fb=-a}ieB1UXGqjP7aha@p8Tx8bzR4zZjZ$~T8+sPEUT%Vjjm%{E0I-R&Nh=-uPj!H#lvbzAYtte{`QEr)gzM z&VYGYou9=3pV;<8W@raP-qa=CUGwdK(~nVk&ioD|KG-i83z@{EXvy);Rp4eBqq)9x zd5vcHX9{}3Dj9ED91M-n;baXn$v3WI*s&#hhc9&OlD})hr7WBdf3Vo$MV&2K|E*i` zW;wpLDmyTcDQ4(ui4_!r(F5zYBR$MFkT0*&N-W9*EfzXhY=*79xU5|N7|0T#BoTU5 zg-O_>EyZyE#E97#NURi0f{j7Fo1B&Pez>hPrwYA!LB=QY&IGgsH}{nX&pp#MGCXI7 zg(DDg$`rR`Qe+4m(zQ%ZQ<*E*_0oQde>0kE9}(wLLtzJ-Tyxe-ljF?uo;d;T25rLz zE*R(wNPTtN5S8yp&dVeSw4@L^soyG)vSlk2=lqZH7skjq9`7p zEn*cNX&mGAbi|(`8|3hFC+gW?5 zXEWRqg3I%sczwNCcOKNn2eA(JQWec3wt9zO{t*?2C3EK8gs>X{-RA7;kJVVKh)@g~5L2AmfllSL2L)l`1G`uQXZ%D@=|uzta7il zclFXaBjlt68$_y%R6}7^&GvQ>*?Fu~O$U*IH=|JeR9lqsR^zwg(vG=Y#Yf4ef$T(@ zS_6tYBxk&R%3AezvpbBV>y6|wy-u{%%oGiPN`6YDwQ%V$;>*lqCQHs@?Z~aLuAb!1 zWLGp~pT>wWX2D#dpGU^w0z2-;`mhGF-`po00 z`uuj&2ER+GSKexZovgaLLPD^i-X-0i!yD$F_KPQD?*xl&rEH*Cg1@j_;?kNdFTI9^ zyaQj&gKdd7QLYn>733ZIE>5wJ!gFIxLX=4f$0*l1EG)7~#?l*c(jC}f`lH)uR+(H4 zHWYeiOK6rA8GB96<~#7|RRI3Z40T;s5ofxYjN4!1U}D%rg8K)3Vl%VKS-<}qRlq{c^_lb?GKRG0jyq`To#Up*+M?d4Vit0~xeeC} zwvpO)n&AemAC5da7ah!Xo5|W(>*vsPtcWA_w7Lz%>3Agh0{X_gw^AScF4cU_!F%?W zbx~(TVQ%K76@$5nxoQX`pEPupPPeRS8oeh$TsJC=LG;Y~@#PYqqROZY)_M!qVjm#+CFie<} zV}~=y8;3(q%h#wSO4wwBt)y9YQ5ubTh}=dAY|-$$Dw#6{)H#;npHJA^!oG@Z=hI3{ zUai1Z--<2D>77tTB)Mp~$O^eu?(dh0jYYap=Lk)+$cB{jo;{1WynsmjU5Ut07Lqw> zvYvP4D*H`BA#S_7+^pqL>T+}I%x%{)T0J92eC{se zTgW~`BW)0KbON%bWO?ry!1dXZ**?^P8M)U-Mb7g!5$_^k&Lbwop=mM>4c+Zesl?^1 z@o2VE+OVx!KG$s?&N=%rktZ0!+!&F(8Lj@sbH!fxCQ^!|cNNSlCHRrBENJtBv-Rn| zV&0pLqox@>6IPQDTj0?A)H^Z|6ppV>Mwe~xZgsksQ}w$$UI{PDh|6B0*Z1c0L*4*X z&{$G%dxYK@V-{NefOF8L_J>8qk@SRv)b4xr(rxi>qTn*Pz#a-+a?tc|ZFSK)eW-et z%gDkrW_7lUx8h#0>QLoOVlyLD4M~_MAF(M&(@(_SqR$-hB&*{;WMW<$g`q;H|YBgD6AJqxW z*QUS{fU>m2>Zf|?S`!T~m=O^b*R+j?D?Xn|JD_(tY0_5c0w+w267hsbC>FQX_}pxn zjk9g78^|VUQe0R%pmpJ=N3LSbNQfLv&|@3km`0Ve*GjP8PUbhPXDKc-lQEi**x1AVch>0{)GS{a0N zD>ZGSQY^276A9bfw{2Y8ooa8$7mV{uui<1J!DM8HUx>$0@oGHsY>=P~3%nZdU|#es z+PmuRsx10QAAIwhDZG(6c=lhgY7ZR=m0J01wA<{x%|N;(#LQ4+%HyAyvVAtzUCzte z+?L9c9l3<|_4zy??3Y@0cgz}V32Q87m#Bj)l`9de>teGR!V;4)uWpKblg{+UIAwwC z@+~mp`>mok%#w4m%_Qd0%Tj2hXbO~P_uViGm@GbgSxPw-T*Cb9l&`*Y6)= zVq)a5bcimxEoK2WaHplx4^dY&2NRG&Gb!8_&gH3k z*_yCKo(5lkk{{?#doJ{l&hx&~s*eex$66+zrKQbc)_WFbH*7Ia0Q8EYUoiB9va=KOC~Ca_R2Kbl+g6zoT4g zOH+_0TQ;waO=U~Dbj}W-T&zjGm$!ym zl#pi0tyVZ(Sv$UK0_?^GKmsXE`rY~b`jNgtlLCXlWMH-Dy57fg5$L^}GI9uKZb3j$n@vQ*3@2x>JyaE?hSArbgZD3=2eA6`9YIS7i zvW=`RgIDA#R=GfAmTUOaeSLJfnq@ky6t@QE0Yir?c_@pNFZ3AUcg64M&^nrM_6H2d0aH zCqF8M`+YTfEg`!RCcjpl?Z~l~dK5>zn1dI$^ImYv3Zf zXkHoWC%=u|z^acJ5jPeekvbl~i=0S$dV53d4QJaOoO?ba#e*WZA58H+Ya@tHX}E{! z=wn#YQ0TTl8M_)=>>5?GoWzzs-6=Na#Wtk8nR)tffvaNO6#xrE10!VP+oa5y%lNIC zG~#|i>TfKySq>d~!R?CfR9j|fXk;i|I%37D$WO)j6;mOOpKuHt4$HGSb0ulzJR)xKiPju+ zBYC{CD2r5zet74n=}($Q00an*>l}k_ z0l#H6t)mQk3UO8M5{|p{isj+iGCw=I*QY4e%Uo!eDbj(ip*(G`@#}0@w)1mfb!BL2 z1g{7@86va32(n(5D}1~4Y?q^k$8^N&F+P?*QAT21!S}+GVrcgqi|Ctg+R_tUbR%!&gd|DN>qhx9AJwXgBQ5hgy|Ai1$8wiTetZw>L?}L3 z<&|{iY=L!v(WTrz`ldF(f?zqIz!`3gj7ttWr`TrNF=3bS=fY937t|a^$*cD3}t3>ZohY(vN7~zKHWSesr#W@+Tpi(_;;z|@ob4^)reP%h5G7l zy;&HhDlWU9V^}Um&7@(NKuX(=wDjc61Wx9Jt}A_`gWsMg(ONT$i7whlB~f~aRis3$ znvw2W$-Aomwhu+uShrD9mnGiZFN)F<9m!{2FR%sS5&m}JpUIVR2*Lg2Sk2pq772{;iF6*|Z%7F0d zKYGbGHO>Bp2-yZQqD&3bt6>9+?694xcq6F|2Ugk3m9D{-AI_VHhUnsS9SP4wRT0cF z@kDzgeC^p}cB=e#jO9j#y{%9%SEOQc@ZK*O6%lKdI17f7tj|~pJ##Tl<>mz}_VPr6 zE!;Pe+vfD@(~ev+Q_Rwxdyz?S!Ks(GO{$8>jlKc9p?a_46H4PN_7@TmPU$@XB>p+Do)OZ${`{!?ptp1)JP*P#E0Y25f#++%-f@sbL&1GR#tG z4xkAS{r7o&^dJ?S9?tgBbNMnCNQhxiSz*qyKDt3UlVdE?JM#aRc0R971wkC&rv8jz ze}FVvkq1_9f+E-mf~yGjR1ibSrEQubwOA}jDIz`O&`Ujd@{o&=YAFak#J|9IQoQvd z2wrj!TW=9Tf{1ZuXTHgMqXof*ee+}IvopK z!&;!<5kaS2gsQmv?>0;`^ia>}O!kY!yxj1SEsPo#v=h#VYf;xwSZ)H7M&b6{ZxK&fI-M=XcYbWYo>GJ_x=@WiKM5lh_ zfxJiKzY=`Z?*kF_3)m15>gQ5Wzq;KcQrM6A+<=#%0TGcFZ1)fAU!^eSuS>X#27S*|vx5Ys|HGF;8 zhtN7d7}QX&Sby5jXdszCRz6n#%T3)tod9_;-wVTU&0Y&bTeHF)MxaW&{+G(*{9@%} zYL&h@-I3z(e*>@yYsKNqAQhz9q*9yz@MO&sx5$ zd|CL)r4AaDC~dla;(0Etzfu*xqA&2f7t?@Go9>wAKX3fti^h-TK%P?Ggt-rzKi2m@ z#=*fpw+COX$@<56gA*-nId^#v{`0!*$l6E(Ce`x%da*tx7T*Z}BVw!DZ0v32?f%X0 z2%o>zWmy9cIi-9$%DMHtJgM8baWw!O;`uX!vxkr6^Y`-MSTKMwLp`$7N!q!GS0#UK eL;Pn*oTWhAxA^|>`}J@6bDxBN{53tV&Hoz=o7ay3 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/AT_CellularInformation_unit_tests.txt b/features/cellular/UNITTESTS/at/at_cellularinformation/AT_CellularInformation_unit_tests.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/Makefile b/features/cellular/UNITTESTS/at/at_cellularinformation/Makefile new file mode 100644 index 0000000000..cd74bc1b01 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularinformation/Makefile @@ -0,0 +1,22 @@ +include ../../makefile_defines.txt + +COMPONENT_NAME = AT_CellularInformation_unit + +#This must be changed manually +SRC_FILES = \ + ../../../framework/AT/AT_CellularInformation.cpp + +TEST_SRC_FILES = \ + main.cpp \ + at_cellularinformationtest.cpp \ + test_at_cellularinformation.cpp \ + ../../stubs/ATHandler_stub.cpp \ + ../../stubs/AT_CellularBase_stub.cpp \ + ../../stubs/EventQueue_stub.cpp \ + ../../stubs/FileHandle_stub.cpp \ + ../../stubs/mbed_assert_stub.cpp \ + +include ../../MakefileWorker.mk + +CPPUTESTFLAGS += -DFEA_TRACE_SUPPORT + diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/at_cellularinformationtest.cpp b/features/cellular/UNITTESTS/at/at_cellularinformation/at_cellularinformationtest.cpp new file mode 100644 index 0000000000..8ebf75b7aa --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularinformation/at_cellularinformationtest.cpp @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2015 ARM. All rights reserved. + */ +#include "CppUTest/TestHarness.h" +#include "test_at_cellularinformation.h" + +TEST_GROUP(AT_CellularInformation) +{ + Test_AT_CellularInformation* unit; + + void setup() + { + unit = new Test_AT_CellularInformation(); + } + + void teardown() + { + delete unit; + } +}; + +TEST(AT_CellularInformation, Create) +{ + CHECK(unit != NULL); +} + +TEST(AT_CellularInformation, test_AT_CellularInformation_get_manufacturer) +{ + unit->test_AT_CellularInformation_get_manufacturer(); +} + +TEST(AT_CellularInformation, test_AT_CellularInformation_get_model) +{ + unit->test_AT_CellularInformation_get_model(); +} + +TEST(AT_CellularInformation, test_AT_CellularInformation_get_revision) +{ + unit->test_AT_CellularInformation_get_revision(); +} + diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/cpputest_AT_CellularInformation.xml b/features/cellular/UNITTESTS/at/at_cellularinformation/cpputest_AT_CellularInformation.xml new file mode 100644 index 0000000000..8d20b2b81f --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularinformation/cpputest_AT_CellularInformation.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/gcov/AT_CellularInformation.cpp.gcov b/features/cellular/UNITTESTS/at/at_cellularinformation/gcov/AT_CellularInformation.cpp.gcov new file mode 100644 index 0000000000..158e9052cc --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularinformation/gcov/AT_CellularInformation.cpp.gcov @@ -0,0 +1,61 @@ + -: 0:Source:../../../framework/AT/AT_CellularInformation.cpp + -: 0:Graph:objs/AT_CellularInformation_unit/AT_CellularInformation.gcno + -: 0:Data:objs/AT_CellularInformation_unit/AT_CellularInformation.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* + -: 2: * Copyright (c) 2018, Arm Limited and affiliates. + -: 3: * SPDX-License-Identifier: Apache-2.0 + -: 4: * + -: 5: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 6: * you may not use this file except in compliance with the License. + -: 7: * You may obtain a copy of the License at + -: 8: * + -: 9: * http://www.apache.org/licenses/LICENSE-2.0 + -: 10: * + -: 11: * Unless required by applicable law or agreed to in writing, software + -: 12: * distributed under the License is distributed on an "AS IS" BASIS, + -: 13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 14: * See the License for the specific language governing permissions and + -: 15: * limitations under the License. + -: 16: */ + -: 17: + -: 18:#include "AT_CellularInformation.h" + -: 19: + -: 20:using namespace mbed; + -: 21: + 3: 22:AT_CellularInformation::AT_CellularInformation(ATHandler &at) : AT_CellularBase(at) + -: 23:{ + 3: 24:} + -: 25: + 4: 26:AT_CellularInformation::~AT_CellularInformation() + -: 27:{ + 4: 28:} + -: 29: + 1: 30:nsapi_error_t AT_CellularInformation::get_manufacturer(char *buf, size_t buf_size) + -: 31:{ + 1: 32: return get_info("AT+CGMI", buf, buf_size); + -: 33:} + -: 34: + 1: 35:nsapi_error_t AT_CellularInformation::get_model(char *buf, size_t buf_size) + -: 36:{ + 1: 37: return get_info("AT+CGMM", buf, buf_size); + -: 38:} + -: 39: + 1: 40:nsapi_error_t AT_CellularInformation::get_revision(char *buf, size_t buf_size) + -: 41:{ + 1: 42: return get_info("AT+CGMR", buf, buf_size); + -: 43:} + -: 44: + 3: 45:nsapi_error_t AT_CellularInformation::get_info(const char *cmd, char *buf, size_t buf_size) + -: 46:{ + 3: 47: _at.lock(); + -: 48: + 3: 49: _at.cmd_start(cmd); + 3: 50: _at.cmd_stop(); + 3: 51: _at.resp_start(); + 3: 52: _at.read_string(buf, buf_size-1); // stop tag OK\r\n + 3: 53: _at.resp_stop(); + -: 54: + 3: 55: return _at.unlock_return_error(); + -: 56:} diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/gcov/CellularInformation.h.gcov b/features/cellular/UNITTESTS/at/at_cellularinformation/gcov/CellularInformation.h.gcov new file mode 100644 index 0000000000..bba5d661be --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularinformation/gcov/CellularInformation.h.gcov @@ -0,0 +1,74 @@ + -: 0:Source:../../../framework/API/CellularInformation.h + -: 0:Graph:objs/AT_CellularInformation_unit/AT_CellularInformation.gcno + -: 0:Data:objs/AT_CellularInformation_unit/AT_CellularInformation.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* + -: 2: * Copyright (c) 2018, Arm Limited and affiliates. + -: 3: * SPDX-License-Identifier: Apache-2.0 + -: 4: * + -: 5: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 6: * you may not use this file except in compliance with the License. + -: 7: * You may obtain a copy of the License at + -: 8: * + -: 9: * http://www.apache.org/licenses/LICENSE-2.0 + -: 10: * + -: 11: * Unless required by applicable law or agreed to in writing, software + -: 12: * distributed under the License is distributed on an "AS IS" BASIS, + -: 13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 14: * See the License for the specific language governing permissions and + -: 15: * limitations under the License. + -: 16: */ + -: 17: + -: 18:#ifndef CELLULAR_INFORMATION_H_ + -: 19:#define CELLULAR_INFORMATION_H_ + -: 20: + -: 21:#include + -: 22:#include "nsapi_types.h" + -: 23: + -: 24:namespace mbed { + -: 25: + -: 26:/** + -: 27: * Class CellularInformation + -: 28: * + -: 29: * An abstract interface that provides information about cellular device. + -: 30: */ + 3: 31:class CellularInformation + -: 32:{ + -: 33:protected: + -: 34: // friend of CellularDevice so that it's the only way to close/delete this class. + -: 35: friend class CellularDevice; + -: 36: + -: 37: /** virtual Destructor + -: 38: */ + 3: 39: virtual ~CellularInformation() {}; + -: 40: + -: 41:public: + -: 42: /** Request manufacturer identification of cellular device + -: 43: * + -: 44: * @param buf manufacturer identification + -: 45: * @param buf_size max length of manufacturer identification is 2048 characters + -: 46: * @return on success read character count, on failure negative error code + -: 47: */ + -: 48: virtual nsapi_size_or_error_t get_manufacturer(char *buf, size_t buf_size) = 0; + -: 49: + -: 50: /** Request model identification of cellular device + -: 51: * + -: 52: * @param buf model identification + -: 53: * @param buf_size max length of model identification is 2048 characters + -: 54: * @return on success read character count, on failure negative error code + -: 55: */ + -: 56: virtual nsapi_size_or_error_t get_model(char *buf, size_t buf_size) = 0; + -: 57: + -: 58: /** Request revision identification of cellular device + -: 59: * + -: 60: * @param buf revision identification + -: 61: * @param buf_size max length of revision identification is 2048 characters + -: 62: * @return on success read character count, on failure negative error code + -: 63: */ + -: 64: virtual nsapi_size_or_error_t get_revision(char *buf, size_t buf_size) = 0; + -: 65:}; + -: 66: + -: 67:} // namespace mbed + -: 68: + -: 69:#endif // CELLULAR_INFORMATION_H_ diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/gcov/gcov_error.txt b/features/cellular/UNITTESTS/at/at_cellularinformation/gcov/gcov_error.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/gcov/gcov_output.txt b/features/cellular/UNITTESTS/at/at_cellularinformation/gcov/gcov_output.txt new file mode 100644 index 0000000000..0f7a048c87 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularinformation/gcov/gcov_output.txt @@ -0,0 +1,8 @@ +File '../../../framework/AT/AT_CellularInformation.cpp' +Lines executed:100.00% of 18 +Creating 'AT_CellularInformation.cpp.gcov' + +File '../../../framework/API/CellularInformation.h' +Lines executed:100.00% of 2 +Creating 'CellularInformation.h.gcov' + diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/gcov/gcov_report.txt b/features/cellular/UNITTESTS/at/at_cellularinformation/gcov/gcov_report.txt new file mode 100644 index 0000000000..9b2501db30 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularinformation/gcov/gcov_report.txt @@ -0,0 +1,2 @@ +100.00% ../framework/API/CellularInformation.h +100.00% ../framework/AT/AT_CellularInformation.cpp diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/gcov/gcov_report.txt.html b/features/cellular/UNITTESTS/at/at_cellularinformation/gcov/gcov_report.txt.html new file mode 100644 index 0000000000..e507d22f74 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularinformation/gcov/gcov_report.txt.html @@ -0,0 +1,5 @@ + + + + +
CoverageFile
100.00% ../framework/API/CellularInformation.h
100.00% ../framework/AT/AT_CellularInformation.cpp
diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/lib/libAT_CellularInformation_unit.a b/features/cellular/UNITTESTS/at/at_cellularinformation/lib/libAT_CellularInformation_unit.a new file mode 100644 index 0000000000000000000000000000000000000000..fd747e7d62cbee13425adf189d270f22c72a81a0 GIT binary patch literal 46020 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∨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 a8Jnz{5V;+n|F^Z>XWdp1J^@EqGXMZV(RUyK literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/ATHandler_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/ATHandler_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..39581aa433a76f2c84b547fbc7c9bafed92ebc4a GIT binary patch literal 15212 zcmdU03vg7`8NO>1AV>wKJX2}4GE!biHV>MhVnbLl3E+|tghae-HaE$deR22h0>PH@ zC=N4%fINJR!`RX)9a<@416IpeK<(Jls&rbUD4j{0%1~_WXj{dpJ>P%!+}*v|UCsvB z#5>uu_ntlH|NrlQoyR>1_}y(&N{h-)b?@J#D2nYyR_GUQ8Ju5#N||-&#g}hj&+6QH z_sp)Gr>dcFvs$gHjSK9hm5c6n`CGi2u7-?ov;7HC+$rYQ*IYYYs&j!ul2z z6tX|G2^A*xDR2jaigJ>*QItws4t-mTD%%&LRoAg^-locy%kJ@v-%w|Z-YW`kk9ySM zqbLp=FrYmyd6{^7R@(Ae@!MPWjH-49j=eg+eDW~%tTvX~nL-Sg;c=@TzsK;nyq-?> z6!5D|F=~qzGW4*Uo{K!54ER>s2Aix?-N@->5bMr$z;!0{1)W)cLml*L)hFukL3`_O zpeN{D9bI!zAv&$=J2Jy zX04^X%H{PoyWAbscSRx&hrOgV?B^D4F#>wEv)-;c91&*()biMe`@UHQy)L6Qp!*61 znSypjX(7j~H2oZX`IX$p&^fxq`}c@w9r|U$w^alMI!3XNubK00`-Gko`8V%5E{EM0 zh-fkF&f18y3~Chn)$n)tD0Bk-AP?YK_`C375euST__W9y@qRAqtp42>T?6Ox1YJ99 z!%K-??SGYvzMDWv1u=6EqR}5jM_`YC+iw_CHGh86y1c* z<86dGe6G}&Ay<<{H(zFSkIw(}YjrkHH+-4r?4)sA-lq9A-DQ|wTvxkDW!)B_K=m;gT@f9(VsV_G$8jBO?D7LYT&J&v+)An5aw5L8tKaTvJ zBKNxL9d)(!#j3Q8a)?(Y%>@|QK3<7F4&N5J2IPg04`ufv*PxB4w~n9q4R!d&Cq6br zoybwpg`f#PLp^*N7oM&C!4vhcEq)XE40KS(W0>Q?Gh~jh!}Il)Iy}c>mFHNx4MUqEL-;A?0vUyOcOU%#Tmv;6QQf5@sw_R6^St+d@nWs#_T;pL zFL8hGo8Lh0`x0dBo8K(6&_J%s)Ne4DEKi`L*v7Eu&)PRn`i=4aBhN40z7DaPBG=6+ zcF51Ea!6@cZw(>x3hV|MVJDI6p$GB1)qbcKzJT9EJ8n~MXVAIg{J;q0a-xhHuD;oM zP!bxD8JBEa4oRTFGv3~)M;(XXw|E7fh3pf%`ew(v7y)+2X=EC&i;~a)MqIMKu$VU& zr492@^<;NZ^9zm7VqJ-`RK&a8z98VQ3ItcXn!Q@Jy~G(^D9#TX+A0TyKaJ1kN|N80 z>&dv@SW+r`iR;x{Q(}zEj5i5@f^gUND7DJyzdw~3ZZ=f0#YrZ-pCq>ZgPZe?;U3Ly zFHWwzd7i7b3Ap3)dxg0XR@UkbhuVP?xq<6A^ z#OJj59F?gaAj@kck6F+dUhvvh@5DFqzXBV_=l7Tz%H6&ewow=e5^x!v|1yf3=U9^; zyGhLFB0r-YFkcBi@I1~waTl$}&Qxvb+`4hvhp;nppU7D;e0KXv-D7BK^J+s2Ih^f2 zDPMkx7!3^DLYAX(z}c;B94r12hYU;X%>ur2aX670nsJKO8^_}d)LT6Z&RCu8Fy ztR42fvuR`S{5kP83-aOj{kgLaeYor0)IMCnVS4B9d^S{8C+=nZ8jJk9KHbhSu8y+MU*~JK+hlsCPkPR;Ieb6rv?yi$inCBCV0wQlW%L9oAbehA*u70y(k*g(ahB>W%I|Q z*t0qIfTwkij4`$}eCM>~6U)0`+Z1DLDW;JnZNXrs^T(Z0oMQb)k7kiLm%7&TN650< z2c|y zD87NZ#KiIlzY?>Ih6L2w2cKa|*ma^}9;x{nHC&;pqb)B|oU6jB3$X6YR5 z>j#YB8L(g+&z^TY@`-;_aNYr6OtDU4gAkid=$h&>RKw%b0%1NJN%^d&AFzUFhXpIf zosaIhwR-Q)ZGK=)F?TA(oFWeA0~mN@{8l4=*^N!`Y$LvAL2F;-?emUXFT8pd<4X#g zR)qcDfV)H0H6yJ1GmO#Y#BN}Wv5o4 zzpcN2N8H@d`kuf}3p{#HK<9_0an?t14urWeWNEPApTM4Y z^z6nIc+MlfWdJ#tvC#lRRcY*w3tb-M#ip z=jLFnNU_!|Y0=ynW51o)WY@pJbCwB@ZV03Ing8S$ys)b~9Y&8obByKvfDt@rS}=}c z&!Y}UR$uzZPj^3gX#DqahNpM#;^#hO{I-Pu?dfEY+q$xZ@+V9PGEF17M3K247KpC=o8DI)yyKF7`a4H9LdVhAwjAoZ{F$zV zGhpmg*Vl>uwbkDU#sm2P7uM6M&U_`8jk>XdpZ^ncyG-az5hVCG>2lwgae1q@G@MMW z%gdh=v&uV>=nqU?a@m9;`mW1Kf<#o8SbH?ql$8Ex+tR}rS79HuvBm3*)T?L$KP?Q0 z^g=eUdc!SRp?m7o!m>iY#x@HdLW3(jt1^sH5WaPJUc?Xu{l7-nrgOPn!F#u1z6Tm= hqkpB3{hM7nI_rppoQ*S`%i;eTWUxSn^&|%`{ttSYy%qof literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/ATHandler_stub.o b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/ATHandler_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..051fad622e045ccd622f53c6b8d48dbfc4250af7 GIT binary patch literal 82352 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%0AGa zO#P1~JS^~P!dnD>GvRFle~#rtzcJ;1%JK!?rw7?b;L8bb6ZqAH2cdtM@}DI1IBAaf^-nEu(mDI}4xW?dh~JvY(U`N}niZ4ggx{LY zQRjRN)C+4M!y<*#pkWZp6i%Jpz^_m^by5Sz&$7X{hYUnV-%~hs3WNHS!pWHp9HV~g zSb^vyyo>FD)1WP=ewX?p3;pP{;6^;YzM4P2z8a6Oug2r+t8uUTQl~>EBhb&;8HkSh z^=HmqaB^Bf@mnxhx&*%kgO&)me=yj%jvh+%(F%tzQc)O0=V@>rtbgcKA^b&;Gr=^2 zjrFbCivW)Puw-}RU!~+kua{ZQJxWec$;Lk{CrinR=l=vu+yk!*D6nVe0n`KfI|s(s zD7?3GUBoT7nQ$0JRbc#1!g)Q%9{Cr-d53`UF9{C{IbC3@0`(jraQrMP;yHu|>D&bb z_B2*)^@QgGzZ<@U_#23CFr9x#_;yP32(pdjNc;xk-%I>#|Cb2=N#Oq`9DiFK1D87( zx+v;7h43MoY~l4P;;RWCL^%FXEaFXs&nJ8-G{j*2b5#oAFTA`){4W##VB-IkaNKXe z!1@n@p%CSF1-gmn5`GlnEN30z^9diOvst$hUL)kZP54%U!zP$2_ilk7Mfl5v2TA^7 z!uJzCl<*CN^S;d}!gmlp70SnusZZ8hgqIUOnDCzo#~%yA!1$3c6rz2063*=cUvg6T z>x2){*{rh(|2N^o3I8ME1ECxY%>O3gIfQdR_?hrh!9NCuVASU#!nqxn5Pm1&tmg*8 zUnV@LN{5da6TYAD;e@|Vcuy!F1Kabzgij}&%N+{i66(Wy(_F9Rgf|KP9ninr#=|!h z9#m!GAC~`5HSTe1Sk?yO_%HDDnB-)F$OhFfG92h)iY3A)ZwEWA8kN&o@eg(QH&bjV z@Vm*M?1ASg`SEhbDEUV^@;6efSn_?vS#8Q1STzTT_kuou&>bb+k>3LodlUrVtO zF#Zp=vK^f5`4H;wb6_X33vnkEjlAZ8@AJT;H_z3RMH%>V6+Gz-FY{(*gjUeg#ZHKe5XPdOaoQ*PdZ;@(g4X4NK&T2QFu@|blyyz*I3?_#rD9@b?qi2FW?%X4|{NLCMI z8_&qZKRIZ4TzpyhV8}r{&TS|lAAfdz$=s`Q{A7zEPc%XFp)GG7uh$;h$>H|#9q*=f ze>A!s@$$hqZ_(oI&vs;*Z?NEV>RvXD`OF2p>e3!(^w}%*3Pn4tE|1N6Y7p}-ktbLD zd)Mt0AO8wTJIwJPd}xO`{=q^|jbmQd@D>^S29KvSuUFvO5$rrYjt}K|3ZCpde}+$j zwZ|Cq`l+Wp*H0gKbH}~T?X79-i&Kt6%OS=4jS6qk(MPg{rU&ufft1>Q7S}n%e4rCw z!=X>@NXdfjAVtvwuA*W>R`lJ~_W8WN@Z_|H8jywXc0Q}|8&x!Nx;?Xeu%(JmvqTHc zhNqYh@(rFc{Bjr-*s(`f#S^cG`t1f?dMHDP!6y{O>z}R<&N|swbfnTyEG_lC+t$^} z2b0mOX%8kZzP{%?%B~({$2RiJ*`EJ;W)hvllMni>+1Wh#jE?Kc6FUY(*$#SiIoK>v z5Kj-$EYatG#mJ~w4t2zJlN&#nyK!ZCOb@QSZr|KdJ=Tpo_G1d(Y;LootGxKx){U+G zY1}P`%lg2Z4V7rOIq^MM@n(c)-CaI~6&*z4E(W~TTyDyGE#};Kr7<0s{D3~cd0mE9l~3Oh9L2Ng;Yt9#dH<3>xGu1ZL#>*HYQ+W#KE%(R?F7*=hj&V z&l)3DESNxy{;HJwdg?c_dcCbSE6crl42u{wLsLJx3Zi>dE&Lvpw)!1AowvgU^3sV10IxJ|}zN6#{>p z_!~X&s|9`+@!#x$-%U6^De0IM?2h4@}Kp<-!|}_hMau{j&hnw z4nHr9NfZB3@Lxgv@EZauFhApc1%45w@qRf5=4U+Hz)d}mF>uu997@mez(WE*lhUVp z;2Q*9N9hYZ@aqI#PU+h{aQrP140uBQiz&^1C-HX$|0+s<i zG_D|yV+H%wQ3j6u^GVJG4}6J%n{rkfILet#a!Ne#1_L+y`vwC?Ia5i_1s?bf0%w2v zy$Al3z(KAPMkWZzhS7ne;19{9Tg z-%tD>dEoqr9IA~h9}<5Tdfq|e!wmdB;OBN3ZQv+}-?2T~1D`AKH>q5F9t8uJ%lH}t ze+cMYZl!@^x%|8kzORCTUU1T90_(&k6ii;(yHp|A)YFErnsf z2mWuu<-Cc{*ehdfO#|O{5U|>6-?_%iYf%haF<$tX>^`E{5ZqC;O4g7P1e~=*` z*GR0-2m{CVdYtl%_rPZg{7mA<_ku8Ry%;YP_&J)*s_?)Y3CH^4&=n?reBKBH%KsJ) z);|bw4Cpo{e-45W5XX8o!GWPspA?SIrNCn@Dm2j<`M;w$p7v0j<+srzplt#VQ(6gz zIG5W(cn|>yEGMi|mX%}RsOJlWhYj4USCfGw|8C-MF>sT=)xeSe0P(jOxXG^!3_M6i zeieaJ5DgCjag#sCz>z;la>E90@;4bc@`s7P#lTJeRs%==CgN{1aFbst2Ykqe{4K;E zL?#HBH2HH39QpY@udsoe{7nXq{H-Lv#lTJeRs%(c!;K=_2>u=zu z{3ZieDv%$v7`VybYT(Gv?>V*^xXEwPIK%q$Gi^ZwH~Di69Od(Smtg}p`I`(J`Gc&# zft&oT29Esv9%!3^oBaHW0PCMg@`IfqGlV$%8#v16_fo?KZpv>maOBTn{SDmYZ#8h_ z&m;ae12_43KxX~(S$`U+j)9~6M%LfJP5veWNB$<(-@r}&Rs%==3s`>xH~I0W0Wq-tTUmbtH~Di6 z9OZ9k{SDmYZ!&P?Z(;on+~jXHaOB^~`Wv{(Z*>7C2&{iA>u=yDe~y8p{1;e%12_4b z3>^7)v;GEd^0yi|^6z2&4cz4CS5H{~HrBr@WQKsa$)983DE|QKZ{Q|>lYt{Ye}ACG zz)k*E14n*-9=^@MO@52kN34Gki4cMYZt~|CILgl?{;+|Y{7nXq{5izmV&Eo!tAQhb z9`UysI6^@ zz*`6(A@DZBGX>7=GD+ZJvQLh{TL{k+cpKsQ0uQ3GAuJPknDDT`TL>=|cpKr>0uR#s z-6-%d;Y|W>A^ZY?w-LTo;6a*Sw+lQ>c#FVW2;U)ao~L&TJV^83!vYTz-YW1G!e0rem`XRAfNM@Oc(X_4b|6wLLzFeOY4_x|BSE|4CAI8rkIXJ$4NpU=Nr#O!r=vx@%_`~>7 zn(U0{ycayd1DAGtnfRpL7$0lMG3{g84ej$L@#P!*Cca$Y?0>}`INAjR+hLbZT5_IZ zoXE;gFb{w4$n-13`TIpllmVAp7g8KgT`7+EC2;sjKo5c6kfH&2{Z<9$e`TOf^Lzh@ zU!)=RcNoPHzu3S>8#tEx-_9BsFYuFwXkd!K`;#Iw1^ziXRGz@!r+S?r@CV5eP7(MG zWUxYk*OFsa2t1wa!2ZwnVYz1u{!^>p{pt$PsWX!oYH#K0>GO*Cz+Ri{v~d@Gq#o zFA01O>Hn6%&l{|PHh~W#N5JnSVqkr^Kcoo!hIGx>PvAak-(do8AqUSA_?zUI(*%Cy zAT58cz{50fE*1DcuoFNi5cproulTtguGjN4V5}GX-}lyX&J}pZVH)2i@cpzd#qUR8 zVEIqdCp-QiaQ;36-``;V)^0jKKexm9VTl@lUC7x>?fAaHhmd{t3;a83Uw&?fX(K85x9p6~*}kKYNvP$_Wy z9sq_j1pXf3y#LDbKO?(cBlvF#Dlyib0>7N>_JF{HG(i4Y;3MdhGOq~y6)oQST;LPQ zKYtK7KVM{%y;=Xhq)#`2-$L!!U*LPl--ZeNXBwCIx{&2()4sC&Q#K$zmLNB+vK-D2s!=8-x5e3^It;#+(Y1Ow}Ap@ zyWw|dFt8l9+XR6pQho9JvnKxt8Xry+_}7}v`CbdlKY`Xc{Jaq37gN8h6>>_c9e*eA zqscD(yb#OjMf3Qzf`1dqzfs`tP`|iS;9bei4+{JZ8dqNtcq{qUI|BdvP;H2h1m1=8 z{Exu1X#DR?cH(;7LVlGd@FBGRnJn-wG@i^6_*z;&ED|`^Yqh|CBK_A2d=DxHVV%JL zN&0UR__@S?sldy~4)|SQ3|!v{RNox}znl2)7x;Ga!&ZTFyYM&GS^gwy_dSCDNotP| z1wMfK=>dU1PjY?{ct%fMp8(BQT<({|*IVFckbU?*0P_zeKO8OiC)ip(-ydN9^T=+; z(>%aHj zC)4=$t-$lh&wmv744Pkhl3rXdmY*(gbzuwoWC{Fel6$nkf1>%dK;T_zd{`&&!Q>B{ z1iqTu^-_VS(0I};@O|WmHwpYhnlJ7a_^qT*tHAFdKYU%_c_jZGfmf0JzY#d||0wXo zgV?(8%`R$xBwqr@4J4_h3qg{;5<$(5;*fO7x-N27c~Os_FXUVNi>dK zCGc_N57!HvuNxl}cqNtlgurLf^~l=-znAK}PvF-K(f0Y5z~7e9|C}Lk_Ro0&Xa8I#aQ4qr1kV0>s=(Pl&k;D=d7HrZklk(&IM0K337q}> zNrAK9?h<$b&8PbW&io$;d=ZV$zX+WD+)w___UHEy1`3@0c8I{=B7d7IaOTJFP-9^E zf1-Z9O5p70MFPK(`g@bW+5YDX{8XCnt`j)>`OO0VhWH;8IQ#h%0^bl+)v?|ZIQ#it zf#Y`~G2r*IF|Zvn$WOi%_)Rol^d!BQzli3+egfxtajd|Pz>E+k3VeD{!Pbcae}vZ0 z%LINojsIr|d~)R6`Fer#vHS#@7akJ)8RS>^ope*5 z?@6C$1U`$_11}1^KheqN8&6BKW=3tHY6!`J9KXZh@yVAO4w7@r0 zy?7pG`NOq%YqsEDN%HdrKA-eiCGg>7pHhJjq;l&7{xJDNlfVn8T`m&%PMSxy3;aqN ze{L1{2;$!<@abgd#|8cxt#4lt_&0QY_ol!f4r;^wL*Rd;e)^Tb*N~t5Ebxy=PJsFi zx62M1XVV1!3F$Lf;2+TS%UFT)dsDnG!t!6G{xVna@1yzdB!Rz7<6Duy?;|~{1%5lN zqc#Y90NLk4fqzZo(sqIGC%?K~;5=^JCGe>4!Y0)LkJ(d`1?Msn^Fcn!7tE`iS_zkNyId#GRhQ{bCu|KU@CPa}PP5qLN9D<9?K zcKML(&`03QX&f6U@Dpgf$`<%OYTqdW*IotBVG8^#vd?OPZzcIP0zaSRHwrvJ{q!P% z@1_27nZTbRKe=7t*O0yL5_mO@d#wUbAiF&$@Rz9_-xc^1WdAmS{|6fa!gm6{hSpd5 zcNC)Yeiiv)Pm;&&Xa$uRD_!8t)L$|M{sh@=qQL(_@=p->c(Tt@fhW*-T`BPOWS=^L z-$U0ImkE3x>A79tf1&yAE`h&D>$iIa-kHYRHwFGZ`PI7u|D4A+fmf0L{3P(rg!dx7 z*#37=n(x~)UPJ9T-h+RNz$+=eOyC2^|3d=Lp?T+Qf%8u`Tp;ju(Azg6ITy>Yd`%c#Eh2>cnc&w~O_r}f(#0`E)h{;t4l zX#V|L;QMGj{e!^QQ@`s%^4R{zQ2*^I@C#@iHB8_iQvVt)aDESbhQN1`AI=eYI`uEU zK4yK6B7Zwo@Gl|#w+Q@P^4rS_s-{p&t~A4%iIZh?PG>!`m8yqx;cR|5YW4Fcg`0)LCf zs~)5m+pRb8rwjZd!lwxQIvTHL3VZCTFVSvdJty!#P&>XP@Fw!7&jtQHwadQ*K8^I@pAKgG z@K19trg4|?VI(Ik@ZmIW+%E7psbBv|;C%nPRp9T?c*M^)ak-z79rg)+mh*wYAH$3g zZ0dh3Cq#O768Jx9JPZo_0UF1K3;ZGSpBVz@_YHFe{wj^<%LTre=7o^JzoBujR^WX9 zcfG)$B0t|Ia39s{YJtzB^~O$t^ZnTe1^#d9cYhUlIr+m|0$)z!a5~wW?a%%*OyKN4 zjRHS|{PjW)e5=53r}^|&foG6@cMAMc;(tcqe7*mozys7@_6ht?LFI1N2Li7lyUis# zu^ozNyebfQ8ToC4z%QVFago69BR{!W;K$H-^^m|bwVKu|0`E?K{*}OUssEdP@Kkpa#81m(742`hQ1!e--@q zQGNFa{015~zZUp2)Ly>|d|9fcLV*05%Vjx(1b%?(J67QLVnzs)1kQ3!6!pH%{X z&#&cd6nG8!?RJ5`Mg8s`f&Y=ltNR811NDm+14{ExIQ zT_W)D?}7|MjrI`;z`| z2z)=;`5S@1O?Ljl15YJ=*>2sbUVT0Au>wDX`rQN%oc)^RPosHfiQs4aj{@I7_PI~s zyGYN+2)CiR6LpiTzn=;IOK6<@AAwIJfBM#tLtRM8897`FW&QWj_&HVJ7gGKl!ciaU z5=uag;Ac5!2z(H=(`JDmOLo54kWWL8lK*GH&+^|CI6s&8zQEU!|9>v-#eCPas^@cY)yN_jF1<_|Fjh{GH6JJotYv`1yBNcX{ytP4LerC;i5Q z|Gxsif%<#bqqH5kzCV*41`*Eo;oo(gD)`xdP7wTCNuN_a_%{gtyNQ3h2mc=g|I5Vx zoCp8w0)L3cflq{-{UpaXD%K8MuYm$*Ia!3WefWDj^94W4IYaPIrFr}+5B{A3=jXtm z6!;(-2i_3!%SrxMf}i!VN5}d<|L*NT!jpk~2^`EnLg07P{54I;;rDHp34WGSEbyf? zzpNK>_;+=$5d19X4#CgAxBIjQ|EmJ$=X~}G{2B6-uZ4X6-QKQa-2LPT!r32k5;Wfw z5B@m3+nJzw|W|5otx?+B-4xZ9z>z(>(I zGnR0+55HG)yx`}0og{FUQ!MZsX+B*qFQ5FRn) zPu7t7`-R|V`QHh=OJ|*_bEZD?ID^0AjiDRiXrE&gqW>Hx_*s6wz*+y*0zZ z?*#szZW{kd;A^lUAo$1YGyB6}>MxxI&d>Sv6ga;xmoD%zG+z%A_^d9vydwp^o38IN z1)fBHI8osDlm2rE$K*~eTK!#W;D0jkVgtX|z-tZsJ_Fxq;P)H&HUodaz*`LbK?A?X zz#lU3Ck^~z1AoQ9aR?3*ZLh#f3I9Ui)r6B9spqaY6NV@5BitXE6r>2^WO{{U8aNGk z3du2WnnDzkZ{XDA3JDvyIS;bFSgtvLH5vToytCE7&H19mz;h^$r=1i>`Q|v^YT)L$ zz1zUe@wUyt&GGhtft%wk!OnMJI2|zfeGupOKT{3dv_IXZRdNs?N_;_s-)xr=0v|-_ zOanLDYm&fcP&&uJ&30s)pgj?1{(OVqY~N)9r{UJ|YuWCl20!`(^H&?V=?{$p-$3am z12_HT0)cbi*lOT86vxwcild%6aBQS>3!M=+{c4B6dm#gao%*EO(e$^61%5H5TMe9T zj?fDNXItzxaMM5c2z)K2+YH?F+fN0~_J0nY6#`br^v}N=xao)A8o23iUFkX)<(PiO z-?c!TvO>(V{$cQ&e)Xe)o8v|gTDPJcwhhY3GH}x$78-aCGE%58@M9T-^K}Mpwj+P{ z0LwMo>urPIY!`md2Ki0<2O*6CZD86t2SEskn|2N(2mx`^&P@nHK-{!*3xW_3$Ad#F zMHuIO)HZ>0e^8D9H0J01%pg|Czl~Z%Mm#5?}Y`<`*KYJ=l!=9f%86FtH60btxe#(KW35tBN-3g?+OZ> z_qB2a&iheef%CpolfZc&sYT$tFVre<-v4P6IPcq7)Gt_n-k%8yocCLp&iuTu5*GZt zf6^py-Y01hIPZJ33Y_;V+62z~58OFfAKqsOQm19SiPAX+ZjNJN12@Mp&WCc$aqJJo zkLz|Gt08K&8gk6>?L~v1=W68t(BRKOfIf@KHV*FzOFnVaK3)DGHTaX)D;xMxvoZ^OF32(DKE%?Uze=2 zGE}sbejZxjf<}_uz}yKOy?t z# zRVApVpmI%wdzQvrpz^ZH2up!(YGo8vRa8VOp@&vh)kQLnTex&gZCydpS}HnH8Y-zN zsDLbMYO3n_TEQ5m4mtV>%v(KNa^(;fp!0EX-T?CCf z{AT&P4k16Uzs>S-zxZJNuZ7At^M7;*`FFVF|LPF(?{vxkKZlV2VVC>|T=EA2!=*nh z2Oy?HE1h}Yg_3Fw&2c;rfCFus1BV$(AJM51bWw%=lL`mhGo6@6!5Pb^I)!*d_f2*H2MeEoXUQ<=rRN4 zA8KL{r^_q{od_{E{afGAESbcK`lrDm^Tlqt&{6UnTPqO^EKyWMnfJ^x(QkGu` zm|OY$-j}(SMjfP?P65oV{NS6&9sNB;tbac^WclX+=2rfBRR7;9|96nzt^DmS<)g35 z@^7N@WxZaY@-GFt88|;UM`0S$-PK?{4+Kj>?zguPh(; z6W!YXVJhDof3sc6KN0e$04|mp*27f3^f%TYvZ#R1)w`AdsZ05|*5Lf?*M*Q@)(Hi_ zK;?foUKQi~k-VpPl%Kv=XIVB|pV9u4;E?54dX)cozRq{8SeVN4&-TcF(#bl1s>mRc z)|npqR|hp`6Jll~$XPu+@ zC&XrV%*pxjyXPD?SsN+8iD6vw?xXx2$iw%W_7Z@>Z8y6 ISC;?(0SgI`ZvX%Q literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularBase_stub.d b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularBase_stub.d new file mode 100644 index 0000000000..0811c894d3 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularBase_stub.d @@ -0,0 +1,53 @@ +objs/AT_CellularInformation_unit/AT_CellularBase_stub.o: \ + ../../stubs/AT_CellularBase_stub.cpp \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../platform/Callback.h ../../stubs/AT_CellularBase_stub.h \ + ../../../framework/AT/ATHandler.h + +../../../../../features/netsocket/nsapi_types.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../platform/Callback.h: + +../../stubs/AT_CellularBase_stub.h: + +../../../framework/AT/ATHandler.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularBase_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularBase_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..4783066f4e09d8fa0765ba419b40f91db04b53da GIT binary patch literal 280 zcmYdHNlw=?F))pLva*eVfnl*Kkf@)gwBi{f0|O8-)Po2hV1ZC@S{lm7MX^KmA;EZNa)umolf%pD+u0P(RM3IG5A literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularBase_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularBase_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..0c52812af879fd7af2a558e247286d05a2c72a09 GIT binary patch literal 824 zcmd1LOHS7^F))pLva*eVfq_v5NHAowmX|z<7JTtC_BIcY8z1H8ZIYXmnqp|`7!vQC znv+wSlUU@GSe$BTmY!M?pORXZnVcG*T2z!@74@#U-Ul#rkNP;z6Q% z$pr-INs7R!~+^AB!!7AG)!RW0qzP0)HH&e Z9zb!AoF0ULd~(tQ$ZmNcRsdoc003drmJ9#@ literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularBase_stub.o b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularBase_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..c46a789a629c33f61b921404f92d9090e812cdb9 GIT binary patch literal 29864 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularInformation.d b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularInformation.d new file mode 100644 index 0000000000..8e44fc5361 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularInformation.d @@ -0,0 +1,54 @@ +objs/AT_CellularInformation_unit/AT_CellularInformation.o: \ + ../../../framework/AT/AT_CellularInformation.cpp \ + ../../../framework/AT/AT_CellularInformation.h \ + ../../../framework/API/CellularInformation.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../platform/Callback.h + +../../../framework/AT/AT_CellularInformation.h: + +../../../framework/API/CellularInformation.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../platform/Callback.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularInformation.gcda b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularInformation.gcda new file mode 100644 index 0000000000000000000000000000000000000000..fa685c73ee821bf0a18d5ab5c13d26116ac1f67a GIT binary patch literal 716 zcmYdHNlw=?F)(d^y0VRdfnl*Kkf@)gwBi{f0|O8-)Po2hV1ZC@S{lm7MX^KmAr%t``6nr%mzz literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularInformation.gcno b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/AT_CellularInformation.gcno new file mode 100644 index 0000000000000000000000000000000000000000..80a69c20ca6744767c52222d58751ff8b193d7f4 GIT binary patch literal 4324 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/EventQueue_stub.d b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/EventQueue_stub.d new file mode 100644 index 0000000000..51f9676942 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/EventQueue_stub.d @@ -0,0 +1,32 @@ +objs/AT_CellularInformation_unit/EventQueue_stub.o: \ + ../../stubs/EventQueue_stub.cpp ../../../../../events/EventQueue.h \ + ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h ../../../../../platform/Callback.h + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/Callback.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/EventQueue_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/EventQueue_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..c499257dda11b4b35d77c92276faa2d89290f02c GIT binary patch literal 928 zcmYdHNlw=?F)%&xWMvxz1H)ofAW=U}X~i=}1_mHvs0R^1zyhJ*v^12Di(-fBLzbTb zTiD$+lTw_17^H>`RSh~1tS6`Oqsf)<2?y*p?LGj~1G67ZF<9-_hu;G3REs*2 zV*Y8#$_UpoSLrR06B|M1a{vv7`5Vm+WG>jg{)_GQjcs3;zFOwyq5B7m8DKpv<$n!W z1-Ks~hZB-ou$l=ma^5H2eR+pZ&0n6`b}P0XS3y>T9@;sX|5FdE(8w{!|bR#+|P>A5bUfNlo59&|p?EO6LuYrD_7tsr~?4nH#h E0D9$kq5uE@ literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/EventQueue_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/EventQueue_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..85a626699cc5aba63905956ebeca25ea73bff2b4 GIT binary patch literal 5532 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 ZFkDileI&ctZ^eg4kT$Y_DVD_V{{mNYhp_+v literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/FileHandle_stub.d b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/FileHandle_stub.d new file mode 100644 index 0000000000..bc0f6aa5b9 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/FileHandle_stub.d @@ -0,0 +1,42 @@ +objs/AT_CellularInformation_unit/FileHandle_stub.o: \ + ../../stubs/FileHandle_stub.cpp ../../stubs/FileHandle_stub.h \ + ../../../../../platform/FileHandle.h ../../../../../platform/Callback.h \ + ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_poll.h ../../../../../platform/platform.h \ + ../../target_h/platform/mbed_retarget.h ../../target_h/device.h \ + ../../target_h/PinNames.h ../../target_h/PeripheralNames.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h + +../../stubs/FileHandle_stub.h: + +../../../../../platform/FileHandle.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_poll.h: + +../../../../../platform/platform.h: + +../../target_h/platform/mbed_retarget.h: + +../../target_h/device.h: + +../../target_h/PinNames.h: + +../../target_h/PeripheralNames.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/FileHandle_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/FileHandle_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..b535cc0320cb5c89918d0708c37f7f32f59e6c9e GIT binary patch literal 644 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/at_cellularinformationtest.d b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/at_cellularinformationtest.d new file mode 100644 index 0000000000..3d918a8b16 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/at_cellularinformationtest.d @@ -0,0 +1,4 @@ +objs/AT_CellularInformation_unit/at_cellularinformationtest.o: \ + at_cellularinformationtest.cpp test_at_cellularinformation.h + +test_at_cellularinformation.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/at_cellularinformationtest.gcda b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/at_cellularinformationtest.gcda new file mode 100644 index 0000000000000000000000000000000000000000..ab44bd2c06f452b758b9f4feadccd55104f11c5e GIT binary patch literal 2560 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%0DZGvF{R($zp1-Q_0>Td{yp`~S3U4F) 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\NL^1T3n^fA2!}gpzMy ziLxpzx|21e3QQC6lXBsWm!?f#%)lvBiO-toFuPWQvL3&A49elmB3kF%JkHJOQBS>5F6L{h-O%cYMCET0|J10ghP5ai&VBdkzUzyOi z208aEDF2P$Jc@zPd0aD*B-8pOQ_$(-@e729F>PkB+feXhLeGdxFr@GhyhR zv|YPFVrYo^h>5~5nAWUuQ&xh7b>Mpn?odblQvsKx(uw7AElIpzu72Wtxt1n|aJg({DbDosTmKWu6UJa~E zy7=N5a=B!cT;4>-opkY=>6nx*&JD|D`vl}`PX z(MhNNi?KC|r-wRGyg8Iw{v?xy5`PzEgfxch@4@b70JMNi!Vu@!nw zdxdVttk5}*3f*{Fkx2ij2rRm*v%)XF7ZEJysqOyNhY_}%r?&go@D^hJ8<#PDIrmul z_Y%wazau4)ejY-~x8c6Dp%k}cm+=#ixc?wbZ`tqu3ygl{xpQ&< zd)`-8eig4Ndy)6Gl{`Sb><_%JujB#hWq;)T^hzF}UiK328!BI#gZn@6enBM7)V9-v;9N^C#_+FrH)6g;F8Tk){FiU+8d z`3c6huZjn#msQBaU==snS#{!X@o=z;2dJ0TBtDCWw^#81^|BKZ z7edmz^mO_gC=%^|DzBR-6Z`cz}A@Y>C_9DjuL-)|lwUd%lJ)Z@C%SBWk4!!jD z!nlLC5W)M8F!%jR9-vH-7?*txMQ7YA)8rcN!$coaMBn41G8_FXqN>362+*>DT8SfAo zD*lN)vZAyn$?8l^UdEd;3NZl}qlTAOCK!LJ_%ddO{P8C8$coahCs|pj_RCn)%J`&z zB*_zb=0NF*5}rmO3~%x?sBxvglxWjhXaw2tB@*659$8U(iX@;MnqTR>LjtOBsg+dl z$coZmCmD`b#$;c`EIC1B)95HViAPqHP7rh=kE|%YQc_PtB&ql6cw|NC#v!>k~9(ngr&vH<3qHlx~(L zM)MYuvg1iubEOjJd?n;B68>?e*!PB?M(bI|O>*p1o-36&|KGuXgUU|{KeyPO7x0s$mF(2> z>%o7?RPfJ0^mwk6@DG9aEsozim7keT$Y-XFD=l0f2FG0?7e6zdkk3pTSBY@_1311J za%E6q6Y`m9i=i)E&w=BY0oQ4)M~UDw)51}TvDsMsB+ZzUft+OeC#!>$mI>Eva5RTp z{1|mYK1OYCD;KWwz|row$|CtOnJJZzQP0r)s1W{Z!F!|Q_f9#j$HO*hMvmJ$zvbp*ROwu=j4w;{#8E9>DxR;&#PtAoGu%LGv_=$2Gc~9nMKLw z3TQiS?#?VuCdcBQo4YehlIZVyXL1TPvox7z#?IvC?kaBX&MZroAe2`%jKavAm88n9 zoF%7aXI3Py2dRovsF{_?9tN!96l!Kw@)|t&Rh&Z2v?M=(2Yj=Zo53@ylgsc_Te}S* zXIxhgL^l-Qhv$dzo3aYzGDgnGx}o@=K>A)lJ{vsV>}wg?HWdE~v=<#+Gjld4NHeyf zID;&x!!IIU>9(PG7HA6ty2x)}ZfA5u@n*a*u?6%u<@3yzwA+T_e$e)le!fJH8;Ucw zq4?c^-xrV?xB)z)8;Yee-V4%a19BrbfM;w&@uPr6v3aMj_IzebEh}6tOL@+NsISTL ze*C4bf03+GC24ZKxjbL4vXlybF3*>%6y-mc=gU==6NNpblxn|9PATHRsB#?Osy4Pe zuZgD=Rqf<`$}6u&xmUHH44&%BDmkTyBPiwHLn~_hUA#wM>sKi3s_t`@Urs6FKtTET z@z(hF^WH~CzW5Ws$}hy9ssmR6L)X3&56#@fU-fMA+ki6uEDItL>B#U*aBm?8LRBXeF<&`&R4dC@coUyuZZ=6Tf&)queG$@ zE%{ApN+nWhPAI2}V`zl6sD2m6a59P4UvINkts8a)cWhwoU-qtGa{rl!IP< z>x4xV^*BKef#Xq~@FK}iJ_s_0#-qqbDe~S=gT!A*Mmfm|MiVA6{C$ss$X}E}PcWKu z5%RuTPB3BxCiKCSLzxnJ@Ja_|r89PM4k|4%$Dt*r58KrL5s zOBbx%0;=dLZt21U>!a^2n*)sa6bnuMjL%Ks8J{|Lu}?#~Sni>Ua9^PxMOs4BC)p3q zHry|v`P25p(g8Y1ly*>cdB(p1_oB(zb3O|k_u`tBj{|=gcZ>ZeAwMI3m$OGX`b)Jx z0^6_flkG6P;nZj?_5X5qE=PZ^w)zBg+40K@u##O&Z$TD+u!UCs!qnZq41DK|;$=s3 z^yg|X1>e3=yzESV+T^||kb4XGz7peI#jlbkZe^DcQ?jcjpTegZ2*S_Ru4H$!VqsP! zYzXAgH|ysyIo?WkHAjE0whTsXJbroUUd|5Z=+D*81K+tZ-c|fuZQ@I`)Lb@L&Q9nj zH))I*P5w*V&hxZybRl_z;#kGqeu?j}1Im!K?2ayHzw%!#IC@U<59=)m@og8}N^=#b z-V-mf?#Y_Na(3f4TF_I2p#Onjzl#O+TE0I9$6y%m^niEPi8w5xV>fyYtSF3PW;U+n zY+IbCU-OUXtW6=)u-)6D~0wBp{Z@|Q{S{tU&Q@_rY_@)q!MV!RSP4)^a0#!%-Y#o@e& z-zW8=4(CNvHvlQ%a9-5VLDq=Fc~Rqj2^>0{7tOta$Y_W2RF+alJDmSL(2{%cC+&X? zfBnbsr}UHfqYmfAPu;{@PKKuM-GIFo%)gMRQ4k+)|7}dAmtiXZ4dB?n z!Hs#H`v)6=R5bXq1?);R!pa8!J(u9BF@CScm|MX7LmFdl0rPJnt9qULH%l<_I``kl zd-Xc^-_JZ(uXFzc469z}{w=&WuXF#_7lIhyb}hncj6e7R+_Gppagm4r5l(y^*S%@`!V>%>%8Ni+J8G>^*S#dAWN|0OT5lY2RRq4Ugu@g z_oMqDp50|L7-QMyRd)KtxKpq5vNL$EUgu>q$*o@JWwUs%+q}wV^W&K6bzas;G4UCbW zj7e6n^Rg`8re5b|%Qb1-=2fUCcJgMSSu zKO9&7!>3))>fWv~y0@zy=oyYu zClS(sy0_~rkj{4GQhppl_jZkuyvs<6FU+dmX=126T}xd$lTbuhz+UVd8H=zb~Ih_G(qwUahZz z_895YmuO(}fM2kRc3FsnUOHL<=euNh$-VAzYK9821O%icp{2J1qljw1hsKO?R zJ_z{EfTZQ6lSEQp4}$dNfGl3;6*fuq1Yqq2pr{T|aLIh6RlUx~+;Ukd@`-bjV?Hci z=Se*K_|^TAtm1V(=1%cCp9FN8qvW-H@j71&(rQO8eSx9H>wL_^^g4eL&&fA~+?mgU zw*ME2(=&*sdYx0FX6A6e)ysIDXBK@8OyYH(S-cmw>UEx3!a5&#oo7}aLC;#f&NE*c zQwA=2ooBwRrh#7PnXh~fA;jxEbC{W?AF7Z0g z^dUEyE zS{~HvJaer)sMmSs9TEfeI?vo75mm4A%#Fh4sn>btUGijJ=Na`nKe+aB>TkaBGthuk(y}oilWzALRXxMZL~5>UI7uptm}Tyh^>! zGwOAI4@jSJWc51FsMq<|fqpxnh}U^Wyv}b!^b$V?UF*k z=vxDdc%5g&>wE)a`~grt98hcNb)HeLbAD*@D~?jiDq70=s9xt8^*a9-(7)$+)ayK> zUgy6A`a(#d*Lg<0&Py<69fP06lwRi<^*ZMy_q32guk(z0oi7HuJfzU;JfmLc=K;Mq zporIbM!e2@03L9JQs%9CooB@B{9T~j8c;P|^g7R|*ZDmlJrIz!>e1^wqh9CV0_ll> z%$BKM=Na`n{~1Ux24pE~eFMGDGwO9dW-L0I_-QVP*Lg;~&Z)!_XMnQUQA@vts!&Q? zz0Nc0b8xJqKT)#^nAb=MpnGeGwO9Nj0sEvoQR*Kxs(dC^fCUC%n`5ijC!3jM-#Kb z+3dL0>pWv#=Vt@vE-w`nX0UjjXUyxo7Ysv=NxjZ9>UGZdCEf$l`$ICl&NJ$DF62*v z^q?b`O74l*c}Bg?h39e5zw3C^>pWv#=f42_J4dnv((62bmDYdw&Kk+)xsMmP|L~H@i1&&X>&NJ$D-UYNjq}*MPSF6|gbwJ-0Qs{M_ zQLpo1pdSw@^g7R|*ZD(0zvU>Uv=9~_dYxy~>zq0A40w3Tccffcz@B)WXNKj2X5@1p zn$(nw*Lg<0&Pkn)Y2#V=8I@k=8TC3Rbu}pGI;s|oc%5g|>zpi|ARh==!s;Pj=Na`n ze>doN6yOoB^US9b^g3t8e;zy!J3jR~e=V?dt>DfBwesMk5yh&lId1xv5opc}Bg?8FCYN&U1X8c%5g|>zveXQ1&~j zW|MfGXVmNbT_D{RkfkYpj&G9U60h@&dYu#fe83p+Nck(bd7ZPns9xt|CvyT@yw1lq zJV`UAUgu-g>%0U+&WP82pY`Yn>Ed-hR=m#noH!li2FIda=VQg|T#Vod8F2^18@-Vjri65iZA{R1=Nz59Dnd^knaTPlL1-c zHNPB$l!Nok*$>2f>?I48n3p#I}B7Q@_bzl$pE;q;^M+L@P0C zEu!wCMb^Ysjt!Z|c$P?JrF~8hEb=*7u}JQHj?dk!2nV75Hweg|4Tu|NP&jvx_8$OT z303x6T*dzeGX|v?9IO8g9=74$_ZI(|!GYIBMKBQFErK}4UF36SVv*1LwA_pTP4$F< z@mR)D|C{Q$OBq>j8U1gnf9_v{NgpqH7X5Fke<2~A|4p^}-|WX*-^n*qNa+pWF6AVX z`rlNm|IO{7f5P!-4%X8Drds`P9tP8H`VHY^BbUl2q@xz zQ!V~Cj7Fjw5vs*cV&;keO||;poC$Qkqu2`bK7iO`d^Y z9m(pqU!#8eX8}0dQLKo5QxAQre*13*X{RH5S^DkQsNeozfFe#D{H6WJ5gVBSW^Y+$ zfa$kS6$YPvsEtLEUnLxU2pdhFu+eXyqtvwj1lZC()$<|=SVE1F_NjEzJ{91&12ecZ02kO+7gqbh-zurhAXvJcFnIh6JyK zI%3Vq`14I@f~U4*33~1F7uD+aOFbWhlO}g__oT0Z%1Z?hzThIR}RoB*$0a z&MToBmRwuIkX7ekAip^)62ByWnUW@Ow&1sxlHd)s_9eM)_FAZ_y{#a1;1|eW9pup( z20H~we%^#$9SFT1l$-He%ixkdx#e?3U{KE=ZqAGD(rl!0oGZEXQs!Q;tK`(i#S6;ph5EdRz^olZz z$`_ZfLtRQOOceQiNZ?$(#vVxpx8C{h>@8^zD6Q#n1Ebu~-s z2;%HhzM-N9jOFDNAwyL6?z8HaAg?pC@k+9dwFsiY;((8G@K*6cQguy2!}nw;w`NQb z{{>(>0gsY`bv1k(H&xzxVj{7whTP*%#`A0tYAxBt6j?XU$o#sHH&LR`)PSgwpM*;4 zO%8CxL-CV>lm@JC2)K%sr+$`)+z7;BhisSyjM9`EB!G!OWxOSf=&50{Fq?+D>rF*4 zUsFzoX~BES!%UtYfW;v=BZz>+8x=p`0>CPft-WQ16cQE$T<#_D&NF8rYE5+k3kJ1K zL2he_&58mHGrP%KQ`3`~GzOh2yTuH3v=W{-zAEuQmGJ-fl`t77g2~b}&zOX!xuARw z8t0i>L3>d5=9Dj~+bQ&!R3J@gC$qxp+mi|Dv!n3(@(s0yV2nh@X{*79*(%~^HKV@x%Mn&a&M z(Hwc^E3Br>`0>tAs0FNznuLKnwiUCA@^MzEarl_0FCv=4shP(7_lF#F&`I&xZI~MfET+IFOOZS@hpB}o za3+3!kVIh$^#M{7zF=YSW=Uj7FulNhSAM>BaY_{FI?)aUmP|*pnuIJ~D)9@_zbwKi zuRklOR`Qrdl&wrzK+D5wrCNDKn4|?5141RZT~~?8pb#y z)PidRIw}AaYnT!1q9mtCL-N^Ca@-W0qr}j-z}r43NW6tvxFNJf8{_PxZ*pM1If3h` zcID0u72T3L7R8o40J*m{4?t&WTNJ=tn=>Bgk4tEFy)i6J%)>f6bz!7X#CBd30g7o% zFOFu0<`LHXT(4hz9jJvDl+)PYLsIN#YbQJxw>jILeek^2e4}DE2U|ka=CtLL&A#l6 znw0ja0kZHN?gcatyP^yxVRydG=`6?KrW(WlOObol?Pt(Eqij(ZEec89p_S=*fvjSd6r!eQWqa2Pl-90pDbhk=u$ z!@zKGWC|QMCTwVoMg8ciN%&-^g4NDQAA`f0uz{cARPd>RKv7|*MOEZdnQ<+Ob zm5KgnXc$+Hr-`jw{1_L(kM{$CgO)MLVvJ0HPh& zL?h$0<68E6LK|Z}nut|#9U-$N(T>pipfh6qo(%zDy%T(=!%YXklDIzDW{F5%pX%Ib z+}ta-1R!dY1GfgCG&Swkn@-)v)!^k*RHvqA?=G@B|U$HjqylM1daa6nuVm zGHPC`z#B0yn6krrf{tiS)V#p!-WjZMp?NtmYDmV1x`xrLjaJ-HKi4^{F(FEiT8)X$ zYD@|QiV~e1wHhad8UpspS&jM-W#9N@XGB5^Wkx~!YLU@UzTrAGh@0^SSX00?m;aJI(j>0yp zqT>;@9GFvaCSs1oCV0Kgsjx|hxq@+%Q|8T1na>N84V&eZ`GQF7MVT**0HVyp@ey9& zlsQ*3y(Lb0xCxD=PSaqO!t?;*Icl=R8hO^~xaCfcQ$ohD!ii&(T{)`xuNvLJTU>`U z+Q17|!*tgkW<=Y=>8?Gv<}IyVrcLAR zA+LeE_ArZsldwUL?l3gC4nt$uFj%eUxVrD!&|FvP(S~`ewi;U^@-4EN&Uvm4p%a>K z$gK^bgG!^=B&K&^D3I?)%MK?aF&A23zEdVdsfySv&;=c3{#`padw&+%q;$8`=<+R* zIZ=zWw0CXmuBDG^+{bIcSidTYTDw$e?TSNdmktM0y1XW9YJSuPmP$Plo67id0OLlM zQFTyZ+5!uE*z?DAvy5x|WAjx+WE@G0#s+O`RD6stvN^rM`pG4>psb-4bY<;Cr!~gA z_`p)Da;gjKxXy1!EVS#vP7HY*G%4sfqr{lt$pHYpM&P8tj@uyQ4X$m7y$&ZePFCsR zoDb76#dR1$YmLT`KhYH0YiTF((aLE-tR-arnnT#MC2ZJJ$y>UMiiCv^Q^Y8SV^oL; z1)T0WGG|14E)na_xla@l^Jo@|U6&0-lZ6dGufr0vuj8s zjT@Po32KfGdgi%756>U*7SKTJXj9swEC0}%Tc?9Lve+rdC2EhBM!TKMoWkVp4KK@@ zuQOSZW*n@K#7y>ReKBf%BVaLAuo^nbdb!jdYes1XEO6+gQ&dF+o%k>l^At=`zUC97 zFLO;{({@Hb>>Bu^-W`2qp>Bn1r4*eC1^v&sA-{XdI`=>0hKOll7 zU7>k}6n@_9SH7MP=fFnkc{wqNYQ)WuFLEkqu~RooqW!a_&IT=u2i9rGyTPT7YA4*+-wwF5r+sG*XKaCtR@KwKFW1^dp26OJKxsfj z-R=FIZMnhzR^)~tj$cvQ)=m}4c6 zk{wm@z=D#;prUZegWyUYw^s7F3rZgMEcxvxXL;ilElv1`aDo=vXle2W2Y$^<_>UxK z0!<}>Kk4wY1U@9cyvA=&o>l|jQX^kEB}-9W(b$ClEiai$r2Qw;Nvr}EIgX=KvSi@r zR6?msP639OuK@QI0^pdmbvs7X$%O3tYHp8sfaO3eoOyTt#ArtRKz(SZMC^3KF~ z`;A-TUywYdTHB6f*v;-W6Y}Esn+RMuejl1@5s`pF{C?`-H{{7%JI%NO7nb*{2uCFA z7flZXK60GQABpmX*}r7QD+~TilrIdv?DR+?kMs7QMESzt*)v{Q@SjHc!r&{;wBW2e z$9ennQNA$vs+q4W_NX1*1?Y6{%-7kBR()Vv}3^T z1Ge_P?L7sJWu847Z6?*A9?Ks7-)3k>M{HD-UM3*}2ab^^v)eBlY9DG3GpwV(wYz;^ zZ~vaz%eNIoH?Ip}&ESsq*1@6v_JP?w?SlioZF|}Wv7{Cnkky@C?Q2_mc6QO)LeYoM zITjW`SPHV^`Y!L+2Wn*v8%HF;Mtvj6HmFOhwXl>i0uW|hmTA4_H z1XjgaB~(1KO5h2s5-fqUN(?G}2lhg6*WcN*i?^dpRq1F`RaU@M0UJEf*UtV5dg6iA zf=jZ4vE8L_aCd)u>rRJ&v9L))D0H`^UxQm`-6%`@HKa?o3U9-`mUGUv7J!%uW8!*f z=K}`Cmv7SoV{dCLrtQuCZ(X+m05;GEz=o{~#=h{%%kHy-M5s)I8HivjTP2QVpXR7|=`RM;Jmq=8l;w`jMBo#=kn` zcgM*U{USziXU7%&4!whKB^TC&Vcb!1MF$fk&5f9TcQRbjEr~?(v=fr^BEj5gZ$*D2 z!DdEC?r^uFPYY>wgyhb0EBaz0@vUgg|9PRM^h{bwF`h-}y_~ej;3~ok*%ctX*TFRj zf9VU!sWo@{H~Tl?pwzwoE=?J^RxP%`^@$fA^_S)oKkkUraYp_mC-|QodOEvS(g&iX zqYgeZ@!e0o;D0*$mW@m7Elr8!lZ*87iqQM(`?@gGSqLPjqe z=bxP_E;`Nsbt+YKiGOx-W(~S8i%tMnQ98Mj{i&k#kcPR}e<+=tH8#1livJhYCTCS9 zn<|qFs&HWE>RMkVO%zETp`_#)H4;3T6Jg2K)ydO%mrf_wR;7OeiIsswz^UY{Du_%j z2n0WA-J&#-bF)k4M^LDiHN@|C_=iHg1o%HW`~#_k|0sH4QmIL)SZW#b9#S-c=yOi3 z;eX*`mfz;M@bw9r`cyg@whb~&T4rL%AZ^2k)=TOc)5jh9h{2582d8rkR||do5$;5Mql@fb5hc-3eN0#m6V9tuRiNh zp@0RU9^K$SECdO|w*kL77@rNMi=MvH|47lt6UjA+yrCIY>S33th^`_2Lx)FnQ!((D z9R8S>c;Tkx^b`F>G-IOHNxyux16Y`nU9#K>`_Nhw_9*s%lqRPn{0oz-YaR~8Ow&;Uy0&dzAfkaiYrY@HIm1wK|wu5l{r>z zLdhPdDxmfhHa{{ecE#CQ(!B}Esny9foJE{bv)6wT+6a?>r?OX>OhbjXC(o?8#(#Jj zOarRKGTuG9-hXtNbtKtub6-p>iYRg7?&F6=5hYIL?!I4G^zPzON}P1}DZ-+ENarhY z65U4!i{4o}TJMs163K8nDqcSof9|5Ksr zuN5Tt8`N(_M(g9hYBK&6G=f*!o@}uv+UbElLCWHtAod55Z0lK}{<@x(-b&Akw~?Mz ztV%oOsog=h4C1AYX7Fjhy9z}5)<@5(wmRJqf~sfE_>ZOut3&2Fo1=aQ2U`An3?V*@e}>u zEK%h!2~{NN?L|d8hE&LoSo7!%Uj*Kkr@8;P?9yl+yHT6#xoilRy|k4^dNom+HP)cn zAlLJUWG~+|5hP}zf-X#S>JAMmutd0zHh);6NLz*F$#1K%aTlsYBr)uwA%*#1G=)OT zZ@!@!M#utv9F`Z$Y@ z968XAodC0U_jb3>ZtWS|(>m19IJ>R0cW^e9+sxj9*}*8O&E}tHpSN+{wrwq2w{4x> zI*9*;RtuPNW=t*z!?r_Sy0g8lv%9q`*VoH@>)qSl-_g~JEd~9%G@lWoZFj$9rPYIe zc}7~g!R<9`A@;QIY7O&YU^kLhpI3}XQ|G`=to!HIZOW})x4y-b@|W=ox|sF3+}_q) zS0@%a23vRKKWTI&3VjE>eJl#8RoL<%Io^|(7d3if~2j1QRt0f4{y2P^C*?Pd+F@O?k+l_9)`b{gA zug~QMhIZuE<>oav&uz{%Z1gR?Rhz4sIvX<%T%MG;m<#rs% z4fM6PwR^dXHZIhfgElp%DVNJ%*v}zI`>yu>b)7BEXnd{vTRapRawErmAu1R-g*wWL zHsB5PV}%JVrnf_z!T|3(`KJr%x3(sGPv%*h>>KRg+1b&7eAc4G3n@<8`#`v}MH>fm z6mJ^p!uzFUp%_@pl-lKWxEyA~XIAX$MpQba`VB&z3?O#Mm3Ap9Mlvt?b5X%s_V0)6 zw%#Gp2YaQt$~*U1p@LdCiS+0obE+kw^0nIH_{k;_&y+o(`lceUdgscPFZ6HJ5cXn*}P5mzXDDc0^j2=l=8RkhMJBm3+x$d@9!ab4OM^Ps4|^R^CU`Zwro0Y zb8e;WpgK;Nl}#;M&e@vt+F&UM+xY@YS+L;sO4zD~|0~%RFN?n>#VEhl{++%1dJvJq zwvPoYtL3aW^Z(kMh{sjRRg%wQYC4|Sl~NdCZTRa#t(=1tG6}C))kkI7>m4uR%(-K= zv4Z&l`-Ga`qlRqm!sE$~WQxS&xNR@OtnF!tT`*)uV-xH6w)TFQZdkQ`5yb*|mF;E~ zvqE-fyuR(_<&*lV^Zd1~6RTLuj$0PTi{NqeAfx%}nn`0rsKr?I3-`BPKUM15+iR;b zPy<9mzv}FW1biL!`RkMDcu~S6%{`uS_$%v}wBo;3Zd9SIqZ;e#YVQ|q@VZ3RGWu03 zDjHmjbcXt*-M{8_Q%ub3SHGf_`1QzEXCz;j>J>yDqx{a^{?0)R>n_^(ip|{Up5`m= z*1f9txM=>h4dFOST#RpM}PH8sdG3H6H0^5xBBq{|{3 z`8dR2#O5??#J1elu2{dtlKi^VTj_7U#u=e7PFpvmc6(TP!t#rk8|oPvXx}*}6yFf;RcP)Q zIMCB(-4S_rb4Zl+Y00CV?SrkI5XC9fo?b-QmO69YLs;p`Ne4@!9>%8$Gs$}*fEi-tFx}H@O`~LuP9Vl)%QVxyDGI zwY0QuwUUcRT-GD7R)iHhT@cXGSuATBn~;{aJ-N2-ok&Q}&VsqL0277n{r$cDEj#%B z=2h)`JKNe@h-|~sPm9HR#{rB(y(_~)!^Av&s?_qqwWkkr$(-x$#b8Wc$XVYY@1p5y z?iy%s-_z37>E$FHD4vinUM-p>(@@#=c6+FKENn8*nNRC+jQKdJxjQ8tOd1yv2G9_s z%Nfg}=8mqRf!(Yc?O1XdLfJIV13wo#x&~W=XhkYjqf`;gGIW$Xx>|P?s+S9~+>#q; z>qQps^$-hYCgftthw{5x5qqFsj#+2fmfP35r+tX4V3%R(ZC6igmxti}oXe}<(TioO z!VPy+wUMS2uQF2Cy`H{(VFQh%s+qB65L1?jGun6?7dvgw;xaE@msqLPlc(@3KRtxB`vktN8@A>)EWaSPdF`f+ zExC>7ZCKH=CAW3mMJ-+qZ^fz)%c!#(O{zZ!ZLw<*%aEqnA_<$LjSf<=rc9l+gEIzP zUPVkrtH@fca-og9Y~^z1R4P(bB|zOeyB4ctjSHDB_@hIqNKy0ktaI=p8<0w|59>*V zV&9sJgexC@nW9Z4HZo z@b=RMP*pg`ntXiORw*61K%?s_x7R^WHkc4pG_ELyEh(xo=4rB!Wvr%iclGsY`(tRd z5Lh(qG}x=vFHl9O7cvnJZ4T|vnpdEDG@{OTg$BZL#4;?dm(?`pdiLRHf%g7Loa5R{ z89R1!{jw8fk9`k;S_sJ+H|h?!oZ)@9M6(7G%O!bj^p@&S1jm_9TB*?$tG zFk)z2_at6zIfsxN>TffhASNHmCKgLrh}~E*7TYHh8soXp#4>K#3=N)BWkUVh3iaCC zy90Ih%DjFDc%&|OV4WMS5mg_12(CPiwwLxSiq_Ps8Z@|I_O`VT4CL^VLK)OBu&1*x zhc(yM?v_gfhG?y8vMvi_k7g@7DYsT9(0_J{nlow&n<;21J!oRmMxpMl;0zP#g2%d}@owIzN+x=lDPtSv5 zbJ<(x_8Y$DxSbt0&W$(Tx!6IB>e!+EL#WOI@s$Q1wfdXmeTmVwHjoo-D$ei~==(0% z*@^8u=vB9%zh_xCI@`4qU6||!F?l>;{azUKHfi32cSIPp5}%zLdMh6_$;nE?`ahkr?)&|y;zShXNEBa!LQN?S^(u!+!!{Syrq;I`>Jh!$kL8~J9xJ*)<)WJIxD;;f7#yIn z9@E;-rSUy}n`oA%FN0gQKsG_@`rMBG-qxLM?6pUSgpo=Xs0=OR(RBbt(blDnAeOiD zG;Iio$jc_Z!R|gb%dj$yQg=;#=$p4dwdmmt1#2DNsI^X7UV*mRIL|fC9L92J0URW| zMjEEAaW3{p#`CR^xTYPjm3y$2%38ek*Mbc9u8f#VSM~B#Vk~3wJJc`JDHBDA#@vbR zt1b1_sOH$`2jzvj%g#GDv|^ttI;^8R^cc<3 z0LxZNC`2urr~m zCx;=>0Op!Sp9PkO;*W1MIO7#bgA9kPM8YUFHb|Uo=+wpuAI&9eelC|IAr=;BrhFA= zAY^J_^h+8e9W}7-#AuiCFHpal*ucSpR>Cc#GMJv%gyyNUTtTKr^^bH5kW$nM6oVA1 zQ`6d6&8vTL^T$z<&7F;k_(Cb+cJ$j|=)-ZEyayE_$I^Dg_vtf^k)(M#c}BIs&M;EO znnvAcYOe#=AYqY=mQG#RPi(nVI=KZht+65OfVSwoU(7(X1oHD+SiCU?!x7om7a2C^ zXJ}+#F;C}RP-LU4${gt|u|n&l8`G`5@g3UsbjGQ_T{c*|@Uf`7u7Q@3%qyV*%D^>f z%xT&5V;681!;xPNLFhb> zB|281JC5pPNSE8NZvFaoTU!vRRa-Sfj;%KvR5NjswPo|}NW6}( zo?O4XfGUf(-awNrgb!Z_DtWY4#YdGY7yIx#dth&%IH}O2nTHku`j->_(dmy!(-%V< z?c(JP^3lI@+SumYV#AjO&SIbh(12HBA8}AtVQrez%(hu@5*p$1>c^U`8|IIyV1?!< zS7I>kT3f8*1q!f(gYJT}n=3bL4eMPbqK$#7iS{|Pdc~4H7bCXf1_UJ>ZM69%~+Gb)Q$9B&|!(_t4P6zF~nLy*rnn0q_k1AR+wWr8-=sIj!irz zkP)IUU5177nq@r21ggRu2z<_#?CtH`Ieo@5>9Q2i|43SN(L&hV_`y^oYGX%C9uy@+ zGM6P{yon5KStiGA#d8;;kejl$1t+M2lLFF|w0oe|oeA2@ zp5ig}lPc9?DnILxutI33Y8~o}45@VH>zMtgW|>Tb^5mEi^DjtO*HE|i9piQZl}Ltm z(P_lvPTd#YDdpw%VzfEyc++SiPJc;T(^vhWY)N z!d6oCA?8`EWk`JuB!m??GB`t>ip++>{SODtNnb_)p+)jSHrrEah7)k;>UH7l zTJ;MIy7|GYqrKNAcK?vdn4;R)+u|m)V`@InAcTpS&lpIn=GdYccez37mE=tl1yKkC zE~LG7I!D*K=6Ev78(?FTw&rp@3`Gka?@DheSPY#qWh4Ep97ZvtMPUpQ&eL{<6Sd*X z8XL8BNq;fVct&_&UnLz_*-*`f$ryMb4RWdXWmH3R!|_x@q^Kj_F07cN1`Lf&)JkDJ zD9E(HsW4Dw;wBIjGe*ut(@iS6E{nn%!dM{J!4>l$aF`V`&Xhhe2OZjH3vyVCHWRK1&xds*9D;DwFo z+{f*x7Jh;8+A&&iW25vC)r7QcZiAm(?xF%F0{Mw5B&&n%>)1_hY1zBwoNc+5xpay| zrEF{pCSjziV0?(BWnJ2no===%0VggwhHOD*b+p2}D_Hq;bv#y}1tSpTON<$dPtu!r zZ}G5NroN4ZBHO4la>CG}<3uWM(NH?+UpP-1=dz~DEQH@pluMUny zIUO+tw+x zA&e^0W5pGcv~!qWUIBZk1KH|cjfF0tH|E8wY2k4b6jG$UuvrA{WiNL16e>2%tXU31 zWPa6urByz6(ax^Td*S@)=3v~keXMFp-n)`-Y>sS8S9OjGm#OE}`#7ZNYv%qA?na1J17uRTy87b{XgmHi+DI}j6TlmeG^$+((SqnT~ zTqsE=QbuJ^<2-g(LUGtdh7!#$GItojvEwt>y}h93DR3GZ^-o@ypoWi%A)7?32wl!b z8#|dkt^Ii7;R7VtwHYQTT~@#X4pD;0n3l%7JOUK z8c%OMxI?-LnUfGB0eP93M3!wMXkLp#nc3y8EP8R2(pg3&s+ zIv7?*>fABYp!0}Pk<44|tB#`S2pV$<9Df}<5y3>N%mjq-DVXHQRv|0Sc^x}BK``1} z$;h!#HY{-QLA*6^!B<6hmIhTjFX?WVYQdMdlEX`)`OQJesAIR<_xJVVOkEuBa}3=W z4J8emdq0CnEi7=%6f)nv7_X0>!G+FRpfWdvXE8Xhe=WvBBBerJS>RnZiBphbr8H+w z;kO2L#3klfjCtECkHs`+&dUzB8w;guR4fW|<&C@wa)?&LB6gwt4T|enkmQ+NzBSMXJ@D7!U7j;}0^8KKd3*L^D{cXF1;(0T4lI@jB?`-sjH_Ut~M^VTU@ zvU~1pIsZ8&%SX?B8)xw;`s_Z7^CNq9AHZ?nym43eu^V@7IZea6Pu$#O&+c0^?&CA= z`oXEn?>;&6tUbGL&A5-txa%*cDgUqRx^TKayKl+-yFI&a#<-8fxa*H*D8KtCjQa|V zyZ-oerMs`bxX-+}>$7Jl-F?=@eaFRJpR@0^xbL>O54E`K&+LON?!zqZY<(~G&*ARF z3NKf_j_+do&Vu{if;;NbUB7R1ch=)y?Aaaic;Ny~pF7*p9p&h*<#tY^JIL`udv@nH z{x5rW$2PjJA-L;g``&^39Kw)2yYC>lFCDn6`?!I-K5pMHaGy8$PkVOXHE`cBaMzpc z@P2pb|9$rC4*UN{dv=HXyCePG^;SE)-yPyV(GDGVXZE{8$YaIlIozFr?ym0mb9c?Q zXnwov+wA$EUB6=2!*>0FUEM+9f3#CZg+J@D0{Jg?v&lntXKK*^t-cjA2Yf;GxwMF?9R&Fvq8hVvvGfG&+a%} zcj~RXy0dQG)g5f>uI?bvSadyyyK_bVpKdQM9{*zJoVtTe-D#uo_`6dYzq>{A%N+o@ zbgMqQ6Cd3nkM8@$v@_ZB2oc$B#a=UHwmh!=T-1@V-3TS2_oTU(U%;{S^9 zJ;L9Y6~arrE5;VWeXqW<5RRiVs|w*|UVU{TyxcoHz7SsFjTFSkc=t~%#GmmF7sSVU zXI`+}i~lRa2Y|8#@hb1BTMO}5dk=o55MJY@rmcvJ$LB9j@D6U+Q2-z3jTFRB^qwz> zkN1ui#B05yn+nOV!-?&M@Clx`r4T;R%U)XupEN4&1d6=L$G}fI2L6U);PuDAPd)}d zWfYzOlJfrRFL44s#e`NgIzN#!Xhj+CXsn)0G`wL_7I)#lS-2&CUkqObJmF3BZo5wN zjq%{Wt@tIp(dBzNaLPFplXIQ$kFF;l170XykDHvMomt%BkYxGmc|XII^1Vy5f;c>d zh!L-h;S&w7H{9jyS%zAC2*E0nYN>JfQix+w!5u@FPQt>tD~i+3>^0|5oFF z(C|Zp%IV}hZFuG0d^z}fmAuz8`A$xQ;aQWj+2n6F{GjnWe6Qh~`&Irb<3D8hu;J?r z|CHfJ4c}(?Hw@ptU*$Y%_%99LZ1KO#@JYoQ|KYbN{|^nv$B!jl4F?o=axORA+o!mb zbD!adFVC0rQ^OBlq4+(X{;R?%*etJxx8~z348Pyx|BdnQGTbxy4;lVm!$(Zcrwsob zaO$N8Z_Tft&l!Hu@ae{1SEBrP$M|O&et!&K4!n?F+5w#Ds=p>Hl50)=4Tfh8zt-^2 z97E3I#@{fka?UsY=Z?WY77dW^J@ku!0B1h@{{sYWO2D{*N0z5-Z;k;DyTTFUFt! zu;ve%iTpdUOyiUNpyJ3}`8UPzdc%<%`M1e%&+vM~F9%-ey&pFI`|Z6>&Jn{88s1=X zipmSinGBree&m^~a3VSKZ?@qh&t&D<;aS6v#_;nD_kOJW=po6!{f5^YeuCj2GJLb) zh_?Lu9B|gRyKm30Z_gX<8Gg6%PeccW@vr=ktRRhsuLMs0zaXan-weD^ejYSAM~at= z1ec%pi=2sGF&#TIJ6+{^h`#-mJ+#g7(RO7Z`to z@n5X4_g2FX8J;uzHp7n^{wBjeWAYDMzHK)Ad&a-HMC0S)|0lz@$MBQUC1O7J#qiaJ zA2b}vmw%TUe#mfFf37rq*zjq_f0N-yV)8#~_(%-@yx~U;uQoZ48eZ>fx~_oT<-aLo z3zz#k;F7MBlz*zSdv_T=Y&gWqzhq@$Ic2~p=l=OBNB?@>M8mxWimW#|XBxiQaHr3g z7(Qb7$BloD;fEHgoOZ*vIr)neA2NKm!&fN2%o^ShaMrilkL9!(Dt*H7e&|jDLmUx4k1jy@Q5ljemjV+us@95R;QZ`Ahs`@7-tk(Hm60i|3Pu z569j+W1OWo#(#t1M`HMY8a`~eOK;nWmfjfuKN@~_?7e4K8#$i>2>k>w&C|1?)aNA&?W!D82@_>-yGxrnc?*@{mtT64%Gn;ncN;z&!~YM%M`HM-H&}Yl&zFCl;oD>QQNxF0_<8jzXC#I{ zWO)4>^W{%H+2S9=4;elj!&6gCehlw4y#9iG`QI{pdkmj(ipm*|;WryT62pICc>RU> z^3Ocg;vd5=HGDXRf7bAk82)p^>o3Zef5vGhKZfryd^m>RWB5o6|Fz-u7w5~LhYkbl z;r1AQiQ&UB{0iX5vuj5VseIqsowI9)4R`J9c99P|XgI2e{QHvOeTF+d_Cv#W$K)r` z0TX=^!>1d**>LyX^@e9-c)#HdG5j{e>tpzr46lsgKQi1i+~q?CiZOwC=KZbO4@p^i zn+?Ch@TB3bhF=-O-(mQ{7=Dl8Z;#>MGyIwuUNS@Db6pIdWB5A_ckyf&e4=;Q`VR?< z=LZab#Bks6FBpC##{UDukG@yyi7S^s8$J@lPd#1B_psrvK5R1l{uuuihTmz?^gWx zhW8o1-*A_%zcsushCgNacEeph|H<&I;q@l}w3+%|&u~;5`FD=tBUX+sU6%o;-F#$T zR`{I!PYFMa|C==aPR_p=emI7|==k59&wuhP#%F?;jp3^eKN!O=H~er6|Fq#ag+Suz z;xh&VSdkyYTMa)L!{1~0;TZm~;okOq`OiD~G5pj9eeb~-zR~c*F?_$_9!|64KNtUx z8lH{ek2(1<{0~lk46kq0_;@?=mM{MYPJRq8nq&DB z!>1X3IEHU9+}oKi|1!g~G5lsHKZZLycsPbTJLt9N%l{nY6taWg5cw0m>F-y5UrNpM zo;18ZhCgR`rQwyvpPtKnK&Lf^J3XAeN#)1&@LI#&dz~KM9OFMtw z_o;jrpX&^N-f$=XGlm~A-06oSh98dczhwA>F?@QHruY6BzRmEvWBA(*ACBRN4L@YK zi+@qG%0C$6Z!~;=4Bu*aUku-8`0g0~zYO0V!@q0z1u@*8r}5bw!{->jHilnfcs7P# zYxsf~exKnDG5l%6r^oP;`5K@47(UbR+8BPJ;gvD`I>Y@K{yD?F82;~u|NiFu_L5$p z@i`j9XBz%|49^)p62q@E{HYjzpW#Ph_>+b|62ns%NU}X1j^Pc4KN!Q$H~jt>exu=c z$M8=ZJ{-e;WcY0{{DegspM!?in%-D!_;$nV4bK^#jq$(3aL@3p@!x0oi0KU{|0jkY zG2FGUlNM`y?vL?bWcb~NJH6q?_2X9Q8}G39x^ewMetd^m<*WB5o6zuWNo&V2cgIr%XhU!;|M7>?o1hL6PX3kc5-q!cz%WpD#dklZG;lnZf9fps@aBgQ3`Mvq_ zzwhM7@QM|dKQVlf;Uh7;%kcWXeEEkA-yXw1Yxr;sA2EC+hM%(1;(uAb{8q!a$ME+W zJ{-dzHhd(8Kj-B4=gY5IrSIJy!{-=29K+va_(%-@xZ(8!`SQQ+4eJuYE8a`sUv)7+6{IKEmmOtM%d^pDMt<(1& zGTfEpV#E7l{QC^wZn$sq?+4EMaM${*AWqItgdgMjefi}+`E0EZ-u`_2Lc_B${QZU> zjNy+OemI8z(#b!NFaLyd^u5^_zQOQ=G5k8i56AHP4fih3m;Y-gKZZ|OukSq=!?T7T zj^URX?!6^n{)Y|E#_%sY`7zw-hr==a$KWs2zTCX)+FSI!u6*6RYc__vdDjNRUAen? z*ZLUl=3OgexSMzNVz`@kJ!-!B)SbcW$ zoDatM-T3-&jDM@iKN92LXZRyA{BMD?y?kg>etY?@@ME3miu`gZ zc+T*V81CkI>aWa~D1HhTjb({0^`5DWfg9r2D`IlqJpRh^mPs6Rs@AT~|!z*KW zkKw-IEe|tWD`ngu$V)z>kACBQS8$J@lzi4><)%o&&>g308w!cE&pR2tu+28V=jzGXz^hRoHYd@s z$3GW`cEg8nR5{y8#J_hNeso(_p1b6)=N%E;9wL`t8ULZ1vx2&MUb2n33_W&@mb=3z z1801)%^IIcCaVGSc*GB#rE;bi-U$9F!0T;)8k(p4JC|~j*uP}^d|W$PiT(!powL#& z<8QV1*6+>=^0?veG2A;-}v=wy?VLWUD}PLh`x{&kaI z`IW37ryBla!-tP3UTS#7d72NEQ#3xO89oO%%lGbX#WRMFoT=}1&UP4X%fD47=g7rb zc}^ZS_JZSOB?$h`{jmW=?o0b2XtnyDb z{Be^%GDrEV46i<42TlG+ zO5f}FKL?!onY~K!8k7GmGxWXaF3P`7t3S@E_G5-$Z~TY9ofX8z{|>|JdlYx&a<}1q&noWn;j6%z-h;dK zy{^4H=j8V)|K;))&pZ7BP1p9XEAI5h8pDT8FQpS2V94;JcPsyU4F8znBUWB#nEXeb zoF6Oy$%a4YaI2r=46nFQ6F zWaZhF`!3+rOABJ-uVLe_|B>>aBB7wS4L@>?;x0dbZ}_1r6?b}|@nWqfM{=6awI=5v zaO$_=CzSvH?Cne7BQL7_f5V|%O7P;waO1&jew}2JfJ$dFnVB#%nRb!^7LZOS=}a1u z?xs7L15pFWAtH_nig-m?yj|n50$xM~Z`}wUD6WPZU5~i#{=IhP|Bi2U*RQ&MorIm) z{=jtl`+N23diCnnt5@|i?Q;v^JRTcRUsKMn0-yb>(jS3-38=xDe)eA#{|E3t7WnRI z#XkXj3*nrvIV^74?IVQCe3#R5n(}-be5M`wf1*wEy=k@bH|_Hf_!O^;*7xt=GxHL~ zP5Zp?Rj4n@|9+IS8~EIpl)s_h1$_Qd#m#tphoQeqaif2}0etFXihn53&%PIFzQy|$ zzXSN|Ns)5W#B<^OJ^`DzTGUl7jaG?xWj1^Pc3{-04kuU?@K zUNoTf4Zg1UPKASwWdAcCbEufaPd@nprB4=<^7~r(HwaESQ|Zki@=Ji1Q~~rq1D~mzm5-6Db6>3V=F$Tr)z5C% z^53~y>CHUyTjU$OCYta5lu-2Bsfxc8`6dYGdX2J!oj%V3-Ua%B(-cnt=kRiwe+Lvd zdhagKr+$(YN+Y-bN;u2I0`$y2;Pdb*Ezf5=mA(o1ufe}5ul!BB9WxsPz3zXqBB z&ntcz@EZ+YQ2bEf_Y%(eHr%ZFn)3g`(2ptofuKKpo8~(WJ+nXX?ZA^iRr&((XJGuA zOHIxN{t3{}I_sPZwF?Q8&_dtajEPyB=O zIeTAya2C;Xd(H;h4sD?C1K#kE(mxCMIPe+X$fM8Mz&`_g{&|Yu2mCSMQ(sC7V#d*- zInB5D7R8TUp$R$}=XEj8*PIA^6XD!n1D7g)(_b0j$u}u}nz9Mrceu908K)`#+ksz> zd;^>tx)}H^z~>v3&#!=g%i#a0d~QQ|{seq>Uhxw_e;P5Ab+=>RZY5mWd0*v!0O*H+ zFT7Xz82P*$`1}Qm?*saG0iSxY^7%6GZyWySDgAR%&Mu5QbNR~~K!45^s%ILv3<_e( z^Jn1$BJ1k~muUF|_&v_Tv+ica&E+K#MxnmSR8+bG5r#__kJn#X+dH!AT)qcDMd>#ZofOTjC@ZSUfFyzpzqq{EE@=sr_<#_?t*_DJ?Q6PKUd0ss^)7hc{A-Z3i|2yC511k zU-?|QPV;@m#-#jilz)TZHK3opOL0@qTM1{mHJ9ey4*Kr^PlDd)pWgxBeWmhw`3g<& z{0ZeV<+KC6)?D=7NoOm)8Fwk7XMH#~ruYfUCO8N9G~~pTa~OCEdfSYPTY)#cRNK?E z+Yb#6K2!|({15QmCn^2AfREAyD&>JaV8-v2f(OCW5lK+$*V}G0!@EO>elt-@v z!GnZzzc*l=^*rEz1pO4`^JL)9*-qu5`LO|ddkyg87^ik?=uZmr9N;fE_>UDgcEvWr zxqs)OmrOst_4$gM%N+;7X9|2$dF5mJ1mB3%uqx9yIIWtbDK|g?g zKOFQw1wQqaq#!hW`eBr93(Cx3}K_B7VFS~!BxXE`M_ze1`3-s?b zIPAI`fPYqS{II^h0s4l=lY*Lj7l6+>`s%=4TAl#<#K^;C&?n{+$yXtdR?wTv0zV6U z3-H-@YQ9GU9|WF+eR3M`YY1m~GnaVY4*UVo&s?B<%(#BRWoWmD6gTy10X`48Is$yQ z63*i&b-wnynb$rG`UT7*r-1$?(1-uMLHV10`6=k99*O4rpTK8-q_`>PL9f(K|l3%DT_SmRnj~#Nk@@f2PQs|8Q_X3}RJfA5~gWxLQO)IpV zCjq|=_}spVn|AvG;WFP{rnqVUqcE<`<+vNb=jY6a^xibq1y`@o2Y&$n)V8DmUkCj` zui^67evSt|b3`)oa5dp9pXO3a`YE4`(9?Q+rIvF)5cp}0(bp&XA;hQ799FM!NJt}DucdhT=^TleHr20{`2sI zy%=deOgPKKpB;Ia1^v`T+71_h{)IG=ad~E)@!Jo4;D?&;`$1nOobAAQc3{${9r#BK zpI;{h`8eA7*MxI9i$j|4k)VI(l(w6@kI=A6%X2`d@;MgtpK4Y7o}}U@18Z!l zGk|vyF5?&SIRN}sgiHHleld31wZNy}n-of8Z@k;k@2llE^To$ss^vGA+?sNJkLgLy zgY%T$$jJ}ErKz#bEqcrd4zCo&jt94OupZJfce+n ztNEc@t91km`T7g^6dgX#z0yzrg*GjJesxmPpCbR#ezee&z4R-^{{;M%27h*^AU^{B zcEY**!Ia|P1U>`$^(mhO(!87ons2`TMZ4xZ+@(tA+J|HO_)da0iGh9_0N=}f3^|M<(a)x`4~NLCHPD^ z^7$L&JGD{ij|cw`fIhiO`^&WR=aKI>oqT@?`uWF{kI~P+2fpwI#g7611FzP4P5+PL zy({!VH{skqw+w2&ji5gurSxO3RQd~nZzKA{_BlFeyj|tN(3im{>B#@Jz?+Ezj?j3r@7SG=%4R`e(IxIp8p1YJM_cnx)e9`2VJB51K4{s+~jkz!6E;r z0bdP#{-LBGCj!48~tof&t>T&H{j z$8R4J&gD#9r}Sw_6$D#>PoaMg1U@c!5HuaB^nimY(9a#F<@`@PxC8jiPnG^Q;J+bU z?6Ff7-vGS#4O*V*gOv}F$!CmkZij`N6sKjZe6A*(`Al7zl;4NQzd>-T;q#c{rX2>) zRC;rHx@oshfxZFbXn*keCGdfFDxaf(F91(or1+PCAA7x)bLz@y`CEW5ApXS6k14{r z{Tm)sJ~RyFGXnZX?3XnHe;w%EefbZAKI!P^dkN?EF_)2N!RHC^Nq#OV$lF%vgQMQ4 z@}I={$NfOxK{)f7zeDLwJEsWee%U>)^)>Yx1ikAwdmHE*;omd#pC+8!VIFo@rTu|7 zyi4;n`s69#(_@Msh;p{xfcDR8dCYkE6A28L-@L@)cF?Z_eQ+bnk9J4{A9#!6M*mz! zxQrL*0aMPKLBAXR*dxLJ)1cq|h?esJ;NNGQ?7)FnDF0J|KMeX=r(UO@uH`o`LAVO^ zhm#`Z@-!lTz}O+@0iXYy=KE>X>z#!2{QH2T-|jN>kn_KT|9!w`zN~yqfBlJY?)SNC zwfqKu?u}ZWCX72{PlkjueG2_@4EVp2aPF5T%=?D`A0wR0IpCD@Z8Si*zJKo0@|f{^ zmE?=W*4KMXzObK7IlnCQr1!2?K5LNXN#Fy}pDzKv|C_b^GmgLgM8df|v*0rd`d0uC zZdU#W13w@56xwHB;Fp7c@_Mu<`s<%)qLJ~tO8J<6e-rpL{77+Q@67<8yGQYL;Qt8l z5b)>i)_Nr;HD5DcUJQI5>p|0QuP2=AJHJ)=d>ni}EA(_<6V@ZA0lyFQ?!L+E zo~QLPFP+%{`orI%{1@(1{wD%Iop6?iSw|kaKtFfA(wla^z~E?~!@=h&;7uEp{$s%3 z3%p@kaU-{%0iJq7@oPc(*R^@*u?8#d|e*)p${zc5oX1uHg?&|Yhg4-q0zuyG<*{>!ANGKf40C(-f-x1FB zopJ2aXS_|zHl0WnOY)^vr*N-u3ewev{U#Ms9)6 zd`I~kJERl%Zs-{r=JMH2xX2aeM`P!_8T6?iC?AqM`P@c0w}W{(jVb5%!RLinXnmgr z`d@-iN8p%^ZpL%Ci(31cEtyr_BqDj?@kI`M#+Ph5zg&A z1$k&deYX(K?YV&U&dH#EweZ0Y>+8*gvtDX|-ZTC39-${a`Djw8O}~Eu_$=&)X7D=Z z49(ZPMCdiZ?+3l>|NM>QOYIMTLL=x8dWW_{1N7nX!23^C{^q4p{lHHJ{q#4If*AXD z9q@qN^kVl zkuTMJFHb1{jTop8f&bKNmHtlf`3v|orj`CPEA+vtTa{1JDSrX@+#$-xjMLi%2UF|o zF3>mLto%t`%jbek%HO=~=_KGkF!{bz`CkTn6)6zz_c>=AZ4ewp)>j7f?sI^aCirY5$)P&hj&GXHs%C^U+^GKXaYp*P%>Dy<5va(5n2`0e?C0 zpjq+fuh0iq5ia`tZslX-{QZXhTE(9SK3^f6%Rl>i4f_dp*y{(-Xz=kmCIq*sGJfIV;8?QMi}e+{hE@{m}{=MTW=o}>7)QL*;-D!se! zzZUou=7slx&$CHka(Sk@lY*QDya4*-8x-#a{wCn_I6r0h%o8r{_G&H90Oos$t((eZSxxiihxdV9P7n4Hy8qn`1obw$RQ9h<0KMeZauT%Pe0sXf?KL@+Z z&_4wFxvwa_k*mgOE$8le#f|*55YF@U?7Id7{usU5M>yB3;U`Ik12ax1rwOO^X%hQ! zhso0*cq8NZ+x~hl;asnjvp)K?(9`3G!yaM=fAJBXUZc_Sj;9Z1^oH%}x3k^Nyk$pjbJ>fD=_v;j7 zAK?E4de{H|HQ?_2_!HpscPE8|(eszkf`#RzxKi;f`2T_EIj+M!2lPMS)A+E`kAVKz z+q7O&@T)WeZzr7j?{@V3xs0=)1afHf@EGAN&);<9`FikadW+`!a`3+me5TIO_A&kP zX+!^ArQZzt$AKr`rTFt!=!0kdla@1io8m^_wg4ZvMe!q)JXi;O_nhKp++_{@tm0-p zcqQT7kFKBR-cuDfFZnd(oCcrd70Tz?DCd)cqY&2D!MAJs?{@qlrx4y~(V0KbAlx_J zTidi9p0PS9q$eOjZw!3~`8Gj6nD*Hv^tA7PTBmR*fY0r~pG+kMxeEBVfzK5c--Y`A zH{slFZrsjuKB(m^{#fY`2cJ&hGskPb`vD&Yo`RiV=8j)aDaXHYH1H2Qcr)Q#o<{h4&A3PrF7p)Z zjT^v!gmBRhS82Y6{?(ul;P*D|@L}N7e^&Y@!ROx@r|~$2{of|w|4lfTCz;Xq34w zr2IDg|Albwms#j-gFg)1yd?BRl8WxA_^9$vL2n!g{6xaJUQasp>IQuh^Ugk?zaDt; zt4TrD0sl7PT%LtH6gT$m6QFnfjR$>9>0LiwhH%m6Q_9EG>+OV#oH*wcX22(yi_(7w zd;+Jw-)vF-e?Cj;HwO9{hWxC7{4@f84E$X`bMSHHle|7Dltvz2AUG0RU#Ek90p&as z&+@?C_40=a=lV8cAJfSBJ%;`}N#XEJ@Y(MZTAs$o6*uyK0`NJ|9}4<5!nxlMaN-Jn zbB6Ydd5N$o=SAQ%Kcf8e;PVFHuAk~Xgmaw99Mcb(3&Ht?Yp9KH&z-yFnmY;z~l%C8y`Me4E{JuKAj9lFgd>Z)kLH{-3PwOM- z$vc7n5cE^`CI#6E{JEdhe2bq@{AVa<68QYP6~7AfkDsFLY+hDu^!Whjla4)5G<jjLZikouY4cv_r`*-k} z8B}_+UVhG}wLI>ATpQts1+||If*%zmo%w5&a4wG<2YxU3r)D%?BmaK|z8iLwX`kah zqkMM%Na-6;gjIyIoiKlDql%mP@h^n)eFg6M-)DRl{4uUGfqqUQoXgXMb+@V4OJA({Za+i$e;@Si zpijb|Fbe!1!9V!D(tluuKG?E_%X4%v`Y(f^)US7fe&)4GZ{+G%q$s$)AMH^5G^F|? z@||(U`$6PD;C3s*e`4hPrN9@yu6$_t$Y&UM<9{iBE#x*0{qXD46~9o)gLi^{{!s0& z{{;R6-~-=RdQxBVdDiE&JWZ!7z3H#@z=Ow>9@z$$8a%DIvD-gRIQL5f))CKB_Q5^C z2TID{=(nGPPt(Vh&)-3R#2w0KH~RMlz!QY~#%V9%qGwJ}{)YYr(7*L$o-8_g@>ap=eYLRjQT*Tw;IkX!$c(SQ z82(rf()1^vXMIu2>Fy^U4}1Z3W;5vffzLVj+q?;Q(-)FLY3!5F6V7rn^- zyYXGW2cKEA1DUDvIq7b#S8$>7H{)fR_^^I+rh zu)f{^`oN)oAMoUz%E!pGuNR+zz|1PYPwb{7dFE@Hvbx)9*I}-+ii<=RnXuVQ}b&OMxHq6_oSAq#zx@ zPXL~B@;w8%dkDPhJJAv>1i{dA(&E*?V#^FUGZaH zq45W`X0Ux+gabs`16Zov7hra;aJ)iX;aMy1i z+@s~3{($noDbUXmz#DH-+_b}uG!byS{SNg#0raO4J-6Ec*4L(--=W0_x0^fvt_J_9 zbG4nb;IoBrrcYg|`R)sR11UPjA3jlW)6Tn0Ip3$a(TBGh{@+#n3Gi6}p2E0$6!kj2(#``AF5ByB=+rZ~4@Sl6Vmfy^$HxbV3`q_633grQy?`YM0N0Q3NjJvzQ z-@Om>m*Agr);0ToL(4gEyz+Sw_#aC+*DH8j@%@3H34CB*EvG5ZDDZ|x#oxC=6Wl~N z_gC-+#T$Wt3iNY1<$o0TKLNZ6^JxM2v%jh3nYvc#KMDL)-~(6(nf@9FK7YN^8~u4L z@P@k;H}tmypF2g%c^3H30bjs8YwXhCTU?&n&ryQYeD^iwzYZiXkD*V2zTt~Xe*oyO zh@pQE=!?Hq`s>l2myn`hdHda|iW~d zO`*2i8-afb_yYV$rmg;+aFK@rr8ng~<2(NLOaX5^TJr__;8MYUHH0(&sXG-v5`5l4e=z>&ixoHX-A&-*`Z4AR7x_$U zz0Luj7yqmB8MspU82R5sILnFa-@XiZj}k89-C6(M^Bl#ePg4H3gZ>#m)N&>v zZwIf?2hG4;|NJQMg}*DGzkts*z-RZ>@*DvChuvzYHQl5oH26)RpZ=2aG4=Wv;BH*m zw}1zre+~FQ0ek@C`uiyV(Ld6D9~jf}7&|$9zSg(@IL)^Ud_vGqy%F@_vx#t)x9c2v z8x(rFhadYp=Yh``pR4Wc`e|<=`bN;$U!NtM>*;p4yuU{{;~yz$3cuSUpW zBk(nZbHBUya1ImB{O7-w6iTD7ZWJ7et*;M)e&HQTe+r&`4)`p}W90TbjMM&0(<`*y zXxPeU9`vcHr2HoFlh2BupgeO)`EBZZEbwW}ckN0ZoM-TND!tJgqre*xPh$AoOgNAC zDYTEF|1{`l7L?Bq(Z7#^{=AE{{6cB&l0s?bqZXp)a=Q0VZr`l*ZoJAQ=o>z-e2hJC-Fl^W?_>D@=og&+JsADC2K{&f z%KtskH-W#AhyNs;`}aK9MMr>s{exQm)Z2JNH6*~%{Pg8xf}GaC7j!T;EHH{Zzi1UdtZn0*#P=~2A_d%D!y}tKKO;; zAhN#x2lS1YuTA?m{{rpi*q@gW&gE%1U(2Jp1i@o3@|Wjc@R_|!DUIHE82I$z%4hX6 zv``JdRQ|Kr-#iLsT}e3iV^hEK=>tB%IO+M_(DS>H!35#lFSj`T@B|f&R#O|NMIz;ar{% zk81mz2Kom{&u}}qaiKj#&-lW8QYcNky&AadXL|?XEI)4C!Y4t$@cLxHp9AFIAo$HZ z^QY@!j!pv6uU{mT&kLc?kH^!4A5z?1f2|~(%Q|avlPI@xxkv_dQBy6VCj1L%+Qc z^cR8tWhW*DxgGf13Fmn#dHbLsr$MmZZ}^Q~aNS4*{Rvt@t&-FMm7psr|f~=(+umfL*7l zf?x*tv=hHE2Yd$pH`6|UC!E{Iy+`ht$F=-3k16NyC?A&`-}RAEU2+u~zxJ=hOda=(`R>WNpI}w>rbbH;cO|p zEmxk%meLdB>7lVgK3gV=;X-=bSYa?TmL8rcl*;MMW+a=gFsNz%mZrtXB0bUE zz9@OLah8yv+CMF;7Uf>sRV^(`Oym@-wQe%I16#r+klKBj@YciW)-C>J7?PT@OYMa#5@>6UKTXd>hLmGcb zxm2(%*=@3DWG2TVkG6MrNMh6WOCj2rXt6S3L&3=@ z(PHHkdG2PnWJ;R6k*8MH%`t%-ou@VVEsc&^t2fcqJ2^JCHGfIIup?i|E?k9-DoD4R z$J0z%E1oPa5o@WfSjgo`l>0M-W7(ekaCRrp>TTuh#2DFs+RMFR3zxf^wmp|GPh|2# zSuQA9Z2E(UNs5<7>Mz+AF*-}TL>9Th!USh(;IMsLcA`sV(O^`9cC}T>s+0mOFG+1d zwoXu%RD#j$7}LiE$k17}GClX_v%u zlk|p7(iDBv5MyC8HNEylnTC7!cGXA;V!bgDlE%xFvnc15+_uq)-og%#+7W)KvCPB> zndsES=Fh%jb|^QJ8`?sRRVZc8o*XZ(rd3I{)WgbjoK%l!c+MG&DTq>8VDcZ(De%smO#VDl|sEy?%o!v>x78I=} zF^NxY+Wy=)4Y*CYF&bzNTYjWk+P3Tc*4K;nK zzyp6{OUt^UA-7I6G;{!VIs+_a3pf2>D%FelL83@@uDj8q^G0g7mhb!gi_vf2DVna?`blS#HRS1x79x)EmNJfQV{F&N47@TI{Wlqbi{pF+W7C>YPsN`9zV zB)0&AO)D7)((5*EUfsDdoi0xfrhC$>T3ef2(@nI-=VwBgR>I6gdWiJZB)n&8(BfXim%J(LRB>=6}b=t?+V-vBqhzWv6e7mcO|}n$q8H zY1I&E?v0v)w=6NCPGwCxc$ibP04>YnqorWQvxMAx*hU%~BcZn>Y{?a-4lhrz#StxU zTcTdhoF*O9m_r3BPid0ZHQp9&Yui(t7isc6oRR61J;T=9X?w2GV|ul{`RTU3rSQ_@ zG^wOX=1LRZ4sLJX3z;m^*LyEd)9rga2d@O|l@9v96b4su@0ALzakTp$?;FNRXOHb(JxTNVlwmFuWI+}M&NcJu- zeTQUMESDL}U8b&1^6JrMluqI7`fQ>VYsIjLn#$Ro7=e2y^{Lr$kj3vIyvsW5hmr@)9l^S?=hRzQpQ^FJ;&K8^In{~ zssmo?uorW3>$EqlOt(w+j$!eCQIlG8Y%lkZwWi(6IfcIUujaWoWWuf3p0jLX`e+X; zu$uD!A1sZfH}+gZxm8&5oE6i;%bRcA+?SU+URsx2i<$x~(`DyswPpLc9EG*q^#9xP zQ!nb)RKPsu>`Q7Prd-~U>yEgZBb@q4ncJ}vd?zLzWt%f$Wo*txo zw{BY9y@m2P-{zQTHdLHdy05=;Q_7`juF!Debo=U_ej@2zw~^?nI1WdLdR^b9wtCb} z%3_mLS?ZhK)U%O-BD<+#Yx=ATHMcWq_m(Z2x1=|1-Pqrg>fF+w?%cRB&42WzdpGw> z>)AF_zQB}7x zYJ|vADVFTFR!5kWZ)sF5yeZU8;gq#Gx(r)ohlyfZmO|VTI~r=(Qh;iiViD{DY|uKp zq%Fk)jaH6j)y*X%^Px-FTF!0D6}o%-((PU3xF5_6UDC65`}S@Y*J|2C8?XFhyzFlC z)g^XST763;C`>ahC+2P+QwdzPsCP zlcl6_8(rnV>BAvMVS9;MhN$0tg?2^7U(6aR>9eSB#%yEqZsQUqNvCd^6#O|DUyPYL zYN#A*WC?YbJiT;QLs|u^->X&+Ejf+V#FD0NYyGc;b8+^|A5V+(bWO~<^;=eB_*>f* zibb`ZR6#|cMpZ_2s!;lsZ);Rf*P(QDe;vx&DWwjvJ5|*o^|za4gDy%?YhSrT)8ZC2 z*sO9{G>+vLL*y8deyUZDLF%W9nznu#*GTqLMa^wLjXMTZhOGLF+;{ft5}+g&inCJ4 z?-=JO^ve7^JeJztN8xW3pf_wbAwn8(rP%E|0xwmV1Ry>%FciEN&yM)LL35f3)et2J@* zw3I^CqN^4uY|iC}(xvQ(+L@kd&88jBE}fR*0+-6Sm1)_gO{)=HzZAUQj8NCKX`SW> zCG})!2w6!W^&-ZcsyC}0TDZJp8IJDbIH$VBZQ-b?x)iG>C4Q|gP1vDC)S?rUrTh}| z4M|nfnW%~M1jYRoCMUWtt|uiS#mY*ErJceaF}eb@+8``y%xbz&7_49PaEPKnOG_zo zQ~8oyF-?*0nepz6>vf_{I98uhBGU$Uky+ZE8m(Q5*fkPT+B@S_Z)#|~UVBkVsl>B18GtAO9kO&D)B_B{eJcZIM`0%m?$WSFes7 zMG2CSm5X&Nret*JZM=S+Iyjzak`DAu6slFLCsrLOYGIN5hsKAi6{;gC9U8jG9aZZ+ zvHCutbf)v`H&PfPAaV&()vhIV>*K1FL|9QN!`bb*q3ja+wRME!X+8ZEM(k{7>gu-a zlj?*}KZ$n^ah6Uzx6y%=n!a$zmdI+$hQ7q2yfS^=OQNIG0Tc&MVZ=RL!tUAB z$~@6mQN^ii zFKz5Z;G_1;E?zR}ao&9`dVclufm%=k&$CE{7e;--cgmO9tg_kzYQt=YY&V$DW z@)E}wS3cTWbInH;hA|ePmzWxXOhDJN^pje4ZN*$&l+xI>UP7-??Wgn^>R!rvYXEP8 z*d>OSy6zIjm%?2b`DmicE1_^T3mw??FV}qhmbpHRXJIdA;})p?)NzYpFEt;(^DMLd zwEpG0pVsdd@X>l_qN?(b@m2UZ@qD#x|A;Vhj9j-!&SPh~ig<&Vow|#xjgi%vG6&61 z4my4%?83G>q{M#<)uY-5k-Z`KK%F!yrLB%sZrZ*_Yhe!BkLj$N&9fF zT+B=ijYb!f9?Gy~kfw)A(v<|30e`;FLbn@4l$^p-e=fS#q&hBzRXtn2 zx;%FBx7I7p(xKML5T7(|#j=!a-DOhjkoR&VzdmW0I8M1`$NwvN*5XZsQJ8^VTEfz-=s~qDJ z)au}wZ2!e82M3H+U5Zr3wf;3`9#X3@5gWby6Hp$zFvxlD(&Yv+0Up??j8aUu~P|5IO<<2c4vvnr8sN$VBH5&Sq7-hJspfdF|T1ZrVfdTut$s!3f9BCX?$n_N?woCsrm_(*2R=_ijiubrr_PDNb@@ zE}!izZKItf-Z!V~bq#(VQUGxTA+T^%v-{e)rDo&?IjR@Qo^x83nOs4jDs)uFn0tgQ zg(CNS(B*7d;o){rg58RGnUI`F)Gk0nc`iF4i*G`LHHf48jehM3vw> zwIE}Bky_*qGyg>`!aLO4;zHX_L2{Qh&o_CDRhzH~AZDU4MKb3;woJgk?V>P;{) z_rj#M)0Q!fC?`Zls;#<`$GMPnuy8up%7m*%Gv(FUY#x{LWF_96_*p`lNJzt=8KnEW z=^CeD9-=~~!XSC9;sLl8n{%9>Dzo$Z`@&UyqzUxiGQG4%60~*k)pgxgd#uqei`-<@ zGD4llBaQ}4j+{s^&Q0n@zp;RgCOjzW%ucGjmQX#375f{Lt4wl zvD}2{&n=0FBy>@PIo%jZWvrEwwp@7)#g$KRI0dUx9m1+7+(soWp5MkdiVclkQq_22 zC|s?QhP*+-Gi9&bf5}dx=%6E=$J$6*qmQFQDkC#w42sOx{GJMwvc<6sUHms>39Sy= z1h=tg<|Kois_Jz~Cfbclk`Dq|chbm_2oYRcErhFv^zuJ0w(5&6DQpzHk^}dO<6vL zgDnf~x{|VoS2qnJB8}5^zEO>-t~XpvKzx?f9zK5w9p2vu+skJVtE4ouSX6FoQG4Y4 z{+>94McU3YS+3HUODH|78(L);@l<6u3$aOXup#C&=d#fFiQRv6t}oh^2Ln-nU0W>fE=-t(lek;aEAjg{{;&QalZ%;3C$!TrV>`OcR#Qqj8t(Nl&|GXom!& zS8en-C0?0dd~+5Wgg27(nt50|YL)OJpqFmJpvu#oe3lZ&LdU<(sWfubSf^W!(Zjuk zt_&S_64O1M-aaB?NrAogG|{}0?)EcBKr9zgrKLUAqi+W2YfjUD(ty@TXx5={4qb0Z z#%JHe$xWS-t1B?3>HLcg-zC0WqjQ#gOxc?$f?E0uBB-89Qr@bs}n(MRdd1yHdDJW^v#6O`C`L37GMWmMTsTYxa#0``=W0w8pW-` zrL~{&dIC%SW|>Q>w@{v&qkDcSjCWr~Fi>%i*JHY$ip($Y$IzD`b10V#HdqI(NN71vmL2MsiROUJO>@K0l{`bwDi zDy*X0-phRFaC9o^%n$eTI(lTpEeP@LQJ08Zx2fmsqsog+_ka znGwC^oFlY2mAdNa2n5_I`dhl%?oL^$Q8gqZ>PIG6-UzI$5G=M;j735hh0veK!`DqM ziSbP75^>#-Hq+~mS%;K6%X~PPT{;z%=T3*tM8!v33x!ZORlUr}Y&=xj3npair z^BUKi;{u52X>wO(hE>Ox`wM;4z#FsqZ4;y2Tj-*JrZlyi`o-AeO!?5%*eu$^7~zba z<2UrVB9Ts_l^bT0dX;SMBzw2g(d@cJ9pik*VMsn?TKjUBl$D;djx4L&u&lQHagntH zC-5)e+3GRJ7%E{!=l8a51_k~G_9qFMw7{|^UmvB-IESiHcRt(^hvmCg0}^#d6&DLTe~SG`DJU} zkis##I;DDSvF#}8M%DA`y@`zOL=#P`SYDFBlAXx0VSusF0-@naOBV)p7J!whgo+t0 z4;L|JRTsAA%H2a_xnkMuJ8%Qah245ShR!jOBIR*G{`nI9RrOY3q2s7K-fdZ%EAg~J zejFBe8YQh;^K|7xK092UWU8G@Bdg7a`3-e^O#*Cv&4@o`TEP|y>kVg?#Zwc z6RU>KJkbj%uwtmuW!4m3^BNDXd8|xI>qJ*BDc=+>Okx$0S-`|da7V6uPPR0N3tZ}y zCTz>@r1yl#0)re(B4(^D`?3FF2c@t>kgUR}*bD7mFyx(eq3lz4j~6F)K{bmYCqj2S zOZRXjvZ7{pp`BisI4rBEarN=KGbO*{ir<*QZUGrB9&<6iW5dJ`=(KvY7x=pPr~5AGL^Kqwt#-_i z@H<&it0g;*47WN{sA-Z!ybA>TqS#WXwp>U7aXM3X%BEJ-Zb64twr$B1%B`UWplR58 z+jn6*FI{Bks=t6;K0XxAEm}3T%$lybi9_5rW0A$alCDCjG%21Ee(_1SI$|u1*FHik zeJ1qy?HAeb51VPTi{?C-A=nShjr)E2yiZ8>RVwsbr;+XBRqCoB$r#U$Q~jfMNoJ5T zjY6!Y{pKx+rz`?e(V3DOkZq=F3s!BZ1W%%vtDW5n8XTDF=^{GrgP2T>I7Rc6u5_&j zV+ho^{8jOhywC(ZLGK%-_X8Goq$Rw-u?pCY&hlvOabgtPLynCLTAk^xSbDfzzzGWx zC2O#Ti`x)faZC7A8>uqaft{f9>ns`Cyj2mbNQzHI@*V}5`8mJ%#K}$lf`lF9VYNEB zP~iIqbPeHiXC|8M_zP}Svms3Lhc#-X(Gs%wMxClkrkb7OM6F0gt#1mmoFgyX6I=!! zp0ZC;v+7hWt6mJYv&dC3GL)aFjTu|qjcSTui9%$jFUC9xn{#D}FjFZ|W$p_%4)yFw z#P6=!s5Wv#t3n#X1Q+bNMTY68nz*<`i{16IP^i=Q(n_k;;Xc*i8qdIU-e}31=bXKF zkF{u}xDAIEia;7gJWWKNt(`cYSt85pN{dC%1kX!k1F?Miw=+q>)|qjuYDWdf-bjd= z)TF^#uDM*6(lIk$7>b3jgDxg;i?1-D)V>{C7T?Vy;*{#&Ris!WPq?4Fn@u@*B7B~P z++Y#4M6YIKA*qdlkzwYJ7VddHHK-DCo!ZP7k!cK4R(qD#>})hI{_-}uu!biQ zzTAbEf7>SMYTq<02FHixn*b1*sPQ4)8eHXlDQQKS*X|fr28<{Pi1$!o3^ycIi&dg9 zvP?PaEJ%49gBqs4Z^;I3%`Poo+bCT2uBxd~qoEFDQ46u5i%v|B^;XWh8+6ty&SV`H z*>tm~=deZhWBN;zw3AB#27@FMI%s%C@$Sl00%*L!%e5gH*tm?D7F#FF6oxIcA^8%0 znule-zVQ-W9;q!S8+kN(be^dR0p)QOvyu*IHO%i1WKHM}aR@W5+G0vdK7_D|N7T;D zU~YRDw$a~o@mD!LK}wUlfmRld6w{XFGOrQmk~x;GF@P$oc&T>%GXuWmXmqdNHkx>d z^we~&qP~EZfTJquwTa_2YMrqBxHu|Xy1CE&yE8lkr})M%+H5PW&1J`i&E|#2bHO6z znTn)uJ#%Dpf_#!W*uhn6JfcjouH8DpHm|(VR%1jhvnHnGEwtq#=8~GBrr1&#=SrUT zkx{b?Ql#|^UmP($Nn)ASTit4#)T)eUmC;Pb{Tee-kjtM!k?~&7*kuHlDsIt+y=)o; zac%49t*}G4PEsX_7g>D$?|NQoZlhP7OH0-6ikKP3856wOv5Ddwje5aWl{P-Nh}VWW zr>|G%Z_TVWR@(1ps~m76rC}|9!i4Hq-ORJJYm90=XOV3LT~wE7bw33#G=S6m4b#Wna^*q7Jf@;ZjgDHOfX-MopS90ZL$XuMr z9&Pqg-7Y9klt%nIvW`VcLM0Ih<8mmVySkNc2cs;dzgUK7o6)}?W-V{c0JD9n%dzGu z6UXw_28nb~*hFzbrHL|JY-TT|s%Kk=`1R#9p;Ntwio2?^5K4q%jMD8OrOO_dAuFsQ zBI=RFTDXe+$qoB5B?+3xk;)a+ba~3p_4ZG#<%VKaN)$aEw7F zZY^t?(w#rsFc{X+>e@z$CRrkJ<4JOa8j6X2j`ySuExhUtU*@!hw$^Eo?2@r1;u=@; z8eb75@$?;saoZj^&O~QSZa?+h`y#_DYZXs$mv5}4HjMVQs+w^x%%jV-@U8}gn@5zm z>EoVAUsekjxvSBCB?g3us#x?a&Ck{M z>?TyEExYTCJ*S(i&9pYFh>^~@<;gMefB1E7*i0)2oioK1T#X&9L{Ru$Lza++^x^>0 z1+q`ODNB*+=8UgzdUYg?Rh^k$%M+!DEvVz&FWhZ(47C~_;t8*FMLK?sLrbsPC6Ww0 zyPaLTz%xYXGTz=v4XRXUHebzu(2f!E5!=7myWPBpvgh4 zyNChhoKf#a^Aleyz3__+&9?r+#=;ILXnO{wt0KlT6C^m7Y2(@AAmNwT1&wS$Ki#ty z_CZ%}mKtBLZMDl~(ov&FgY9@#g&~;Y7gK5LRo7i12YFWTI15>`#U+%XcoT(kcZH6TgKDv^9{ zsValhb=UFbV|;_2G@hfzX)>1}E^VZ^)rV;+$ECA$l?3;ej+IK6cvedZz5^1`6=Z$F z6^Jw6(viNP13kq>DJ9;PO|}|i)ium$EJ*A}P3K0oFs(@;HpGS$r)$`feAv^U8R8yq zhMDc6nv7~<1&6vF9e>i@*Pv|V&_qPXGO7kGdDbYdqo$2mtSuJWTeg*%XrYw|tPN_w ztz`RtRGBzsC>L;^uBm0<- zHrMR1`bLa|>Ch&tcdG~;g!s0|Oq?FsNuIFUxGnGeXa;&rbCB+#TO@QpmHoxFqsW#B zpM4VVLNG(lQFrax{IKi9VK?hY#$U=1+n?{y*Y*aLBWCrI| zFZ~A>v^7>L5r}o7Uc(PH&CuY*dl+WswwG>Z z?5fv=PX=&^n9N|QxN++{kK>oFN{88j8}xQhp14uN`Z_Mr%=gz<`%k5cwEiOYf*M^R zc`8OSv|QukXgZk}N}{gKH5b;IeX&mLrirX-jWI^ip1POmTGU>LfnHE$pV-L9T*D*= zwT>>MI_w!dObk`;WI-r-WZg>y+{e0<5U;dac^a5Ai9+;IelhM}wNqzmi4Aw;`lQ$d^-PDccQRZS1?Q%Nym+b3+R|CCI6Cam*Cq$e_#^ zBXkJ0TrCM!yL)dtqM|#k)ev2~CgkZiy70Ho10BPh$P9Jd1=@8E;BXFDjGQNY{ioqLM>R%4U7AY*OH>#!shkaoof8D_gRi<*z0bNN!H=6Zh0!Q zPY0Ra)p^r(J(-S-)qBf1mk9e<|bwi78LFA~Q zY&jT_mvTi}jPNnwC?un!)(tFO5*NhEuU+BO;CiQxEZe1t;_i1_yrp<^C3;+4C#h)6 zf$5K^+cKmVN0LS*^LlKOj>{TXj{XvH^c;L~H=(?vh-^x6K@t;EA(1&F;AN59lF{3! z5^Z__YE5orBwNbT%@m#F#4tywU1N2eZ&qGarB#1VcTHen<;K67C#gxYX)^4U;N2;E z=~q=W(j1~vU^PpqgrN3*S!HGG*Di8?%#QGog_Aw!(qdEYORhaJ+dVFZo^Rm|-%7T$ zEt{qRDiv9F2pb7fHg7^;D>t^9dr{*glnof#RH%u1iE|Y}5@|rzdnvZGtK-q3XaqVR zWMZ&*3i9t%*PMzUs_F2xUHnpcX(q2l&DqyC5!qQ@Jtb1#a%FDV5Y;(B-W2G$O;3a& zZhO>wyi@h7Z*#oj7pwIURA1#q+S_g9ukWTewuX0-Sk8r^zIeupQnM_fn8oZK zJ{f8nH+BL`G|_Q)@=B2X&$3~Tw8|=g;velR{OrYHZC@FEVjBj|O$wepS>yeUSO(f$ z>0+TMX3KCcL0Y)0%Y?euhJ!3;7G~QesspGeBAbzHEW4^(qtnO~^N(cF0@Ar^?8z;Z zwXU#ko&efCxTdcfkdB+W=1?jXQIfc0!haD)jgt-iLY1_)7~D!=O7HKfv(YL0=Ip?x z;8Hypouxp#$PoZqKGjN#Ppa7Wu)q7sYOo3$t3>0HXl zoykV8XOBgi(PP<#d^G%AzEyoAzwB7**niIQ?hYc}bRo4~0G!UUyMnLz)%YXV=%aCO z*~t;dhZHelHiqVYSQCDx?z=vZ|I~Y4o34uC-EFISYI?bQy+(CfbBe?-nF~i~+(pV& zThc@;Me&fJ`)=%Tk5qF}CDcda%`imGyykN{lBTo0M`m-h*5e*I8y59Vhpl`r#&-2l)zW+yE4#`{ z8Zi>1#VQk#J6+MZTr4!p+95Re$90i7^okfmn#N;~E7fu1x6v4Nmb2bCo|q%mwAifi zG_iz6eAr@1M|S(!da>r27l(8WmkErvf_;r| zUKEX8$W`hdBF_yUFr-UaY2j-od7lm9+j-ziJk`%#?`X}UVrVp0jY*VPsxO+&8Gn$e zXU0~YYoB2E&EXzn6ZU3byan!4$Jhs{zaUJs$bgI8G}v>ez>Q**>A~LO;Me7GS;-;I z?u@7oXY&O661sOyOB20hpOvBG_LEpszmQVy#;D@vhuDNXyl!=U7}Z$%q(T;Beks_u2R5lH9KEL*iHxioUo zv5q`z6zHO&Pv&3sdbiO2Ca>zzHWVstAJN*BE6eVe8Dz0rRct}V>@mk}3)%yFsbj`7 z>9@+HPuIy)r0PUYX8lXZm~}+~+D>P~Wmuo2CztD1GSV8qY3-ZEwZ~+fM^}{$#8g=)et3)p5g7sG^{&quOVB#_Si-Y!I{U6wwVldzr!LnejHzf-E;)9Lwquudd&$ zlYy}-kV+F-3d3w$i=4#l@B4N`;zE~ zNfz6KL6a6$jW$4HHp+O%H2#J$N}A8s=t{jM1K}h%rR$6DkRm_bFc8PM=TJ)B0-|@} zSjs-KB7{_CFO4a3WJyHCH4Y+{g5`Ne)HI8n9Or0*=pdrKu}sa8TB=|~4m-v;&RO0Q zA)3A3YOONBVh&vyS&SU|@>SSvC>aJ`Ww(?|G%Wj!0t#ir3sK5tvxMX$RBT8|OY5(8LAV+oPVFm(;1RBgv64mKz*O z50xk7C6LwH!ftHQ*X@~iIO@7U`YY-Im#bg7ovqO*t)^PIRpWeW+_#lMOn-Qs`_VBW z*+xBcVH1TtZXS`PbaVg*BV>j}2cDRXc5{X8Ioh>ZpB*Dh+PtVvdKJNdjx>5-UESSW zD6+Xn4Q#WPhV)24rQ58=X(rb&olWJ|tFH1{!su7L>C@j=Ssqc|k;z9gZ($CWD;_Ic z@3Od3s)zy&+w4=>+QuFgLH-zPd`R9ARTi$|1z>(#Wig6y8TVFkvACR<^!4{F>X-0U z7OI~Em^`YYq7SX{Cw_5mF*SjV4WYlZGwpG%OUaP0vrxlq&7{6NPy(vxoed=RChmsZ z_xWsTD>D~HHA;#v|FKw?9Lo@&3&L`ikBnZNG%9pP5vZ#DU zdRn!Db>i2%tO%PzjZ&&MsuhHc_-M1Z+gz%;Na&vOQS`*>$q5I?(!}BvBTwd4rJltE zzf2=DG@2dmnJ9N&~OI#9r>c|##T&|qYcUV=*peFVM`?c9WZC)kynAF7eI`4bkOHj#_bImztRes*O8EyzkR? z!$B$&Ys4CndEHWkZ1C4K_o}q<+wYZ)Mv<8Km2E}%J&^;R5EqRc@Xk~%Bnp*l^_+cY z>HOLt|4Qaj+q-beQemX#X<*+J>ptuQefYBMXgg1 zs|lo~*D1@zN5&%MZuHNJG5dDCwcB=d0INK)x-e{BD{K|c2=!85ea*#DS68$dn>mX< zI_)zyOomu=jS%BgRilr@7SFYvr1xCgZRz1{A0ECp!Mz$ zlZvdf!)u1BW6`zK*=F6$6s6>GbP@SsECKg|3%G!O)%BZ#0 zKGb@&kHuofsS>;$;V~tZqfgXVe!D%&yAfPit>A8YCytVx6e+q=<}# zussrf!#;=FdeXYo9j+`+6o}}*ImZ?DwY21r1mypzUM-pk>6NYHi^a?J^lwU2jE&r) zl`YYkm9YYC>hKFJxV4<#Vq4t`23Yj%Z%w+8;LBqdzuFMz(dvbE>&ZvQ*`aocSV7Ua z3H9XEzRj9Cc58kIEePqXMR`*0AC#&%v@_*g~s zMV54)q<7JD=ed<}t%;r3Oekt4RbF8wVcpJ|FQ>%vHj9{(zOr}0@~0bdI#E}z>h-BC zdweCr>Y@;@1?G4^+s%Swkf!QY|_Lk(yiE` z?a4#S(P&_+nsq1ZTouMz>%!d-4kyX&*IwBXmT3|ff)8CfnJc+BZ`UXeeh=72x^1I# zSZ`6QeIGK7MLs!yHo2#CrNs4-R_f^NU!TbjkI^mzDSZyFwihZ}yhoqu{vVB=_U`lg zFGGlmS0a%s(*zmwW+Jai9X83zFkQ8*d-iasf6XB9L=sS-ZOpvE0#X~M?OTUdOc~!{ z4wy66G|Mk@Q?IK`nkw7wIXmh+e(Ld9Q>ai~k9BVyJHQMQ*Sw;8b-O6+NY@NzI99DD zqhraN%8`kYRS9Mh)fY0mM4gp2YyB;H4S@_m+cvIRUey4gklwyorf?W`u9<+3s1jY| ztPd&T;b9ml?oG`x2ZgC%9E#ZIT)xBQ)vmI}6M88!lP-P}z3$COQ>Mr1&6hQ+c5k3Y z3yBRoNZA0^uEDk&&ii`(feE@lf+x;u6Vya^&|5*8pRWIHoQ}%pC`w~zwv-;HvgvkS znw6#WuTP(te)cbBTV-P^s&TnTXbS2o7RB3+Y0SO~FeZjK>`<2wi4MP9T^D>T-j-29 zHjTW3!Zj1sFT}No-Swt-Joe;M*;0j~MAs1QoQh+|(e->F7Namh3jOjG@L|FxoOtA9CDODzw1p;-c zPa5EAFHV-|cwnwHK~|Exn5+}JVDy>ayD8gmZ~z(O&v90H8RM10aDDSRHbdic2U_k z`f9n6fXYip&2~9$>(w??WPUF+`L3%W$?+qD%`m@E$XX(9OuJjx5#uaQesSc}+kXB7 zY|+Iw&&4!MJtivW80WN(#3NZ_UILrM1mGnGPiS%FuB?VUW0Jjk8I1&fnzzqbxBWO# z#O8XtXapyTPefaA454jpzqDHnsdWh>(tmKkLG>)3fB;@kOA#{y;N&?dhW;Ag)iOqM28wlgO&V?-?A309Nv{De)>I8(kFCP zYnja7$d5EVqc=fiI061D(mk~+IkGKSNq?@~M(@Q~Ns}7=D~tG*r2-#M3RY%E(VV?$C>G&X3$dHs^|b5TtB0SA}SAB-D*!C^^#beMiMqQGwZ znfkw;$T)Ee+21G|0R(=iS%zjE6N}l{TY19N&mn*H2(+Q zq51!uJI(sI`QJ^?n9}5b=chFNouAV58z-&A^rzdN-*VFLcdAO#ey1wOHuR(6;^zM# zJ$N?#Z@PJE)1Z(}ZPN4u@~irfoBtE^h=-ag z(z5KE^b1J8fb^ze&G<0+8#%hg$$w$9)_-BM*5A+(nS4xo^Sy!!ZHnpTGOA_6itwf{tTXv{2j8u zq(9H0H`OuU$05B#7VJd+Dd>Om+@v$VPmf9e%^S4*PyNkM>bIM|BPRVfuG1D7JE?y9 zbusCiKcVU0{lfa``;gvkzkmI%reCwcpWf8tqL}=jdxVbE0VB9zW6~L}Jk6NCHyD4f z{g6%^V@?9+XGHhd>31Hd`Oi-)dNO@IpSr}zt(kvVzxwh&?`}>1J5~_Z$Ibu$18Ia^ AssI20 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/AT_CellularMultiplexer_unit_tests.txt b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/AT_CellularMultiplexer_unit_tests.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/Makefile b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/Makefile new file mode 100644 index 0000000000..caac6fafd7 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/Makefile @@ -0,0 +1,22 @@ +include ../../makefile_defines.txt + +COMPONENT_NAME = AT_CellularMultiplexer_unit + +#This must be changed manually +SRC_FILES = \ + ../../../framework/AT/AT_CellularMultiplexer.cpp + +TEST_SRC_FILES = \ + main.cpp \ + at_cellularmultiplexertest.cpp \ + test_at_cellularmultiplexer.cpp \ + ../../stubs/ATHandler_stub.cpp \ + ../../stubs/AT_CellularBase_stub.cpp \ + ../../stubs/EventQueue_stub.cpp \ + ../../stubs/FileHandle_stub.cpp \ + ../../stubs/mbed_assert_stub.cpp \ + +include ../../MakefileWorker.mk + +CPPUTESTFLAGS += -DFEA_TRACE_SUPPORT + diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/at_cellularmultiplexertest.cpp b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/at_cellularmultiplexertest.cpp new file mode 100644 index 0000000000..d644e63eda --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/at_cellularmultiplexertest.cpp @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2015 ARM. All rights reserved. + */ +#include "CppUTest/TestHarness.h" +#include "test_at_cellularmultiplexer.h" + +TEST_GROUP(AT_CellularMultiplexer) +{ + Test_AT_CellularMultiplexer* unit; + + void setup() + { + unit = new Test_AT_CellularMultiplexer(); + } + + void teardown() + { + delete unit; + } +}; + +TEST(AT_CellularMultiplexer, Create) +{ + CHECK(unit != NULL); +} + +TEST(AT_CellularMultiplexer, test_AT_CellularMultiplexer_constructor) +{ + unit->test_AT_CellularMultiplexer_constructor(); +} + +TEST(AT_CellularMultiplexer, test_AT_CellularMultiplexer_multiplexer_mode_start) +{ + unit->test_AT_CellularMultiplexer_multiplexer_mode_start(); +} + diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/cpputest_AT_CellularMultiplexer.xml b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/cpputest_AT_CellularMultiplexer.xml new file mode 100644 index 0000000000..4f0428899e --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/cpputest_AT_CellularMultiplexer.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/AT_CellularMultiplexer.cpp.gcov b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/AT_CellularMultiplexer.cpp.gcov new file mode 100644 index 0000000000..5a24aa0f0c --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/AT_CellularMultiplexer.cpp.gcov @@ -0,0 +1,48 @@ + -: 0:Source:../../../framework/AT/AT_CellularMultiplexer.cpp + -: 0:Graph:objs/AT_CellularMultiplexer_unit/AT_CellularMultiplexer.gcno + -: 0:Data:objs/AT_CellularMultiplexer_unit/AT_CellularMultiplexer.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* + -: 2: * Copyright (c) 2017, Arm Limited and affiliates. + -: 3: * SPDX-License-Identifier: Apache-2.0 + -: 4: * + -: 5: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 6: * you may not use this file except in compliance with the License. + -: 7: * You may obtain a copy of the License at + -: 8: * + -: 9: * http://www.apache.org/licenses/LICENSE-2.0 + -: 10: * + -: 11: * Unless required by applicable law or agreed to in writing, software + -: 12: * distributed under the License is distributed on an "AS IS" BASIS, + -: 13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 14: * See the License for the specific language governing permissions and + -: 15: * limitations under the License. + -: 16: */ + -: 17: + -: 18:#include "AT_CellularMultiplexer.h" + -: 19:#include "CellularLog.h" + -: 20: + -: 21:using namespace mbed; + -: 22: + 2: 23:AT_CellularMultiplexer::AT_CellularMultiplexer(ATHandler &at) : AT_CellularBase(at) + -: 24:{ + 2: 25:} + -: 26: + 3: 27:AT_CellularMultiplexer::~AT_CellularMultiplexer() + -: 28:{ + 3: 29:} + -: 30: + 1: 31:nsapi_error_t AT_CellularMultiplexer::multiplexer_mode_start() + -: 32:{ + -: 33: log_info("multiplexer_mode_start()"); + -: 34: + 1: 35: _at.lock(); + -: 36: + 1: 37: _at.cmd_start("AT+CMUX=0"); + 1: 38: _at.cmd_stop(); + 1: 39: _at.resp_start(); + 1: 40: _at.resp_stop(); + -: 41: + 1: 42: return _at.unlock_return_error(); + -: 43:} diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/CellularMultiplexer.h.gcov b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/CellularMultiplexer.h.gcov new file mode 100644 index 0000000000..afd15155cb --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/CellularMultiplexer.h.gcov @@ -0,0 +1,56 @@ + -: 0:Source:../../../framework/API/CellularMultiplexer.h + -: 0:Graph:objs/AT_CellularMultiplexer_unit/AT_CellularMultiplexer.gcno + -: 0:Data:objs/AT_CellularMultiplexer_unit/AT_CellularMultiplexer.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* + -: 2: * Copyright (c) 2017, Arm Limited and affiliates. + -: 3: * SPDX-License-Identifier: Apache-2.0 + -: 4: * + -: 5: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 6: * you may not use this file except in compliance with the License. + -: 7: * You may obtain a copy of the License at + -: 8: * + -: 9: * http://www.apache.org/licenses/LICENSE-2.0 + -: 10: * + -: 11: * Unless required by applicable law or agreed to in writing, software + -: 12: * distributed under the License is distributed on an "AS IS" BASIS, + -: 13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 14: * See the License for the specific language governing permissions and + -: 15: * limitations under the License. + -: 16: */ + -: 17: + -: 18:#ifndef CELLULAR_MULTIPLEXER_H_ + -: 19:#define CELLULAR_MULTIPLEXER_H_ + -: 20: + -: 21:#include "nsapi_types.h" + -: 22: + -: 23:namespace mbed { + -: 24: + -: 25:/** + -: 26: * Class CellularMultiplexer + -: 27: * + -: 28: * An abstract interface that provides a way to start multiplexer mode in modem. + -: 29: */ + 2: 30:class CellularMultiplexer + -: 31:{ + -: 32:protected: + -: 33: // friend of CellularDevice so that it's the only way to close/delete this class. + -: 34: friend class CellularDevice; + -: 35: + -: 36: /** virtual Destructor + -: 37: */ + 2: 38: virtual ~CellularMultiplexer() {}; + -: 39: + -: 40:public: + -: 41: + -: 42: /** Starts modem multiplexer mode specified by 3GPP TS 27.010. + -: 43: * + -: 44: * @return zero on success, negative error code on failure + -: 45: */ + -: 46: virtual nsapi_error_t multiplexer_mode_start() = 0; + -: 47:}; + -: 48: + -: 49:} // namespace mbed + -: 50: + -: 51:#endif // CELLULAR_MULTIPLEXER_H_ diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/gcov_error.txt b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/gcov_error.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/gcov_output.txt b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/gcov_output.txt new file mode 100644 index 0000000000..269477ed32 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/gcov_output.txt @@ -0,0 +1,8 @@ +File '../../../framework/AT/AT_CellularMultiplexer.cpp' +Lines executed:100.00% of 11 +Creating 'AT_CellularMultiplexer.cpp.gcov' + +File '../../../framework/API/CellularMultiplexer.h' +Lines executed:100.00% of 2 +Creating 'CellularMultiplexer.h.gcov' + diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/gcov_report.txt b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/gcov_report.txt new file mode 100644 index 0000000000..77c3217d0b --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/gcov_report.txt @@ -0,0 +1,2 @@ +100.00% ../framework/API/CellularMultiplexer.h +100.00% ../framework/AT/AT_CellularMultiplexer.cpp diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/gcov_report.txt.html b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/gcov_report.txt.html new file mode 100644 index 0000000000..d2d82771b3 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/gcov/gcov_report.txt.html @@ -0,0 +1,5 @@ + + + + +
CoverageFile
100.00% ../framework/API/CellularMultiplexer.h
100.00% ../framework/AT/AT_CellularMultiplexer.cpp
diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/lib/libAT_CellularMultiplexer_unit.a b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/lib/libAT_CellularMultiplexer_unit.a new file mode 100644 index 0000000000000000000000000000000000000000..598441a63b24d06cca3e3c8c37e15c12adffe249 GIT binary patch literal 42282 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
(HH1 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/ATHandler_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/ATHandler_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..ae12bf3f274b204f29c85ae46b6debb00405ad12 GIT binary patch literal 15212 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 R@m6)QzV4&1{8#4x{{gm1Z-f8< literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularBase_stub.d b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularBase_stub.d new file mode 100644 index 0000000000..17bdd705eb --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularBase_stub.d @@ -0,0 +1,53 @@ +objs/AT_CellularMultiplexer_unit/AT_CellularBase_stub.o: \ + ../../stubs/AT_CellularBase_stub.cpp \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../platform/Callback.h ../../stubs/AT_CellularBase_stub.h \ + ../../../framework/AT/ATHandler.h + +../../../../../features/netsocket/nsapi_types.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../platform/Callback.h: + +../../stubs/AT_CellularBase_stub.h: + +../../../framework/AT/ATHandler.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularBase_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularBase_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..a06ac12bb58762379391344774cf538d5cbef73b GIT binary patch literal 280 zcmYdHNlw=?F)-cyVr3fx1H)ofAW^lkuxUCY0|O8-dV1`g|njgx?MLowNQ2`VK znF#_QHV9|}F%y`@zz_tbL1x43(}juwDMqkZCTn@glW4&gFJo^rFf3$*>4ho-s}W*J d$>$gI6TqitPKZgk(B^|BJDLraz|2853jpOK9pL}~ literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularBase_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularBase_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..32aa18e774a06bcd9d33ae4c45eed4ca49d7d135 GIT binary patch literal 824 zcmd1LOHS7^F)-cyVr3fx0|TQBkYLDUEiZWzE%@SP>}?((H$KYG+axzBHO0`>F(lqO zH7BPuC$Y#Wu{hPxEIqX(J|(p*GdVRrwWuh+$hC}tfeWZdPfs6+ic3n9iuKVn#e+ok zk_!qzR;hys21iB~FpW+)GcrSkn1D1Zm<9E7l$=yhppas}64=(k6(%4z zses)DC%|DcC&VONX!F669nA(y@P>)Ak!z4&aJ;2shzB%KND32KXqdp#1Kbr1sA&W_ ZJ%HjKIXwsg`Q)Srklpe?tN_F?004cCmSq3{ literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularBase_stub.o b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularBase_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..7e5faa54e2e5c5dd51bdb012558ee951c041ee5a GIT binary patch literal 29864 zcmb__3wV^p)&IP??iv;X5hN-lqGAAZ*^or;1aKjEK@@1MLYK{ElPn~=aW5fQ#S3bS zc-M+n@$%IwYPHs?c-MMsYkj=5YSsE#v|gb4)vB$ZR-Zrr-sV9y2~^hEHBVmhFYpk{ zV^niDy{vhXUJIpo>4wa^Cy(B}XU!joT&RzQs!eTfZ1Lhh-+k+O-tzx-zIYgcV@f)c zqsA?({CD-Y;;voU{H-xR|3&8h&5bt^_OJHe*0=8sJ;}aULnM(|AIUZb8=~=KrlGGR z)>)TKH+01!nQSVSZivQud$YZfRKu!eOINN8tysCDA(FwruqE_mdo%I=-q>I))sXC1 zmu^_FGQ5Z@9h;+tvx#`dOIsL8$HM7Mwxhl~+8I&1$17E$HS_8In7maL@0WV=MNS!& zw1JBbosVo$k#J@gcOzMkm(l@QlgO}Uye}R zMp79m^|1>lM`yF2VcjCpgQ1aRjY_{|#Cn8(sBWA5=S=U?0?t?#7 zS$_0H^t*!c<;PN%^UEmjL#=-R(zVKuqwI*<@{{qVegm?WP+PwGR#(DzNLQ8+rVf=D z$!iJsnS2M~BTT-F@Jf^KA$#s?@^Q+KGx>FgLi~6Y0HVrIpM!$QZXy*-_6+Kv8c7}e z1He(YAafXNeP$z&5sl>+5XMD1QrO z8{t=fgCb=<5;O*gs&xFbHe>P`uk?rR1;JEaOrFj8CB))0Oym7Wz3(y|O?_piW3DD9 zQ~B6CNj4K^Q)`@`L#i^6LU!aCB0wAK^YuU)dtw*^2|I@75}sRxkV7ffoO zH^%Ps#%(C6ak}`QzjG;Xjos(1r(8-!^>S3ubt;1U5wA1i$_!!>;vG7B4ZRkXqFjML z&C8VQHDw~usg_c$6*3inqRI0>T58GuZ&EY+6Jf+d^tu}5q6o;nLs<@3ss2u^aka`c7d zLduyB+EJEn>|^8~XXs(j)>*n&{>g@Z259HIbS?j25?ry6Mo_(l2Av;)e&)&6Nt#YG#wmyK1NhT2)FE1hep7u4V2?i@uvm4F z8Ok@pblRb6Dvo{=OB%**R#88g&3Mf&Is&d~@^gxox%s(8E6HU&V>hp8A!_kR%`cK; zx47s6R2W}=F_^UPRV*jfVtXZRpjY9b)N5ys1CI&}V{nq)XTGja5rvPo=IygU%Yzdxr8D8KX3hb2@07iGEW~ zy>W(g72xY!l97C%Ch76o3DP4j*^F1v)O;DR*#KauT1jwuEBb2Ze!rjX#B<+4xg3Ah zw-KwE+-B|{0CcjYDaNE?NU}&rlZ3{fD(qZ$r&PQAd?fL=7}u z2foQvHm{D(7wOkx6X<<`SxQ4f zmWIG%JBgJRqQK*1924jRznBLrHL6+?WYk*kv_inJdQBnD@qwhX9$Zs1k!}^}ca9`e zPwkB*RNxec7A;>5UQ{6EkOq}%nklU$Hpdk1Ae;D#OyQ>|fl^syw7$0s1+(@9?z zY7D-U@@82L+)uVM>rmi%u#xaIP-=$rQe)HP~$m z=W9j(dbmOgY}IVaF{KN1$#L`~2rMHGr)Gpwv+!3r^#TZabS>mw1h*zGnM$xLI;?-iKygv&O%Vy zU8<3PHc_3`Ks$({UENU5)06?Ar@0iP@dZR7vpQFR@Rqnu-3jzjOYxJ7`pF;J z8rw9_Z$W>}@-RhjbDWQWekv$B)H!7%VF~dz^=6_hJos;6JC5Y@R2qBwMY znEuZ+ObIY#EE8+JK$B=NoC`s^T#%2-k$(cxPD}RR1%+6|@*K~LpucK)Si^6c#y&YD!TRW&av!jX&`*?2i&MS5KsSwm!}48+m+tG)^( z|Aj=?;cw(*B2(F!0&;_8QPT+@se`v(1Q!wII;yA2Ux#Wq%+ukv*+)n1W}WxZ>Czm} z%6xQ$@@*zSzZ_2$%Y1b5E%T)TS5}TvcjLW=2o7F&P(Rg)0^MS%QtMPinM%0-&z+n{$^9?$8aa)l-jg0$I^jaBr3RIb+KZ6Iy8 zWR@G%l%E0J=~DD4RrV2u)Noz^CP=N(Ag zO)U_aDYeKc=WC$l05!!kM57Pam%&!%qu|o4E0)u|EA!EGD)Z6w9qa5z z*IaWx1>#Il4}tsw{^pXll$nRw?M!$XIaN**SqqqdJC!|24=c*fwO@l0fRD71q@qiE z+Md$yYt;gZ1J zy!lIYX`d>mcw|KdRVTC};L4(N=!pFsLraV#Y9L32S2)hnDndsc1W66xuB>8iLPvww zXS5n!vFukgM9uN_&iraaO^j@+m{Z-U zHL0dPHDe6+_tKYETR2RO%-7F=>iB(W;4rJEkQ0mY@zI za@#8P>T<9b_Ns7*mq40P`-hh3{w=Mt2AW)pW)DO=hiOG!!_|5iwX##(0n|kt`?O)9 zJ83zMm4*Y%sAvLkxThD0nRTu*6$$jxn6cgk(IX2sc)_Jr7H-Ukv6vUJ&6-#nxB2NV zJKD2WLHxi?zxL6Vv5wK9HP>y#$OAF1)SVd~?R9r%dVo^u-z;wfX50}0u#BiV_0AG) z-kJ*2#N1M7Y5WD(;?`M}nqTh(s}g#qwT;@H`^IghTy)sAJ`^hnRGI`K9(`;z44BQ?r5}O za7JsmwYjc0p2!Z?btke7Ev_W5*nGZ@cqT0yiw(pQnRG+!lx!>;8=_Wz{phr5XseKv z{@zHYE1BxcN$*NU`eGZBsrC4vIER`(nl>?BxsR7~A0bEk`xUH(4{7k3Z+#CLKaq~~ z$HSS8{joFvgk}&sV_nE&39~S!4An`RD*c(BR4mfzA(|eBt)^frQ_6rQkKRR-iLQ7z zir676iuCq&M560a!pJX6CKe_8H%2;oV+L5TvOSXM?2V;R#Ihl}V!$~a*?4cJE}oc2 z4iX|uA5Ufm6|3}ew%M`SOl;5!bw6*<8Kj5IfmOkHA#%kBI=)}s`TO~seVgg8{-~l6 zaI^49%bMvU|Cz34!RB-r^dn= z6>Mh9g<*?M0ECkjRXDspp6FDu1lb_m8SBV)t8lizGm?oZQKv7~*9*T@Q0Zu`(+q3O zrHcpRp-^)awhhH0GR@5vP=0zUwgC->JF;C}u~cY4!5yYIL8EZkHrE?RUjW2Ulbv?2m<(t!NC-TtV5D=wfL3(NVR@Gt$%nY178^`gni1 zKLYm-ty3QBLa#(@kko@oBBW(1Hc&`H3$@=BhY@?U2Zfd|TM-U6E(T&;Dx|_)J>hh` zJDv=KS9R(BSY5of90-MuY=&uup|xasvWfMftoq|4A?22nXZB@)>->#nnSv6T_yTAG`VIOYS`fPA;BR8Qw=D0JlsmT z!3qXF<^eAUJKN?k_G*n}GLdLcX!(jDMk~+PTeAt8#t_$=Omx?1_o2^$@hnll%P!o} zii8I=K_=!vS9~z6m5UW}f|(>t&s{VV?jTR^$|j<&cuyCb$pE>C1^x}GcqSI^*qDi> z)scDxLlnzsE-y>!tXi^cRn4Ml(`s7ko9i2Eni_+xjjfF{YwG$k*+gt^cMSd+kD?e! zMSJFAVXbRzuBq#;sq5-bC25YkWhUqmdxNdomon)Rh$8<`MO1}IS z9V}`1^UQGswTzHO0kJXMf?PPGS0hhc8i@2_gXRgpbB4r-dD;q{vEFzeCPfMnEfb0N z!YSY(`3(lAQ;RNlC@SZVnLY6DXe^x$CzBlt`v?;h&DtMMCJ+{|$fx5S*ok&)myGmE zIg0ikg*4EsuoejC@%G9rDYItfmXvuALJdLVY%0pDW zj~-{e&<_p6h2~<&1Y>Jbud`wWqBTti({M*B8R?ADW{XyYO?CsM%yieA6=Tn^S>8QU zaQL-r$YSsD++egf7D*X-a4;QisozbFV(#mwG=tO4#v>KhJ{3}Ci=`JBj4~6ce*W$a zI}WpZ8&D>;W4dcMa7_=F!=?k1-t{g!QPQ!#2;vk+e2mhtO+f zfMApNSP<&KDiu$wNHhbB5qp6(E!f)2SJ>oe@(iN+FPV1P_&rk%?@blnhRne#^XsEM6lEYp)Td)@zGwwq(TXXD#L=fxJW z;l-g5t8^h-VqcRxvi7cX59{`DU=9H)$K>w%YC4k1Uc_N+l67csyPI2jW|+9I1BLd+ zc73KTz&X?1AtJKoJJ@hb+e~u^f#LBbhJ?GsVVE&lW8U*Otrxj%w%(BDg*2}NA+8vY z2oHDSXrd`*H^h2BMs3(FRpGdT<7MtF$?I#F-8~$}ZCyAzI9Q+t@F=)&DfFlN$#O*_?r-S#=x~ZVNZQv8;B>fX|G}P2P=r_>6v;oF*ss)V+!K1 z-4EH|VQfcpRIf1DsP@GZI^^5H)n@HM6%rS!kBbu>0Fk$8giDW1YSYqrS>RUQ^KZzTEKZvtBMh4xQ#QPOB4O z6r&~l5myDYv7(z9I^G3aX&KB9%G0S;H=JS^{@I$A(>s4nYb8NK^C8Cz6&~(7Er|Fi z=OQ%mT#xYi%-+f@Ip(;93y#6rE!z=Z8g6ZAncfm^45N3$Oencq?dr{@dz4XU$Q_|; zA+LvE>o@dH!X9aBr|??Jo`Xp`I2a7_UA4ZYFZ>-Rx}e6fIG*fO1!5D1EtAaPT8*~- zg@$a%q6I_IWY9qdH6y(^*Q-s!^0dgCuzIX<3?1ci3qql0nup#7pdB5{=&BR#U~7&m z%7QNIZq{kDQ9%EoXSRiwNBasgHQV`)&4NDG()peg;G>P$c(>>wg^p$kr-(}{t=%Qy zDzz&?C)s$SfJQT@8x&Wle*P3`Au?Ie-nPOLJ;_u?UuOwgf%-?_E}LQt#hyM~Y5jXg z#bFk;CVkUDN_qEg(4QN_+Qn0z58!mZc4M`x<S-%V_Y&;>`@L;!vEEHLa?P4%?myMUaR3bnoc65F=i^=BdZxvL(t zohfht2sY-fhC=4B>1`d637a`FR+cWhFPj@0@dH9U^cqH#E zp}jD-yU-g&UN7|pB%cuMd4eYjPm>|57Tg9dB6ps2=ep=v+#=>KA!yk1FAwM#uHB@t zgca`HIPOIB&Aj$iSc5;nf~(N&CSCBTrP%E2<3%ExU+z)Zb{p>2ArAgnw6_|%OJ?H$v9PX9=V2J`i-iB7k%1-@( z6Z^-|s33frHe_ZVZ^|{ImMmH{tEP5U2aaS}b5mZ|n$@M?reJG*V{?7;6mf%2pGYF% zX&s%MQ%_LNV5M`wh;ko2zj`20`lF;D5?U~_^1Px&fwC+ZfDvsD5s~yGL6-iV9DTJR z4@*Cd>H3);TmNWNpGkRd^hs)o`ebh&0YI_&oHdVBOrJOxNX3etY#W;BsUin>EyMPi zfn|)>2>fiu@mzvVmj3~iiXiDM#_e-WR4k?su0{F>%8o}*+di=sizgQdqX(^t|8XiH zS^gN~AP&K)P)wh57f8hl4|fzu#R}hvD3FR3o{TDxis||B0;$-1n>CM8tnhSBfmE#U zh_Xm8qCDC&Ue?a^{4?RUY~ShOSi-GF7M}z;W2|wI*S?MSz2Gl|f0OwwpZ0ZN=QI8t zyi>CHGuu!umjc=URHxA0SFVl;_<0Ql3mq=P z|Jzf5>0g-o_iweU)z#I^g}?lCY}hXTlRAahgu=&}f8pM-aK(Zb3pVD0pKdsW%M{NjNqoA2HI7Ff)z^DX3VCpP0@LEhcyK(k z<_8rf`PjSeXPhdT^5SU)*ksz@H=MMOtXy+;*ojzC_?}bNOU} zuO?$7t<|sQE3?$@m)x#?svc$A-}l&HDZ&35FKK58{CJ*-=Lmc+8^%73Xyrf1gK(AL z|0UaVyTG60fx1oLc7Fa`;Ny5fd|BZ7I}O18C~#ZDrdLvGoSgIQV#!^$Nh03=Lw#OZwh=0Z%+O! z@WrhER|26gm#oq<~I@{UdakJwUV>^r&IDOlb(jfwWQ-3c5@m%18 ztY^Ex@g%HHHm=xq``EA63jQ_<(n#kBypsL+Qi1Dl7J+}ez-_;775G=I|9t{a;Q?bx zPYC=n*8h2d*E0Vb0^i1V_(0$v^Ty~ifzubDDD4&aJ?w`S>|fSyc3k!o_-r2cg9ZLG zmfIlkC%9j;1-^ylED`uS0i)*%ftT{Qga!TuuWRcC{t5fx27zxi;??Z}Z(~1sP~bme z|9@KGmj7jem+^T0QQ)K4{_hL?Va7idxcOBIeBE5&b2(m(;Pu3g*AlkR7=icjerB4$ zt^AJY{f6G5c;7iyKrwM#J%V`q$M{Lid1wNDG zlko8|LaLb<(crp9=R)O2`y-eVKw!=>azMRYV3H)+1T@5cf^ zn)~~?z%Szc@JOC#*8U&xIE@wfRE}>)2>e$(F2@Mm`saxPxBl5FaO-O>1b#Nh`O5_!=6&q-0-vnC zR;k+s{%4lIQ{YdtK2HjKD%ORRX`B_j|Ji-f*DNXMw=)V1GMF;LW^m zUn}qu#s>wyfc4xY@GIHhwh27Vad^AH0~|MgCh&9FPj(8tjmPUZ0?+XLeM#U?aewy+ zT>nA`Ol0q4teqd@amUXh=wxw+*Sji#pUdNpFXa#6Z(_d<3Va>Ui=_g;nd8H80zZlM zi3OQjwY_+Qx0PYb+@?c)hKRaHZ@w~1Ucs0k{*#f_Y$7_MW+jyRyByflA5E1wR zjGrp-HrDejfv@EF_CtYN{u>2e&T<|T_(b;qX9Ru+>%Uvz|KK?AvB353_+s40aXZ$Y z6L?*iAn+wzzeV7;vj5Bx_*d+QCkgz1_J@eTZ{l&x3VavOyVC@I5clf}fzxj?Q@Tdr z7jgN1fzM(7#{_;1``_;c-fhIIw*lqQD>Ic^Ve@sXXse0@uIwjXrM__#yJdtS8oFL@k~5d03$-+2Q6isQ^G zfuF;6TP^UD*&hZ4{uRqVL*NZ8=SG3kuaHsNA#nY>(!gI7_(Znb8v_4t>NwJ8!{A>E zypr`C!|R*1+d`HzUf_1W*eG!N0c1+80-wa?s|5ZA`|XbfK9%tg1^x>A+vft`%6?nQ z<7V}*X1}Qtc*dxyCJEfivG;0L&MF?S#e#na?`Mt?`13qZV*=m7daf7v)4ZQQN8nHK zdVRjY$FQ911a9{?HwpY|9v8cQ+J4#3*B%x8-{pS2D)2GfuQvrw|JMPfzYE-c{$=Nr zZTB>uFZ=R1TYMLn_ZRp%?B{C)ZvAJSz^(s0BJktcZ|r@8ZP((j2>xBffV4;8&vHLM z7Pybc%g6KB%D3mxkph31?L0}~_8eL(@cC@FhXsBikMCOoU&iz09mZ)J$)Q~LYhT`H zS$vj8aX-Vj)!)irDERI3plgQVPYQeo+dnPjoW<>)C-|E5Y9Ee8Z|9-z_rlJvNt$ z^+xLP1;C7|*IE5^e|-nOLT<|R1ZOysN<}sTNE)hPq~GMyU!hX<`uDlQkq&$Xdcexj zWc+Ydq8q=L!?HDo-|xVW(3vXGLe)o;ee^wRRiD7`+tlMXbnyE&_`Msh6zd7=Uw7la z{cqlCP?>CR$IZ%W5Jc0Fwq$Mi^QQhIP09Qgy74J$hqpiO^PAIv5zgV? zRKn{n&b1TKlWIJ9%1*{#q4ozuhOvh0lTT9{vi%@qvi(}_sNH`VX}S8gJR2GE^Wo~- z_AI|Fw}Mbe|Em_88g_1x{xn9mzQvaSqb|yEX=LC+(7egkx7bQ#go!oj5w8D{ZHOyK z-s6B5(*G{j|NAsRNTfe4wYGgLb}cX|6Og)<`N11EEm;zImobi>=7-ww`^zh3gA8^&ebc;^)St>ycVchj2XS{Z Zk=9PqLAFnGqEP#_3qe3?7s6%x{~u#gtCIi# literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularMultiplexer.d b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularMultiplexer.d new file mode 100644 index 0000000000..fc1a8d9606 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularMultiplexer.d @@ -0,0 +1,69 @@ +objs/AT_CellularMultiplexer_unit/AT_CellularMultiplexer.o: \ + ../../../framework/AT/AT_CellularMultiplexer.cpp \ + ../../../framework/AT/AT_CellularMultiplexer.h \ + ../../../framework/API/CellularMultiplexer.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../platform/Callback.h \ + ../../../framework/common/CellularLog.h ../../target_h/PinNames.h \ + ../../../../../hal/us_ticker_api.h ../../../../../hal/ticker_api.h \ + ../../target_h/device.h ../../../../../platform/mbed_debug.h + +../../../framework/AT/AT_CellularMultiplexer.h: + +../../../framework/API/CellularMultiplexer.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../platform/Callback.h: + +../../../framework/common/CellularLog.h: + +../../target_h/PinNames.h: + +../../../../../hal/us_ticker_api.h: + +../../../../../hal/ticker_api.h: + +../../target_h/device.h: + +../../../../../platform/mbed_debug.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularMultiplexer.gcda b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularMultiplexer.gcda new file mode 100644 index 0000000000000000000000000000000000000000..bb81afcc32ac4f58863a80482e619c874daf1511 GIT binary patch literal 576 zcmYdHNlw=?F))4ca%CF>1H)ofAW^lkuxUCY0|O8-dV1`g|njgx?MLowNQ2`VK znF#_QHV9|}F%y`@zz_tbL1x43(}juwDMpZ(`?7f=hHDO9{-R}D&%m&dkq;yRRYNKb zGqaURHtwvZoz<;5TRwx#WW!@7Oizp!dy)vFN?T-E@LP}`4xj|gA21pygbu)dP_aA5 zQIoKSzvsGy0!S|xP!&uMjD~4M=L5yTW(Z5Pa%6?B3*OOeumofVNF9<|u$p_)HU6F1 iiNeVKf|-kj2J2xrPAd*@u3qo7#HIxn7D(n|XafLWf;21u literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularMultiplexer.gcno b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/AT_CellularMultiplexer.gcno new file mode 100644 index 0000000000000000000000000000000000000000..02b1f0ba9fb8a94ccd7f1851fc9dba10aea42881 GIT binary patch literal 3196 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 E0J(d=?*IS* literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/EventQueue_stub.d b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/EventQueue_stub.d new file mode 100644 index 0000000000..ce39686894 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/EventQueue_stub.d @@ -0,0 +1,32 @@ +objs/AT_CellularMultiplexer_unit/EventQueue_stub.o: \ + ../../stubs/EventQueue_stub.cpp ../../../../../events/EventQueue.h \ + ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h ../../../../../platform/Callback.h + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/Callback.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/EventQueue_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/EventQueue_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..71d5a57fd7ccec1947074f6c8736fdd63d1d9334 GIT binary patch literal 928 zcmYdHNlw=?F)$T+xw4Icfnl*Kkf_>N*fgDyfdPmZz5_7`FheLf%@5_{qMl=sr~rzA z%me`t8w50gm zTCy_2wais|OXS2xkog=y^U>Un%|@`>`Y*QIH@1CY`f8b*hwdLNW`Omyl>aqg72tk| z98O4T!D=SN$a$Z5_vIZvHGg?#+pXAoTm@MTl0(7f%zN9Y8~&_X1fQA~q58s=8KE`! z)TrKeRM?{4Y4qY{>}`-gk=zTi5^PrqYmCj!m8uN*%u!a@sgl@vzY3q4P;(8@Zav)$ zhS$ySKz4BfEkLsm&PNxAx#gBlfyfH0CJ literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/EventQueue_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/EventQueue_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..c500d7c33e421f0db0f66722145475d6a113d930 GIT binary patch literal 5532 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 YaY>c-k?dx_9UnG9+Qb5;SQ5Yg3&&B2Y5)KL literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/FileHandle_stub.d b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/FileHandle_stub.d new file mode 100644 index 0000000000..d1b5031eee --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/FileHandle_stub.d @@ -0,0 +1,42 @@ +objs/AT_CellularMultiplexer_unit/FileHandle_stub.o: \ + ../../stubs/FileHandle_stub.cpp ../../stubs/FileHandle_stub.h \ + ../../../../../platform/FileHandle.h ../../../../../platform/Callback.h \ + ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_poll.h ../../../../../platform/platform.h \ + ../../target_h/platform/mbed_retarget.h ../../target_h/device.h \ + ../../target_h/PinNames.h ../../target_h/PeripheralNames.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h + +../../stubs/FileHandle_stub.h: + +../../../../../platform/FileHandle.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_poll.h: + +../../../../../platform/platform.h: + +../../target_h/platform/mbed_retarget.h: + +../../target_h/device.h: + +../../target_h/PinNames.h: + +../../target_h/PeripheralNames.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/FileHandle_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/FileHandle_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..c476fe94393e85e55e674a81ff0200b2f2873c31 GIT binary patch literal 644 zcmYdHNlw=?F)*!uxw4Icfnl*Kkf_>N*fgDyfdPmZz5_7`FheLf%@5_{qMl=sr~rzA z%me`t8w50gm$teNKyBx({`J7A0Xt0 lR0lD(hV6|rh%tB5LPqwA&8B$$f3jkMRP2XKuW*DB0|05}UTy#Y literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/FileHandle_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/FileHandle_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..25980fd480ec0f68f97ccc44b745920b560124dd GIT binary patch literal 3348 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/at_cellularmultiplexertest.d b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/at_cellularmultiplexertest.d new file mode 100644 index 0000000000..1a493c8d35 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/at_cellularmultiplexertest.d @@ -0,0 +1,4 @@ +objs/AT_CellularMultiplexer_unit/at_cellularmultiplexertest.o: \ + at_cellularmultiplexertest.cpp test_at_cellularmultiplexer.h + +test_at_cellularmultiplexer.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/at_cellularmultiplexertest.gcda b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/at_cellularmultiplexertest.gcda new file mode 100644 index 0000000000000000000000000000000000000000..b89ffa0004e3928d69b6b203a9163e8095f506c5 GIT binary patch literal 2088 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/main.d b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/main.d new file mode 100644 index 0000000000..8da48abe4c --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/main.d @@ -0,0 +1 @@ +objs/AT_CellularMultiplexer_unit/main.o: main.cpp diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/main.gcda b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/main.gcda new file mode 100644 index 0000000000000000000000000000000000000000..56233781f44e31b2f806d88d4cdd2cdde6df29ea GIT binary patch literal 216 zcmYdHNlw=?F)&^5Y-Jk*1H)ofAW^lkuxUCY0|O8-dV1`g|njgx?MLowNQ2`VK znF#_QHV9|}F%y`@zz_tbL1x43(}juwDMpak>!Jd-m;y74pI)157#J2ZvVbI@YG5>o F3jkrz5>fyF literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/main.gcno b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/main.gcno new file mode 100644 index 0000000000000000000000000000000000000000..6b9c0d40fc56d75369a7f8fe03cf943bf08935fc GIT binary patch literal 228 zcmd1LOHS7^F)&^5Y-Jk*0|O&Bka%5Gz!pOh!*!IhB< TNP^4&0gyb%jmYi-`2z+3JZltv literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/main.o b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/main.o new file mode 100644 index 0000000000000000000000000000000000000000..a54513a1ee70aaa79a508c6033f8af07427d23e7 GIT binary patch literal 16304 zcmb_j3z%G0kv_M3CeuTQ$s{39f((#gG|Vf^OcID>Am(WdBqTAg2{-+?Gt3+#dqR$j~2U#CuYPtC;7{nqnk zZq@m#PMtb+>YRJ-y`9UJtyv!OJmZRIPBYb-Lyft6QI+pyw%1HIQ_RMdJ6~9NSez2>fyH<7Yi+5dJTmO6WW5sr?KH3LznV>zEEnN^R zcXYNVQn^xlCLSbPbH(<)AXX|Df?|6jNTW^RZO6tv`{Bnbt|h)Uj6)_SfVkv3Hn;9gr8b2Ku{^>drG=v7%k;#V8&=pKBo<{P9&=p-wcAUlJ z%7DoyE@E=^olJHfU~@Zn}!e&0k=0%l%AleVWM^ z|IB1>l)P;S-QL6GfA*70kxE#U>fnRVA|;IWqO47OQPfs z4ZEYEzV}dsY}Q{hz~r+}GP(A*Og?8CA-k@H$*xnGT)&CQ?hBdR@L4ARco&n;A7Ju@ z$C>PToym<;kARh%7BIOv&g7PlGx_3fCVTH?a{E(E?s%EWofD&I_vKC|U){uH-yoB( z?_zTIJ|_1(!Q`J_Wb#d#NosfROeXhrG5OY7CigcT3EBSHOdeRu0K9^oC^Yz!xE_z@(oWxv~s9Bt@cLc)fIp7cbJ z1y>Wn%#qgfuT)a{=i|aZpG~!f(9=kqhR}=1mxj>mNSB7tACM&tp+6!?8bW_Y?lgqn zK&l*(ObwdQZ(t7%uOJ)Idx+tSO{B=|hWfu)k3I1?#2z;^p7bj1Zw-yDe<4CsV2pRf z0tzXaJ>?J?vFxc;cF7mWdyDo0rT7^$ff!n>b>s~ZkCKx}NNTh+P~(iAP*Rr;OlH)qrpj3nbaITA8J_oR{sLT+gSZH z_=xCdwpjf^$PpZ?KLl3vhrvh4HFlJONd0gB3}I8y@x;iJVBzglTz*4;)27lT>;^NP zTf7i@gTRTAcj!6;4V%eav~nTIR03um&B_fSXtY8D7ZRRKWY#e(ylxfo_=`S9O4JLk z#>#f19d*=Ymxxkf^ga(FzF=@xJ~7fsXsC`18c~k1 z9c;r|`B*4L-w9!Fj$(*&QP<|tyi}qkFi^;t5*Cp(ivOI*y4T9kqCcPG0hV-ae?~ATO`C^ ztwJ*^90#rGKhk$ustc#bT-8M2|uB(Y13^)X9H;346$Xm{2Sck-kLTbNrc~eIcdu_({x^m zD%?xc`LM?G(vK`pJD}^cx>QnWz*RtjzLk_ zwz0B~^mDT)oph?vjiO4!!;R5u-OE}yIcY5`FR>g)D&?IuWt9%H5)NEd4{PN)mg6L5 z)_AXIx)rI6lbrPoVX@m~)0cP|(IKMhjz|tcg7e-e z$!=J~5pa~X_b?+k71p$|&Y#O$XtC0$GIdd46z9exjXANDF$*VL1(p~2gilr%`Gik_ zx7*Hyo#5@ZGvU+V$6Nhtz&Bg|GvJT1{Aa;WxBRu>XIcJp;9D$zJ#HLxEx#K{+F_<_ zC*Q39$8&^n#O0w$jBZCHaNw;*!rm8b*zbaQ9E7Xks1@%)YaEbuYun}R+~t=b=erJb zwJQnJXjQ|kiqmzqClP(u!wvJ-6%jZJH@dcMpYU*(z**e3Wd$ob#)BHp=QSSI$e;0A z$rujq)uy#O+Rr@PZE>R4avPsVF&dooYs>=@&jxs}!6N{#SV31ZiYJ2VSZ!3T(`(pi zJSvQBbsfv`3^BHRBg^q{VdcEJ*Lbysmm!`yxPP}pU&Szr~HMH5uB|j-z@z z38u@i>tS-n6cNunks^9DyN}V3&^kYB3gO38aPq_A@2iZoqIzsatKRCgv>A#<#hfw6 zRYL%mj-O0p#^6twCIbUX_p<7=%)wdwL~0hXBZtEKEB!>PL7rOy>#N`gDh{yUl%*9d z0+15D(?5R(Ptv^lO7ue1=SgkkMAwXp3O!kORot>O)>aFkO?#JFF*(~bi*95c!cu~B zcJq@5y%4A^wJ$4c@dLC!hRkhr^}M&~6_!VZEfaMQ+=k4C3W}D@do}?fr>F`zQ1vRwv@^Qmb2Yko|e9yR%#b+^df%@y?=7Y>d<(aFzP;?HbaSGB9k|z zj6aYo7tDp_T*+kOg;H)PVSGQ6%9>*8qQEavB{4kQ*@*_lQo;1+{ajyPF({e5pD6k? z&;$*&XyV+Gl=AVy1tv{_8$^>*E)y@B1?e=sc_Cxe-9@=oVHfjR)0Z!oXr$y}9|CAyO`1V5=5LCn%K=540+O_(&pHjWLzy6h;ITMu z2=Wu7FQ1Kx4tk&*O$S{%Mj zfAoY{XKZ*cEanOv#7r)0=+Ce8k!5Q>*`_htfKaTr2b85FBK&v%M1sg6u)a?@8E2=G zK_ZojrO6otD>oPv`qDYd{X)N;xzY1ZHWC8`o*c=|0_r77&0;K@Ec(SD&r#2iHA7b>cAC=mJQi(> z?+?cObgEeLOR@fuH9JbmNE>0eo!@STkN_nU&(Yiiij{a)vm@3=HJ@odWuqYFEb@rx za9<$DH3^0Ur&*|7 z{s;l7)Xs~4?%G8*muUl;-{t!wcRQb&1pPr_Rccu`E%(^)GDB%XvGcKI+I}gxh#T!m zMN{Mv)8^G@7jKbvfLzMBfn!&zraG_q9$AQP^U0SA$y8q-wv<9F;kFu^Dacgniub=_ z^@dd?~WFBZ|v3mipHQ9KuM+MmgtsA>fagfxc@sP@N zf2bq{?a6#6reO^sIe4(NL;s&Vw+Fh3(rgSRDC`tCyCrva)^7e7 zPwn1D+kG`zi$TIR!p)e%mBnh55ztmHiX>qBlv7Zl4C|}h!(e_yGHfrF=o8F}wHsTO z&YRcL-PYCC(K5fIv!|n{V^K?Mrc}-bAL0Ks~R(4d^hcBll=tf8+*kJhWJiS+R8KDJ^q1#wj1mHVUmhWv+Ez z+S$|A(bd-V0TmrOXdH!83Kj37^~M`+_KqIk5V?*{L$e6O9|}Kro!-=Zb!h34<3h_w z!^#$0v3=-3%-$aa(gbh7Ds{#v?YU1ynwR;I4tJjMOpI9?5?olLj82#Oc!EZYZ zUfs_r#c4TqwDFDauiX@_qA!Z)uASexG?&THJ$DTq>an=im$S4BbaoOwJ)H(pT$VcP zti<2A{=`0?3x%ggfqpvMCX3V%~3ZKiCYPJf0h*f|P!{hqJzDkoqHAj zyy!om@YkjOqQXBR`Y$W|dRf2IC9W>ckBWY`!oMT!*C>3ujBB03zc2cI3V&Mgixtj4 z3!uIaD*P)lzfUXt46*aN!v98}D@Sze(ZzmXHQ9Q{ndaY4oaE z;W^nK<}3UG3B>6N-z@zuSNL8T?>P#0UqjAQ_+lAXO5y9o{;^3jeYA|AfMq3jPO$&y;?rVW3ppcrTQ3EmZgn zv6E2vjWVuF75=2)Hz@o>!S7Qze$a^WBZYrM;_!;Xzaw@g$)ONpoCBYP5i0W)Zh!wp zA2=2MW3fM^@ZX93>lHpr;`23y?-KnVD158f|DD1`-FR}4b^hNZ>*8pIuNFJq3V+uQ z*PN;F@#5!I3V&2O-lgyZV*gf!yR+|I3ZE(Sb)Ui?l71gj_)CKSK;a9-pXU_*Tk+=w zg}X=4*A>1^^7CDV^M9J47)_9YxHz9Fah{{_x5S?hEBw>qPeS4DzPLl-uZf+nDg1e{ z^O(Y?NPK>;@JnP|bx3Y1&i}6nK3n165d6am$Nxb93Y~c}?m6LhQe-@P`F&kXNbb*S#BushNVid08(0&sF$<#973=kD-k# zk`Da-t#({)|I_1bk%rK%)$dif8?R}jFGZzToG5(=XFA}xLXeKN(I@zlX=64SE5%G( zyjYYv-fYt6-U59wYAfWd)GFd@5`FyZ%b7O*vgF6&@j@`@?65dSAN%_0R|R65G5X<1 z;F^#ZrY%8lWCQwO)|RF3DQ)!4hQ6oJ_Z4Xr4B*QSecJ#3mliUCSh{&|7JG%!KbC=R zZNX10F_pcwAo1H~Ti`2#QD7~f=hZ*&6d4FUlQs_i(`bINOY|JBXg`m zZU5*)_una)?jPTFP+T6`+UWYJB)~2DaP3`xuD!1JkYFtT?-u{*=S^G?Kg^M9@9-6b z!PVNFr>fZ_{(l^mn&R3!2=Bi|)j>?Bh`~--w@#>a&m_TE{y*m8FYVz!9;ICW&i`$M zX`2L@<+7<zvUnYU$oet>K<7#VFUh6(cB4BEo&2(wMx!RODH5_w4p<~5wzr@eQ1@Xi8BiG)= z6}LCNb_p^sN&D}iQd6}5WBCsCy!hWM1Di$|mV)jdYhtYa?>>P9RPMH1H)ofAW^lkuxUCY0|O8-dV1`g|njgx?MLowNQ2`VK znF#_QHV9|}F%y`@zz_tbL1x43(}juwDMpak(@!pD4U5zd?r1hx!oaYQ5vCWW3;+~k B6K?0|TQdka+sZ#jIhG`oSH|220q0{M@9}l=#Hr;?$y&_{_YL z)S|q^9H1}*ClKrD=>t)5Noi8CKC(KHh+c9*0Z1JSh+uGJWCqj7gfm=>2`CIv2N47D Y8KIbg!Ie<}$Oegl04eseL$rWN0A`sikpKVy literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/mbed_assert_stub.o b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/mbed_assert_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..8bddcabb06515f56e9f039888cecfe54cb18d409 GIT binary patch literal 4464 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 S*8XhS?y22-)az4r9QqIGt3i7J literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/test_at_cellularmultiplexer.o b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/objs/AT_CellularMultiplexer_unit/test_at_cellularmultiplexer.o new file mode 100644 index 0000000000000000000000000000000000000000..814b5513e46d0eebf75bf4aae02ac8174140393e GIT binary patch literal 93600 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 +#include "EventQueue.h" +#include "ATHandler.h" +#include "AT_CellularDevice.h" +#include "AT_CellularMultiplexer.h" +#include "FileHandle_stub.h" + +using namespace mbed; +using namespace events; + +Test_AT_CellularMultiplexer::Test_AT_CellularMultiplexer() +{ + +} + +Test_AT_CellularMultiplexer::~Test_AT_CellularMultiplexer() +{ +} + +void Test_AT_CellularMultiplexer::test_AT_CellularMultiplexer_constructor() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularMultiplexer *cm = new AT_CellularMultiplexer(at); + delete cm; +} + +void Test_AT_CellularMultiplexer::test_AT_CellularMultiplexer_multiplexer_mode_start() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularMultiplexer cm(at); + CHECK(!cm.multiplexer_mode_start()); +} + diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/test_at_cellularmultiplexer.h b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/test_at_cellularmultiplexer.h new file mode 100644 index 0000000000..ca4352be74 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/test_at_cellularmultiplexer.h @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2018 ARM. All rights reserved. + */ +#ifndef TEST_AT_CELLULARMULTIPLEXER_H +#define TEST_AT_CELLULARMULTIPLEXER_H + +class Test_AT_CellularMultiplexer +{ +public: + Test_AT_CellularMultiplexer(); + + virtual ~Test_AT_CellularMultiplexer(); + + void test_AT_CellularMultiplexer_constructor(); + + void test_AT_CellularMultiplexer_multiplexer_mode_start(); +}; + +#endif // TEST_AT_CELLULARMULTIPLEXER_H + diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/AT_CellularNetwork_unit_tests b/features/cellular/UNITTESTS/at/at_cellularnetwork/AT_CellularNetwork_unit_tests new file mode 100755 index 0000000000000000000000000000000000000000..fc5377949d6b5c5f182399e86041e5c26af15019 GIT binary patch literal 719816 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

R17Ht`c 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 Q->Q~>WHz8~?~nig14^#ok^lez literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/AT_CellularNetwork_unit_tests.txt b/features/cellular/UNITTESTS/at/at_cellularnetwork/AT_CellularNetwork_unit_tests.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/Makefile b/features/cellular/UNITTESTS/at/at_cellularnetwork/Makefile new file mode 100644 index 0000000000..197f1186e4 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/Makefile @@ -0,0 +1,25 @@ +include ../../makefile_defines.txt + +COMPONENT_NAME = AT_CellularNetwork_unit + +#This must be changed manually +SRC_FILES = \ + ../../../framework/AT/AT_CellularNetwork.cpp + +TEST_SRC_FILES = \ + main.cpp \ + at_cellularnetworktest.cpp \ + test_at_cellularnetwork.cpp \ + ../../stubs/ATHandler_stub.cpp \ + ../../stubs/AT_CellularBase_stub.cpp \ + ../../stubs/EventQueue_stub.cpp \ + ../../stubs/FileHandle_stub.cpp \ + ../../stubs/NetworkInterface_stub.cpp \ + ../../stubs/CellularUtil_stub.cpp \ + ../../stubs/us_ticker_stub.cpp \ + ../../stubs/mbed_assert_stub.cpp \ + +include ../../MakefileWorker.mk + +CPPUTESTFLAGS += -DFEA_TRACE_SUPPORT + diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/at_cellularnetworktest.cpp b/features/cellular/UNITTESTS/at/at_cellularnetwork/at_cellularnetworktest.cpp new file mode 100644 index 0000000000..7b7793dabb --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/at_cellularnetworktest.cpp @@ -0,0 +1,151 @@ +/* + * Copyright (c) 2015 ARM. All rights reserved. + */ +#include "CppUTest/TestHarness.h" +#include "test_at_cellularnetwork.h" + +TEST_GROUP(AT_CellularNetwork) +{ + Test_AT_CellularNetwork* unit; + + void setup() + { + unit = new Test_AT_CellularNetwork(); + } + + void teardown() + { + delete unit; + } +}; + +TEST(AT_CellularNetwork, Create) +{ + CHECK(unit != NULL); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_constructor) +{ + unit->test_AT_CellularNetwork_constructor(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_set_credentials) +{ + unit->test_AT_CellularNetwork_set_credentials(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_connect) +{ + unit->test_AT_CellularNetwork_connect(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_disconnect) +{ + unit->test_AT_CellularNetwork_disconnect(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_stack) +{ + unit->test_AT_CellularNetwork_get_stack(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_set_registration) +{ + unit->test_AT_CellularNetwork_set_registration(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_registration_status) +{ + unit->test_AT_CellularNetwork_get_registration_status(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_set_attach) +{ + unit->test_AT_CellularNetwork_set_attach(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_attach) +{ + unit->test_AT_CellularNetwork_get_attach(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_rate_control) +{ + unit->test_AT_CellularNetwork_get_rate_control(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_backoff_time) +{ + unit->test_AT_CellularNetwork_get_backoff_time(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_connection_status_cb) +{ + unit->test_AT_CellularNetwork_connection_status_cb(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_ip_address) +{ + unit->test_AT_CellularNetwork_get_ip_address(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_set_access_technology) +{ + unit->test_AT_CellularNetwork_set_access_technology(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_scan_plmn) +{ + unit->test_AT_CellularNetwork_scan_plmn(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_set_ciot_optimization_config) +{ + unit->test_AT_CellularNetwork_set_ciot_optimization_config(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_ciot_optimization_config) +{ + unit->test_AT_CellularNetwork_get_ciot_optimization_config(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_set_stack_type) +{ + unit->test_AT_CellularNetwork_set_stack_type(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_stack_type) +{ + unit->test_AT_CellularNetwork_get_stack_type(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_pdpcontext_params) +{ + unit->test_AT_CellularNetwork_get_pdpcontext_params(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_extended_signal_quality) +{ + unit->test_AT_CellularNetwork_get_extended_signal_quality(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_signal_quality) +{ + unit->test_AT_CellularNetwork_get_signal_quality(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_cell_id) +{ + unit->test_AT_CellularNetwork_get_cell_id(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_3gpp_error) +{ + unit->test_AT_CellularNetwork_get_3gpp_error(); +} + +TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_operator_params) +{ + unit->test_AT_CellularNetwork_get_operator_params(); +} + diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/cpputest_AT_CellularNetwork.xml b/features/cellular/UNITTESTS/at/at_cellularnetwork/cpputest_AT_CellularNetwork.xml new file mode 100644 index 0000000000..92acf5e5b8 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/cpputest_AT_CellularNetwork.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/AT_CellularNetwork.cpp.gcov b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/AT_CellularNetwork.cpp.gcov new file mode 100644 index 0000000000..bafffc836e --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/AT_CellularNetwork.cpp.gcov @@ -0,0 +1,910 @@ + -: 0:Source:../../../framework/AT/AT_CellularNetwork.cpp + -: 0:Graph:objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcno + -: 0:Data:objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* + -: 2: * Copyright (c) 2017, Arm Limited and affiliates. + -: 3: * SPDX-License-Identifier: Apache-2.0 + -: 4: * + -: 5: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 6: * you may not use this file except in compliance with the License. + -: 7: * You may obtain a copy of the License at + -: 8: * + -: 9: * http://www.apache.org/licenses/LICENSE-2.0 + -: 10: * + -: 11: * Unless required by applicable law or agreed to in writing, software + -: 12: * distributed under the License is distributed on an "AS IS" BASIS, + -: 13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 14: * See the License for the specific language governing permissions and + -: 15: * limitations under the License. + -: 16: */ + -: 17: + -: 18:#include + -: 19:#include "AT_CellularNetwork.h" + -: 20:#include "nsapi_ppp.h" + -: 21:#include "CellularUtil.h" + -: 22:#include "CellularLog.h" + -: 23: + -: 24:using namespace std; + -: 25:using namespace mbed_cellular_util; + -: 26:using namespace mbed; + -: 27: + 25: 28:AT_CellularNetwork::AT_CellularNetwork(ATHandler &atHandler) : AT_CellularBase(atHandler), + -: 29: _stack(NULL), _uname(NULL), _pwd(NULL), _ip_stack_type_requested(DEFAULT_STACK), _ip_stack_type(DEFAULT_STACK), _cid(-1), + 25: 30: _op_act(operator_t::RAT_UNKNOWN), _authentication_type(CHAP), _last_reg_type(C_REG) + -: 31:{ + -: 32: + 25: 33: _at.set_urc_handler("NO CARRIER", callback(this, &AT_CellularNetwork::urc_no_carrier)); + -: 34: + 25: 35: memset(_apn, 0, MAX_APN_LENGTH); + -: 36: + -: 37:#ifdef MBED_CONF_APP_CELLULAR_APN + -: 38: strncpy(_apn, MBED_CONF_APP_CELLULAR_APN, MAX_APN_LENGTH); + -: 39: log_debug("Using APN [%s] from json", _apn); + -: 40:#endif + -: 41: + 25: 42:} + -: 43: + 26: 44:AT_CellularNetwork::~AT_CellularNetwork() + -: 45:{ + 26: 46:} + -: 47: + 1: 48:void AT_CellularNetwork::urc_no_carrier() + -: 49:{ + 1: 50: if (_connection_status_cb) { + 1: 51: _connection_status_cb(NSAPI_ERROR_CONNECTION_LOST); + -: 52: } + 1: 53:} + -: 54: + 1: 55:nsapi_error_t AT_CellularNetwork::set_credentials(const char *apn, + -: 56: const char *username, const char *password) + -: 57:{ + 1: 58: strncpy(_apn, apn, MAX_APN_LENGTH); + 1: 59: _uname = username; + 1: 60: _pwd = password; + -: 61: + 1: 62: return NSAPI_ERROR_OK; + -: 63:} + -: 64: + 1: 65:nsapi_error_t AT_CellularNetwork::set_credentials(const char *apn, + -: 66: AuthenticationType type, const char *username, const char *password) + -: 67:{ + 1: 68: strncpy(_apn, apn, MAX_APN_LENGTH); + 1: 69: _uname = username; + 1: 70: _pwd = password; + 1: 71: _authentication_type = type; + -: 72: + 1: 73: return NSAPI_ERROR_OK; + -: 74:} + -: 75: + 2: 76:nsapi_error_t AT_CellularNetwork::connect(const char *apn, + -: 77: const char *username, const char *password) + -: 78:{ + 2: 79: strncpy(_apn, apn, MAX_APN_LENGTH); + 2: 80: _uname = username; + 2: 81: _pwd = password; + -: 82: + 2: 83: return connect(); + -: 84:} + -: 85: + 2: 86:nsapi_error_t AT_CellularNetwork::connect() + -: 87:{ + 2: 88: _at.lock(); + -: 89: + 2: 90: nsapi_error_t err = set_context_to_be_activated(); + 2: 91: if (err != NSAPI_ERROR_OK) { + 1: 92: _at.unlock(); + 1: 93: log_error("Failed to activate network context!"); + 1: 94: return err; + -: 95: } + -: 96: + 1: 97: err = open_data_channel(); + 1: 98: if (err != NSAPI_ERROR_OK) { + 1: 99: _at.unlock(); + 1: 100: log_error("Failed to open data channel!"); + 1: 101: return err; + -: 102: } + -: 103: + #####: 104: _at.unlock(); + -: 105: + #####: 106: return NSAPI_ERROR_OK; + -: 107:} + -: 108: + 1: 109:nsapi_error_t AT_CellularNetwork::open_data_channel() + -: 110:{ + -: 111: //old way: _at.send("ATD*99***%d#", _cid) && _at.recv("CONNECT"); + 1: 112: nsapi_error_t err = NSAPI_ERROR_NO_CONNECTION; + -: 113:#if NSAPI_PPP_AVAILABLE + -: 114: log_info("Open data channel in PPP mode"); + -: 115: _at.cmd_start("AT+CGDATA=\"PPP\","); + -: 116: _at.write_int(_cid); + -: 117: _at.cmd_stop(); + -: 118: + -: 119: _at.resp_start("CONNECT", true); + -: 120: if (_at.get_last_error()) { + -: 121: log_warn("Failed to CONNECT"); + -: 122: } + -: 123: /* Initialize PPP + -: 124: * mbed_ppp_init() is a blocking call, it will block until + -: 125: * connected, or timeout after 30 seconds*/ + -: 126: err = nsapi_ppp_connect(_at.get_file_handle(), _connection_status_cb, _uname, _pwd, _ip_stack_type); + -: 127:#else + -: 128: // do check for stack to validate that we have support for stack + 1: 129: _stack = get_stack(); + 1: 130: if (!_stack) { + 1: 131: return err; + -: 132: } + -: 133: + #####: 134: bool is_context_active = false; + #####: 135: _at.cmd_start("AT+CGACT?"); + #####: 136: _at.cmd_stop(); + #####: 137: _at.resp_start("+CGACT:"); + #####: 138: while (_at.info_resp()) { + #####: 139: int context_id = _at.read_int(); + #####: 140: int context_activation_state = _at.read_int(); + #####: 141: if (context_id == _cid && context_activation_state == 1) { + #####: 142: is_context_active = true; + -: 143: } + -: 144: } + #####: 145: _at.resp_stop(); + -: 146: + #####: 147: if (!is_context_active) { + -: 148: log_info("Activate PDP context"); + #####: 149: _at.cmd_start("AT+CGACT=1,"); + #####: 150: _at.write_int(_cid); + #####: 151: _at.cmd_stop(); + #####: 152: _at.resp_start(); + #####: 153: _at.resp_stop(); + -: 154: } + -: 155: + #####: 156: err = (_at.get_last_error() == NSAPI_ERROR_OK) ? NSAPI_ERROR_OK : NSAPI_ERROR_NO_CONNECTION; + -: 157:#endif + #####: 158: return err; + -: 159:} + -: 160: + -: 161:/** + -: 162: * User initiated disconnect + -: 163: * + -: 164: * Disconnects from PPP connection only and brings down the underlying network + -: 165: * interface + -: 166: */ + 1: 167:nsapi_error_t AT_CellularNetwork::disconnect() + -: 168:{ + -: 169:#if NSAPI_PPP_AVAILABLE + -: 170: return nsapi_ppp_disconnect(_at.get_file_handle()); + -: 171:#else + 1: 172: return NSAPI_ERROR_OK; + -: 173:#endif + -: 174:} + -: 175: + 1: 176:void AT_CellularNetwork::connection_status_cb(Callback cb) + -: 177:{ + 1: 178: _connection_status_cb = cb; + 1: 179:} + -: 180: + 2: 181:nsapi_error_t AT_CellularNetwork::set_context_to_be_activated() + -: 182:{ + -: 183: // try to find or create context with suitable stack + 2: 184: if (!get_context(_ip_stack_type_requested)) { + 1: 185: return NSAPI_ERROR_NO_CONNECTION; + -: 186: } + -: 187: + -: 188: // if user has defined user name and password we need to call CGAUTH before activating or modifying context + 1: 189: if (_pwd && _uname) { + 1: 190: _at.cmd_start("AT+CGAUTH="); + 1: 191: _at.write_int(_cid); + 1: 192: _at.write_int(_authentication_type); + 1: 193: _at.write_string(_uname); + 1: 194: _at.write_string(_pwd); + 1: 195: _at.cmd_stop(); + 1: 196: _at.resp_start(); + 1: 197: _at.resp_stop(); + 1: 198: if (_at.get_last_error() != NSAPI_ERROR_OK) { + #####: 199: return NSAPI_ERROR_AUTH_FAILURE; + -: 200: } + -: 201: } + -: 202: + 1: 203: return _at.get_last_error(); + -: 204:} + -: 205: + 2: 206:bool AT_CellularNetwork::set_new_context(nsapi_ip_stack_t stack, int cid) + -: 207:{ + 2: 208: nsapi_ip_stack_t tmp_stack = stack; + 2: 209: char pdp_type[8+1] = {0}; + -: 210: + 2: 211: switch (stack) { + -: 212: case IPV4_STACK: + #####: 213: strncpy(pdp_type, "IP", sizeof(pdp_type)); + #####: 214: break; + -: 215: case IPV6_STACK: + #####: 216: strncpy(pdp_type, "IPV6", sizeof(pdp_type)); + #####: 217: break; + -: 218: case IPV4V6_STACK: + #####: 219: strncpy(pdp_type, "IPV4V6", sizeof(pdp_type)); + #####: 220: break; + -: 221: default: + 2: 222: strncpy(pdp_type, "", sizeof(pdp_type)); + 2: 223: break; + -: 224: } + -: 225: + -: 226: //apn: "If the value is null or omitted, then the subscription value will be requested." + 2: 227: bool success = false; + 2: 228: _at.cmd_start("AT+CGDCONT="); + 2: 229: _at.write_int(cid); + 2: 230: _at.write_string(pdp_type); + 2: 231: _at.write_string(_apn); + 2: 232: _at.cmd_stop(); + 2: 233: _at.resp_start(); + 2: 234: _at.resp_stop(); + 2: 235: success = (_at.get_last_error() == NSAPI_ERROR_OK); + -: 236: + -: 237: // Fall back to ipv4 + 2: 238: if (!success && tmp_stack == IPV4V6_STACK) { + #####: 239: tmp_stack = IPV4_STACK; + #####: 240: _at.cmd_start("AT+FCLASS=0;+CGDCONT="); + #####: 241: _at.write_int(cid); + #####: 242: _at.write_string("IP"); + #####: 243: _at.write_string(_apn); + #####: 244: _at.cmd_stop(); + #####: 245: _at.resp_start(); + #####: 246: _at.resp_stop(); + #####: 247: success = (_at.get_last_error() == NSAPI_ERROR_OK); + -: 248: } + -: 249: + 2: 250: if (success) { + 1: 251: _ip_stack_type = tmp_stack; + 1: 252: _cid = cid; + -: 253: } + -: 254: + 2: 255: return success; + -: 256:} + -: 257: + 2: 258:bool AT_CellularNetwork::get_context(nsapi_ip_stack_t requested_stack) + -: 259:{ + 2: 260: _at.cmd_start("AT+CGDCONT?"); + 2: 261: _at.cmd_stop(); + 2: 262: _at.resp_start("+CGDCONT:"); + 2: 263: _cid = -1; + 2: 264: int cid_max = 0; // needed when creating new context + 2: 265: char apn[MAX_APN_LENGTH] = {0}; + 2: 266: int apn_len = 0; + -: 267: + 2: 268: while (_at.info_resp()) { + #####: 269: int cid = _at.read_int(); + #####: 270: if (cid > cid_max) { + #####: 271: cid_max = cid; + -: 272: } + -: 273: char pdp_type_from_context[10]; + #####: 274: int pdp_type_len = _at.read_string(pdp_type_from_context, sizeof(pdp_type_from_context) - 1); + #####: 275: if (pdp_type_len > 0) { + #####: 276: apn_len = _at.read_string(apn, sizeof(apn) - 1); + #####: 277: if (apn_len >= 0) { + #####: 278: if (strlen(_apn) && strcmp(apn, _apn) != 0 ) { + #####: 279: continue; + -: 280: } + #####: 281: nsapi_ip_stack_t pdp_stack = string_to_stack_type(pdp_type_from_context); + #####: 282: if (pdp_stack != DEFAULT_STACK) { + #####: 283: if (get_modem_stack_type(pdp_stack)) { + #####: 284: if (requested_stack == IPV4_STACK) { + #####: 285: if (pdp_stack == IPV4_STACK || pdp_stack == IPV4V6_STACK) { + #####: 286: _ip_stack_type = requested_stack; + #####: 287: _cid = cid; + #####: 288: break; + -: 289: } + #####: 290: } else if (requested_stack == IPV6_STACK) { + #####: 291: if (pdp_stack == IPV6_STACK || pdp_stack == IPV4V6_STACK) { + #####: 292: _ip_stack_type = requested_stack; + #####: 293: _cid = cid; + #####: 294: break; + -: 295: } + -: 296: } else { // accept any but prefer to IPv6 + #####: 297: if (pdp_stack == IPV6_STACK || pdp_stack == IPV4V6_STACK) { + #####: 298: _ip_stack_type = requested_stack; + #####: 299: _cid = cid; + #####: 300: break; + -: 301: } + #####: 302: if (_ip_stack_type == DEFAULT_STACK) { + #####: 303: _ip_stack_type = pdp_stack; + #####: 304: _cid = cid; + -: 305: } + -: 306: } + -: 307: } + -: 308: } + -: 309: } + -: 310: } + -: 311: } + 2: 312: _at.resp_stop(); + 2: 313: if (_cid == -1) { // no suitable context was found so create a new one + 2: 314: if (!set_new_context(_ip_stack_type, cid_max+1)) { + 1: 315: return false; + -: 316: } + -: 317: } + -: 318: + -: 319: // save the apn + 1: 320: if (apn_len > 0 && !strlen(_apn)) { + #####: 321: strncpy(_apn, apn, MAX_APN_LENGTH); + -: 322: } + -: 323: + -: 324: log_debug("Context id %d", _cid); + 1: 325: return true; + -: 326:} + -: 327: + #####: 328:nsapi_ip_stack_t AT_CellularNetwork::string_to_stack_type(const char* pdp_type) + -: 329:{ + #####: 330: nsapi_ip_stack_t stack = DEFAULT_STACK; + #####: 331: int len = strlen(pdp_type); + -: 332: + #####: 333: if (len == 6 && memcmp(pdp_type, "IPV4V6", len) == 0) { + #####: 334: stack = IPV4V6_STACK; + #####: 335: } else if (len == 4 && memcmp(pdp_type, "IPV6", len) == 0) { + #####: 336: stack = IPV6_STACK; + #####: 337: } else if (len == 2 && memcmp(pdp_type, "IP", len) == 0) { + #####: 338: stack = IPV4_STACK; + -: 339: } + #####: 340: return stack; + -: 341:} + -: 342: + 1: 343:nsapi_error_t AT_CellularNetwork::set_registration_urc(bool urc_on) + -: 344:{ + 1: 345: RegistrationType reg_types[] = {C_EREG, C_GREG, C_REG}; + 1: 346: const char *cmd_on[] = {"AT+CEREG=2", "AT+CGREG=2", "AT+CREG=2"}; + 1: 347: const char *cmd_off[] = {"AT+CEREG=0", "AT+CGREG=0", "AT+CREG=0"}; + 4: 348: for (uint8_t i=0; i= 0 && i < C_MAX); + -: 398: + 2: 399: RegistrationType reg_types[] = { C_EREG, C_GREG, C_REG}; + 2: 400: const char *cmd[] = { "AT+CEREG", "AT+CGREG", "AT+CREG"}; + 2: 401: const char *rsp[] = { "+CEREG: ", "+CGREG: ", "+CREG: "}; + -: 402: + 2: 403: const int LAC_LENGTH = 5, CELL_ID_LENGTH = 9; + 2: 404: char lac_string[LAC_LENGTH] = {0}, cell_id_string[CELL_ID_LENGTH] = {0}; + 2: 405: bool lac_read = false, cell_id_read = false; + -: 406: + 2: 407: _cell_id = -1; + 2: 408: _lac = -1; + -: 409: + 2: 410: _at.lock(); + -: 411: + 2: 412: if (!has_registration(reg_types[i])) { + #####: 413: _at.unlock(); + #####: 414: return NSAPI_ERROR_UNSUPPORTED; + -: 415: } + -: 416: + 2: 417: _at.cmd_start(cmd[i]); + 2: 418: _at.write_string("=2", false); + 2: 419: _at.cmd_stop(); + 2: 420: _at.resp_start(); + 2: 421: _at.resp_stop(); + -: 422: + 2: 423: _at.cmd_start(cmd[i]); + 2: 424: _at.write_string("?", false); + -: 425: + 2: 426: _at.cmd_stop(); + 2: 427: _at.resp_start(rsp[i]); + 2: 428: _at.read_int(); // ignore urc mode subparam + 2: 429: status = (RegistrationStatus)_at.read_int(); + -: 430: + 2: 431: int len = _at.read_string(lac_string, LAC_LENGTH); + 2: 432: if (memcmp(lac_string, "ffff", LAC_LENGTH-1) && len >= 0) { + 2: 433: lac_read = true; + -: 434: } + -: 435: + 2: 436: len = _at.read_string(cell_id_string, CELL_ID_LENGTH); + 2: 437: if (memcmp(cell_id_string, "ffffffff", CELL_ID_LENGTH-1) && len >= 0) { + 2: 438: cell_id_read = true; + -: 439: } + -: 440: + 2: 441: _AcT = (operator_t::RadioAccessTechnology)_at.read_int(); + -: 442: + 2: 443: _at.resp_stop(); + -: 444: + 2: 445: _at.cmd_start(cmd[i]); + 2: 446: _at.write_string("=0", false); + 2: 447: _at.cmd_stop(); + 2: 448: _at.resp_start(); + 2: 449: _at.resp_stop(); + 2: 450: nsapi_error_t ret = _at.get_last_error(); + 2: 451: _at.unlock(); + -: 452: + 2: 453: if (lac_read) { + 2: 454: _lac = hex_str_to_int(lac_string, LAC_LENGTH); + -: 455: log_debug("lac %s %d", lac_string, _lac ); + -: 456: } + -: 457: + 2: 458: if (cell_id_read) { + 2: 459: _cell_id = hex_str_to_int(cell_id_string, CELL_ID_LENGTH); + -: 460: log_debug("cell_id %s %d", cell_id_string, _cell_id ); + -: 461: } + -: 462: + 2: 463: return ret; + -: 464:} + -: 465: + 1: 466:nsapi_error_t AT_CellularNetwork::get_cell_id(int &cell_id) + -: 467:{ + -: 468: RegistrationStatus tmp; + -: 469: + 1: 470: nsapi_error_t error = get_registration_status(_last_reg_type, tmp); + -: 471: + 1: 472: cell_id = _cell_id; + -: 473: + 1: 474: return error; + -: 475:} + -: 476: + 5: 477:bool AT_CellularNetwork::has_registration(RegistrationType reg_type) + -: 478:{ + -: 479: (void)reg_type; + 5: 480: return true; + -: 481:} + -: 482: + 1: 483:nsapi_error_t AT_CellularNetwork::set_attach(int timeout) + -: 484:{ + 1: 485: _at.lock(); + -: 486: + 1: 487: _at.cmd_start("AT+CGATT?"); + 1: 488: _at.cmd_stop(); + 1: 489: _at.resp_start("+CGATT:"); + 1: 490: int attached_state = _at.read_int(); + 1: 491: _at.resp_stop(); + 1: 492: if (attached_state != 1) { + -: 493: log_debug("Network attach"); + 1: 494: _at.cmd_start("AT+CGATT=1"); + 1: 495: _at.cmd_stop(); + 1: 496: _at.resp_start(); + 1: 497: _at.resp_stop(); + -: 498: } + -: 499: + 1: 500: return _at.unlock_return_error(); + -: 501:} + -: 502: + 1: 503:nsapi_error_t AT_CellularNetwork::get_attach(AttachStatus &status) + -: 504:{ + 1: 505: _at.lock(); + -: 506: + 1: 507: _at.cmd_start("AT+CGATT?"); + 1: 508: _at.cmd_stop(); + -: 509: + 1: 510: _at.resp_start("+CGATT:"); + 1: 511: if (_at.info_resp()) { + #####: 512: int attach_status = _at.read_int(); + #####: 513: status = (attach_status == 1) ? Attached : Detached; + -: 514: } + 1: 515: _at.resp_stop(); + -: 516: + 1: 517: return _at.unlock_return_error(); + -: 518:} + -: 519: + -: 520: + 1: 521:nsapi_error_t AT_CellularNetwork::get_backoff_time(int &backoffTime) + -: 522:{ + 1: 523: _at.lock(); + -: 524: + -: 525: // If apn is set + 1: 526: if (strlen(_apn)) { + #####: 527: _at.cmd_start("AT+CABTRDP="); + #####: 528: _at.write_string(_apn); + #####: 529: _at.cmd_stop(); + #####: 530: _at.resp_start("+CABTRDP:"); + #####: 531: if (_at.info_resp()) { + #####: 532: _at.skip_param(); + #####: 533: backoffTime = _at.read_int(); + -: 534: } + #####: 535: _at.resp_stop(); + -: 536: } + -: 537: + 1: 538: return _at.unlock_return_error(); + -: 539:} + -: 540: + 3: 541:NetworkStack *AT_CellularNetwork::get_stack() + -: 542:{ + -: 543: // use lwIP/PPP if modem does not have IP stack + -: 544:#if NSAPI_PPP_AVAILABLE + -: 545: _stack = nsapi_ppp_get_stack(); + -: 546:#else + 3: 547: _stack = NULL; + -: 548:#endif + 3: 549: return _stack; + -: 550:} + -: 551: + 1: 552:const char *AT_CellularNetwork::get_ip_address() + -: 553:{ + -: 554:#if NSAPI_PPP_AVAILABLE + -: 555: return nsapi_ppp_get_ip_addr(_at.get_file_handle()); + -: 556:#else + 1: 557: if (!_stack) { + 1: 558: _stack = get_stack(); + -: 559: } + 1: 560: if (_stack) { + #####: 561: return _stack->get_ip_address(); + -: 562: } + 1: 563: return NULL; + -: 564:#endif + -: 565:} + -: 566: + 3: 567:nsapi_error_t AT_CellularNetwork::set_stack_type(nsapi_ip_stack_t stack_type) + -: 568:{ + -: 569: + 3: 570: if (get_modem_stack_type(stack_type)) { + 1: 571: _ip_stack_type_requested = stack_type; + 1: 572: return NSAPI_ERROR_OK; + -: 573: } else { + 2: 574: return NSAPI_ERROR_PARAMETER; + -: 575: } + -: 576: + -: 577:} + -: 578: + 1: 579:nsapi_ip_stack_t AT_CellularNetwork::get_stack_type() + -: 580:{ + 1: 581: return _ip_stack_type; + -: 582:} + -: 583: + 3: 584:bool AT_CellularNetwork::get_modem_stack_type(nsapi_ip_stack_t requested_stack) + -: 585:{ + 3: 586: if (requested_stack == _ip_stack_type) { + 1: 587: return true; + -: 588: } else { + 2: 589: return false; + -: 590: } + -: 591:} + -: 592: + 1: 593:nsapi_error_t AT_CellularNetwork::set_access_technology_impl(operator_t::RadioAccessTechnology opsAct) + -: 594:{ + 1: 595: return NSAPI_ERROR_UNSUPPORTED; + -: 596:} + -: 597: + 2: 598:nsapi_error_t AT_CellularNetwork::set_access_technology(operator_t::RadioAccessTechnology opAct) + -: 599:{ + 2: 600: if (opAct == operator_t::RAT_UNKNOWN) { + 1: 601: return NSAPI_ERROR_UNSUPPORTED; + -: 602: } + -: 603: + 1: 604: _op_act = opAct; + -: 605: + 1: 606: return set_access_technology_impl(opAct); + -: 607:} + -: 608: + 1: 609:nsapi_error_t AT_CellularNetwork::scan_plmn(operList_t &operators, int &opsCount) + -: 610:{ + 1: 611: int idx = 0; + -: 612: + 1: 613: _at.lock(); + -: 614: + 1: 615: _at.cmd_start("AT+COPS=?"); + 1: 616: _at.cmd_stop(); + -: 617: + 1: 618: _at.resp_start("+COPS:"); + -: 619: + 1: 620: int ret, error_code = -1; + 1: 621: operator_t *op = NULL; + -: 622: + 1: 623: while (_at.info_elem('(')) { + -: 624: + #####: 625: op = operators.add_new(); + -: 626: + #####: 627: op->op_status = (operator_t::Status)_at.read_int(); + #####: 628: _at.read_string(op->op_long, sizeof(op->op_long)); + #####: 629: _at.read_string(op->op_short, sizeof(op->op_short)); + #####: 630: _at.read_string(op->op_num, sizeof(op->op_num)); + -: 631: + -: 632: // Optional - try read an int + #####: 633: ret = _at.read_int(); + #####: 634: op->op_rat = (ret == error_code) ? operator_t::RAT_UNKNOWN:(operator_t::RadioAccessTechnology)ret; + -: 635: + #####: 636: if ((_op_act == operator_t::RAT_UNKNOWN) || + #####: 637: ((op->op_rat != operator_t::RAT_UNKNOWN) && (op->op_rat == _op_act))) { + #####: 638: idx++; + -: 639: } else { + #####: 640: operators.delete_last(); + -: 641: } + -: 642: } + -: 643: + 1: 644: _at.resp_stop(); + -: 645: + 1: 646: opsCount = idx; + -: 647: + 1: 648: return _at.unlock_return_error(); + -: 649:} + -: 650: + 1: 651:nsapi_error_t AT_CellularNetwork::set_ciot_optimization_config(Supported_UE_Opt supported_opt, + -: 652: Preferred_UE_Opt preferred_opt) + -: 653:{ + 1: 654: _at.lock(); + -: 655: + 1: 656: _at.cmd_start("AT+CCIOTOPT="); + 1: 657: _at.write_int(_cid); + 1: 658: _at.write_int(supported_opt); + 1: 659: _at.write_int(preferred_opt); + 1: 660: _at.cmd_stop(); + -: 661: + 1: 662: _at.resp_start(); + 1: 663: _at.resp_stop(); + -: 664: + 1: 665: return _at.unlock_return_error(); + -: 666:} + -: 667: + 1: 668:nsapi_error_t AT_CellularNetwork::get_ciot_optimization_config(Supported_UE_Opt& supported_opt, + -: 669: Preferred_UE_Opt& preferred_opt) + -: 670:{ + 1: 671: _at.lock(); + -: 672: + 1: 673: _at.cmd_start("AT+CCIOTOPT?"); + 1: 674: _at.cmd_stop(); + -: 675: + 1: 676: _at.resp_start("+CCIOTOPT:"); + 1: 677: _at.read_int(); + 1: 678: if (_at.get_last_error() == NSAPI_ERROR_OK) { + #####: 679: supported_opt = (Supported_UE_Opt)_at.read_int(); + #####: 680: preferred_opt = (Preferred_UE_Opt)_at.read_int(); + -: 681: } + -: 682: + 1: 683: _at.resp_stop(); + -: 684: + 1: 685: return _at.unlock_return_error(); + -: 686:} + -: 687: + 1: 688:nsapi_error_t AT_CellularNetwork::get_rate_control( + -: 689: CellularNetwork::RateControlExceptionReports &reports, + -: 690: CellularNetwork::RateControlUplinkTimeUnit &timeUnit, int &uplinkRate) + -: 691:{ + -: 692: + 1: 693: _at.lock(); + -: 694: + 1: 695: _at.cmd_start("AT+CGAPNRC="); + 1: 696: _at.write_int(_cid); + 1: 697: _at.cmd_stop(); + -: 698: + 1: 699: _at.resp_start("+CGAPNRC:"); + 1: 700: _at.read_int(); + 1: 701: if (_at.get_last_error() == NSAPI_ERROR_OK) { + 1: 702: bool comma_found = true; + 1: 703: int next_element = _at.read_int(); + 1: 704: if (next_element >= 0) { + #####: 705: reports = (RateControlExceptionReports)next_element; + -: 706: log_debug("reports %d",reports); + #####: 707: next_element = _at.read_int(); + -: 708: } else { + 1: 709: comma_found = false; + -: 710: } + -: 711: + 1: 712: if (comma_found && next_element >= 0) { + #####: 713: timeUnit = (RateControlUplinkTimeUnit)next_element; + -: 714: log_debug("time %d",timeUnit); + #####: 715: next_element = _at.read_int(); + -: 716: } else { + 1: 717: comma_found = false; + -: 718: } + -: 719: + 1: 720: if (comma_found && next_element >= 0) { + #####: 721: uplinkRate = next_element; + -: 722: log_debug("rate %d",uplinkRate); + -: 723: } + -: 724: } + 1: 725: _at.resp_stop(); + 1: 726: nsapi_error_t ret = _at.get_last_error(); + 1: 727: _at.unlock(); + -: 728: + 1: 729: return (ret == NSAPI_ERROR_OK) ? NSAPI_ERROR_OK : NSAPI_ERROR_PARAMETER; + -: 730:} + -: 731: + 1: 732:nsapi_error_t AT_CellularNetwork::get_pdpcontext_params(pdpContextList_t& params_list) + -: 733:{ + 1: 734: const int ipv6_subnet_size = 128; + 1: 735: const int max_ipv6_size = 64; + 1: 736: char* ipv6_and_subnetmask = (char*)malloc(ipv6_subnet_size); + 1: 737: if (!ipv6_and_subnetmask) { + #####: 738: return NSAPI_ERROR_NO_MEMORY; + -: 739: } + -: 740: + 1: 741: char* temp = (char*)malloc(max_ipv6_size); + 1: 742: if (!temp) { + #####: 743: free(ipv6_and_subnetmask); + #####: 744: return NSAPI_ERROR_NO_MEMORY; + -: 745: } + -: 746: + 1: 747: _at.lock(); + -: 748: + 1: 749: _at.cmd_start("AT+CGCONTRDP="); + 1: 750: _at.write_int(_cid); + 1: 751: _at.cmd_stop(); + -: 752: + 1: 753: _at.resp_start("+CGCONTRDP:"); + 1: 754: pdpcontext_params_t *params = NULL; + 1: 755: while (_at.info_resp()) { // response can be zero or many +CGDCONT lines + #####: 756: params = params_list.add_new(); + #####: 757: if (!params) { + -: 758: log_warn("Could not allocate new pdpcontext_params_t"); + #####: 759: params_list.delete_all(); + #####: 760: _at.resp_stop(); + #####: 761: free(temp); + #####: 762: free(ipv6_and_subnetmask); + #####: 763: return NSAPI_ERROR_NO_MEMORY; + -: 764: } + -: 765: + #####: 766: params->cid = _at.read_int(); + #####: 767: params->bearer_id = _at.read_int(); + #####: 768: _at.read_string(params->apn, sizeof(params->apn)); + -: 769: + -: 770: // rest are optional params + #####: 771: ipv6_and_subnetmask[0] = '\0'; + #####: 772: temp[0] = '\0'; + #####: 773: _at.read_string(ipv6_and_subnetmask, ipv6_subnet_size); + #####: 774: separate_ip_addresses(ipv6_and_subnetmask, params->local_addr, sizeof(params->local_addr), params->local_subnet_mask, sizeof(params->local_subnet_mask)); + #####: 775: ipv6_and_subnetmask[0] = '\0'; + -: 776: + #####: 777: _at.read_string(ipv6_and_subnetmask, ipv6_subnet_size); + #####: 778: separate_ip_addresses(ipv6_and_subnetmask, params->gateway_addr, sizeof(params->gateway_addr), temp, max_ipv6_size); + #####: 779: prefer_ipv6(params->gateway_addr, sizeof(params->gateway_addr), temp, max_ipv6_size); + #####: 780: ipv6_and_subnetmask[0] = '\0'; + #####: 781: temp[0] = '\0'; + -: 782: + #####: 783: _at.read_string(ipv6_and_subnetmask, ipv6_subnet_size); + #####: 784: separate_ip_addresses(ipv6_and_subnetmask, params->dns_primary_addr, sizeof(params->dns_primary_addr), temp, max_ipv6_size); + #####: 785: prefer_ipv6(params->dns_primary_addr, sizeof(params->dns_primary_addr), temp, max_ipv6_size); + #####: 786: ipv6_and_subnetmask[0] = '\0'; + #####: 787: temp[0] = '\0'; + -: 788: + #####: 789: _at.read_string(ipv6_and_subnetmask, ipv6_subnet_size); + #####: 790: separate_ip_addresses(ipv6_and_subnetmask, params->dns_secondary_addr, sizeof(params->dns_secondary_addr), temp, max_ipv6_size); + #####: 791: prefer_ipv6(params->dns_secondary_addr, sizeof(params->dns_secondary_addr), temp, max_ipv6_size); + #####: 792: ipv6_and_subnetmask[0] = '\0'; + #####: 793: temp[0] = '\0'; + -: 794: + #####: 795: _at.read_string(ipv6_and_subnetmask, ipv6_subnet_size); + #####: 796: separate_ip_addresses(ipv6_and_subnetmask, params->p_cscf_prim_addr, sizeof(params->p_cscf_prim_addr), temp, max_ipv6_size); + #####: 797: prefer_ipv6(params->p_cscf_prim_addr, sizeof(params->p_cscf_prim_addr), temp, max_ipv6_size); + #####: 798: ipv6_and_subnetmask[0] = '\0'; + #####: 799: temp[0] = '\0'; + -: 800: + #####: 801: _at.read_string(ipv6_and_subnetmask, ipv6_subnet_size); + #####: 802: separate_ip_addresses(ipv6_and_subnetmask, params->p_cscf_sec_addr, sizeof(params->p_cscf_sec_addr), temp, max_ipv6_size); + #####: 803: prefer_ipv6(params->p_cscf_sec_addr, sizeof(params->p_cscf_sec_addr), temp, max_ipv6_size); + -: 804: + #####: 805: params->im_signalling_flag = _at.read_int(); + #####: 806: params->lipa_indication = _at.read_int(); + #####: 807: params->ipv4_mtu = _at.read_int(); + #####: 808: params->wlan_offload = _at.read_int(); + #####: 809: params->local_addr_ind = _at.read_int(); + #####: 810: params->non_ip_mtu = _at.read_int(); + #####: 811: params->serving_plmn_rate_control_value = _at.read_int(); + -: 812: } + 1: 813: _at.resp_stop(); + -: 814: + 1: 815: free(temp); + 1: 816: free(ipv6_and_subnetmask); + -: 817: + 1: 818: return _at.unlock_return_error(); + -: 819:} + -: 820: + 2: 821:nsapi_error_t AT_CellularNetwork::get_extended_signal_quality(int &rxlev, int &ber, int &rscp, int &ecno, int &rsrq, int &rsrp) + -: 822:{ + 2: 823: _at.lock(); + -: 824: + 2: 825: _at.cmd_start("AT+CESQ"); + 2: 826: _at.cmd_stop(); + -: 827: + 2: 828: _at.resp_start("+CESQ:"); + 2: 829: rxlev = _at.read_int(); + 2: 830: ber = _at.read_int(); + 2: 831: rscp = _at.read_int(); + 2: 832: ecno = _at.read_int(); + 2: 833: rsrq = _at.read_int(); + 2: 834: rsrp = _at.read_int(); + 2: 835: _at.resp_stop(); + 2: 836: if (rxlev < 0 || ber < 0 || rscp < 0 || ecno < 0 || rsrq < 0 || rsrp < 0) { + 1: 837: _at.unlock(); + 1: 838: return NSAPI_ERROR_DEVICE_ERROR; + -: 839: } + -: 840: + 1: 841: return _at.unlock_return_error(); + -: 842:} + -: 843: + 2: 844:nsapi_error_t AT_CellularNetwork::get_signal_quality(int &rssi, int &ber) + -: 845:{ + 2: 846: _at.lock(); + -: 847: + 2: 848: _at.cmd_start("AT+CSQ"); + 2: 849: _at.cmd_stop(); + -: 850: + 2: 851: _at.resp_start("+CSQ:"); + 2: 852: rssi = _at.read_int(); + 2: 853: ber = _at.read_int(); + 2: 854: _at.resp_stop(); + 2: 855: if (rssi < 0 || ber < 0) { + 1: 856: _at.unlock(); + 1: 857: return NSAPI_ERROR_DEVICE_ERROR; + -: 858: } + -: 859: + 1: 860: return _at.unlock_return_error(); + -: 861:} + -: 862: + -: 863:/** Get the last 3GPP error code + -: 864: * @return see 3GPP TS 27.007 error codes + -: 865: */ + 1: 866:uint8_t AT_CellularNetwork::get_3gpp_error() + -: 867:{ + 1: 868: return _at.get_3gpp_error(); + -: 869:} + -: 870: + -: 871: + 1: 872:nsapi_error_t AT_CellularNetwork::get_operator_params(int &format, operator_t &operator_params) + -: 873:{ + 1: 874: _at.lock(); + -: 875: + 1: 876: _at.cmd_start("AT+COPS?"); + 1: 877: _at.cmd_stop(); + -: 878: + 1: 879: _at.resp_start("+COPS: "); + 1: 880: _at.read_int(); //ignore mode + 1: 881: format = _at.read_int(); + -: 882: + 1: 883: if (_at.get_last_error() == NSAPI_ERROR_OK) { + -: 884: + #####: 885: switch (format) { + -: 886: case 0: + #####: 887: _at.read_string(operator_params.op_long, 16+9); + #####: 888: break; + -: 889: + -: 890: case 1: + #####: 891: _at.read_string(operator_params.op_short, 8+4); + #####: 892: break; + -: 893: + -: 894: default: + #####: 895: _at.read_string(operator_params.op_num, 8+4); + #####: 896: break; + -: 897: } + -: 898: + #####: 899: operator_params.op_rat = (operator_t::RadioAccessTechnology)_at.read_int(); + -: 900: } + -: 901: + 1: 902: _at.resp_stop(); + -: 903: + 1: 904: return _at.unlock_return_error(); + -: 905:} diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/Callback.h.gcov b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/Callback.h.gcov new file mode 100644 index 0000000000..7f3175c216 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/Callback.h.gcov @@ -0,0 +1,4557 @@ + -: 0:Source:../../../../../platform/Callback.h + -: 0:Graph:objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcno + -: 0:Data:objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* mbed Microcontroller Library + -: 2: * Copyright (c) 2006-2015 ARM Limited + -: 3: * + -: 4: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 5: * you may not use this file except in compliance with the License. + -: 6: * You may obtain a copy of the License at + -: 7: * + -: 8: * http://www.apache.org/licenses/LICENSE-2.0 + -: 9: * + -: 10: * Unless required by applicable law or agreed to in writing, software + -: 11: * distributed under the License is distributed on an "AS IS" BASIS, + -: 12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 13: * See the License for the specific language governing permissions and + -: 14: * limitations under the License. + -: 15: */ + -: 16:#ifndef MBED_CALLBACK_H + -: 17:#define MBED_CALLBACK_H + -: 18: + -: 19:#include + -: 20:#include + -: 21:#include + -: 22:#include "platform/mbed_assert.h" + -: 23:#include "platform/mbed_toolchain.h" + -: 24: + -: 25:namespace mbed { + -: 26:/** \addtogroup platform */ + -: 27:/** @{*/ + -: 28:/** + -: 29: * \defgroup platform_Callback Callback class + -: 30: * @{ + -: 31: */ + -: 32: + -: 33:/** Callback class based on template specialization + -: 34: * + -: 35: * @note Synchronization level: Not protected + -: 36: */ + -: 37:template + -: 38:class Callback; + -: 39: + -: 40:// Internal sfinae declarations + -: 41:// + -: 42:// These are used to eliminate overloads based on type attributes + -: 43:// 1. Does a function object have a call operator + -: 44:// 2. Does a function object fit in the available storage + -: 45:// + -: 46:// These eliminations are handled cleanly by the compiler and avoid + -: 47:// massive and misleading error messages when confronted with an + -: 48:// invalid type (or worse, runtime failures) + -: 49:namespace detail { + -: 50: struct nil {}; + -: 51: + -: 52: template + -: 53: struct enable_if { typedef R type; }; + -: 54: + -: 55: template + -: 56: struct enable_if {}; + -: 57: + -: 58: template + -: 59: struct is_type { + -: 60: static const bool value = true; + -: 61: }; + -: 62:} + -: 63: + -: 64:#define MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, M) \ + -: 65: typename detail::enable_if< \ + -: 66: detail::is_type::value && \ + -: 67: sizeof(F) <= sizeof(uintptr_t) \ + -: 68: >::type = detail::nil() + -: 69: + -: 70:/** Callback class based on template specialization + -: 71: * + -: 72: * @note Synchronization level: Not protected + -: 73: */ + -: 74:template + -: 75:class Callback { + -: 76:public: + -: 77: /** Create a Callback with a static function + -: 78: * @param func Static function to attach + -: 79: */ + -: 80: Callback(R (*func)() = 0) { + -: 81: if (!func) { + -: 82: memset(this, 0, sizeof(Callback)); + -: 83: } else { + -: 84: generate(func); + -: 85: } + -: 86: } + -: 87: + -: 88: /** Attach a Callback + -: 89: * @param func The Callback to attach + -: 90: */ + -: 91: Callback(const Callback &func) { + -: 92: if (func._ops) { + -: 93: func._ops->move(this, &func); + -: 94: } + -: 95: _ops = func._ops; + -: 96: } + -: 97: + -: 98: /** Create a Callback with a member function + -: 99: * @param obj Pointer to object to invoke member function on + -: 100: * @param method Member function to attach + -: 101: */ + -: 102: template + 25: 103: Callback(U *obj, R (T::*method)()) { + 25: 104: generate(method_context(obj, method)); + 25: 105: } + -: 106: + -: 107: /** Create a Callback with a member function + -: 108: * @param obj Pointer to object to invoke member function on + -: 109: * @param method Member function to attach + -: 110: */ + -: 111: template + -: 112: Callback(const U *obj, R (T::*method)() const) { + -: 113: generate(method_context(obj, method)); + -: 114: } + -: 115: + -: 116: /** Create a Callback with a member function + -: 117: * @param obj Pointer to object to invoke member function on + -: 118: * @param method Member function to attach + -: 119: */ + -: 120: template + -: 121: Callback(volatile U *obj, R (T::*method)() volatile) { + -: 122: generate(method_context(obj, method)); + -: 123: } + -: 124: + -: 125: /** Create a Callback with a member function + -: 126: * @param obj Pointer to object to invoke member function on + -: 127: * @param method Member function to attach + -: 128: */ + -: 129: template + -: 130: Callback(const volatile U *obj, R (T::*method)() const volatile) { + -: 131: generate(method_context(obj, method)); + -: 132: } + -: 133: + -: 134: /** Create a Callback with a static function and bound pointer + -: 135: * @param func Static function to attach + -: 136: * @param arg Pointer argument to function + -: 137: */ + -: 138: template + -: 139: Callback(R (*func)(T*), U *arg) { + -: 140: generate(function_context(func, arg)); + -: 141: } + -: 142: + -: 143: /** Create a Callback with a static function and bound pointer + -: 144: * @param func Static function to attach + -: 145: * @param arg Pointer argument to function + -: 146: */ + -: 147: template + -: 148: Callback(R (*func)(const T*), const U *arg) { + -: 149: generate(function_context(func, arg)); + -: 150: } + -: 151: + -: 152: /** Create a Callback with a static function and bound pointer + -: 153: * @param func Static function to attach + -: 154: * @param arg Pointer argument to function + -: 155: */ + -: 156: template + -: 157: Callback(R (*func)(volatile T*), volatile U *arg) { + -: 158: generate(function_context(func, arg)); + -: 159: } + -: 160: + -: 161: /** Create a Callback with a static function and bound pointer + -: 162: * @param func Static function to attach + -: 163: * @param arg Pointer argument to function + -: 164: */ + -: 165: template + -: 166: Callback(R (*func)(const volatile T*), const volatile U *arg) { + -: 167: generate(function_context(func, arg)); + -: 168: } + -: 169: + -: 170: /** Create a Callback with a function object + -: 171: * @param f Function object to attach + -: 172: * @note The function object is limited to a single word of storage + -: 173: */ + -: 174: template + -: 175: Callback(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)())) { + -: 176: generate(f); + -: 177: } + -: 178: + -: 179: /** Create a Callback with a function object + -: 180: * @param f Function object to attach + -: 181: * @note The function object is limited to a single word of storage + -: 182: */ + -: 183: template + -: 184: Callback(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)() const)) { + -: 185: generate(f); + -: 186: } + -: 187: + -: 188: /** Create a Callback with a function object + -: 189: * @param f Function object to attach + -: 190: * @note The function object is limited to a single word of storage + -: 191: */ + -: 192: template + -: 193: Callback(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)() volatile)) { + -: 194: generate(f); + -: 195: } + -: 196: + -: 197: /** Create a Callback with a function object + -: 198: * @param f Function object to attach + -: 199: * @note The function object is limited to a single word of storage + -: 200: */ + -: 201: template + -: 202: Callback(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)() const volatile)) { + -: 203: generate(f); + -: 204: } + -: 205: + -: 206: /** Create a Callback with a static function and bound pointer + -: 207: * @param obj Pointer to object to bind to function + -: 208: * @param func Static function to attach + -: 209: * @deprecated + -: 210: * Arguments to callback have been reordered to Callback(func, arg) + -: 211: */ + -: 212: template + -: 213: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 214: "Arguments to callback have been reordered to Callback(func, arg)") + -: 215: Callback(U *obj, R (*func)(T*)) { + -: 216: new (this) Callback(func, obj); + -: 217: } + -: 218: + -: 219: /** Create a Callback with a static function and bound pointer + -: 220: * @param obj Pointer to object to bind to function + -: 221: * @param func Static function to attach + -: 222: * @deprecated + -: 223: * Arguments to callback have been reordered to Callback(func, arg) + -: 224: */ + -: 225: template + -: 226: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 227: "Arguments to callback have been reordered to Callback(func, arg)") + -: 228: Callback(const U *obj, R (*func)(const T*)) { + -: 229: new (this) Callback(func, obj); + -: 230: } + -: 231: + -: 232: /** Create a Callback with a static function and bound pointer + -: 233: * @param obj Pointer to object to bind to function + -: 234: * @param func Static function to attach + -: 235: * @deprecated + -: 236: * Arguments to callback have been reordered to Callback(func, arg) + -: 237: */ + -: 238: template + -: 239: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 240: "Arguments to callback have been reordered to Callback(func, arg)") + -: 241: Callback(volatile U *obj, R (*func)(volatile T*)) { + -: 242: new (this) Callback(func, obj); + -: 243: } + -: 244: + -: 245: /** Create a Callback with a static function and bound pointer + -: 246: * @param obj Pointer to object to bind to function + -: 247: * @param func Static function to attach + -: 248: * @deprecated + -: 249: * Arguments to callback have been reordered to Callback(func, arg) + -: 250: */ + -: 251: template + -: 252: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 253: "Arguments to callback have been reordered to Callback(func, arg)") + -: 254: Callback(const volatile U *obj, R (*func)(const volatile T*)) { + -: 255: new (this) Callback(func, obj); + -: 256: } + -: 257: + -: 258: /** Destroy a callback + -: 259: */ + #####: 260: ~Callback() { + #####: 261: if (_ops) { + #####: 262: _ops->dtor(this); + -: 263: } + #####: 264: } + -: 265: + -: 266: /** Attach a static function + -: 267: * @param func Static function to attach + -: 268: * @deprecated + -: 269: * Replaced by simple assignment 'Callback cb = func' + -: 270: */ + -: 271: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 272: "Replaced by simple assignment 'Callback cb = func") + -: 273: void attach(R (*func)()) { + -: 274: this->~Callback(); + -: 275: new (this) Callback(func); + -: 276: } + -: 277: + -: 278: /** Attach a Callback + -: 279: * @param func The Callback to attach + -: 280: * @deprecated + -: 281: * Replaced by simple assignment 'Callback cb = func' + -: 282: */ + -: 283: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 284: "Replaced by simple assignment 'Callback cb = func") + -: 285: void attach(const Callback &func) { + -: 286: this->~Callback(); + -: 287: new (this) Callback(func); + -: 288: } + -: 289: + -: 290: /** Attach a member function + -: 291: * @param obj Pointer to object to invoke member function on + -: 292: * @param method Member function to attach + -: 293: * @deprecated + -: 294: * Replaced by simple assignment 'Callback cb = func' + -: 295: */ + -: 296: template + -: 297: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 298: "Replaced by simple assignment 'Callback cb = func") + -: 299: void attach(U *obj, R (T::*method)()) { + -: 300: this->~Callback(); + -: 301: new (this) Callback(obj, method); + -: 302: } + -: 303: + -: 304: /** Attach a member function + -: 305: * @param obj Pointer to object to invoke member function on + -: 306: * @param method Member function to attach + -: 307: * @deprecated + -: 308: * Replaced by simple assignment 'Callback cb = func' + -: 309: */ + -: 310: template + -: 311: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 312: "Replaced by simple assignment 'Callback cb = func") + -: 313: void attach(const U *obj, R (T::*method)() const) { + -: 314: this->~Callback(); + -: 315: new (this) Callback(obj, method); + -: 316: } + -: 317: + -: 318: /** Attach a member function + -: 319: * @param obj Pointer to object to invoke member function on + -: 320: * @param method Member function to attach + -: 321: * @deprecated + -: 322: * Replaced by simple assignment 'Callback cb = func' + -: 323: */ + -: 324: template + -: 325: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 326: "Replaced by simple assignment 'Callback cb = func") + -: 327: void attach(volatile U *obj, R (T::*method)() volatile) { + -: 328: this->~Callback(); + -: 329: new (this) Callback(obj, method); + -: 330: } + -: 331: + -: 332: /** Attach a member function + -: 333: * @param obj Pointer to object to invoke member function on + -: 334: * @param method Member function to attach + -: 335: * @deprecated + -: 336: * Replaced by simple assignment 'Callback cb = func' + -: 337: */ + -: 338: template + -: 339: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 340: "Replaced by simple assignment 'Callback cb = func") + -: 341: void attach(const volatile U *obj, R (T::*method)() const volatile) { + -: 342: this->~Callback(); + -: 343: new (this) Callback(obj, method); + -: 344: } + -: 345: + -: 346: /** Attach a static function with a bound pointer + -: 347: * @param func Static function to attach + -: 348: * @param arg Pointer argument to function + -: 349: * @deprecated + -: 350: * Replaced by simple assignment 'Callback cb = func' + -: 351: */ + -: 352: template + -: 353: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 354: "Replaced by simple assignment 'Callback cb = func") + -: 355: void attach(R (*func)(T*), U *arg) { + -: 356: this->~Callback(); + -: 357: new (this) Callback(func, arg); + -: 358: } + -: 359: + -: 360: /** Attach a static function with a bound pointer + -: 361: * @param func Static function to attach + -: 362: * @param arg Pointer argument to function + -: 363: * @deprecated + -: 364: * Replaced by simple assignment 'Callback cb = func' + -: 365: */ + -: 366: template + -: 367: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 368: "Replaced by simple assignment 'Callback cb = func") + -: 369: void attach(R (*func)(const T*), const U *arg) { + -: 370: this->~Callback(); + -: 371: new (this) Callback(func, arg); + -: 372: } + -: 373: + -: 374: /** Attach a static function with a bound pointer + -: 375: * @param func Static function to attach + -: 376: * @param arg Pointer argument to function + -: 377: * @deprecated + -: 378: * Replaced by simple assignment 'Callback cb = func' + -: 379: */ + -: 380: template + -: 381: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 382: "Replaced by simple assignment 'Callback cb = func") + -: 383: void attach(R (*func)(volatile T*), volatile U *arg) { + -: 384: this->~Callback(); + -: 385: new (this) Callback(func, arg); + -: 386: } + -: 387: + -: 388: /** Attach a static function with a bound pointer + -: 389: * @param func Static function to attach + -: 390: * @param arg Pointer argument to function + -: 391: * @deprecated + -: 392: * Replaced by simple assignment 'Callback cb = func' + -: 393: */ + -: 394: template + -: 395: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 396: "Replaced by simple assignment 'Callback cb = func") + -: 397: void attach(R (*func)(const volatile T*), const volatile U *arg) { + -: 398: this->~Callback(); + -: 399: new (this) Callback(func, arg); + -: 400: } + -: 401: + -: 402: /** Attach a function object + -: 403: * @param f Function object to attach + -: 404: * @note The function object is limited to a single word of storage + -: 405: * @deprecated + -: 406: * Replaced by simple assignment 'Callback cb = func' + -: 407: */ + -: 408: template + -: 409: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 410: "Replaced by simple assignment 'Callback cb = func") + -: 411: void attach(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)())) { + -: 412: this->~Callback(); + -: 413: new (this) Callback(f); + -: 414: } + -: 415: + -: 416: /** Attach a function object + -: 417: * @param f Function object to attach + -: 418: * @note The function object is limited to a single word of storage + -: 419: * @deprecated + -: 420: * Replaced by simple assignment 'Callback cb = func' + -: 421: */ + -: 422: template + -: 423: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 424: "Replaced by simple assignment 'Callback cb = func") + -: 425: void attach(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)() const)) { + -: 426: this->~Callback(); + -: 427: new (this) Callback(f); + -: 428: } + -: 429: + -: 430: /** Attach a function object + -: 431: * @param f Function object to attach + -: 432: * @note The function object is limited to a single word of storage + -: 433: * @deprecated + -: 434: * Replaced by simple assignment 'Callback cb = func' + -: 435: */ + -: 436: template + -: 437: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 438: "Replaced by simple assignment 'Callback cb = func") + -: 439: void attach(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)() volatile)) { + -: 440: this->~Callback(); + -: 441: new (this) Callback(f); + -: 442: } + -: 443: + -: 444: /** Attach a function object + -: 445: * @param f Function object to attach + -: 446: * @note The function object is limited to a single word of storage + -: 447: * @deprecated + -: 448: * Replaced by simple assignment 'Callback cb = func' + -: 449: */ + -: 450: template + -: 451: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 452: "Replaced by simple assignment 'Callback cb = func") + -: 453: void attach(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)() const volatile)) { + -: 454: this->~Callback(); + -: 455: new (this) Callback(f); + -: 456: } + -: 457: + -: 458: /** Attach a static function with a bound pointer + -: 459: * @param obj Pointer to object to bind to function + -: 460: * @param func Static function to attach + -: 461: * @deprecated + -: 462: * Arguments to callback have been reordered to attach(func, arg) + -: 463: */ + -: 464: template + -: 465: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 466: "Arguments to callback have been reordered to attach(func, arg)") + -: 467: void attach(U *obj, R (*func)(T*)) { + -: 468: this->~Callback(); + -: 469: new (this) Callback(func, obj); + -: 470: } + -: 471: + -: 472: /** Attach a static function with a bound pointer + -: 473: * @param obj Pointer to object to bind to function + -: 474: * @param func Static function to attach + -: 475: * @deprecated + -: 476: * Arguments to callback have been reordered to attach(func, arg) + -: 477: */ + -: 478: template + -: 479: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 480: "Arguments to callback have been reordered to attach(func, arg)") + -: 481: void attach(const U *obj, R (*func)(const T*)) { + -: 482: this->~Callback(); + -: 483: new (this) Callback(func, obj); + -: 484: } + -: 485: + -: 486: /** Attach a static function with a bound pointer + -: 487: * @param obj Pointer to object to bind to function + -: 488: * @param func Static function to attach + -: 489: * @deprecated + -: 490: * Arguments to callback have been reordered to attach(func, arg) + -: 491: */ + -: 492: template + -: 493: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 494: "Arguments to callback have been reordered to attach(func, arg)") + -: 495: void attach(volatile U *obj, R (*func)(volatile T*)) { + -: 496: this->~Callback(); + -: 497: new (this) Callback(func, obj); + -: 498: } + -: 499: + -: 500: /** Attach a static function with a bound pointer + -: 501: * @param obj Pointer to object to bind to function + -: 502: * @param func Static function to attach + -: 503: * @deprecated + -: 504: * Arguments to callback have been reordered to attach(func, arg) + -: 505: */ + -: 506: template + -: 507: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 508: "Arguments to callback have been reordered to attach(func, arg)") + -: 509: void attach(const volatile U *obj, R (*func)(const volatile T*)) { + -: 510: this->~Callback(); + -: 511: new (this) Callback(func, obj); + -: 512: } + -: 513: + -: 514: /** Assign a callback + -: 515: */ + -: 516: Callback &operator=(const Callback &that) { + -: 517: if (this != &that) { + -: 518: this->~Callback(); + -: 519: new (this) Callback(that); + -: 520: } + -: 521: + -: 522: return *this; + -: 523: } + -: 524: + -: 525: /** Call the attached function + -: 526: */ + -: 527: R call() const { + -: 528: MBED_ASSERT(_ops); + -: 529: return _ops->call(this); + -: 530: } + -: 531: + -: 532: /** Call the attached function + -: 533: */ + -: 534: R operator()() const { + -: 535: return call(); + -: 536: } + -: 537: + -: 538: /** Test if function has been attached + -: 539: */ + -: 540: operator bool() const { + -: 541: return _ops; + -: 542: } + -: 543: + -: 544: /** Test for equality + -: 545: */ + -: 546: friend bool operator==(const Callback &l, const Callback &r) { + -: 547: return memcmp(&l, &r, sizeof(Callback)) == 0; + -: 548: } + -: 549: + -: 550: /** Test for inequality + -: 551: */ + -: 552: friend bool operator!=(const Callback &l, const Callback &r) { + -: 553: return !(l == r); + -: 554: } + -: 555: + -: 556: /** Static thunk for passing as C-style function + -: 557: * @param func Callback to call passed as void pointer + -: 558: * @return the value as determined by func which is of + -: 559: * type and determined by the signiture of func + -: 560: */ + -: 561: static R thunk(void *func) { + -: 562: return static_cast(func)->call(); + -: 563: } + -: 564: + -: 565:private: + -: 566: // Stored as pointer to function and pointer to optional object + -: 567: // Function pointer is stored as union of possible function types + -: 568: // to garuntee proper size and alignment + -: 569: struct _class; + -: 570: union { + -: 571: void (*_staticfunc)(); + -: 572: void (*_boundfunc)(_class*); + -: 573: void (_class::*_methodfunc)(); + -: 574: } _func; + -: 575: void *_obj; + -: 576: + -: 577: // Dynamically dispatched operations + -: 578: const struct ops { + -: 579: R (*call)(const void*); + -: 580: void (*move)(void*, const void*); + -: 581: void (*dtor)(void*); + -: 582: } *_ops; + -: 583: + -: 584: // Generate operations for function object + -: 585: template + 25: 586: void generate(const F &f) { + -: 587: static const ops ops = { + -: 588: &Callback::function_call, + -: 589: &Callback::function_move, + -: 590: &Callback::function_dtor, + -: 591: }; + -: 592: + -: 593: MBED_STATIC_ASSERT(sizeof(Callback) - sizeof(_ops) >= sizeof(F), + -: 594: "Type F must not exceed the size of the Callback class"); + 25: 595: memset(this, 0, sizeof(Callback)); + 25: 596: new (this) F(f); + 25: 597: _ops = &ops; + 25: 598: } + -: 599: + -: 600: // Function attributes + -: 601: template + 1: 602: static R function_call(const void *p) { + 1: 603: return (*(F*)p)(); + -: 604: } + -: 605: + -: 606: template + 25: 607: static void function_move(void *d, const void *p) { + 25: 608: new (d) F(*(F*)p); + 25: 609: } + -: 610: + -: 611: template + 50: 612: static void function_dtor(void *p) { + -: 613: ((F*)p)->~F(); + 50: 614: } + -: 615: + -: 616: // Wrappers for functions with context + -: 617: template + -: 618: struct method_context { + -: 619: M method; + -: 620: O *obj; + -: 621: + 25: 622: method_context(O *obj, M method) + 25: 623: : method(method), obj(obj) {} + -: 624: + 1: 625: R operator()() const { + 1: 626: return (obj->*method)(); + -: 627: } + -: 628: }; + -: 629: + -: 630: template + -: 631: struct function_context { + -: 632: F func; + -: 633: A *arg; + -: 634: + -: 635: function_context(F func, A *arg) + -: 636: : func(func), arg(arg) {} + -: 637: + -: 638: R operator()() const { + -: 639: return func(arg); + -: 640: } + -: 641: }; + -: 642:}; + -: 643: + -: 644:/** Callback class based on template specialization + -: 645: * + -: 646: * @note Synchronization level: Not protected + -: 647: */ + -: 648:template + -: 649:class Callback { + -: 650:public: + -: 651: /** Create a Callback with a static function + -: 652: * @param func Static function to attach + -: 653: */ + #####: 654: Callback(R (*func)(A0) = 0) { + #####: 655: if (!func) { + #####: 656: memset(this, 0, sizeof(Callback)); + -: 657: } else { + #####: 658: generate(func); + -: 659: } + #####: 660: } + -: 661: + -: 662: /** Attach a Callback + -: 663: * @param func The Callback to attach + -: 664: */ + 1: 665: Callback(const Callback &func) { + 1: 666: if (func._ops) { + 1: 667: func._ops->move(this, &func); + -: 668: } + 1: 669: _ops = func._ops; + 1: 670: } + -: 671: + -: 672: /** Create a Callback with a member function + -: 673: * @param obj Pointer to object to invoke member function on + -: 674: * @param method Member function to attach + -: 675: */ + -: 676: template + -: 677: Callback(U *obj, R (T::*method)(A0)) { + -: 678: generate(method_context(obj, method)); + -: 679: } + -: 680: + -: 681: /** Create a Callback with a member function + -: 682: * @param obj Pointer to object to invoke member function on + -: 683: * @param method Member function to attach + -: 684: */ + -: 685: template + -: 686: Callback(const U *obj, R (T::*method)(A0) const) { + -: 687: generate(method_context(obj, method)); + -: 688: } + -: 689: + -: 690: /** Create a Callback with a member function + -: 691: * @param obj Pointer to object to invoke member function on + -: 692: * @param method Member function to attach + -: 693: */ + -: 694: template + -: 695: Callback(volatile U *obj, R (T::*method)(A0) volatile) { + -: 696: generate(method_context(obj, method)); + -: 697: } + -: 698: + -: 699: /** Create a Callback with a member function + -: 700: * @param obj Pointer to object to invoke member function on + -: 701: * @param method Member function to attach + -: 702: */ + -: 703: template + -: 704: Callback(const volatile U *obj, R (T::*method)(A0) const volatile) { + -: 705: generate(method_context(obj, method)); + -: 706: } + -: 707: + -: 708: /** Create a Callback with a static function and bound pointer + -: 709: * @param func Static function to attach + -: 710: * @param arg Pointer argument to function + -: 711: */ + -: 712: template + -: 713: Callback(R (*func)(T*, A0), U *arg) { + -: 714: generate(function_context(func, arg)); + -: 715: } + -: 716: + -: 717: /** Create a Callback with a static function and bound pointer + -: 718: * @param func Static function to attach + -: 719: * @param arg Pointer argument to function + -: 720: */ + -: 721: template + -: 722: Callback(R (*func)(const T*, A0), const U *arg) { + -: 723: generate(function_context(func, arg)); + -: 724: } + -: 725: + -: 726: /** Create a Callback with a static function and bound pointer + -: 727: * @param func Static function to attach + -: 728: * @param arg Pointer argument to function + -: 729: */ + -: 730: template + -: 731: Callback(R (*func)(volatile T*, A0), volatile U *arg) { + -: 732: generate(function_context(func, arg)); + -: 733: } + -: 734: + -: 735: /** Create a Callback with a static function and bound pointer + -: 736: * @param func Static function to attach + -: 737: * @param arg Pointer argument to function + -: 738: */ + -: 739: template + -: 740: Callback(R (*func)(const volatile T*, A0), const volatile U *arg) { + -: 741: generate(function_context(func, arg)); + -: 742: } + -: 743: + -: 744: /** Create a Callback with a function object + -: 745: * @param f Function object to attach + -: 746: * @note The function object is limited to a single word of storage + -: 747: */ + -: 748: template + -: 749: Callback(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0))) { + -: 750: generate(f); + -: 751: } + -: 752: + -: 753: /** Create a Callback with a function object + -: 754: * @param f Function object to attach + -: 755: * @note The function object is limited to a single word of storage + -: 756: */ + -: 757: template + -: 758: Callback(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0) const)) { + -: 759: generate(f); + -: 760: } + -: 761: + -: 762: /** Create a Callback with a function object + -: 763: * @param f Function object to attach + -: 764: * @note The function object is limited to a single word of storage + -: 765: */ + -: 766: template + -: 767: Callback(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0) volatile)) { + -: 768: generate(f); + -: 769: } + -: 770: + -: 771: /** Create a Callback with a function object + -: 772: * @param f Function object to attach + -: 773: * @note The function object is limited to a single word of storage + -: 774: */ + -: 775: template + -: 776: Callback(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0) const volatile)) { + -: 777: generate(f); + -: 778: } + -: 779: + -: 780: /** Create a Callback with a static function and bound pointer + -: 781: * @param obj Pointer to object to bind to function + -: 782: * @param func Static function to attach + -: 783: * @deprecated + -: 784: * Arguments to callback have been reordered to Callback(func, arg) + -: 785: */ + -: 786: template + -: 787: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 788: "Arguments to callback have been reordered to Callback(func, arg)") + -: 789: Callback(U *obj, R (*func)(T*, A0)) { + -: 790: new (this) Callback(func, obj); + -: 791: } + -: 792: + -: 793: /** Create a Callback with a static function and bound pointer + -: 794: * @param obj Pointer to object to bind to function + -: 795: * @param func Static function to attach + -: 796: * @deprecated + -: 797: * Arguments to callback have been reordered to Callback(func, arg) + -: 798: */ + -: 799: template + -: 800: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 801: "Arguments to callback have been reordered to Callback(func, arg)") + -: 802: Callback(const U *obj, R (*func)(const T*, A0)) { + -: 803: new (this) Callback(func, obj); + -: 804: } + -: 805: + -: 806: /** Create a Callback with a static function and bound pointer + -: 807: * @param obj Pointer to object to bind to function + -: 808: * @param func Static function to attach + -: 809: * @deprecated + -: 810: * Arguments to callback have been reordered to Callback(func, arg) + -: 811: */ + -: 812: template + -: 813: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 814: "Arguments to callback have been reordered to Callback(func, arg)") + -: 815: Callback(volatile U *obj, R (*func)(volatile T*, A0)) { + -: 816: new (this) Callback(func, obj); + -: 817: } + -: 818: + -: 819: /** Create a Callback with a static function and bound pointer + -: 820: * @param obj Pointer to object to bind to function + -: 821: * @param func Static function to attach + -: 822: * @deprecated + -: 823: * Arguments to callback have been reordered to Callback(func, arg) + -: 824: */ + -: 825: template + -: 826: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 827: "Arguments to callback have been reordered to Callback(func, arg)") + -: 828: Callback(const volatile U *obj, R (*func)(const volatile T*, A0)) { + -: 829: new (this) Callback(func, obj); + -: 830: } + -: 831: + -: 832: /** Destroy a callback + -: 833: */ + #####: 834: ~Callback() { + #####: 835: if (_ops) { + #####: 836: _ops->dtor(this); + -: 837: } + #####: 838: } + -: 839: + -: 840: /** Attach a static function + -: 841: * @param func Static function to attach + -: 842: * @deprecated + -: 843: * Replaced by simple assignment 'Callback cb = func' + -: 844: */ + -: 845: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 846: "Replaced by simple assignment 'Callback cb = func") + -: 847: void attach(R (*func)(A0)) { + -: 848: this->~Callback(); + -: 849: new (this) Callback(func); + -: 850: } + -: 851: + -: 852: /** Attach a Callback + -: 853: * @param func The Callback to attach + -: 854: * @deprecated + -: 855: * Replaced by simple assignment 'Callback cb = func' + -: 856: */ + -: 857: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 858: "Replaced by simple assignment 'Callback cb = func") + -: 859: void attach(const Callback &func) { + -: 860: this->~Callback(); + -: 861: new (this) Callback(func); + -: 862: } + -: 863: + -: 864: /** Attach a member function + -: 865: * @param obj Pointer to object to invoke member function on + -: 866: * @param method Member function to attach + -: 867: * @deprecated + -: 868: * Replaced by simple assignment 'Callback cb = func' + -: 869: */ + -: 870: template + -: 871: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 872: "Replaced by simple assignment 'Callback cb = func") + -: 873: void attach(U *obj, R (T::*method)(A0)) { + -: 874: this->~Callback(); + -: 875: new (this) Callback(obj, method); + -: 876: } + -: 877: + -: 878: /** Attach a member function + -: 879: * @param obj Pointer to object to invoke member function on + -: 880: * @param method Member function to attach + -: 881: * @deprecated + -: 882: * Replaced by simple assignment 'Callback cb = func' + -: 883: */ + -: 884: template + -: 885: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 886: "Replaced by simple assignment 'Callback cb = func") + -: 887: void attach(const U *obj, R (T::*method)(A0) const) { + -: 888: this->~Callback(); + -: 889: new (this) Callback(obj, method); + -: 890: } + -: 891: + -: 892: /** Attach a member function + -: 893: * @param obj Pointer to object to invoke member function on + -: 894: * @param method Member function to attach + -: 895: * @deprecated + -: 896: * Replaced by simple assignment 'Callback cb = func' + -: 897: */ + -: 898: template + -: 899: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 900: "Replaced by simple assignment 'Callback cb = func") + -: 901: void attach(volatile U *obj, R (T::*method)(A0) volatile) { + -: 902: this->~Callback(); + -: 903: new (this) Callback(obj, method); + -: 904: } + -: 905: + -: 906: /** Attach a member function + -: 907: * @param obj Pointer to object to invoke member function on + -: 908: * @param method Member function to attach + -: 909: * @deprecated + -: 910: * Replaced by simple assignment 'Callback cb = func' + -: 911: */ + -: 912: template + -: 913: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 914: "Replaced by simple assignment 'Callback cb = func") + -: 915: void attach(const volatile U *obj, R (T::*method)(A0) const volatile) { + -: 916: this->~Callback(); + -: 917: new (this) Callback(obj, method); + -: 918: } + -: 919: + -: 920: /** Attach a static function with a bound pointer + -: 921: * @param func Static function to attach + -: 922: * @param arg Pointer argument to function + -: 923: * @deprecated + -: 924: * Replaced by simple assignment 'Callback cb = func' + -: 925: */ + -: 926: template + -: 927: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 928: "Replaced by simple assignment 'Callback cb = func") + -: 929: void attach(R (*func)(T*, A0), U *arg) { + -: 930: this->~Callback(); + -: 931: new (this) Callback(func, arg); + -: 932: } + -: 933: + -: 934: /** Attach a static function with a bound pointer + -: 935: * @param func Static function to attach + -: 936: * @param arg Pointer argument to function + -: 937: * @deprecated + -: 938: * Replaced by simple assignment 'Callback cb = func' + -: 939: */ + -: 940: template + -: 941: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 942: "Replaced by simple assignment 'Callback cb = func") + -: 943: void attach(R (*func)(const T*, A0), const U *arg) { + -: 944: this->~Callback(); + -: 945: new (this) Callback(func, arg); + -: 946: } + -: 947: + -: 948: /** Attach a static function with a bound pointer + -: 949: * @param func Static function to attach + -: 950: * @param arg Pointer argument to function + -: 951: * @deprecated + -: 952: * Replaced by simple assignment 'Callback cb = func' + -: 953: */ + -: 954: template + -: 955: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 956: "Replaced by simple assignment 'Callback cb = func") + -: 957: void attach(R (*func)(volatile T*, A0), volatile U *arg) { + -: 958: this->~Callback(); + -: 959: new (this) Callback(func, arg); + -: 960: } + -: 961: + -: 962: /** Attach a static function with a bound pointer + -: 963: * @param func Static function to attach + -: 964: * @param arg Pointer argument to function + -: 965: * @deprecated + -: 966: * Replaced by simple assignment 'Callback cb = func' + -: 967: */ + -: 968: template + -: 969: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 970: "Replaced by simple assignment 'Callback cb = func") + -: 971: void attach(R (*func)(const volatile T*, A0), const volatile U *arg) { + -: 972: this->~Callback(); + -: 973: new (this) Callback(func, arg); + -: 974: } + -: 975: + -: 976: /** Attach a function object + -: 977: * @param f Function object to attach + -: 978: * @note The function object is limited to a single word of storage + -: 979: * @deprecated + -: 980: * Replaced by simple assignment 'Callback cb = func' + -: 981: */ + -: 982: template + -: 983: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 984: "Replaced by simple assignment 'Callback cb = func") + -: 985: void attach(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0))) { + -: 986: this->~Callback(); + -: 987: new (this) Callback(f); + -: 988: } + -: 989: + -: 990: /** Attach a function object + -: 991: * @param f Function object to attach + -: 992: * @note The function object is limited to a single word of storage + -: 993: * @deprecated + -: 994: * Replaced by simple assignment 'Callback cb = func' + -: 995: */ + -: 996: template + -: 997: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 998: "Replaced by simple assignment 'Callback cb = func") + -: 999: void attach(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0) const)) { + -: 1000: this->~Callback(); + -: 1001: new (this) Callback(f); + -: 1002: } + -: 1003: + -: 1004: /** Attach a function object + -: 1005: * @param f Function object to attach + -: 1006: * @note The function object is limited to a single word of storage + -: 1007: * @deprecated + -: 1008: * Replaced by simple assignment 'Callback cb = func' + -: 1009: */ + -: 1010: template + -: 1011: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1012: "Replaced by simple assignment 'Callback cb = func") + -: 1013: void attach(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0) volatile)) { + -: 1014: this->~Callback(); + -: 1015: new (this) Callback(f); + -: 1016: } + -: 1017: + -: 1018: /** Attach a function object + -: 1019: * @param f Function object to attach + -: 1020: * @note The function object is limited to a single word of storage + -: 1021: * @deprecated + -: 1022: * Replaced by simple assignment 'Callback cb = func' + -: 1023: */ + -: 1024: template + -: 1025: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1026: "Replaced by simple assignment 'Callback cb = func") + -: 1027: void attach(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0) const volatile)) { + -: 1028: this->~Callback(); + -: 1029: new (this) Callback(f); + -: 1030: } + -: 1031: + -: 1032: /** Attach a static function with a bound pointer + -: 1033: * @param obj Pointer to object to bind to function + -: 1034: * @param func Static function to attach + -: 1035: * @deprecated + -: 1036: * Arguments to callback have been reordered to attach(func, arg) + -: 1037: */ + -: 1038: template + -: 1039: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1040: "Arguments to callback have been reordered to attach(func, arg)") + -: 1041: void attach(U *obj, R (*func)(T*, A0)) { + -: 1042: this->~Callback(); + -: 1043: new (this) Callback(func, obj); + -: 1044: } + -: 1045: + -: 1046: /** Attach a static function with a bound pointer + -: 1047: * @param obj Pointer to object to bind to function + -: 1048: * @param func Static function to attach + -: 1049: * @deprecated + -: 1050: * Arguments to callback have been reordered to attach(func, arg) + -: 1051: */ + -: 1052: template + -: 1053: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1054: "Arguments to callback have been reordered to attach(func, arg)") + -: 1055: void attach(const U *obj, R (*func)(const T*, A0)) { + -: 1056: this->~Callback(); + -: 1057: new (this) Callback(func, obj); + -: 1058: } + -: 1059: + -: 1060: /** Attach a static function with a bound pointer + -: 1061: * @param obj Pointer to object to bind to function + -: 1062: * @param func Static function to attach + -: 1063: * @deprecated + -: 1064: * Arguments to callback have been reordered to attach(func, arg) + -: 1065: */ + -: 1066: template + -: 1067: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1068: "Arguments to callback have been reordered to attach(func, arg)") + -: 1069: void attach(volatile U *obj, R (*func)(volatile T*, A0)) { + -: 1070: this->~Callback(); + -: 1071: new (this) Callback(func, obj); + -: 1072: } + -: 1073: + -: 1074: /** Attach a static function with a bound pointer + -: 1075: * @param obj Pointer to object to bind to function + -: 1076: * @param func Static function to attach + -: 1077: * @deprecated + -: 1078: * Arguments to callback have been reordered to attach(func, arg) + -: 1079: */ + -: 1080: template + -: 1081: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1082: "Arguments to callback have been reordered to attach(func, arg)") + -: 1083: void attach(const volatile U *obj, R (*func)(const volatile T*, A0)) { + -: 1084: this->~Callback(); + -: 1085: new (this) Callback(func, obj); + -: 1086: } + -: 1087: + -: 1088: /** Assign a callback + -: 1089: */ + 1: 1090: Callback &operator=(const Callback &that) { + 1: 1091: if (this != &that) { + 1: 1092: this->~Callback(); + 1: 1093: new (this) Callback(that); + -: 1094: } + -: 1095: + 1: 1096: return *this; + -: 1097: } + -: 1098: + -: 1099: /** Call the attached function + -: 1100: */ + 1: 1101: R call(A0 a0) const { + 1: 1102: MBED_ASSERT(_ops); + 1: 1103: return _ops->call(this, a0); + -: 1104: } + -: 1105: + -: 1106: /** Call the attached function + -: 1107: */ + 1: 1108: R operator()(A0 a0) const { + 1: 1109: return call(a0); + -: 1110: } + -: 1111: + -: 1112: /** Test if function has been attached + -: 1113: */ + 1: 1114: operator bool() const { + 1: 1115: return _ops; + -: 1116: } + -: 1117: + -: 1118: /** Test for equality + -: 1119: */ + -: 1120: friend bool operator==(const Callback &l, const Callback &r) { + -: 1121: return memcmp(&l, &r, sizeof(Callback)) == 0; + -: 1122: } + -: 1123: + -: 1124: /** Test for inequality + -: 1125: */ + -: 1126: friend bool operator!=(const Callback &l, const Callback &r) { + -: 1127: return !(l == r); + -: 1128: } + -: 1129: + -: 1130: /** Static thunk for passing as C-style function + -: 1131: * @param func Callback to call passed as void pointer + -: 1132: * @param a0 An argument to be called with function func + -: 1133: * @return the value as determined by func which is of + -: 1134: * type and determined by the signiture of func + -: 1135: */ + -: 1136: static R thunk(void *func, A0 a0) { + -: 1137: return static_cast(func)->call(a0); + -: 1138: } + -: 1139: + -: 1140:private: + -: 1141: // Stored as pointer to function and pointer to optional object + -: 1142: // Function pointer is stored as union of possible function types + -: 1143: // to garuntee proper size and alignment + -: 1144: struct _class; + -: 1145: union { + -: 1146: void (*_staticfunc)(A0); + -: 1147: void (*_boundfunc)(_class*, A0); + -: 1148: void (_class::*_methodfunc)(A0); + -: 1149: } _func; + -: 1150: void *_obj; + -: 1151: + -: 1152: // Dynamically dispatched operations + -: 1153: const struct ops { + -: 1154: R (*call)(const void*, A0); + -: 1155: void (*move)(void*, const void*); + -: 1156: void (*dtor)(void*); + -: 1157: } *_ops; + -: 1158: + -: 1159: // Generate operations for function object + -: 1160: template + #####: 1161: void generate(const F &f) { + -: 1162: static const ops ops = { + -: 1163: &Callback::function_call, + -: 1164: &Callback::function_move, + -: 1165: &Callback::function_dtor, + -: 1166: }; + -: 1167: + -: 1168: MBED_STATIC_ASSERT(sizeof(Callback) - sizeof(_ops) >= sizeof(F), + -: 1169: "Type F must not exceed the size of the Callback class"); + #####: 1170: memset(this, 0, sizeof(Callback)); + #####: 1171: new (this) F(f); + #####: 1172: _ops = &ops; + #####: 1173: } + -: 1174: + -: 1175: // Function attributes + -: 1176: template + #####: 1177: static R function_call(const void *p, A0 a0) { + #####: 1178: return (*(F*)p)(a0); + -: 1179: } + -: 1180: + -: 1181: template + #####: 1182: static void function_move(void *d, const void *p) { + #####: 1183: new (d) F(*(F*)p); + #####: 1184: } + -: 1185: + -: 1186: template + #####: 1187: static void function_dtor(void *p) { + -: 1188: ((F*)p)->~F(); + #####: 1189: } + -: 1190: + -: 1191: // Wrappers for functions with context + -: 1192: template + -: 1193: struct method_context { + -: 1194: M method; + -: 1195: O *obj; + -: 1196: + -: 1197: method_context(O *obj, M method) + -: 1198: : method(method), obj(obj) {} + -: 1199: + -: 1200: R operator()(A0 a0) const { + -: 1201: return (obj->*method)(a0); + -: 1202: } + -: 1203: }; + -: 1204: + -: 1205: template + -: 1206: struct function_context { + -: 1207: F func; + -: 1208: A *arg; + -: 1209: + -: 1210: function_context(F func, A *arg) + -: 1211: : func(func), arg(arg) {} + -: 1212: + -: 1213: R operator()(A0 a0) const { + -: 1214: return func(arg, a0); + -: 1215: } + -: 1216: }; + -: 1217:}; + -: 1218: + -: 1219:/** Callback class based on template specialization + -: 1220: * + -: 1221: * @note Synchronization level: Not protected + -: 1222: */ + -: 1223:template + -: 1224:class Callback { + -: 1225:public: + -: 1226: /** Create a Callback with a static function + -: 1227: * @param func Static function to attach + -: 1228: */ + -: 1229: Callback(R (*func)(A0, A1) = 0) { + -: 1230: if (!func) { + -: 1231: memset(this, 0, sizeof(Callback)); + -: 1232: } else { + -: 1233: generate(func); + -: 1234: } + -: 1235: } + -: 1236: + -: 1237: /** Attach a Callback + -: 1238: * @param func The Callback to attach + -: 1239: */ + -: 1240: Callback(const Callback &func) { + -: 1241: if (func._ops) { + -: 1242: func._ops->move(this, &func); + -: 1243: } + -: 1244: _ops = func._ops; + -: 1245: } + -: 1246: + -: 1247: /** Create a Callback with a member function + -: 1248: * @param obj Pointer to object to invoke member function on + -: 1249: * @param method Member function to attach + -: 1250: */ + -: 1251: template + -: 1252: Callback(U *obj, R (T::*method)(A0, A1)) { + -: 1253: generate(method_context(obj, method)); + -: 1254: } + -: 1255: + -: 1256: /** Create a Callback with a member function + -: 1257: * @param obj Pointer to object to invoke member function on + -: 1258: * @param method Member function to attach + -: 1259: */ + -: 1260: template + -: 1261: Callback(const U *obj, R (T::*method)(A0, A1) const) { + -: 1262: generate(method_context(obj, method)); + -: 1263: } + -: 1264: + -: 1265: /** Create a Callback with a member function + -: 1266: * @param obj Pointer to object to invoke member function on + -: 1267: * @param method Member function to attach + -: 1268: */ + -: 1269: template + -: 1270: Callback(volatile U *obj, R (T::*method)(A0, A1) volatile) { + -: 1271: generate(method_context(obj, method)); + -: 1272: } + -: 1273: + -: 1274: /** Create a Callback with a member function + -: 1275: * @param obj Pointer to object to invoke member function on + -: 1276: * @param method Member function to attach + -: 1277: */ + -: 1278: template + -: 1279: Callback(const volatile U *obj, R (T::*method)(A0, A1) const volatile) { + -: 1280: generate(method_context(obj, method)); + -: 1281: } + -: 1282: + -: 1283: /** Create a Callback with a static function and bound pointer + -: 1284: * @param func Static function to attach + -: 1285: * @param arg Pointer argument to function + -: 1286: */ + -: 1287: template + -: 1288: Callback(R (*func)(T*, A0, A1), U *arg) { + -: 1289: generate(function_context(func, arg)); + -: 1290: } + -: 1291: + -: 1292: /** Create a Callback with a static function and bound pointer + -: 1293: * @param func Static function to attach + -: 1294: * @param arg Pointer argument to function + -: 1295: */ + -: 1296: template + -: 1297: Callback(R (*func)(const T*, A0, A1), const U *arg) { + -: 1298: generate(function_context(func, arg)); + -: 1299: } + -: 1300: + -: 1301: /** Create a Callback with a static function and bound pointer + -: 1302: * @param func Static function to attach + -: 1303: * @param arg Pointer argument to function + -: 1304: */ + -: 1305: template + -: 1306: Callback(R (*func)(volatile T*, A0, A1), volatile U *arg) { + -: 1307: generate(function_context(func, arg)); + -: 1308: } + -: 1309: + -: 1310: /** Create a Callback with a static function and bound pointer + -: 1311: * @param func Static function to attach + -: 1312: * @param arg Pointer argument to function + -: 1313: */ + -: 1314: template + -: 1315: Callback(R (*func)(const volatile T*, A0, A1), const volatile U *arg) { + -: 1316: generate(function_context(func, arg)); + -: 1317: } + -: 1318: + -: 1319: /** Create a Callback with a function object + -: 1320: * @param f Function object to attach + -: 1321: * @note The function object is limited to a single word of storage + -: 1322: */ + -: 1323: template + -: 1324: Callback(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1))) { + -: 1325: generate(f); + -: 1326: } + -: 1327: + -: 1328: /** Create a Callback with a function object + -: 1329: * @param f Function object to attach + -: 1330: * @note The function object is limited to a single word of storage + -: 1331: */ + -: 1332: template + -: 1333: Callback(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1) const)) { + -: 1334: generate(f); + -: 1335: } + -: 1336: + -: 1337: /** Create a Callback with a function object + -: 1338: * @param f Function object to attach + -: 1339: * @note The function object is limited to a single word of storage + -: 1340: */ + -: 1341: template + -: 1342: Callback(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1) volatile)) { + -: 1343: generate(f); + -: 1344: } + -: 1345: + -: 1346: /** Create a Callback with a function object + -: 1347: * @param f Function object to attach + -: 1348: * @note The function object is limited to a single word of storage + -: 1349: */ + -: 1350: template + -: 1351: Callback(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1) const volatile)) { + -: 1352: generate(f); + -: 1353: } + -: 1354: + -: 1355: /** Create a Callback with a static function and bound pointer + -: 1356: * @param obj Pointer to object to bind to function + -: 1357: * @param func Static function to attach + -: 1358: * @deprecated + -: 1359: * Arguments to callback have been reordered to Callback(func, arg) + -: 1360: */ + -: 1361: template + -: 1362: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1363: "Arguments to callback have been reordered to Callback(func, arg)") + -: 1364: Callback(U *obj, R (*func)(T*, A0, A1)) { + -: 1365: new (this) Callback(func, obj); + -: 1366: } + -: 1367: + -: 1368: /** Create a Callback with a static function and bound pointer + -: 1369: * @param obj Pointer to object to bind to function + -: 1370: * @param func Static function to attach + -: 1371: * @deprecated + -: 1372: * Arguments to callback have been reordered to Callback(func, arg) + -: 1373: */ + -: 1374: template + -: 1375: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1376: "Arguments to callback have been reordered to Callback(func, arg)") + -: 1377: Callback(const U *obj, R (*func)(const T*, A0, A1)) { + -: 1378: new (this) Callback(func, obj); + -: 1379: } + -: 1380: + -: 1381: /** Create a Callback with a static function and bound pointer + -: 1382: * @param obj Pointer to object to bind to function + -: 1383: * @param func Static function to attach + -: 1384: * @deprecated + -: 1385: * Arguments to callback have been reordered to Callback(func, arg) + -: 1386: */ + -: 1387: template + -: 1388: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1389: "Arguments to callback have been reordered to Callback(func, arg)") + -: 1390: Callback(volatile U *obj, R (*func)(volatile T*, A0, A1)) { + -: 1391: new (this) Callback(func, obj); + -: 1392: } + -: 1393: + -: 1394: /** Create a Callback with a static function and bound pointer + -: 1395: * @param obj Pointer to object to bind to function + -: 1396: * @param func Static function to attach + -: 1397: * @deprecated + -: 1398: * Arguments to callback have been reordered to Callback(func, arg) + -: 1399: */ + -: 1400: template + -: 1401: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1402: "Arguments to callback have been reordered to Callback(func, arg)") + -: 1403: Callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1)) { + -: 1404: new (this) Callback(func, obj); + -: 1405: } + -: 1406: + -: 1407: /** Destroy a callback + -: 1408: */ + -: 1409: ~Callback() { + -: 1410: if (_ops) { + -: 1411: _ops->dtor(this); + -: 1412: } + -: 1413: } + -: 1414: + -: 1415: /** Attach a static function + -: 1416: * @param func Static function to attach + -: 1417: * @deprecated + -: 1418: * Replaced by simple assignment 'Callback cb = func' + -: 1419: */ + -: 1420: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1421: "Replaced by simple assignment 'Callback cb = func") + -: 1422: void attach(R (*func)(A0, A1)) { + -: 1423: this->~Callback(); + -: 1424: new (this) Callback(func); + -: 1425: } + -: 1426: + -: 1427: /** Attach a Callback + -: 1428: * @param func The Callback to attach + -: 1429: * @deprecated + -: 1430: * Replaced by simple assignment 'Callback cb = func' + -: 1431: */ + -: 1432: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1433: "Replaced by simple assignment 'Callback cb = func") + -: 1434: void attach(const Callback &func) { + -: 1435: this->~Callback(); + -: 1436: new (this) Callback(func); + -: 1437: } + -: 1438: + -: 1439: /** Attach a member function + -: 1440: * @param obj Pointer to object to invoke member function on + -: 1441: * @param method Member function to attach + -: 1442: * @deprecated + -: 1443: * Replaced by simple assignment 'Callback cb = func' + -: 1444: */ + -: 1445: template + -: 1446: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1447: "Replaced by simple assignment 'Callback cb = func") + -: 1448: void attach(U *obj, R (T::*method)(A0, A1)) { + -: 1449: this->~Callback(); + -: 1450: new (this) Callback(obj, method); + -: 1451: } + -: 1452: + -: 1453: /** Attach a member function + -: 1454: * @param obj Pointer to object to invoke member function on + -: 1455: * @param method Member function to attach + -: 1456: * @deprecated + -: 1457: * Replaced by simple assignment 'Callback cb = func' + -: 1458: */ + -: 1459: template + -: 1460: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1461: "Replaced by simple assignment 'Callback cb = func") + -: 1462: void attach(const U *obj, R (T::*method)(A0, A1) const) { + -: 1463: this->~Callback(); + -: 1464: new (this) Callback(obj, method); + -: 1465: } + -: 1466: + -: 1467: /** Attach a member function + -: 1468: * @param obj Pointer to object to invoke member function on + -: 1469: * @param method Member function to attach + -: 1470: * @deprecated + -: 1471: * Replaced by simple assignment 'Callback cb = func' + -: 1472: */ + -: 1473: template + -: 1474: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1475: "Replaced by simple assignment 'Callback cb = func") + -: 1476: void attach(volatile U *obj, R (T::*method)(A0, A1) volatile) { + -: 1477: this->~Callback(); + -: 1478: new (this) Callback(obj, method); + -: 1479: } + -: 1480: + -: 1481: /** Attach a member function + -: 1482: * @param obj Pointer to object to invoke member function on + -: 1483: * @param method Member function to attach + -: 1484: * @deprecated + -: 1485: * Replaced by simple assignment 'Callback cb = func' + -: 1486: */ + -: 1487: template + -: 1488: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1489: "Replaced by simple assignment 'Callback cb = func") + -: 1490: void attach(const volatile U *obj, R (T::*method)(A0, A1) const volatile) { + -: 1491: this->~Callback(); + -: 1492: new (this) Callback(obj, method); + -: 1493: } + -: 1494: + -: 1495: /** Attach a static function with a bound pointer + -: 1496: * @param func Static function to attach + -: 1497: * @param arg Pointer argument to function + -: 1498: * @deprecated + -: 1499: * Replaced by simple assignment 'Callback cb = func' + -: 1500: */ + -: 1501: template + -: 1502: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1503: "Replaced by simple assignment 'Callback cb = func") + -: 1504: void attach(R (*func)(T*, A0, A1), U *arg) { + -: 1505: this->~Callback(); + -: 1506: new (this) Callback(func, arg); + -: 1507: } + -: 1508: + -: 1509: /** Attach a static function with a bound pointer + -: 1510: * @param func Static function to attach + -: 1511: * @param arg Pointer argument to function + -: 1512: * @deprecated + -: 1513: * Replaced by simple assignment 'Callback cb = func' + -: 1514: */ + -: 1515: template + -: 1516: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1517: "Replaced by simple assignment 'Callback cb = func") + -: 1518: void attach(R (*func)(const T*, A0, A1), const U *arg) { + -: 1519: this->~Callback(); + -: 1520: new (this) Callback(func, arg); + -: 1521: } + -: 1522: + -: 1523: /** Attach a static function with a bound pointer + -: 1524: * @param func Static function to attach + -: 1525: * @param arg Pointer argument to function + -: 1526: * @deprecated + -: 1527: * Replaced by simple assignment 'Callback cb = func' + -: 1528: */ + -: 1529: template + -: 1530: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1531: "Replaced by simple assignment 'Callback cb = func") + -: 1532: void attach(R (*func)(volatile T*, A0, A1), volatile U *arg) { + -: 1533: this->~Callback(); + -: 1534: new (this) Callback(func, arg); + -: 1535: } + -: 1536: + -: 1537: /** Attach a static function with a bound pointer + -: 1538: * @param func Static function to attach + -: 1539: * @param arg Pointer argument to function + -: 1540: * @deprecated + -: 1541: * Replaced by simple assignment 'Callback cb = func' + -: 1542: */ + -: 1543: template + -: 1544: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1545: "Replaced by simple assignment 'Callback cb = func") + -: 1546: void attach(R (*func)(const volatile T*, A0, A1), const volatile U *arg) { + -: 1547: this->~Callback(); + -: 1548: new (this) Callback(func, arg); + -: 1549: } + -: 1550: + -: 1551: /** Attach a function object + -: 1552: * @param f Function object to attach + -: 1553: * @note The function object is limited to a single word of storage + -: 1554: * @deprecated + -: 1555: * Replaced by simple assignment 'Callback cb = func' + -: 1556: */ + -: 1557: template + -: 1558: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1559: "Replaced by simple assignment 'Callback cb = func") + -: 1560: void attach(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1))) { + -: 1561: this->~Callback(); + -: 1562: new (this) Callback(f); + -: 1563: } + -: 1564: + -: 1565: /** Attach a function object + -: 1566: * @param f Function object to attach + -: 1567: * @note The function object is limited to a single word of storage + -: 1568: * @deprecated + -: 1569: * Replaced by simple assignment 'Callback cb = func' + -: 1570: */ + -: 1571: template + -: 1572: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1573: "Replaced by simple assignment 'Callback cb = func") + -: 1574: void attach(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1) const)) { + -: 1575: this->~Callback(); + -: 1576: new (this) Callback(f); + -: 1577: } + -: 1578: + -: 1579: /** Attach a function object + -: 1580: * @param f Function object to attach + -: 1581: * @note The function object is limited to a single word of storage + -: 1582: * @deprecated + -: 1583: * Replaced by simple assignment 'Callback cb = func' + -: 1584: */ + -: 1585: template + -: 1586: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1587: "Replaced by simple assignment 'Callback cb = func") + -: 1588: void attach(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1) volatile)) { + -: 1589: this->~Callback(); + -: 1590: new (this) Callback(f); + -: 1591: } + -: 1592: + -: 1593: /** Attach a function object + -: 1594: * @param f Function object to attach + -: 1595: * @note The function object is limited to a single word of storage + -: 1596: * @deprecated + -: 1597: * Replaced by simple assignment 'Callback cb = func' + -: 1598: */ + -: 1599: template + -: 1600: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1601: "Replaced by simple assignment 'Callback cb = func") + -: 1602: void attach(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1) const volatile)) { + -: 1603: this->~Callback(); + -: 1604: new (this) Callback(f); + -: 1605: } + -: 1606: + -: 1607: /** Attach a static function with a bound pointer + -: 1608: * @param obj Pointer to object to bind to function + -: 1609: * @param func Static function to attach + -: 1610: * @deprecated + -: 1611: * Arguments to callback have been reordered to attach(func, arg) + -: 1612: */ + -: 1613: template + -: 1614: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1615: "Arguments to callback have been reordered to attach(func, arg)") + -: 1616: void attach(U *obj, R (*func)(T*, A0, A1)) { + -: 1617: this->~Callback(); + -: 1618: new (this) Callback(func, obj); + -: 1619: } + -: 1620: + -: 1621: /** Attach a static function with a bound pointer + -: 1622: * @param obj Pointer to object to bind to function + -: 1623: * @param func Static function to attach + -: 1624: * @deprecated + -: 1625: * Arguments to callback have been reordered to attach(func, arg) + -: 1626: */ + -: 1627: template + -: 1628: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1629: "Arguments to callback have been reordered to attach(func, arg)") + -: 1630: void attach(const U *obj, R (*func)(const T*, A0, A1)) { + -: 1631: this->~Callback(); + -: 1632: new (this) Callback(func, obj); + -: 1633: } + -: 1634: + -: 1635: /** Attach a static function with a bound pointer + -: 1636: * @param obj Pointer to object to bind to function + -: 1637: * @param func Static function to attach + -: 1638: * @deprecated + -: 1639: * Arguments to callback have been reordered to attach(func, arg) + -: 1640: */ + -: 1641: template + -: 1642: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1643: "Arguments to callback have been reordered to attach(func, arg)") + -: 1644: void attach(volatile U *obj, R (*func)(volatile T*, A0, A1)) { + -: 1645: this->~Callback(); + -: 1646: new (this) Callback(func, obj); + -: 1647: } + -: 1648: + -: 1649: /** Attach a static function with a bound pointer + -: 1650: * @param obj Pointer to object to bind to function + -: 1651: * @param func Static function to attach + -: 1652: * @deprecated + -: 1653: * Arguments to callback have been reordered to attach(func, arg) + -: 1654: */ + -: 1655: template + -: 1656: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1657: "Arguments to callback have been reordered to attach(func, arg)") + -: 1658: void attach(const volatile U *obj, R (*func)(const volatile T*, A0, A1)) { + -: 1659: this->~Callback(); + -: 1660: new (this) Callback(func, obj); + -: 1661: } + -: 1662: + -: 1663: /** Assign a callback + -: 1664: */ + -: 1665: Callback &operator=(const Callback &that) { + -: 1666: if (this != &that) { + -: 1667: this->~Callback(); + -: 1668: new (this) Callback(that); + -: 1669: } + -: 1670: + -: 1671: return *this; + -: 1672: } + -: 1673: + -: 1674: /** Call the attached function + -: 1675: */ + -: 1676: R call(A0 a0, A1 a1) const { + -: 1677: MBED_ASSERT(_ops); + -: 1678: return _ops->call(this, a0, a1); + -: 1679: } + -: 1680: + -: 1681: /** Call the attached function + -: 1682: */ + -: 1683: R operator()(A0 a0, A1 a1) const { + -: 1684: return call(a0, a1); + -: 1685: } + -: 1686: + -: 1687: /** Test if function has been attached + -: 1688: */ + -: 1689: operator bool() const { + -: 1690: return _ops; + -: 1691: } + -: 1692: + -: 1693: /** Test for equality + -: 1694: */ + -: 1695: friend bool operator==(const Callback &l, const Callback &r) { + -: 1696: return memcmp(&l, &r, sizeof(Callback)) == 0; + -: 1697: } + -: 1698: + -: 1699: /** Test for inequality + -: 1700: */ + -: 1701: friend bool operator!=(const Callback &l, const Callback &r) { + -: 1702: return !(l == r); + -: 1703: } + -: 1704: + -: 1705: /** Static thunk for passing as C-style function + -: 1706: * @param func Callback to call passed as void pointer + -: 1707: * @param a0 An argument to be called with function func + -: 1708: * @param a1 An argument to be called with function func + -: 1709: * @return the value as determined by func which is of + -: 1710: * type and determined by the signiture of func + -: 1711: */ + -: 1712: static R thunk(void *func, A0 a0, A1 a1) { + -: 1713: return static_cast(func)->call(a0, a1); + -: 1714: } + -: 1715: + -: 1716:private: + -: 1717: // Stored as pointer to function and pointer to optional object + -: 1718: // Function pointer is stored as union of possible function types + -: 1719: // to garuntee proper size and alignment + -: 1720: struct _class; + -: 1721: union { + -: 1722: void (*_staticfunc)(A0, A1); + -: 1723: void (*_boundfunc)(_class*, A0, A1); + -: 1724: void (_class::*_methodfunc)(A0, A1); + -: 1725: } _func; + -: 1726: void *_obj; + -: 1727: + -: 1728: // Dynamically dispatched operations + -: 1729: const struct ops { + -: 1730: R (*call)(const void*, A0, A1); + -: 1731: void (*move)(void*, const void*); + -: 1732: void (*dtor)(void*); + -: 1733: } *_ops; + -: 1734: + -: 1735: // Generate operations for function object + -: 1736: template + -: 1737: void generate(const F &f) { + -: 1738: static const ops ops = { + -: 1739: &Callback::function_call, + -: 1740: &Callback::function_move, + -: 1741: &Callback::function_dtor, + -: 1742: }; + -: 1743: + -: 1744: MBED_STATIC_ASSERT(sizeof(Callback) - sizeof(_ops) >= sizeof(F), + -: 1745: "Type F must not exceed the size of the Callback class"); + -: 1746: memset(this, 0, sizeof(Callback)); + -: 1747: new (this) F(f); + -: 1748: _ops = &ops; + -: 1749: } + -: 1750: + -: 1751: // Function attributes + -: 1752: template + -: 1753: static R function_call(const void *p, A0 a0, A1 a1) { + -: 1754: return (*(F*)p)(a0, a1); + -: 1755: } + -: 1756: + -: 1757: template + -: 1758: static void function_move(void *d, const void *p) { + -: 1759: new (d) F(*(F*)p); + -: 1760: } + -: 1761: + -: 1762: template + -: 1763: static void function_dtor(void *p) { + -: 1764: ((F*)p)->~F(); + -: 1765: } + -: 1766: + -: 1767: // Wrappers for functions with context + -: 1768: template + -: 1769: struct method_context { + -: 1770: M method; + -: 1771: O *obj; + -: 1772: + -: 1773: method_context(O *obj, M method) + -: 1774: : method(method), obj(obj) {} + -: 1775: + -: 1776: R operator()(A0 a0, A1 a1) const { + -: 1777: return (obj->*method)(a0, a1); + -: 1778: } + -: 1779: }; + -: 1780: + -: 1781: template + -: 1782: struct function_context { + -: 1783: F func; + -: 1784: A *arg; + -: 1785: + -: 1786: function_context(F func, A *arg) + -: 1787: : func(func), arg(arg) {} + -: 1788: + -: 1789: R operator()(A0 a0, A1 a1) const { + -: 1790: return func(arg, a0, a1); + -: 1791: } + -: 1792: }; + -: 1793:}; + -: 1794: + -: 1795:/** Callback class based on template specialization + -: 1796: * + -: 1797: * @note Synchronization level: Not protected + -: 1798: */ + -: 1799:template + -: 1800:class Callback { + -: 1801:public: + -: 1802: /** Create a Callback with a static function + -: 1803: * @param func Static function to attach + -: 1804: */ + -: 1805: Callback(R (*func)(A0, A1, A2) = 0) { + -: 1806: if (!func) { + -: 1807: memset(this, 0, sizeof(Callback)); + -: 1808: } else { + -: 1809: generate(func); + -: 1810: } + -: 1811: } + -: 1812: + -: 1813: /** Attach a Callback + -: 1814: * @param func The Callback to attach + -: 1815: */ + -: 1816: Callback(const Callback &func) { + -: 1817: if (func._ops) { + -: 1818: func._ops->move(this, &func); + -: 1819: } + -: 1820: _ops = func._ops; + -: 1821: } + -: 1822: + -: 1823: /** Create a Callback with a member function + -: 1824: * @param obj Pointer to object to invoke member function on + -: 1825: * @param method Member function to attach + -: 1826: */ + -: 1827: template + -: 1828: Callback(U *obj, R (T::*method)(A0, A1, A2)) { + -: 1829: generate(method_context(obj, method)); + -: 1830: } + -: 1831: + -: 1832: /** Create a Callback with a member function + -: 1833: * @param obj Pointer to object to invoke member function on + -: 1834: * @param method Member function to attach + -: 1835: */ + -: 1836: template + -: 1837: Callback(const U *obj, R (T::*method)(A0, A1, A2) const) { + -: 1838: generate(method_context(obj, method)); + -: 1839: } + -: 1840: + -: 1841: /** Create a Callback with a member function + -: 1842: * @param obj Pointer to object to invoke member function on + -: 1843: * @param method Member function to attach + -: 1844: */ + -: 1845: template + -: 1846: Callback(volatile U *obj, R (T::*method)(A0, A1, A2) volatile) { + -: 1847: generate(method_context(obj, method)); + -: 1848: } + -: 1849: + -: 1850: /** Create a Callback with a member function + -: 1851: * @param obj Pointer to object to invoke member function on + -: 1852: * @param method Member function to attach + -: 1853: */ + -: 1854: template + -: 1855: Callback(const volatile U *obj, R (T::*method)(A0, A1, A2) const volatile) { + -: 1856: generate(method_context(obj, method)); + -: 1857: } + -: 1858: + -: 1859: /** Create a Callback with a static function and bound pointer + -: 1860: * @param func Static function to attach + -: 1861: * @param arg Pointer argument to function + -: 1862: */ + -: 1863: template + -: 1864: Callback(R (*func)(T*, A0, A1, A2), U *arg) { + -: 1865: generate(function_context(func, arg)); + -: 1866: } + -: 1867: + -: 1868: /** Create a Callback with a static function and bound pointer + -: 1869: * @param func Static function to attach + -: 1870: * @param arg Pointer argument to function + -: 1871: */ + -: 1872: template + -: 1873: Callback(R (*func)(const T*, A0, A1, A2), const U *arg) { + -: 1874: generate(function_context(func, arg)); + -: 1875: } + -: 1876: + -: 1877: /** Create a Callback with a static function and bound pointer + -: 1878: * @param func Static function to attach + -: 1879: * @param arg Pointer argument to function + -: 1880: */ + -: 1881: template + -: 1882: Callback(R (*func)(volatile T*, A0, A1, A2), volatile U *arg) { + -: 1883: generate(function_context(func, arg)); + -: 1884: } + -: 1885: + -: 1886: /** Create a Callback with a static function and bound pointer + -: 1887: * @param func Static function to attach + -: 1888: * @param arg Pointer argument to function + -: 1889: */ + -: 1890: template + -: 1891: Callback(R (*func)(const volatile T*, A0, A1, A2), const volatile U *arg) { + -: 1892: generate(function_context(func, arg)); + -: 1893: } + -: 1894: + -: 1895: /** Create a Callback with a function object + -: 1896: * @param f Function object to attach + -: 1897: * @note The function object is limited to a single word of storage + -: 1898: */ + -: 1899: template + -: 1900: Callback(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2))) { + -: 1901: generate(f); + -: 1902: } + -: 1903: + -: 1904: /** Create a Callback with a function object + -: 1905: * @param f Function object to attach + -: 1906: * @note The function object is limited to a single word of storage + -: 1907: */ + -: 1908: template + -: 1909: Callback(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2) const)) { + -: 1910: generate(f); + -: 1911: } + -: 1912: + -: 1913: /** Create a Callback with a function object + -: 1914: * @param f Function object to attach + -: 1915: * @note The function object is limited to a single word of storage + -: 1916: */ + -: 1917: template + -: 1918: Callback(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2) volatile)) { + -: 1919: generate(f); + -: 1920: } + -: 1921: + -: 1922: /** Create a Callback with a function object + -: 1923: * @param f Function object to attach + -: 1924: * @note The function object is limited to a single word of storage + -: 1925: */ + -: 1926: template + -: 1927: Callback(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2) const volatile)) { + -: 1928: generate(f); + -: 1929: } + -: 1930: + -: 1931: /** Create a Callback with a static function and bound pointer + -: 1932: * @param obj Pointer to object to bind to function + -: 1933: * @param func Static function to attach + -: 1934: * @deprecated + -: 1935: * Arguments to callback have been reordered to Callback(func, arg) + -: 1936: */ + -: 1937: template + -: 1938: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1939: "Arguments to callback have been reordered to Callback(func, arg)") + -: 1940: Callback(U *obj, R (*func)(T*, A0, A1, A2)) { + -: 1941: new (this) Callback(func, obj); + -: 1942: } + -: 1943: + -: 1944: /** Create a Callback with a static function and bound pointer + -: 1945: * @param obj Pointer to object to bind to function + -: 1946: * @param func Static function to attach + -: 1947: * @deprecated + -: 1948: * Arguments to callback have been reordered to Callback(func, arg) + -: 1949: */ + -: 1950: template + -: 1951: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1952: "Arguments to callback have been reordered to Callback(func, arg)") + -: 1953: Callback(const U *obj, R (*func)(const T*, A0, A1, A2)) { + -: 1954: new (this) Callback(func, obj); + -: 1955: } + -: 1956: + -: 1957: /** Create a Callback with a static function and bound pointer + -: 1958: * @param obj Pointer to object to bind to function + -: 1959: * @param func Static function to attach + -: 1960: * @deprecated + -: 1961: * Arguments to callback have been reordered to Callback(func, arg) + -: 1962: */ + -: 1963: template + -: 1964: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1965: "Arguments to callback have been reordered to Callback(func, arg)") + -: 1966: Callback(volatile U *obj, R (*func)(volatile T*, A0, A1, A2)) { + -: 1967: new (this) Callback(func, obj); + -: 1968: } + -: 1969: + -: 1970: /** Create a Callback with a static function and bound pointer + -: 1971: * @param obj Pointer to object to bind to function + -: 1972: * @param func Static function to attach + -: 1973: * @deprecated + -: 1974: * Arguments to callback have been reordered to Callback(func, arg) + -: 1975: */ + -: 1976: template + -: 1977: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1978: "Arguments to callback have been reordered to Callback(func, arg)") + -: 1979: Callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2)) { + -: 1980: new (this) Callback(func, obj); + -: 1981: } + -: 1982: + -: 1983: /** Destroy a callback + -: 1984: */ + -: 1985: ~Callback() { + -: 1986: if (_ops) { + -: 1987: _ops->dtor(this); + -: 1988: } + -: 1989: } + -: 1990: + -: 1991: /** Attach a static function + -: 1992: * @param func Static function to attach + -: 1993: * @deprecated + -: 1994: * Replaced by simple assignment 'Callback cb = func' + -: 1995: */ + -: 1996: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1997: "Replaced by simple assignment 'Callback cb = func") + -: 1998: void attach(R (*func)(A0, A1, A2)) { + -: 1999: this->~Callback(); + -: 2000: new (this) Callback(func); + -: 2001: } + -: 2002: + -: 2003: /** Attach a Callback + -: 2004: * @param func The Callback to attach + -: 2005: * @deprecated + -: 2006: * Replaced by simple assignment 'Callback cb = func' + -: 2007: */ + -: 2008: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2009: "Replaced by simple assignment 'Callback cb = func") + -: 2010: void attach(const Callback &func) { + -: 2011: this->~Callback(); + -: 2012: new (this) Callback(func); + -: 2013: } + -: 2014: + -: 2015: /** Attach a member function + -: 2016: * @param obj Pointer to object to invoke member function on + -: 2017: * @param method Member function to attach + -: 2018: * @deprecated + -: 2019: * Replaced by simple assignment 'Callback cb = func' + -: 2020: */ + -: 2021: template + -: 2022: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2023: "Replaced by simple assignment 'Callback cb = func") + -: 2024: void attach(U *obj, R (T::*method)(A0, A1, A2)) { + -: 2025: this->~Callback(); + -: 2026: new (this) Callback(obj, method); + -: 2027: } + -: 2028: + -: 2029: /** Attach a member function + -: 2030: * @param obj Pointer to object to invoke member function on + -: 2031: * @param method Member function to attach + -: 2032: * @deprecated + -: 2033: * Replaced by simple assignment 'Callback cb = func' + -: 2034: */ + -: 2035: template + -: 2036: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2037: "Replaced by simple assignment 'Callback cb = func") + -: 2038: void attach(const U *obj, R (T::*method)(A0, A1, A2) const) { + -: 2039: this->~Callback(); + -: 2040: new (this) Callback(obj, method); + -: 2041: } + -: 2042: + -: 2043: /** Attach a member function + -: 2044: * @param obj Pointer to object to invoke member function on + -: 2045: * @param method Member function to attach + -: 2046: * @deprecated + -: 2047: * Replaced by simple assignment 'Callback cb = func' + -: 2048: */ + -: 2049: template + -: 2050: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2051: "Replaced by simple assignment 'Callback cb = func") + -: 2052: void attach(volatile U *obj, R (T::*method)(A0, A1, A2) volatile) { + -: 2053: this->~Callback(); + -: 2054: new (this) Callback(obj, method); + -: 2055: } + -: 2056: + -: 2057: /** Attach a member function + -: 2058: * @param obj Pointer to object to invoke member function on + -: 2059: * @param method Member function to attach + -: 2060: * @deprecated + -: 2061: * Replaced by simple assignment 'Callback cb = func' + -: 2062: */ + -: 2063: template + -: 2064: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2065: "Replaced by simple assignment 'Callback cb = func") + -: 2066: void attach(const volatile U *obj, R (T::*method)(A0, A1, A2) const volatile) { + -: 2067: this->~Callback(); + -: 2068: new (this) Callback(obj, method); + -: 2069: } + -: 2070: + -: 2071: /** Attach a static function with a bound pointer + -: 2072: * @param func Static function to attach + -: 2073: * @param arg Pointer argument to function + -: 2074: * @deprecated + -: 2075: * Replaced by simple assignment 'Callback cb = func' + -: 2076: */ + -: 2077: template + -: 2078: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2079: "Replaced by simple assignment 'Callback cb = func") + -: 2080: void attach(R (*func)(T*, A0, A1, A2), U *arg) { + -: 2081: this->~Callback(); + -: 2082: new (this) Callback(func, arg); + -: 2083: } + -: 2084: + -: 2085: /** Attach a static function with a bound pointer + -: 2086: * @param func Static function to attach + -: 2087: * @param arg Pointer argument to function + -: 2088: * @deprecated + -: 2089: * Replaced by simple assignment 'Callback cb = func' + -: 2090: */ + -: 2091: template + -: 2092: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2093: "Replaced by simple assignment 'Callback cb = func") + -: 2094: void attach(R (*func)(const T*, A0, A1, A2), const U *arg) { + -: 2095: this->~Callback(); + -: 2096: new (this) Callback(func, arg); + -: 2097: } + -: 2098: + -: 2099: /** Attach a static function with a bound pointer + -: 2100: * @param func Static function to attach + -: 2101: * @param arg Pointer argument to function + -: 2102: * @deprecated + -: 2103: * Replaced by simple assignment 'Callback cb = func' + -: 2104: */ + -: 2105: template + -: 2106: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2107: "Replaced by simple assignment 'Callback cb = func") + -: 2108: void attach(R (*func)(volatile T*, A0, A1, A2), volatile U *arg) { + -: 2109: this->~Callback(); + -: 2110: new (this) Callback(func, arg); + -: 2111: } + -: 2112: + -: 2113: /** Attach a static function with a bound pointer + -: 2114: * @param func Static function to attach + -: 2115: * @param arg Pointer argument to function + -: 2116: * @deprecated + -: 2117: * Replaced by simple assignment 'Callback cb = func' + -: 2118: */ + -: 2119: template + -: 2120: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2121: "Replaced by simple assignment 'Callback cb = func") + -: 2122: void attach(R (*func)(const volatile T*, A0, A1, A2), const volatile U *arg) { + -: 2123: this->~Callback(); + -: 2124: new (this) Callback(func, arg); + -: 2125: } + -: 2126: + -: 2127: /** Attach a function object + -: 2128: * @param f Function object to attach + -: 2129: * @note The function object is limited to a single word of storage + -: 2130: * @deprecated + -: 2131: * Replaced by simple assignment 'Callback cb = func' + -: 2132: */ + -: 2133: template + -: 2134: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2135: "Replaced by simple assignment 'Callback cb = func") + -: 2136: void attach(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2))) { + -: 2137: this->~Callback(); + -: 2138: new (this) Callback(f); + -: 2139: } + -: 2140: + -: 2141: /** Attach a function object + -: 2142: * @param f Function object to attach + -: 2143: * @note The function object is limited to a single word of storage + -: 2144: * @deprecated + -: 2145: * Replaced by simple assignment 'Callback cb = func' + -: 2146: */ + -: 2147: template + -: 2148: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2149: "Replaced by simple assignment 'Callback cb = func") + -: 2150: void attach(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2) const)) { + -: 2151: this->~Callback(); + -: 2152: new (this) Callback(f); + -: 2153: } + -: 2154: + -: 2155: /** Attach a function object + -: 2156: * @param f Function object to attach + -: 2157: * @note The function object is limited to a single word of storage + -: 2158: * @deprecated + -: 2159: * Replaced by simple assignment 'Callback cb = func' + -: 2160: */ + -: 2161: template + -: 2162: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2163: "Replaced by simple assignment 'Callback cb = func") + -: 2164: void attach(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2) volatile)) { + -: 2165: this->~Callback(); + -: 2166: new (this) Callback(f); + -: 2167: } + -: 2168: + -: 2169: /** Attach a function object + -: 2170: * @param f Function object to attach + -: 2171: * @note The function object is limited to a single word of storage + -: 2172: * @deprecated + -: 2173: * Replaced by simple assignment 'Callback cb = func' + -: 2174: */ + -: 2175: template + -: 2176: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2177: "Replaced by simple assignment 'Callback cb = func") + -: 2178: void attach(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2) const volatile)) { + -: 2179: this->~Callback(); + -: 2180: new (this) Callback(f); + -: 2181: } + -: 2182: + -: 2183: /** Attach a static function with a bound pointer + -: 2184: * @param obj Pointer to object to bind to function + -: 2185: * @param func Static function to attach + -: 2186: * @deprecated + -: 2187: * Arguments to callback have been reordered to attach(func, arg) + -: 2188: */ + -: 2189: template + -: 2190: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2191: "Arguments to callback have been reordered to attach(func, arg)") + -: 2192: void attach(U *obj, R (*func)(T*, A0, A1, A2)) { + -: 2193: this->~Callback(); + -: 2194: new (this) Callback(func, obj); + -: 2195: } + -: 2196: + -: 2197: /** Attach a static function with a bound pointer + -: 2198: * @param obj Pointer to object to bind to function + -: 2199: * @param func Static function to attach + -: 2200: * @deprecated + -: 2201: * Arguments to callback have been reordered to attach(func, arg) + -: 2202: */ + -: 2203: template + -: 2204: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2205: "Arguments to callback have been reordered to attach(func, arg)") + -: 2206: void attach(const U *obj, R (*func)(const T*, A0, A1, A2)) { + -: 2207: this->~Callback(); + -: 2208: new (this) Callback(func, obj); + -: 2209: } + -: 2210: + -: 2211: /** Attach a static function with a bound pointer + -: 2212: * @param obj Pointer to object to bind to function + -: 2213: * @param func Static function to attach + -: 2214: * @deprecated + -: 2215: * Arguments to callback have been reordered to attach(func, arg) + -: 2216: */ + -: 2217: template + -: 2218: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2219: "Arguments to callback have been reordered to attach(func, arg)") + -: 2220: void attach(volatile U *obj, R (*func)(volatile T*, A0, A1, A2)) { + -: 2221: this->~Callback(); + -: 2222: new (this) Callback(func, obj); + -: 2223: } + -: 2224: + -: 2225: /** Attach a static function with a bound pointer + -: 2226: * @param obj Pointer to object to bind to function + -: 2227: * @param func Static function to attach + -: 2228: * @deprecated + -: 2229: * Arguments to callback have been reordered to attach(func, arg) + -: 2230: */ + -: 2231: template + -: 2232: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2233: "Arguments to callback have been reordered to attach(func, arg)") + -: 2234: void attach(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2)) { + -: 2235: this->~Callback(); + -: 2236: new (this) Callback(func, obj); + -: 2237: } + -: 2238: + -: 2239: /** Assign a callback + -: 2240: */ + -: 2241: Callback &operator=(const Callback &that) { + -: 2242: if (this != &that) { + -: 2243: this->~Callback(); + -: 2244: new (this) Callback(that); + -: 2245: } + -: 2246: + -: 2247: return *this; + -: 2248: } + -: 2249: + -: 2250: /** Call the attached function + -: 2251: */ + -: 2252: R call(A0 a0, A1 a1, A2 a2) const { + -: 2253: MBED_ASSERT(_ops); + -: 2254: return _ops->call(this, a0, a1, a2); + -: 2255: } + -: 2256: + -: 2257: /** Call the attached function + -: 2258: */ + -: 2259: R operator()(A0 a0, A1 a1, A2 a2) const { + -: 2260: return call(a0, a1, a2); + -: 2261: } + -: 2262: + -: 2263: /** Test if function has been attached + -: 2264: */ + -: 2265: operator bool() const { + -: 2266: return _ops; + -: 2267: } + -: 2268: + -: 2269: /** Test for equality + -: 2270: */ + -: 2271: friend bool operator==(const Callback &l, const Callback &r) { + -: 2272: return memcmp(&l, &r, sizeof(Callback)) == 0; + -: 2273: } + -: 2274: + -: 2275: /** Test for inequality + -: 2276: */ + -: 2277: friend bool operator!=(const Callback &l, const Callback &r) { + -: 2278: return !(l == r); + -: 2279: } + -: 2280: + -: 2281: /** Static thunk for passing as C-style function + -: 2282: * @param func Callback to call passed as void pointer + -: 2283: * @param a0 An argument to be called with function func + -: 2284: * @param a1 An argument to be called with function func + -: 2285: * @param a2 An argument to be called with function func + -: 2286: * @return the value as determined by func which is of + -: 2287: * type and determined by the signiture of func + -: 2288: */ + -: 2289: static R thunk(void *func, A0 a0, A1 a1, A2 a2) { + -: 2290: return static_cast(func)->call(a0, a1, a2); + -: 2291: } + -: 2292: + -: 2293:private: + -: 2294: // Stored as pointer to function and pointer to optional object + -: 2295: // Function pointer is stored as union of possible function types + -: 2296: // to garuntee proper size and alignment + -: 2297: struct _class; + -: 2298: union { + -: 2299: void (*_staticfunc)(A0, A1, A2); + -: 2300: void (*_boundfunc)(_class*, A0, A1, A2); + -: 2301: void (_class::*_methodfunc)(A0, A1, A2); + -: 2302: } _func; + -: 2303: void *_obj; + -: 2304: + -: 2305: // Dynamically dispatched operations + -: 2306: const struct ops { + -: 2307: R (*call)(const void*, A0, A1, A2); + -: 2308: void (*move)(void*, const void*); + -: 2309: void (*dtor)(void*); + -: 2310: } *_ops; + -: 2311: + -: 2312: // Generate operations for function object + -: 2313: template + -: 2314: void generate(const F &f) { + -: 2315: static const ops ops = { + -: 2316: &Callback::function_call, + -: 2317: &Callback::function_move, + -: 2318: &Callback::function_dtor, + -: 2319: }; + -: 2320: + -: 2321: MBED_STATIC_ASSERT(sizeof(Callback) - sizeof(_ops) >= sizeof(F), + -: 2322: "Type F must not exceed the size of the Callback class"); + -: 2323: memset(this, 0, sizeof(Callback)); + -: 2324: new (this) F(f); + -: 2325: _ops = &ops; + -: 2326: } + -: 2327: + -: 2328: // Function attributes + -: 2329: template + -: 2330: static R function_call(const void *p, A0 a0, A1 a1, A2 a2) { + -: 2331: return (*(F*)p)(a0, a1, a2); + -: 2332: } + -: 2333: + -: 2334: template + -: 2335: static void function_move(void *d, const void *p) { + -: 2336: new (d) F(*(F*)p); + -: 2337: } + -: 2338: + -: 2339: template + -: 2340: static void function_dtor(void *p) { + -: 2341: ((F*)p)->~F(); + -: 2342: } + -: 2343: + -: 2344: // Wrappers for functions with context + -: 2345: template + -: 2346: struct method_context { + -: 2347: M method; + -: 2348: O *obj; + -: 2349: + -: 2350: method_context(O *obj, M method) + -: 2351: : method(method), obj(obj) {} + -: 2352: + -: 2353: R operator()(A0 a0, A1 a1, A2 a2) const { + -: 2354: return (obj->*method)(a0, a1, a2); + -: 2355: } + -: 2356: }; + -: 2357: + -: 2358: template + -: 2359: struct function_context { + -: 2360: F func; + -: 2361: A *arg; + -: 2362: + -: 2363: function_context(F func, A *arg) + -: 2364: : func(func), arg(arg) {} + -: 2365: + -: 2366: R operator()(A0 a0, A1 a1, A2 a2) const { + -: 2367: return func(arg, a0, a1, a2); + -: 2368: } + -: 2369: }; + -: 2370:}; + -: 2371: + -: 2372:/** Callback class based on template specialization + -: 2373: * + -: 2374: * @note Synchronization level: Not protected + -: 2375: */ + -: 2376:template + -: 2377:class Callback { + -: 2378:public: + -: 2379: /** Create a Callback with a static function + -: 2380: * @param func Static function to attach + -: 2381: */ + -: 2382: Callback(R (*func)(A0, A1, A2, A3) = 0) { + -: 2383: if (!func) { + -: 2384: memset(this, 0, sizeof(Callback)); + -: 2385: } else { + -: 2386: generate(func); + -: 2387: } + -: 2388: } + -: 2389: + -: 2390: /** Attach a Callback + -: 2391: * @param func The Callback to attach + -: 2392: */ + -: 2393: Callback(const Callback &func) { + -: 2394: if (func._ops) { + -: 2395: func._ops->move(this, &func); + -: 2396: } + -: 2397: _ops = func._ops; + -: 2398: } + -: 2399: + -: 2400: /** Create a Callback with a member function + -: 2401: * @param obj Pointer to object to invoke member function on + -: 2402: * @param method Member function to attach + -: 2403: */ + -: 2404: template + -: 2405: Callback(U *obj, R (T::*method)(A0, A1, A2, A3)) { + -: 2406: generate(method_context(obj, method)); + -: 2407: } + -: 2408: + -: 2409: /** Create a Callback with a member function + -: 2410: * @param obj Pointer to object to invoke member function on + -: 2411: * @param method Member function to attach + -: 2412: */ + -: 2413: template + -: 2414: Callback(const U *obj, R (T::*method)(A0, A1, A2, A3) const) { + -: 2415: generate(method_context(obj, method)); + -: 2416: } + -: 2417: + -: 2418: /** Create a Callback with a member function + -: 2419: * @param obj Pointer to object to invoke member function on + -: 2420: * @param method Member function to attach + -: 2421: */ + -: 2422: template + -: 2423: Callback(volatile U *obj, R (T::*method)(A0, A1, A2, A3) volatile) { + -: 2424: generate(method_context(obj, method)); + -: 2425: } + -: 2426: + -: 2427: /** Create a Callback with a member function + -: 2428: * @param obj Pointer to object to invoke member function on + -: 2429: * @param method Member function to attach + -: 2430: */ + -: 2431: template + -: 2432: Callback(const volatile U *obj, R (T::*method)(A0, A1, A2, A3) const volatile) { + -: 2433: generate(method_context(obj, method)); + -: 2434: } + -: 2435: + -: 2436: /** Create a Callback with a static function and bound pointer + -: 2437: * @param func Static function to attach + -: 2438: * @param arg Pointer argument to function + -: 2439: */ + -: 2440: template + -: 2441: Callback(R (*func)(T*, A0, A1, A2, A3), U *arg) { + -: 2442: generate(function_context(func, arg)); + -: 2443: } + -: 2444: + -: 2445: /** Create a Callback with a static function and bound pointer + -: 2446: * @param func Static function to attach + -: 2447: * @param arg Pointer argument to function + -: 2448: */ + -: 2449: template + -: 2450: Callback(R (*func)(const T*, A0, A1, A2, A3), const U *arg) { + -: 2451: generate(function_context(func, arg)); + -: 2452: } + -: 2453: + -: 2454: /** Create a Callback with a static function and bound pointer + -: 2455: * @param func Static function to attach + -: 2456: * @param arg Pointer argument to function + -: 2457: */ + -: 2458: template + -: 2459: Callback(R (*func)(volatile T*, A0, A1, A2, A3), volatile U *arg) { + -: 2460: generate(function_context(func, arg)); + -: 2461: } + -: 2462: + -: 2463: /** Create a Callback with a static function and bound pointer + -: 2464: * @param func Static function to attach + -: 2465: * @param arg Pointer argument to function + -: 2466: */ + -: 2467: template + -: 2468: Callback(R (*func)(const volatile T*, A0, A1, A2, A3), const volatile U *arg) { + -: 2469: generate(function_context(func, arg)); + -: 2470: } + -: 2471: + -: 2472: /** Create a Callback with a function object + -: 2473: * @param f Function object to attach + -: 2474: * @note The function object is limited to a single word of storage + -: 2475: */ + -: 2476: template + -: 2477: Callback(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3))) { + -: 2478: generate(f); + -: 2479: } + -: 2480: + -: 2481: /** Create a Callback with a function object + -: 2482: * @param f Function object to attach + -: 2483: * @note The function object is limited to a single word of storage + -: 2484: */ + -: 2485: template + -: 2486: Callback(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3) const)) { + -: 2487: generate(f); + -: 2488: } + -: 2489: + -: 2490: /** Create a Callback with a function object + -: 2491: * @param f Function object to attach + -: 2492: * @note The function object is limited to a single word of storage + -: 2493: */ + -: 2494: template + -: 2495: Callback(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3) volatile)) { + -: 2496: generate(f); + -: 2497: } + -: 2498: + -: 2499: /** Create a Callback with a function object + -: 2500: * @param f Function object to attach + -: 2501: * @note The function object is limited to a single word of storage + -: 2502: */ + -: 2503: template + -: 2504: Callback(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3) const volatile)) { + -: 2505: generate(f); + -: 2506: } + -: 2507: + -: 2508: /** Create a Callback with a static function and bound pointer + -: 2509: * @param obj Pointer to object to bind to function + -: 2510: * @param func Static function to attach + -: 2511: * @deprecated + -: 2512: * Arguments to callback have been reordered to Callback(func, arg) + -: 2513: */ + -: 2514: template + -: 2515: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2516: "Arguments to callback have been reordered to Callback(func, arg)") + -: 2517: Callback(U *obj, R (*func)(T*, A0, A1, A2, A3)) { + -: 2518: new (this) Callback(func, obj); + -: 2519: } + -: 2520: + -: 2521: /** Create a Callback with a static function and bound pointer + -: 2522: * @param obj Pointer to object to bind to function + -: 2523: * @param func Static function to attach + -: 2524: * @deprecated + -: 2525: * Arguments to callback have been reordered to Callback(func, arg) + -: 2526: */ + -: 2527: template + -: 2528: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2529: "Arguments to callback have been reordered to Callback(func, arg)") + -: 2530: Callback(const U *obj, R (*func)(const T*, A0, A1, A2, A3)) { + -: 2531: new (this) Callback(func, obj); + -: 2532: } + -: 2533: + -: 2534: /** Create a Callback with a static function and bound pointer + -: 2535: * @param obj Pointer to object to bind to function + -: 2536: * @param func Static function to attach + -: 2537: * @deprecated + -: 2538: * Arguments to callback have been reordered to Callback(func, arg) + -: 2539: */ + -: 2540: template + -: 2541: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2542: "Arguments to callback have been reordered to Callback(func, arg)") + -: 2543: Callback(volatile U *obj, R (*func)(volatile T*, A0, A1, A2, A3)) { + -: 2544: new (this) Callback(func, obj); + -: 2545: } + -: 2546: + -: 2547: /** Create a Callback with a static function and bound pointer + -: 2548: * @param obj Pointer to object to bind to function + -: 2549: * @param func Static function to attach + -: 2550: * @deprecated + -: 2551: * Arguments to callback have been reordered to Callback(func, arg) + -: 2552: */ + -: 2553: template + -: 2554: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2555: "Arguments to callback have been reordered to Callback(func, arg)") + -: 2556: Callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2, A3)) { + -: 2557: new (this) Callback(func, obj); + -: 2558: } + -: 2559: + -: 2560: /** Destroy a callback + -: 2561: */ + -: 2562: ~Callback() { + -: 2563: if (_ops) { + -: 2564: _ops->dtor(this); + -: 2565: } + -: 2566: } + -: 2567: + -: 2568: /** Attach a static function + -: 2569: * @param func Static function to attach + -: 2570: * @deprecated + -: 2571: * Replaced by simple assignment 'Callback cb = func' + -: 2572: */ + -: 2573: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2574: "Replaced by simple assignment 'Callback cb = func") + -: 2575: void attach(R (*func)(A0, A1, A2, A3)) { + -: 2576: this->~Callback(); + -: 2577: new (this) Callback(func); + -: 2578: } + -: 2579: + -: 2580: /** Attach a Callback + -: 2581: * @param func The Callback to attach + -: 2582: * @deprecated + -: 2583: * Replaced by simple assignment 'Callback cb = func' + -: 2584: */ + -: 2585: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2586: "Replaced by simple assignment 'Callback cb = func") + -: 2587: void attach(const Callback &func) { + -: 2588: this->~Callback(); + -: 2589: new (this) Callback(func); + -: 2590: } + -: 2591: + -: 2592: /** Attach a member function + -: 2593: * @param obj Pointer to object to invoke member function on + -: 2594: * @param method Member function to attach + -: 2595: * @deprecated + -: 2596: * Replaced by simple assignment 'Callback cb = func' + -: 2597: */ + -: 2598: template + -: 2599: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2600: "Replaced by simple assignment 'Callback cb = func") + -: 2601: void attach(U *obj, R (T::*method)(A0, A1, A2, A3)) { + -: 2602: this->~Callback(); + -: 2603: new (this) Callback(obj, method); + -: 2604: } + -: 2605: + -: 2606: /** Attach a member function + -: 2607: * @param obj Pointer to object to invoke member function on + -: 2608: * @param method Member function to attach + -: 2609: * @deprecated + -: 2610: * Replaced by simple assignment 'Callback cb = func' + -: 2611: */ + -: 2612: template + -: 2613: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2614: "Replaced by simple assignment 'Callback cb = func") + -: 2615: void attach(const U *obj, R (T::*method)(A0, A1, A2, A3) const) { + -: 2616: this->~Callback(); + -: 2617: new (this) Callback(obj, method); + -: 2618: } + -: 2619: + -: 2620: /** Attach a member function + -: 2621: * @param obj Pointer to object to invoke member function on + -: 2622: * @param method Member function to attach + -: 2623: * @deprecated + -: 2624: * Replaced by simple assignment 'Callback cb = func' + -: 2625: */ + -: 2626: template + -: 2627: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2628: "Replaced by simple assignment 'Callback cb = func") + -: 2629: void attach(volatile U *obj, R (T::*method)(A0, A1, A2, A3) volatile) { + -: 2630: this->~Callback(); + -: 2631: new (this) Callback(obj, method); + -: 2632: } + -: 2633: + -: 2634: /** Attach a member function + -: 2635: * @param obj Pointer to object to invoke member function on + -: 2636: * @param method Member function to attach + -: 2637: * @deprecated + -: 2638: * Replaced by simple assignment 'Callback cb = func' + -: 2639: */ + -: 2640: template + -: 2641: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2642: "Replaced by simple assignment 'Callback cb = func") + -: 2643: void attach(const volatile U *obj, R (T::*method)(A0, A1, A2, A3) const volatile) { + -: 2644: this->~Callback(); + -: 2645: new (this) Callback(obj, method); + -: 2646: } + -: 2647: + -: 2648: /** Attach a static function with a bound pointer + -: 2649: * @param func Static function to attach + -: 2650: * @param arg Pointer argument to function + -: 2651: * @deprecated + -: 2652: * Replaced by simple assignment 'Callback cb = func' + -: 2653: */ + -: 2654: template + -: 2655: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2656: "Replaced by simple assignment 'Callback cb = func") + -: 2657: void attach(R (*func)(T*, A0, A1, A2, A3), U *arg) { + -: 2658: this->~Callback(); + -: 2659: new (this) Callback(func, arg); + -: 2660: } + -: 2661: + -: 2662: /** Attach a static function with a bound pointer + -: 2663: * @param func Static function to attach + -: 2664: * @param arg Pointer argument to function + -: 2665: * @deprecated + -: 2666: * Replaced by simple assignment 'Callback cb = func' + -: 2667: */ + -: 2668: template + -: 2669: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2670: "Replaced by simple assignment 'Callback cb = func") + -: 2671: void attach(R (*func)(const T*, A0, A1, A2, A3), const U *arg) { + -: 2672: this->~Callback(); + -: 2673: new (this) Callback(func, arg); + -: 2674: } + -: 2675: + -: 2676: /** Attach a static function with a bound pointer + -: 2677: * @param func Static function to attach + -: 2678: * @param arg Pointer argument to function + -: 2679: * @deprecated + -: 2680: * Replaced by simple assignment 'Callback cb = func' + -: 2681: */ + -: 2682: template + -: 2683: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2684: "Replaced by simple assignment 'Callback cb = func") + -: 2685: void attach(R (*func)(volatile T*, A0, A1, A2, A3), volatile U *arg) { + -: 2686: this->~Callback(); + -: 2687: new (this) Callback(func, arg); + -: 2688: } + -: 2689: + -: 2690: /** Attach a static function with a bound pointer + -: 2691: * @param func Static function to attach + -: 2692: * @param arg Pointer argument to function + -: 2693: * @deprecated + -: 2694: * Replaced by simple assignment 'Callback cb = func' + -: 2695: */ + -: 2696: template + -: 2697: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2698: "Replaced by simple assignment 'Callback cb = func") + -: 2699: void attach(R (*func)(const volatile T*, A0, A1, A2, A3), const volatile U *arg) { + -: 2700: this->~Callback(); + -: 2701: new (this) Callback(func, arg); + -: 2702: } + -: 2703: + -: 2704: /** Attach a function object + -: 2705: * @param f Function object to attach + -: 2706: * @note The function object is limited to a single word of storage + -: 2707: * @deprecated + -: 2708: * Replaced by simple assignment 'Callback cb = func' + -: 2709: */ + -: 2710: template + -: 2711: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2712: "Replaced by simple assignment 'Callback cb = func") + -: 2713: void attach(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3))) { + -: 2714: this->~Callback(); + -: 2715: new (this) Callback(f); + -: 2716: } + -: 2717: + -: 2718: /** Attach a function object + -: 2719: * @param f Function object to attach + -: 2720: * @note The function object is limited to a single word of storage + -: 2721: * @deprecated + -: 2722: * Replaced by simple assignment 'Callback cb = func' + -: 2723: */ + -: 2724: template + -: 2725: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2726: "Replaced by simple assignment 'Callback cb = func") + -: 2727: void attach(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3) const)) { + -: 2728: this->~Callback(); + -: 2729: new (this) Callback(f); + -: 2730: } + -: 2731: + -: 2732: /** Attach a function object + -: 2733: * @param f Function object to attach + -: 2734: * @note The function object is limited to a single word of storage + -: 2735: * @deprecated + -: 2736: * Replaced by simple assignment 'Callback cb = func' + -: 2737: */ + -: 2738: template + -: 2739: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2740: "Replaced by simple assignment 'Callback cb = func") + -: 2741: void attach(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3) volatile)) { + -: 2742: this->~Callback(); + -: 2743: new (this) Callback(f); + -: 2744: } + -: 2745: + -: 2746: /** Attach a function object + -: 2747: * @param f Function object to attach + -: 2748: * @note The function object is limited to a single word of storage + -: 2749: * @deprecated + -: 2750: * Replaced by simple assignment 'Callback cb = func' + -: 2751: */ + -: 2752: template + -: 2753: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2754: "Replaced by simple assignment 'Callback cb = func") + -: 2755: void attach(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3) const volatile)) { + -: 2756: this->~Callback(); + -: 2757: new (this) Callback(f); + -: 2758: } + -: 2759: + -: 2760: /** Attach a static function with a bound pointer + -: 2761: * @param obj Pointer to object to bind to function + -: 2762: * @param func Static function to attach + -: 2763: * @deprecated + -: 2764: * Arguments to callback have been reordered to attach(func, arg) + -: 2765: */ + -: 2766: template + -: 2767: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2768: "Arguments to callback have been reordered to attach(func, arg)") + -: 2769: void attach(U *obj, R (*func)(T*, A0, A1, A2, A3)) { + -: 2770: this->~Callback(); + -: 2771: new (this) Callback(func, obj); + -: 2772: } + -: 2773: + -: 2774: /** Attach a static function with a bound pointer + -: 2775: * @param obj Pointer to object to bind to function + -: 2776: * @param func Static function to attach + -: 2777: * @deprecated + -: 2778: * Arguments to callback have been reordered to attach(func, arg) + -: 2779: */ + -: 2780: template + -: 2781: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2782: "Arguments to callback have been reordered to attach(func, arg)") + -: 2783: void attach(const U *obj, R (*func)(const T*, A0, A1, A2, A3)) { + -: 2784: this->~Callback(); + -: 2785: new (this) Callback(func, obj); + -: 2786: } + -: 2787: + -: 2788: /** Attach a static function with a bound pointer + -: 2789: * @param obj Pointer to object to bind to function + -: 2790: * @param func Static function to attach + -: 2791: * @deprecated + -: 2792: * Arguments to callback have been reordered to attach(func, arg) + -: 2793: */ + -: 2794: template + -: 2795: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2796: "Arguments to callback have been reordered to attach(func, arg)") + -: 2797: void attach(volatile U *obj, R (*func)(volatile T*, A0, A1, A2, A3)) { + -: 2798: this->~Callback(); + -: 2799: new (this) Callback(func, obj); + -: 2800: } + -: 2801: + -: 2802: /** Attach a static function with a bound pointer + -: 2803: * @param obj Pointer to object to bind to function + -: 2804: * @param func Static function to attach + -: 2805: * @deprecated + -: 2806: * Arguments to callback have been reordered to attach(func, arg) + -: 2807: */ + -: 2808: template + -: 2809: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2810: "Arguments to callback have been reordered to attach(func, arg)") + -: 2811: void attach(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2, A3)) { + -: 2812: this->~Callback(); + -: 2813: new (this) Callback(func, obj); + -: 2814: } + -: 2815: + -: 2816: /** Assign a callback + -: 2817: */ + -: 2818: Callback &operator=(const Callback &that) { + -: 2819: if (this != &that) { + -: 2820: this->~Callback(); + -: 2821: new (this) Callback(that); + -: 2822: } + -: 2823: + -: 2824: return *this; + -: 2825: } + -: 2826: + -: 2827: /** Call the attached function + -: 2828: */ + -: 2829: R call(A0 a0, A1 a1, A2 a2, A3 a3) const { + -: 2830: MBED_ASSERT(_ops); + -: 2831: return _ops->call(this, a0, a1, a2, a3); + -: 2832: } + -: 2833: + -: 2834: /** Call the attached function + -: 2835: */ + -: 2836: R operator()(A0 a0, A1 a1, A2 a2, A3 a3) const { + -: 2837: return call(a0, a1, a2, a3); + -: 2838: } + -: 2839: + -: 2840: /** Test if function has been attached + -: 2841: */ + -: 2842: operator bool() const { + -: 2843: return _ops; + -: 2844: } + -: 2845: + -: 2846: /** Test for equality + -: 2847: */ + -: 2848: friend bool operator==(const Callback &l, const Callback &r) { + -: 2849: return memcmp(&l, &r, sizeof(Callback)) == 0; + -: 2850: } + -: 2851: + -: 2852: /** Test for inequality + -: 2853: */ + -: 2854: friend bool operator!=(const Callback &l, const Callback &r) { + -: 2855: return !(l == r); + -: 2856: } + -: 2857: + -: 2858: /** Static thunk for passing as C-style function + -: 2859: * @param func Callback to call passed as void pointer + -: 2860: * @param a0 An argument to be called with function func + -: 2861: * @param a1 An argument to be called with function func + -: 2862: * @param a2 An argument to be called with function func + -: 2863: * @param a3 An argument to be called with function func + -: 2864: * @return the value as determined by func which is of + -: 2865: * type and determined by the signiture of func + -: 2866: */ + -: 2867: static R thunk(void *func, A0 a0, A1 a1, A2 a2, A3 a3) { + -: 2868: return static_cast(func)->call(a0, a1, a2, a3); + -: 2869: } + -: 2870: + -: 2871:private: + -: 2872: // Stored as pointer to function and pointer to optional object + -: 2873: // Function pointer is stored as union of possible function types + -: 2874: // to garuntee proper size and alignment + -: 2875: struct _class; + -: 2876: union { + -: 2877: void (*_staticfunc)(A0, A1, A2, A3); + -: 2878: void (*_boundfunc)(_class*, A0, A1, A2, A3); + -: 2879: void (_class::*_methodfunc)(A0, A1, A2, A3); + -: 2880: } _func; + -: 2881: void *_obj; + -: 2882: + -: 2883: // Dynamically dispatched operations + -: 2884: const struct ops { + -: 2885: R (*call)(const void*, A0, A1, A2, A3); + -: 2886: void (*move)(void*, const void*); + -: 2887: void (*dtor)(void*); + -: 2888: } *_ops; + -: 2889: + -: 2890: // Generate operations for function object + -: 2891: template + -: 2892: void generate(const F &f) { + -: 2893: static const ops ops = { + -: 2894: &Callback::function_call, + -: 2895: &Callback::function_move, + -: 2896: &Callback::function_dtor, + -: 2897: }; + -: 2898: + -: 2899: MBED_STATIC_ASSERT(sizeof(Callback) - sizeof(_ops) >= sizeof(F), + -: 2900: "Type F must not exceed the size of the Callback class"); + -: 2901: memset(this, 0, sizeof(Callback)); + -: 2902: new (this) F(f); + -: 2903: _ops = &ops; + -: 2904: } + -: 2905: + -: 2906: // Function attributes + -: 2907: template + -: 2908: static R function_call(const void *p, A0 a0, A1 a1, A2 a2, A3 a3) { + -: 2909: return (*(F*)p)(a0, a1, a2, a3); + -: 2910: } + -: 2911: + -: 2912: template + -: 2913: static void function_move(void *d, const void *p) { + -: 2914: new (d) F(*(F*)p); + -: 2915: } + -: 2916: + -: 2917: template + -: 2918: static void function_dtor(void *p) { + -: 2919: ((F*)p)->~F(); + -: 2920: } + -: 2921: + -: 2922: // Wrappers for functions with context + -: 2923: template + -: 2924: struct method_context { + -: 2925: M method; + -: 2926: O *obj; + -: 2927: + -: 2928: method_context(O *obj, M method) + -: 2929: : method(method), obj(obj) {} + -: 2930: + -: 2931: R operator()(A0 a0, A1 a1, A2 a2, A3 a3) const { + -: 2932: return (obj->*method)(a0, a1, a2, a3); + -: 2933: } + -: 2934: }; + -: 2935: + -: 2936: template + -: 2937: struct function_context { + -: 2938: F func; + -: 2939: A *arg; + -: 2940: + -: 2941: function_context(F func, A *arg) + -: 2942: : func(func), arg(arg) {} + -: 2943: + -: 2944: R operator()(A0 a0, A1 a1, A2 a2, A3 a3) const { + -: 2945: return func(arg, a0, a1, a2, a3); + -: 2946: } + -: 2947: }; + -: 2948:}; + -: 2949: + -: 2950:/** Callback class based on template specialization + -: 2951: * + -: 2952: * @note Synchronization level: Not protected + -: 2953: */ + -: 2954:template + -: 2955:class Callback { + -: 2956:public: + -: 2957: /** Create a Callback with a static function + -: 2958: * @param func Static function to attach + -: 2959: */ + -: 2960: Callback(R (*func)(A0, A1, A2, A3, A4) = 0) { + -: 2961: if (!func) { + -: 2962: memset(this, 0, sizeof(Callback)); + -: 2963: } else { + -: 2964: generate(func); + -: 2965: } + -: 2966: } + -: 2967: + -: 2968: /** Attach a Callback + -: 2969: * @param func The Callback to attach + -: 2970: */ + -: 2971: Callback(const Callback &func) { + -: 2972: if (func._ops) { + -: 2973: func._ops->move(this, &func); + -: 2974: } + -: 2975: _ops = func._ops; + -: 2976: } + -: 2977: + -: 2978: /** Create a Callback with a member function + -: 2979: * @param obj Pointer to object to invoke member function on + -: 2980: * @param method Member function to attach + -: 2981: */ + -: 2982: template + -: 2983: Callback(U *obj, R (T::*method)(A0, A1, A2, A3, A4)) { + -: 2984: generate(method_context(obj, method)); + -: 2985: } + -: 2986: + -: 2987: /** Create a Callback with a member function + -: 2988: * @param obj Pointer to object to invoke member function on + -: 2989: * @param method Member function to attach + -: 2990: */ + -: 2991: template + -: 2992: Callback(const U *obj, R (T::*method)(A0, A1, A2, A3, A4) const) { + -: 2993: generate(method_context(obj, method)); + -: 2994: } + -: 2995: + -: 2996: /** Create a Callback with a member function + -: 2997: * @param obj Pointer to object to invoke member function on + -: 2998: * @param method Member function to attach + -: 2999: */ + -: 3000: template + -: 3001: Callback(volatile U *obj, R (T::*method)(A0, A1, A2, A3, A4) volatile) { + -: 3002: generate(method_context(obj, method)); + -: 3003: } + -: 3004: + -: 3005: /** Create a Callback with a member function + -: 3006: * @param obj Pointer to object to invoke member function on + -: 3007: * @param method Member function to attach + -: 3008: */ + -: 3009: template + -: 3010: Callback(const volatile U *obj, R (T::*method)(A0, A1, A2, A3, A4) const volatile) { + -: 3011: generate(method_context(obj, method)); + -: 3012: } + -: 3013: + -: 3014: /** Create a Callback with a static function and bound pointer + -: 3015: * @param func Static function to attach + -: 3016: * @param arg Pointer argument to function + -: 3017: */ + -: 3018: template + -: 3019: Callback(R (*func)(T*, A0, A1, A2, A3, A4), U *arg) { + -: 3020: generate(function_context(func, arg)); + -: 3021: } + -: 3022: + -: 3023: /** Create a Callback with a static function and bound pointer + -: 3024: * @param func Static function to attach + -: 3025: * @param arg Pointer argument to function + -: 3026: */ + -: 3027: template + -: 3028: Callback(R (*func)(const T*, A0, A1, A2, A3, A4), const U *arg) { + -: 3029: generate(function_context(func, arg)); + -: 3030: } + -: 3031: + -: 3032: /** Create a Callback with a static function and bound pointer + -: 3033: * @param func Static function to attach + -: 3034: * @param arg Pointer argument to function + -: 3035: */ + -: 3036: template + -: 3037: Callback(R (*func)(volatile T*, A0, A1, A2, A3, A4), volatile U *arg) { + -: 3038: generate(function_context(func, arg)); + -: 3039: } + -: 3040: + -: 3041: /** Create a Callback with a static function and bound pointer + -: 3042: * @param func Static function to attach + -: 3043: * @param arg Pointer argument to function + -: 3044: */ + -: 3045: template + -: 3046: Callback(R (*func)(const volatile T*, A0, A1, A2, A3, A4), const volatile U *arg) { + -: 3047: generate(function_context(func, arg)); + -: 3048: } + -: 3049: + -: 3050: /** Create a Callback with a function object + -: 3051: * @param f Function object to attach + -: 3052: * @note The function object is limited to a single word of storage + -: 3053: */ + -: 3054: template + -: 3055: Callback(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3, A4))) { + -: 3056: generate(f); + -: 3057: } + -: 3058: + -: 3059: /** Create a Callback with a function object + -: 3060: * @param f Function object to attach + -: 3061: * @note The function object is limited to a single word of storage + -: 3062: */ + -: 3063: template + -: 3064: Callback(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3, A4) const)) { + -: 3065: generate(f); + -: 3066: } + -: 3067: + -: 3068: /** Create a Callback with a function object + -: 3069: * @param f Function object to attach + -: 3070: * @note The function object is limited to a single word of storage + -: 3071: */ + -: 3072: template + -: 3073: Callback(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3, A4) volatile)) { + -: 3074: generate(f); + -: 3075: } + -: 3076: + -: 3077: /** Create a Callback with a function object + -: 3078: * @param f Function object to attach + -: 3079: * @note The function object is limited to a single word of storage + -: 3080: */ + -: 3081: template + -: 3082: Callback(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3, A4) const volatile)) { + -: 3083: generate(f); + -: 3084: } + -: 3085: + -: 3086: /** Create a Callback with a static function and bound pointer + -: 3087: * @param obj Pointer to object to bind to function + -: 3088: * @param func Static function to attach + -: 3089: * @deprecated + -: 3090: * Arguments to callback have been reordered to Callback(func, arg) + -: 3091: */ + -: 3092: template + -: 3093: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3094: "Arguments to callback have been reordered to Callback(func, arg)") + -: 3095: Callback(U *obj, R (*func)(T*, A0, A1, A2, A3, A4)) { + -: 3096: new (this) Callback(func, obj); + -: 3097: } + -: 3098: + -: 3099: /** Create a Callback with a static function and bound pointer + -: 3100: * @param obj Pointer to object to bind to function + -: 3101: * @param func Static function to attach + -: 3102: * @deprecated + -: 3103: * Arguments to callback have been reordered to Callback(func, arg) + -: 3104: */ + -: 3105: template + -: 3106: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3107: "Arguments to callback have been reordered to Callback(func, arg)") + -: 3108: Callback(const U *obj, R (*func)(const T*, A0, A1, A2, A3, A4)) { + -: 3109: new (this) Callback(func, obj); + -: 3110: } + -: 3111: + -: 3112: /** Create a Callback with a static function and bound pointer + -: 3113: * @param obj Pointer to object to bind to function + -: 3114: * @param func Static function to attach + -: 3115: * @deprecated + -: 3116: * Arguments to callback have been reordered to Callback(func, arg) + -: 3117: */ + -: 3118: template + -: 3119: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3120: "Arguments to callback have been reordered to Callback(func, arg)") + -: 3121: Callback(volatile U *obj, R (*func)(volatile T*, A0, A1, A2, A3, A4)) { + -: 3122: new (this) Callback(func, obj); + -: 3123: } + -: 3124: + -: 3125: /** Create a Callback with a static function and bound pointer + -: 3126: * @param obj Pointer to object to bind to function + -: 3127: * @param func Static function to attach + -: 3128: * @deprecated + -: 3129: * Arguments to callback have been reordered to Callback(func, arg) + -: 3130: */ + -: 3131: template + -: 3132: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3133: "Arguments to callback have been reordered to Callback(func, arg)") + -: 3134: Callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2, A3, A4)) { + -: 3135: new (this) Callback(func, obj); + -: 3136: } + -: 3137: + -: 3138: /** Destroy a callback + -: 3139: */ + -: 3140: ~Callback() { + -: 3141: if (_ops) { + -: 3142: _ops->dtor(this); + -: 3143: } + -: 3144: } + -: 3145: + -: 3146: /** Attach a static function + -: 3147: * @param func Static function to attach + -: 3148: * @deprecated + -: 3149: * Replaced by simple assignment 'Callback cb = func' + -: 3150: */ + -: 3151: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3152: "Replaced by simple assignment 'Callback cb = func") + -: 3153: void attach(R (*func)(A0, A1, A2, A3, A4)) { + -: 3154: this->~Callback(); + -: 3155: new (this) Callback(func); + -: 3156: } + -: 3157: + -: 3158: /** Attach a Callback + -: 3159: * @param func The Callback to attach + -: 3160: * @deprecated + -: 3161: * Replaced by simple assignment 'Callback cb = func' + -: 3162: */ + -: 3163: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3164: "Replaced by simple assignment 'Callback cb = func") + -: 3165: void attach(const Callback &func) { + -: 3166: this->~Callback(); + -: 3167: new (this) Callback(func); + -: 3168: } + -: 3169: + -: 3170: /** Attach a member function + -: 3171: * @param obj Pointer to object to invoke member function on + -: 3172: * @param method Member function to attach + -: 3173: * @deprecated + -: 3174: * Replaced by simple assignment 'Callback cb = func' + -: 3175: */ + -: 3176: template + -: 3177: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3178: "Replaced by simple assignment 'Callback cb = func") + -: 3179: void attach(U *obj, R (T::*method)(A0, A1, A2, A3, A4)) { + -: 3180: this->~Callback(); + -: 3181: new (this) Callback(obj, method); + -: 3182: } + -: 3183: + -: 3184: /** Attach a member function + -: 3185: * @param obj Pointer to object to invoke member function on + -: 3186: * @param method Member function to attach + -: 3187: * @deprecated + -: 3188: * Replaced by simple assignment 'Callback cb = func' + -: 3189: */ + -: 3190: template + -: 3191: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3192: "Replaced by simple assignment 'Callback cb = func") + -: 3193: void attach(const U *obj, R (T::*method)(A0, A1, A2, A3, A4) const) { + -: 3194: this->~Callback(); + -: 3195: new (this) Callback(obj, method); + -: 3196: } + -: 3197: + -: 3198: /** Attach a member function + -: 3199: * @param obj Pointer to object to invoke member function on + -: 3200: * @param method Member function to attach + -: 3201: * @deprecated + -: 3202: * Replaced by simple assignment 'Callback cb = func' + -: 3203: */ + -: 3204: template + -: 3205: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3206: "Replaced by simple assignment 'Callback cb = func") + -: 3207: void attach(volatile U *obj, R (T::*method)(A0, A1, A2, A3, A4) volatile) { + -: 3208: this->~Callback(); + -: 3209: new (this) Callback(obj, method); + -: 3210: } + -: 3211: + -: 3212: /** Attach a member function + -: 3213: * @param obj Pointer to object to invoke member function on + -: 3214: * @param method Member function to attach + -: 3215: * @deprecated + -: 3216: * Replaced by simple assignment 'Callback cb = func' + -: 3217: */ + -: 3218: template + -: 3219: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3220: "Replaced by simple assignment 'Callback cb = func") + -: 3221: void attach(const volatile U *obj, R (T::*method)(A0, A1, A2, A3, A4) const volatile) { + -: 3222: this->~Callback(); + -: 3223: new (this) Callback(obj, method); + -: 3224: } + -: 3225: + -: 3226: /** Attach a static function with a bound pointer + -: 3227: * @param func Static function to attach + -: 3228: * @param arg Pointer argument to function + -: 3229: * @deprecated + -: 3230: * Replaced by simple assignment 'Callback cb = func' + -: 3231: */ + -: 3232: template + -: 3233: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3234: "Replaced by simple assignment 'Callback cb = func") + -: 3235: void attach(R (*func)(T*, A0, A1, A2, A3, A4), U *arg) { + -: 3236: this->~Callback(); + -: 3237: new (this) Callback(func, arg); + -: 3238: } + -: 3239: + -: 3240: /** Attach a static function with a bound pointer + -: 3241: * @param func Static function to attach + -: 3242: * @param arg Pointer argument to function + -: 3243: * @deprecated + -: 3244: * Replaced by simple assignment 'Callback cb = func' + -: 3245: */ + -: 3246: template + -: 3247: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3248: "Replaced by simple assignment 'Callback cb = func") + -: 3249: void attach(R (*func)(const T*, A0, A1, A2, A3, A4), const U *arg) { + -: 3250: this->~Callback(); + -: 3251: new (this) Callback(func, arg); + -: 3252: } + -: 3253: + -: 3254: /** Attach a static function with a bound pointer + -: 3255: * @param func Static function to attach + -: 3256: * @param arg Pointer argument to function + -: 3257: * @deprecated + -: 3258: * Replaced by simple assignment 'Callback cb = func' + -: 3259: */ + -: 3260: template + -: 3261: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3262: "Replaced by simple assignment 'Callback cb = func") + -: 3263: void attach(R (*func)(volatile T*, A0, A1, A2, A3, A4), volatile U *arg) { + -: 3264: this->~Callback(); + -: 3265: new (this) Callback(func, arg); + -: 3266: } + -: 3267: + -: 3268: /** Attach a static function with a bound pointer + -: 3269: * @param func Static function to attach + -: 3270: * @param arg Pointer argument to function + -: 3271: * @deprecated + -: 3272: * Replaced by simple assignment 'Callback cb = func' + -: 3273: */ + -: 3274: template + -: 3275: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3276: "Replaced by simple assignment 'Callback cb = func") + -: 3277: void attach(R (*func)(const volatile T*, A0, A1, A2, A3, A4), const volatile U *arg) { + -: 3278: this->~Callback(); + -: 3279: new (this) Callback(func, arg); + -: 3280: } + -: 3281: + -: 3282: /** Attach a function object + -: 3283: * @param f Function object to attach + -: 3284: * @note The function object is limited to a single word of storage + -: 3285: * @deprecated + -: 3286: * Replaced by simple assignment 'Callback cb = func' + -: 3287: */ + -: 3288: template + -: 3289: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3290: "Replaced by simple assignment 'Callback cb = func") + -: 3291: void attach(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3, A4))) { + -: 3292: this->~Callback(); + -: 3293: new (this) Callback(f); + -: 3294: } + -: 3295: + -: 3296: /** Attach a function object + -: 3297: * @param f Function object to attach + -: 3298: * @note The function object is limited to a single word of storage + -: 3299: * @deprecated + -: 3300: * Replaced by simple assignment 'Callback cb = func' + -: 3301: */ + -: 3302: template + -: 3303: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3304: "Replaced by simple assignment 'Callback cb = func") + -: 3305: void attach(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3, A4) const)) { + -: 3306: this->~Callback(); + -: 3307: new (this) Callback(f); + -: 3308: } + -: 3309: + -: 3310: /** Attach a function object + -: 3311: * @param f Function object to attach + -: 3312: * @note The function object is limited to a single word of storage + -: 3313: * @deprecated + -: 3314: * Replaced by simple assignment 'Callback cb = func' + -: 3315: */ + -: 3316: template + -: 3317: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3318: "Replaced by simple assignment 'Callback cb = func") + -: 3319: void attach(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3, A4) volatile)) { + -: 3320: this->~Callback(); + -: 3321: new (this) Callback(f); + -: 3322: } + -: 3323: + -: 3324: /** Attach a function object + -: 3325: * @param f Function object to attach + -: 3326: * @note The function object is limited to a single word of storage + -: 3327: * @deprecated + -: 3328: * Replaced by simple assignment 'Callback cb = func' + -: 3329: */ + -: 3330: template + -: 3331: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3332: "Replaced by simple assignment 'Callback cb = func") + -: 3333: void attach(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3, A4) const volatile)) { + -: 3334: this->~Callback(); + -: 3335: new (this) Callback(f); + -: 3336: } + -: 3337: + -: 3338: /** Attach a static function with a bound pointer + -: 3339: * @param obj Pointer to object to bind to function + -: 3340: * @param func Static function to attach + -: 3341: * @deprecated + -: 3342: * Arguments to callback have been reordered to attach(func, arg) + -: 3343: */ + -: 3344: template + -: 3345: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3346: "Arguments to callback have been reordered to attach(func, arg)") + -: 3347: void attach(U *obj, R (*func)(T*, A0, A1, A2, A3, A4)) { + -: 3348: this->~Callback(); + -: 3349: new (this) Callback(func, obj); + -: 3350: } + -: 3351: + -: 3352: /** Attach a static function with a bound pointer + -: 3353: * @param obj Pointer to object to bind to function + -: 3354: * @param func Static function to attach + -: 3355: * @deprecated + -: 3356: * Arguments to callback have been reordered to attach(func, arg) + -: 3357: */ + -: 3358: template + -: 3359: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3360: "Arguments to callback have been reordered to attach(func, arg)") + -: 3361: void attach(const U *obj, R (*func)(const T*, A0, A1, A2, A3, A4)) { + -: 3362: this->~Callback(); + -: 3363: new (this) Callback(func, obj); + -: 3364: } + -: 3365: + -: 3366: /** Attach a static function with a bound pointer + -: 3367: * @param obj Pointer to object to bind to function + -: 3368: * @param func Static function to attach + -: 3369: * @deprecated + -: 3370: * Arguments to callback have been reordered to attach(func, arg) + -: 3371: */ + -: 3372: template + -: 3373: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3374: "Arguments to callback have been reordered to attach(func, arg)") + -: 3375: void attach(volatile U *obj, R (*func)(volatile T*, A0, A1, A2, A3, A4)) { + -: 3376: this->~Callback(); + -: 3377: new (this) Callback(func, obj); + -: 3378: } + -: 3379: + -: 3380: /** Attach a static function with a bound pointer + -: 3381: * @param obj Pointer to object to bind to function + -: 3382: * @param func Static function to attach + -: 3383: * @deprecated + -: 3384: * Arguments to callback have been reordered to attach(func, arg) + -: 3385: */ + -: 3386: template + -: 3387: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3388: "Arguments to callback have been reordered to attach(func, arg)") + -: 3389: void attach(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2, A3, A4)) { + -: 3390: this->~Callback(); + -: 3391: new (this) Callback(func, obj); + -: 3392: } + -: 3393: + -: 3394: /** Assign a callback + -: 3395: */ + -: 3396: Callback &operator=(const Callback &that) { + -: 3397: if (this != &that) { + -: 3398: this->~Callback(); + -: 3399: new (this) Callback(that); + -: 3400: } + -: 3401: + -: 3402: return *this; + -: 3403: } + -: 3404: + -: 3405: /** Call the attached function + -: 3406: */ + -: 3407: R call(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) const { + -: 3408: MBED_ASSERT(_ops); + -: 3409: return _ops->call(this, a0, a1, a2, a3, a4); + -: 3410: } + -: 3411: + -: 3412: /** Call the attached function + -: 3413: */ + -: 3414: R operator()(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) const { + -: 3415: return call(a0, a1, a2, a3, a4); + -: 3416: } + -: 3417: + -: 3418: /** Test if function has been attached + -: 3419: */ + -: 3420: operator bool() const { + -: 3421: return _ops; + -: 3422: } + -: 3423: + -: 3424: /** Test for equality + -: 3425: */ + -: 3426: friend bool operator==(const Callback &l, const Callback &r) { + -: 3427: return memcmp(&l, &r, sizeof(Callback)) == 0; + -: 3428: } + -: 3429: + -: 3430: /** Test for inequality + -: 3431: */ + -: 3432: friend bool operator!=(const Callback &l, const Callback &r) { + -: 3433: return !(l == r); + -: 3434: } + -: 3435: + -: 3436: /** Static thunk for passing as C-style function + -: 3437: * @param func Callback to call passed as void pointer + -: 3438: * @param a0 An argument to be called with function func + -: 3439: * @param a1 An argument to be called with function func + -: 3440: * @param a2 An argument to be called with function func + -: 3441: * @param a3 An argument to be called with function func + -: 3442: * @param a4 An argument to be called with function func + -: 3443: * @return the value as determined by func which is of + -: 3444: * type and determined by the signiture of func + -: 3445: */ + -: 3446: static R thunk(void *func, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) { + -: 3447: return static_cast(func)->call(a0, a1, a2, a3, a4); + -: 3448: } + -: 3449: + -: 3450:private: + -: 3451: // Stored as pointer to function and pointer to optional object + -: 3452: // Function pointer is stored as union of possible function types + -: 3453: // to garuntee proper size and alignment + -: 3454: struct _class; + -: 3455: union { + -: 3456: void (*_staticfunc)(A0, A1, A2, A3, A4); + -: 3457: void (*_boundfunc)(_class*, A0, A1, A2, A3, A4); + -: 3458: void (_class::*_methodfunc)(A0, A1, A2, A3, A4); + -: 3459: } _func; + -: 3460: void *_obj; + -: 3461: + -: 3462: // Dynamically dispatched operations + -: 3463: const struct ops { + -: 3464: R (*call)(const void*, A0, A1, A2, A3, A4); + -: 3465: void (*move)(void*, const void*); + -: 3466: void (*dtor)(void*); + -: 3467: } *_ops; + -: 3468: + -: 3469: // Generate operations for function object + -: 3470: template + -: 3471: void generate(const F &f) { + -: 3472: static const ops ops = { + -: 3473: &Callback::function_call, + -: 3474: &Callback::function_move, + -: 3475: &Callback::function_dtor, + -: 3476: }; + -: 3477: + -: 3478: MBED_STATIC_ASSERT(sizeof(Callback) - sizeof(_ops) >= sizeof(F), + -: 3479: "Type F must not exceed the size of the Callback class"); + -: 3480: memset(this, 0, sizeof(Callback)); + -: 3481: new (this) F(f); + -: 3482: _ops = &ops; + -: 3483: } + -: 3484: + -: 3485: // Function attributes + -: 3486: template + -: 3487: static R function_call(const void *p, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) { + -: 3488: return (*(F*)p)(a0, a1, a2, a3, a4); + -: 3489: } + -: 3490: + -: 3491: template + -: 3492: static void function_move(void *d, const void *p) { + -: 3493: new (d) F(*(F*)p); + -: 3494: } + -: 3495: + -: 3496: template + -: 3497: static void function_dtor(void *p) { + -: 3498: ((F*)p)->~F(); + -: 3499: } + -: 3500: + -: 3501: // Wrappers for functions with context + -: 3502: template + -: 3503: struct method_context { + -: 3504: M method; + -: 3505: O *obj; + -: 3506: + -: 3507: method_context(O *obj, M method) + -: 3508: : method(method), obj(obj) {} + -: 3509: + -: 3510: R operator()(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) const { + -: 3511: return (obj->*method)(a0, a1, a2, a3, a4); + -: 3512: } + -: 3513: }; + -: 3514: + -: 3515: template + -: 3516: struct function_context { + -: 3517: F func; + -: 3518: A *arg; + -: 3519: + -: 3520: function_context(F func, A *arg) + -: 3521: : func(func), arg(arg) {} + -: 3522: + -: 3523: R operator()(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) const { + -: 3524: return func(arg, a0, a1, a2, a3, a4); + -: 3525: } + -: 3526: }; + -: 3527:}; + -: 3528: + -: 3529:// Internally used event type + -: 3530:typedef Callback event_callback_t; + -: 3531: + -: 3532: + -: 3533:/** Create a callback class with type infered from the arguments + -: 3534: * + -: 3535: * @param func Static function to attach + -: 3536: * @return Callback with infered type + -: 3537: */ + -: 3538:template + -: 3539:Callback callback(R (*func)() = 0) { + -: 3540: return Callback(func); + -: 3541:} + -: 3542: + -: 3543:/** Create a callback class with type infered from the arguments + -: 3544: * + -: 3545: * @param func Static function to attach + -: 3546: * @return Callback with infered type + -: 3547: */ + -: 3548:template + -: 3549:Callback callback(const Callback &func) { + -: 3550: return Callback(func); + -: 3551:} + -: 3552: + -: 3553:/** Create a callback class with type infered from the arguments + -: 3554: * + -: 3555: * @param obj Optional pointer to object to bind to function + -: 3556: * @param method Member function to attach + -: 3557: * @return Callback with infered type + -: 3558: */ + -: 3559:template + 25: 3560:Callback callback(U *obj, R (T::*method)()) { + 25: 3561: return Callback(obj, method); + -: 3562:} + -: 3563: + -: 3564:/** Create a callback class with type infered from the arguments + -: 3565: * + -: 3566: * @param obj Optional pointer to object to bind to function + -: 3567: * @param method Member function to attach + -: 3568: * @return Callback with infered type + -: 3569: */ + -: 3570:template + -: 3571:Callback callback(const U *obj, R (T::*method)() const) { + -: 3572: return Callback(obj, method); + -: 3573:} + -: 3574: + -: 3575:/** Create a callback class with type infered from the arguments + -: 3576: * + -: 3577: * @param obj Optional pointer to object to bind to function + -: 3578: * @param method Member function to attach + -: 3579: * @return Callback with infered type + -: 3580: */ + -: 3581:template + -: 3582:Callback callback(volatile U *obj, R (T::*method)() volatile) { + -: 3583: return Callback(obj, method); + -: 3584:} + -: 3585: + -: 3586:/** Create a callback class with type infered from the arguments + -: 3587: * + -: 3588: * @param obj Optional pointer to object to bind to function + -: 3589: * @param method Member function to attach + -: 3590: * @return Callback with infered type + -: 3591: */ + -: 3592:template + -: 3593:Callback callback(const volatile U *obj, R (T::*method)() const volatile) { + -: 3594: return Callback(obj, method); + -: 3595:} + -: 3596: + -: 3597:/** Create a callback class with type infered from the arguments + -: 3598: * + -: 3599: * @param func Static function to attach + -: 3600: * @param arg Pointer argument to function + -: 3601: * @return Callback with infered type + -: 3602: */ + -: 3603:template + -: 3604:Callback callback(R (*func)(T*), U *arg) { + -: 3605: return Callback(func, arg); + -: 3606:} + -: 3607: + -: 3608:/** Create a callback class with type infered from the arguments + -: 3609: * + -: 3610: * @param func Static function to attach + -: 3611: * @param arg Pointer argument to function + -: 3612: * @return Callback with infered type + -: 3613: */ + -: 3614:template + -: 3615:Callback callback(R (*func)(const T*), const U *arg) { + -: 3616: return Callback(func, arg); + -: 3617:} + -: 3618: + -: 3619:/** Create a callback class with type infered from the arguments + -: 3620: * + -: 3621: * @param func Static function to attach + -: 3622: * @param arg Pointer argument to function + -: 3623: * @return Callback with infered type + -: 3624: */ + -: 3625:template + -: 3626:Callback callback(R (*func)(volatile T*), volatile U *arg) { + -: 3627: return Callback(func, arg); + -: 3628:} + -: 3629: + -: 3630:/** Create a callback class with type infered from the arguments + -: 3631: * + -: 3632: * @param func Static function to attach + -: 3633: * @param arg Pointer argument to function + -: 3634: * @return Callback with infered type + -: 3635: */ + -: 3636:template + -: 3637:Callback callback(R (*func)(const volatile T*), const volatile U *arg) { + -: 3638: return Callback(func, arg); + -: 3639:} + -: 3640: + -: 3641:/** Create a callback class with type infered from the arguments + -: 3642: * + -: 3643: * @param obj Optional pointer to object to bind to function + -: 3644: * @param func Static function to attach + -: 3645: * @return Callback with infered type + -: 3646: * @deprecated + -: 3647: * Arguments to callback have been reordered to callback(func, arg) + -: 3648: */ + -: 3649:template + -: 3650:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3651: "Arguments to callback have been reordered to callback(func, arg)") + -: 3652:Callback callback(U *obj, R (*func)(T*)) { + -: 3653: return Callback(func, obj); + -: 3654:} + -: 3655: + -: 3656:/** Create a callback class with type infered from the arguments + -: 3657: * + -: 3658: * @param obj Optional pointer to object to bind to function + -: 3659: * @param func Static function to attach + -: 3660: * @return Callback with infered type + -: 3661: * @deprecated + -: 3662: * Arguments to callback have been reordered to callback(func, arg) + -: 3663: */ + -: 3664:template + -: 3665:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3666: "Arguments to callback have been reordered to callback(func, arg)") + -: 3667:Callback callback(const U *obj, R (*func)(const T*)) { + -: 3668: return Callback(func, obj); + -: 3669:} + -: 3670: + -: 3671:/** Create a callback class with type infered from the arguments + -: 3672: * + -: 3673: * @param obj Optional pointer to object to bind to function + -: 3674: * @param func Static function to attach + -: 3675: * @return Callback with infered type + -: 3676: * @deprecated + -: 3677: * Arguments to callback have been reordered to callback(func, arg) + -: 3678: */ + -: 3679:template + -: 3680:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3681: "Arguments to callback have been reordered to callback(func, arg)") + -: 3682:Callback callback(volatile U *obj, R (*func)(volatile T*)) { + -: 3683: return Callback(func, obj); + -: 3684:} + -: 3685: + -: 3686:/** Create a callback class with type infered from the arguments + -: 3687: * + -: 3688: * @param obj Optional pointer to object to bind to function + -: 3689: * @param func Static function to attach + -: 3690: * @return Callback with infered type + -: 3691: * @deprecated + -: 3692: * Arguments to callback have been reordered to callback(func, arg) + -: 3693: */ + -: 3694:template + -: 3695:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3696: "Arguments to callback have been reordered to callback(func, arg)") + -: 3697:Callback callback(const volatile U *obj, R (*func)(const volatile T*)) { + -: 3698: return Callback(func, obj); + -: 3699:} + -: 3700: + -: 3701: + -: 3702:/** Create a callback class with type infered from the arguments + -: 3703: * + -: 3704: * @param func Static function to attach + -: 3705: * @return Callback with infered type + -: 3706: */ + -: 3707:template + -: 3708:Callback callback(R (*func)(A0) = 0) { + -: 3709: return Callback(func); + -: 3710:} + -: 3711: + -: 3712:/** Create a callback class with type infered from the arguments + -: 3713: * + -: 3714: * @param func Static function to attach + -: 3715: * @return Callback with infered type + -: 3716: */ + -: 3717:template + -: 3718:Callback callback(const Callback &func) { + -: 3719: return Callback(func); + -: 3720:} + -: 3721: + -: 3722:/** Create a callback class with type infered from the arguments + -: 3723: * + -: 3724: * @param obj Optional pointer to object to bind to function + -: 3725: * @param method Member function to attach + -: 3726: * @return Callback with infered type + -: 3727: */ + -: 3728:template + -: 3729:Callback callback(U *obj, R (T::*method)(A0)) { + -: 3730: return Callback(obj, method); + -: 3731:} + -: 3732: + -: 3733:/** Create a callback class with type infered from the arguments + -: 3734: * + -: 3735: * @param obj Optional pointer to object to bind to function + -: 3736: * @param method Member function to attach + -: 3737: * @return Callback with infered type + -: 3738: */ + -: 3739:template + -: 3740:Callback callback(const U *obj, R (T::*method)(A0) const) { + -: 3741: return Callback(obj, method); + -: 3742:} + -: 3743: + -: 3744:/** Create a callback class with type infered from the arguments + -: 3745: * + -: 3746: * @param obj Optional pointer to object to bind to function + -: 3747: * @param method Member function to attach + -: 3748: * @return Callback with infered type + -: 3749: */ + -: 3750:template + -: 3751:Callback callback(volatile U *obj, R (T::*method)(A0) volatile) { + -: 3752: return Callback(obj, method); + -: 3753:} + -: 3754: + -: 3755:/** Create a callback class with type infered from the arguments + -: 3756: * + -: 3757: * @param obj Optional pointer to object to bind to function + -: 3758: * @param method Member function to attach + -: 3759: * @return Callback with infered type + -: 3760: */ + -: 3761:template + -: 3762:Callback callback(const volatile U *obj, R (T::*method)(A0) const volatile) { + -: 3763: return Callback(obj, method); + -: 3764:} + -: 3765: + -: 3766:/** Create a callback class with type infered from the arguments + -: 3767: * + -: 3768: * @param func Static function to attach + -: 3769: * @param arg Pointer argument to function + -: 3770: * @return Callback with infered type + -: 3771: */ + -: 3772:template + -: 3773:Callback callback(R (*func)(T*, A0), U *arg) { + -: 3774: return Callback(func, arg); + -: 3775:} + -: 3776: + -: 3777:/** Create a callback class with type infered from the arguments + -: 3778: * + -: 3779: * @param func Static function to attach + -: 3780: * @param arg Pointer argument to function + -: 3781: * @return Callback with infered type + -: 3782: */ + -: 3783:template + -: 3784:Callback callback(R (*func)(const T*, A0), const U *arg) { + -: 3785: return Callback(func, arg); + -: 3786:} + -: 3787: + -: 3788:/** Create a callback class with type infered from the arguments + -: 3789: * + -: 3790: * @param func Static function to attach + -: 3791: * @param arg Pointer argument to function + -: 3792: * @return Callback with infered type + -: 3793: */ + -: 3794:template + -: 3795:Callback callback(R (*func)(volatile T*, A0), volatile U *arg) { + -: 3796: return Callback(func, arg); + -: 3797:} + -: 3798: + -: 3799:/** Create a callback class with type infered from the arguments + -: 3800: * + -: 3801: * @param func Static function to attach + -: 3802: * @param arg Pointer argument to function + -: 3803: * @return Callback with infered type + -: 3804: */ + -: 3805:template + -: 3806:Callback callback(R (*func)(const volatile T*, A0), const volatile U *arg) { + -: 3807: return Callback(func, arg); + -: 3808:} + -: 3809: + -: 3810:/** Create a callback class with type infered from the arguments + -: 3811: * + -: 3812: * @param obj Optional pointer to object to bind to function + -: 3813: * @param func Static function to attach + -: 3814: * @return Callback with infered type + -: 3815: * @deprecated + -: 3816: * Arguments to callback have been reordered to callback(func, arg) + -: 3817: */ + -: 3818:template + -: 3819:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3820: "Arguments to callback have been reordered to callback(func, arg)") + -: 3821:Callback callback(U *obj, R (*func)(T*, A0)) { + -: 3822: return Callback(func, obj); + -: 3823:} + -: 3824: + -: 3825:/** Create a callback class with type infered from the arguments + -: 3826: * + -: 3827: * @param obj Optional pointer to object to bind to function + -: 3828: * @param func Static function to attach + -: 3829: * @return Callback with infered type + -: 3830: * @deprecated + -: 3831: * Arguments to callback have been reordered to callback(func, arg) + -: 3832: */ + -: 3833:template + -: 3834:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3835: "Arguments to callback have been reordered to callback(func, arg)") + -: 3836:Callback callback(const U *obj, R (*func)(const T*, A0)) { + -: 3837: return Callback(func, obj); + -: 3838:} + -: 3839: + -: 3840:/** Create a callback class with type infered from the arguments + -: 3841: * + -: 3842: * @param obj Optional pointer to object to bind to function + -: 3843: * @param func Static function to attach + -: 3844: * @return Callback with infered type + -: 3845: * @deprecated + -: 3846: * Arguments to callback have been reordered to callback(func, arg) + -: 3847: */ + -: 3848:template + -: 3849:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3850: "Arguments to callback have been reordered to callback(func, arg)") + -: 3851:Callback callback(volatile U *obj, R (*func)(volatile T*, A0)) { + -: 3852: return Callback(func, obj); + -: 3853:} + -: 3854: + -: 3855:/** Create a callback class with type infered from the arguments + -: 3856: * + -: 3857: * @param obj Optional pointer to object to bind to function + -: 3858: * @param func Static function to attach + -: 3859: * @return Callback with infered type + -: 3860: * @deprecated + -: 3861: * Arguments to callback have been reordered to callback(func, arg) + -: 3862: */ + -: 3863:template + -: 3864:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3865: "Arguments to callback have been reordered to callback(func, arg)") + -: 3866:Callback callback(const volatile U *obj, R (*func)(const volatile T*, A0)) { + -: 3867: return Callback(func, obj); + -: 3868:} + -: 3869: + -: 3870: + -: 3871:/** Create a callback class with type infered from the arguments + -: 3872: * + -: 3873: * @param func Static function to attach + -: 3874: * @return Callback with infered type + -: 3875: */ + -: 3876:template + -: 3877:Callback callback(R (*func)(A0, A1) = 0) { + -: 3878: return Callback(func); + -: 3879:} + -: 3880: + -: 3881:/** Create a callback class with type infered from the arguments + -: 3882: * + -: 3883: * @param func Static function to attach + -: 3884: * @return Callback with infered type + -: 3885: */ + -: 3886:template + -: 3887:Callback callback(const Callback &func) { + -: 3888: return Callback(func); + -: 3889:} + -: 3890: + -: 3891:/** Create a callback class with type infered from the arguments + -: 3892: * + -: 3893: * @param obj Optional pointer to object to bind to function + -: 3894: * @param method Member function to attach + -: 3895: * @return Callback with infered type + -: 3896: */ + -: 3897:template + -: 3898:Callback callback(U *obj, R (T::*method)(A0, A1)) { + -: 3899: return Callback(obj, method); + -: 3900:} + -: 3901: + -: 3902:/** Create a callback class with type infered from the arguments + -: 3903: * + -: 3904: * @param obj Optional pointer to object to bind to function + -: 3905: * @param method Member function to attach + -: 3906: * @return Callback with infered type + -: 3907: */ + -: 3908:template + -: 3909:Callback callback(const U *obj, R (T::*method)(A0, A1) const) { + -: 3910: return Callback(obj, method); + -: 3911:} + -: 3912: + -: 3913:/** Create a callback class with type infered from the arguments + -: 3914: * + -: 3915: * @param obj Optional pointer to object to bind to function + -: 3916: * @param method Member function to attach + -: 3917: * @return Callback with infered type + -: 3918: */ + -: 3919:template + -: 3920:Callback callback(volatile U *obj, R (T::*method)(A0, A1) volatile) { + -: 3921: return Callback(obj, method); + -: 3922:} + -: 3923: + -: 3924:/** Create a callback class with type infered from the arguments + -: 3925: * + -: 3926: * @param obj Optional pointer to object to bind to function + -: 3927: * @param method Member function to attach + -: 3928: * @return Callback with infered type + -: 3929: */ + -: 3930:template + -: 3931:Callback callback(const volatile U *obj, R (T::*method)(A0, A1) const volatile) { + -: 3932: return Callback(obj, method); + -: 3933:} + -: 3934: + -: 3935:/** Create a callback class with type infered from the arguments + -: 3936: * + -: 3937: * @param func Static function to attach + -: 3938: * @param arg Pointer argument to function + -: 3939: * @return Callback with infered type + -: 3940: */ + -: 3941:template + -: 3942:Callback callback(R (*func)(T*, A0, A1), U *arg) { + -: 3943: return Callback(func, arg); + -: 3944:} + -: 3945: + -: 3946:/** Create a callback class with type infered from the arguments + -: 3947: * + -: 3948: * @param func Static function to attach + -: 3949: * @param arg Pointer argument to function + -: 3950: * @return Callback with infered type + -: 3951: */ + -: 3952:template + -: 3953:Callback callback(R (*func)(const T*, A0, A1), const U *arg) { + -: 3954: return Callback(func, arg); + -: 3955:} + -: 3956: + -: 3957:/** Create a callback class with type infered from the arguments + -: 3958: * + -: 3959: * @param func Static function to attach + -: 3960: * @param arg Pointer argument to function + -: 3961: * @return Callback with infered type + -: 3962: */ + -: 3963:template + -: 3964:Callback callback(R (*func)(volatile T*, A0, A1), volatile U *arg) { + -: 3965: return Callback(func, arg); + -: 3966:} + -: 3967: + -: 3968:/** Create a callback class with type infered from the arguments + -: 3969: * + -: 3970: * @param func Static function to attach + -: 3971: * @param arg Pointer argument to function + -: 3972: * @return Callback with infered type + -: 3973: */ + -: 3974:template + -: 3975:Callback callback(R (*func)(const volatile T*, A0, A1), const volatile U *arg) { + -: 3976: return Callback(func, arg); + -: 3977:} + -: 3978: + -: 3979:/** Create a callback class with type infered from the arguments + -: 3980: * + -: 3981: * @param obj Optional pointer to object to bind to function + -: 3982: * @param func Static function to attach + -: 3983: * @return Callback with infered type + -: 3984: * @deprecated + -: 3985: * Arguments to callback have been reordered to callback(func, arg) + -: 3986: */ + -: 3987:template + -: 3988:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3989: "Arguments to callback have been reordered to callback(func, arg)") + -: 3990:Callback callback(U *obj, R (*func)(T*, A0, A1)) { + -: 3991: return Callback(func, obj); + -: 3992:} + -: 3993: + -: 3994:/** Create a callback class with type infered from the arguments + -: 3995: * + -: 3996: * @param obj Optional pointer to object to bind to function + -: 3997: * @param func Static function to attach + -: 3998: * @return Callback with infered type + -: 3999: * @deprecated + -: 4000: * Arguments to callback have been reordered to callback(func, arg) + -: 4001: */ + -: 4002:template + -: 4003:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4004: "Arguments to callback have been reordered to callback(func, arg)") + -: 4005:Callback callback(const U *obj, R (*func)(const T*, A0, A1)) { + -: 4006: return Callback(func, obj); + -: 4007:} + -: 4008: + -: 4009:/** Create a callback class with type infered from the arguments + -: 4010: * + -: 4011: * @param obj Optional pointer to object to bind to function + -: 4012: * @param func Static function to attach + -: 4013: * @return Callback with infered type + -: 4014: * @deprecated + -: 4015: * Arguments to callback have been reordered to callback(func, arg) + -: 4016: */ + -: 4017:template + -: 4018:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4019: "Arguments to callback have been reordered to callback(func, arg)") + -: 4020:Callback callback(volatile U *obj, R (*func)(volatile T*, A0, A1)) { + -: 4021: return Callback(func, obj); + -: 4022:} + -: 4023: + -: 4024:/** Create a callback class with type infered from the arguments + -: 4025: * + -: 4026: * @param obj Optional pointer to object to bind to function + -: 4027: * @param func Static function to attach + -: 4028: * @return Callback with infered type + -: 4029: * @deprecated + -: 4030: * Arguments to callback have been reordered to callback(func, arg) + -: 4031: */ + -: 4032:template + -: 4033:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4034: "Arguments to callback have been reordered to callback(func, arg)") + -: 4035:Callback callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1)) { + -: 4036: return Callback(func, obj); + -: 4037:} + -: 4038: + -: 4039: + -: 4040:/** Create a callback class with type infered from the arguments + -: 4041: * + -: 4042: * @param func Static function to attach + -: 4043: * @return Callback with infered type + -: 4044: */ + -: 4045:template + -: 4046:Callback callback(R (*func)(A0, A1, A2) = 0) { + -: 4047: return Callback(func); + -: 4048:} + -: 4049: + -: 4050:/** Create a callback class with type infered from the arguments + -: 4051: * + -: 4052: * @param func Static function to attach + -: 4053: * @return Callback with infered type + -: 4054: */ + -: 4055:template + -: 4056:Callback callback(const Callback &func) { + -: 4057: return Callback(func); + -: 4058:} + -: 4059: + -: 4060:/** Create a callback class with type infered from the arguments + -: 4061: * + -: 4062: * @param obj Optional pointer to object to bind to function + -: 4063: * @param method Member function to attach + -: 4064: * @return Callback with infered type + -: 4065: */ + -: 4066:template + -: 4067:Callback callback(U *obj, R (T::*method)(A0, A1, A2)) { + -: 4068: return Callback(obj, method); + -: 4069:} + -: 4070: + -: 4071:/** Create a callback class with type infered from the arguments + -: 4072: * + -: 4073: * @param obj Optional pointer to object to bind to function + -: 4074: * @param method Member function to attach + -: 4075: * @return Callback with infered type + -: 4076: */ + -: 4077:template + -: 4078:Callback callback(const U *obj, R (T::*method)(A0, A1, A2) const) { + -: 4079: return Callback(obj, method); + -: 4080:} + -: 4081: + -: 4082:/** Create a callback class with type infered from the arguments + -: 4083: * + -: 4084: * @param obj Optional pointer to object to bind to function + -: 4085: * @param method Member function to attach + -: 4086: * @return Callback with infered type + -: 4087: */ + -: 4088:template + -: 4089:Callback callback(volatile U *obj, R (T::*method)(A0, A1, A2) volatile) { + -: 4090: return Callback(obj, method); + -: 4091:} + -: 4092: + -: 4093:/** Create a callback class with type infered from the arguments + -: 4094: * + -: 4095: * @param obj Optional pointer to object to bind to function + -: 4096: * @param method Member function to attach + -: 4097: * @return Callback with infered type + -: 4098: */ + -: 4099:template + -: 4100:Callback callback(const volatile U *obj, R (T::*method)(A0, A1, A2) const volatile) { + -: 4101: return Callback(obj, method); + -: 4102:} + -: 4103: + -: 4104:/** Create a callback class with type infered from the arguments + -: 4105: * + -: 4106: * @param func Static function to attach + -: 4107: * @param arg Pointer argument to function + -: 4108: * @return Callback with infered type + -: 4109: */ + -: 4110:template + -: 4111:Callback callback(R (*func)(T*, A0, A1, A2), U *arg) { + -: 4112: return Callback(func, arg); + -: 4113:} + -: 4114: + -: 4115:/** Create a callback class with type infered from the arguments + -: 4116: * + -: 4117: * @param func Static function to attach + -: 4118: * @param arg Pointer argument to function + -: 4119: * @return Callback with infered type + -: 4120: */ + -: 4121:template + -: 4122:Callback callback(R (*func)(const T*, A0, A1, A2), const U *arg) { + -: 4123: return Callback(func, arg); + -: 4124:} + -: 4125: + -: 4126:/** Create a callback class with type infered from the arguments + -: 4127: * + -: 4128: * @param func Static function to attach + -: 4129: * @param arg Pointer argument to function + -: 4130: * @return Callback with infered type + -: 4131: */ + -: 4132:template + -: 4133:Callback callback(R (*func)(volatile T*, A0, A1, A2), volatile U *arg) { + -: 4134: return Callback(func, arg); + -: 4135:} + -: 4136: + -: 4137:/** Create a callback class with type infered from the arguments + -: 4138: * + -: 4139: * @param func Static function to attach + -: 4140: * @param arg Pointer argument to function + -: 4141: * @return Callback with infered type + -: 4142: */ + -: 4143:template + -: 4144:Callback callback(R (*func)(const volatile T*, A0, A1, A2), const volatile U *arg) { + -: 4145: return Callback(func, arg); + -: 4146:} + -: 4147: + -: 4148:/** Create a callback class with type infered from the arguments + -: 4149: * + -: 4150: * @param obj Optional pointer to object to bind to function + -: 4151: * @param func Static function to attach + -: 4152: * @return Callback with infered type + -: 4153: * @deprecated + -: 4154: * Arguments to callback have been reordered to callback(func, arg) + -: 4155: */ + -: 4156:template + -: 4157:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4158: "Arguments to callback have been reordered to callback(func, arg)") + -: 4159:Callback callback(U *obj, R (*func)(T*, A0, A1, A2)) { + -: 4160: return Callback(func, obj); + -: 4161:} + -: 4162: + -: 4163:/** Create a callback class with type infered from the arguments + -: 4164: * + -: 4165: * @param obj Optional pointer to object to bind to function + -: 4166: * @param func Static function to attach + -: 4167: * @return Callback with infered type + -: 4168: * @deprecated + -: 4169: * Arguments to callback have been reordered to callback(func, arg) + -: 4170: */ + -: 4171:template + -: 4172:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4173: "Arguments to callback have been reordered to callback(func, arg)") + -: 4174:Callback callback(const U *obj, R (*func)(const T*, A0, A1, A2)) { + -: 4175: return Callback(func, obj); + -: 4176:} + -: 4177: + -: 4178:/** Create a callback class with type infered from the arguments + -: 4179: * + -: 4180: * @param obj Optional pointer to object to bind to function + -: 4181: * @param func Static function to attach + -: 4182: * @return Callback with infered type + -: 4183: * @deprecated + -: 4184: * Arguments to callback have been reordered to callback(func, arg) + -: 4185: */ + -: 4186:template + -: 4187:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4188: "Arguments to callback have been reordered to callback(func, arg)") + -: 4189:Callback callback(volatile U *obj, R (*func)(volatile T*, A0, A1, A2)) { + -: 4190: return Callback(func, obj); + -: 4191:} + -: 4192: + -: 4193:/** Create a callback class with type infered from the arguments + -: 4194: * + -: 4195: * @param obj Optional pointer to object to bind to function + -: 4196: * @param func Static function to attach + -: 4197: * @return Callback with infered type + -: 4198: * @deprecated + -: 4199: * Arguments to callback have been reordered to callback(func, arg) + -: 4200: */ + -: 4201:template + -: 4202:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4203: "Arguments to callback have been reordered to callback(func, arg)") + -: 4204:Callback callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2)) { + -: 4205: return Callback(func, obj); + -: 4206:} + -: 4207: + -: 4208: + -: 4209:/** Create a callback class with type infered from the arguments + -: 4210: * + -: 4211: * @param func Static function to attach + -: 4212: * @return Callback with infered type + -: 4213: */ + -: 4214:template + -: 4215:Callback callback(R (*func)(A0, A1, A2, A3) = 0) { + -: 4216: return Callback(func); + -: 4217:} + -: 4218: + -: 4219:/** Create a callback class with type infered from the arguments + -: 4220: * + -: 4221: * @param func Static function to attach + -: 4222: * @return Callback with infered type + -: 4223: */ + -: 4224:template + -: 4225:Callback callback(const Callback &func) { + -: 4226: return Callback(func); + -: 4227:} + -: 4228: + -: 4229:/** Create a callback class with type infered from the arguments + -: 4230: * + -: 4231: * @param obj Optional pointer to object to bind to function + -: 4232: * @param method Member function to attach + -: 4233: * @return Callback with infered type + -: 4234: */ + -: 4235:template + -: 4236:Callback callback(U *obj, R (T::*method)(A0, A1, A2, A3)) { + -: 4237: return Callback(obj, method); + -: 4238:} + -: 4239: + -: 4240:/** Create a callback class with type infered from the arguments + -: 4241: * + -: 4242: * @param obj Optional pointer to object to bind to function + -: 4243: * @param method Member function to attach + -: 4244: * @return Callback with infered type + -: 4245: */ + -: 4246:template + -: 4247:Callback callback(const U *obj, R (T::*method)(A0, A1, A2, A3) const) { + -: 4248: return Callback(obj, method); + -: 4249:} + -: 4250: + -: 4251:/** Create a callback class with type infered from the arguments + -: 4252: * + -: 4253: * @param obj Optional pointer to object to bind to function + -: 4254: * @param method Member function to attach + -: 4255: * @return Callback with infered type + -: 4256: */ + -: 4257:template + -: 4258:Callback callback(volatile U *obj, R (T::*method)(A0, A1, A2, A3) volatile) { + -: 4259: return Callback(obj, method); + -: 4260:} + -: 4261: + -: 4262:/** Create a callback class with type infered from the arguments + -: 4263: * + -: 4264: * @param obj Optional pointer to object to bind to function + -: 4265: * @param method Member function to attach + -: 4266: * @return Callback with infered type + -: 4267: */ + -: 4268:template + -: 4269:Callback callback(const volatile U *obj, R (T::*method)(A0, A1, A2, A3) const volatile) { + -: 4270: return Callback(obj, method); + -: 4271:} + -: 4272: + -: 4273:/** Create a callback class with type infered from the arguments + -: 4274: * + -: 4275: * @param func Static function to attach + -: 4276: * @param arg Pointer argument to function + -: 4277: * @return Callback with infered type + -: 4278: */ + -: 4279:template + -: 4280:Callback callback(R (*func)(T*, A0, A1, A2, A3), U *arg) { + -: 4281: return Callback(func, arg); + -: 4282:} + -: 4283: + -: 4284:/** Create a callback class with type infered from the arguments + -: 4285: * + -: 4286: * @param func Static function to attach + -: 4287: * @param arg Pointer argument to function + -: 4288: * @return Callback with infered type + -: 4289: */ + -: 4290:template + -: 4291:Callback callback(R (*func)(const T*, A0, A1, A2, A3), const U *arg) { + -: 4292: return Callback(func, arg); + -: 4293:} + -: 4294: + -: 4295:/** Create a callback class with type infered from the arguments + -: 4296: * + -: 4297: * @param func Static function to attach + -: 4298: * @param arg Pointer argument to function + -: 4299: * @return Callback with infered type + -: 4300: */ + -: 4301:template + -: 4302:Callback callback(R (*func)(volatile T*, A0, A1, A2, A3), volatile U *arg) { + -: 4303: return Callback(func, arg); + -: 4304:} + -: 4305: + -: 4306:/** Create a callback class with type infered from the arguments + -: 4307: * + -: 4308: * @param func Static function to attach + -: 4309: * @param arg Pointer argument to function + -: 4310: * @return Callback with infered type + -: 4311: */ + -: 4312:template + -: 4313:Callback callback(R (*func)(const volatile T*, A0, A1, A2, A3), const volatile U *arg) { + -: 4314: return Callback(func, arg); + -: 4315:} + -: 4316: + -: 4317:/** Create a callback class with type infered from the arguments + -: 4318: * + -: 4319: * @param obj Optional pointer to object to bind to function + -: 4320: * @param func Static function to attach + -: 4321: * @return Callback with infered type + -: 4322: * @deprecated + -: 4323: * Arguments to callback have been reordered to callback(func, arg) + -: 4324: */ + -: 4325:template + -: 4326:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4327: "Arguments to callback have been reordered to callback(func, arg)") + -: 4328:Callback callback(U *obj, R (*func)(T*, A0, A1, A2, A3)) { + -: 4329: return Callback(func, obj); + -: 4330:} + -: 4331: + -: 4332:/** Create a callback class with type infered from the arguments + -: 4333: * + -: 4334: * @param obj Optional pointer to object to bind to function + -: 4335: * @param func Static function to attach + -: 4336: * @return Callback with infered type + -: 4337: * @deprecated + -: 4338: * Arguments to callback have been reordered to callback(func, arg) + -: 4339: */ + -: 4340:template + -: 4341:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4342: "Arguments to callback have been reordered to callback(func, arg)") + -: 4343:Callback callback(const U *obj, R (*func)(const T*, A0, A1, A2, A3)) { + -: 4344: return Callback(func, obj); + -: 4345:} + -: 4346: + -: 4347:/** Create a callback class with type infered from the arguments + -: 4348: * + -: 4349: * @param obj Optional pointer to object to bind to function + -: 4350: * @param func Static function to attach + -: 4351: * @return Callback with infered type + -: 4352: * @deprecated + -: 4353: * Arguments to callback have been reordered to callback(func, arg) + -: 4354: */ + -: 4355:template + -: 4356:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4357: "Arguments to callback have been reordered to callback(func, arg)") + -: 4358:Callback callback(volatile U *obj, R (*func)(volatile T*, A0, A1, A2, A3)) { + -: 4359: return Callback(func, obj); + -: 4360:} + -: 4361: + -: 4362:/** Create a callback class with type infered from the arguments + -: 4363: * + -: 4364: * @param obj Optional pointer to object to bind to function + -: 4365: * @param func Static function to attach + -: 4366: * @return Callback with infered type + -: 4367: * @deprecated + -: 4368: * Arguments to callback have been reordered to callback(func, arg) + -: 4369: */ + -: 4370:template + -: 4371:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4372: "Arguments to callback have been reordered to callback(func, arg)") + -: 4373:Callback callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2, A3)) { + -: 4374: return Callback(func, obj); + -: 4375:} + -: 4376: + -: 4377: + -: 4378:/** Create a callback class with type infered from the arguments + -: 4379: * + -: 4380: * @param func Static function to attach + -: 4381: * @return Callback with infered type + -: 4382: */ + -: 4383:template + -: 4384:Callback callback(R (*func)(A0, A1, A2, A3, A4) = 0) { + -: 4385: return Callback(func); + -: 4386:} + -: 4387: + -: 4388:/** Create a callback class with type infered from the arguments + -: 4389: * + -: 4390: * @param func Static function to attach + -: 4391: * @return Callback with infered type + -: 4392: */ + -: 4393:template + -: 4394:Callback callback(const Callback &func) { + -: 4395: return Callback(func); + -: 4396:} + -: 4397: + -: 4398:/** Create a callback class with type infered from the arguments + -: 4399: * + -: 4400: * @param obj Optional pointer to object to bind to function + -: 4401: * @param method Member function to attach + -: 4402: * @return Callback with infered type + -: 4403: */ + -: 4404:template + -: 4405:Callback callback(U *obj, R (T::*method)(A0, A1, A2, A3, A4)) { + -: 4406: return Callback(obj, method); + -: 4407:} + -: 4408: + -: 4409:/** Create a callback class with type infered from the arguments + -: 4410: * + -: 4411: * @param obj Optional pointer to object to bind to function + -: 4412: * @param method Member function to attach + -: 4413: * @return Callback with infered type + -: 4414: */ + -: 4415:template + -: 4416:Callback callback(const U *obj, R (T::*method)(A0, A1, A2, A3, A4) const) { + -: 4417: return Callback(obj, method); + -: 4418:} + -: 4419: + -: 4420:/** Create a callback class with type infered from the arguments + -: 4421: * + -: 4422: * @param obj Optional pointer to object to bind to function + -: 4423: * @param method Member function to attach + -: 4424: * @return Callback with infered type + -: 4425: */ + -: 4426:template + -: 4427:Callback callback(volatile U *obj, R (T::*method)(A0, A1, A2, A3, A4) volatile) { + -: 4428: return Callback(obj, method); + -: 4429:} + -: 4430: + -: 4431:/** Create a callback class with type infered from the arguments + -: 4432: * + -: 4433: * @param obj Optional pointer to object to bind to function + -: 4434: * @param method Member function to attach + -: 4435: * @return Callback with infered type + -: 4436: */ + -: 4437:template + -: 4438:Callback callback(const volatile U *obj, R (T::*method)(A0, A1, A2, A3, A4) const volatile) { + -: 4439: return Callback(obj, method); + -: 4440:} + -: 4441: + -: 4442:/** Create a callback class with type infered from the arguments + -: 4443: * + -: 4444: * @param func Static function to attach + -: 4445: * @param arg Pointer argument to function + -: 4446: * @return Callback with infered type + -: 4447: */ + -: 4448:template + -: 4449:Callback callback(R (*func)(T*, A0, A1, A2, A3, A4), U *arg) { + -: 4450: return Callback(func, arg); + -: 4451:} + -: 4452: + -: 4453:/** Create a callback class with type infered from the arguments + -: 4454: * + -: 4455: * @param func Static function to attach + -: 4456: * @param arg Pointer argument to function + -: 4457: * @return Callback with infered type + -: 4458: */ + -: 4459:template + -: 4460:Callback callback(R (*func)(const T*, A0, A1, A2, A3, A4), const U *arg) { + -: 4461: return Callback(func, arg); + -: 4462:} + -: 4463: + -: 4464:/** Create a callback class with type infered from the arguments + -: 4465: * + -: 4466: * @param func Static function to attach + -: 4467: * @param arg Pointer argument to function + -: 4468: * @return Callback with infered type + -: 4469: */ + -: 4470:template + -: 4471:Callback callback(R (*func)(volatile T*, A0, A1, A2, A3, A4), volatile U *arg) { + -: 4472: return Callback(func, arg); + -: 4473:} + -: 4474: + -: 4475:/** Create a callback class with type infered from the arguments + -: 4476: * + -: 4477: * @param func Static function to attach + -: 4478: * @param arg Pointer argument to function + -: 4479: * @return Callback with infered type + -: 4480: */ + -: 4481:template + -: 4482:Callback callback(R (*func)(const volatile T*, A0, A1, A2, A3, A4), const volatile U *arg) { + -: 4483: return Callback(func, arg); + -: 4484:} + -: 4485: + -: 4486:/** Create a callback class with type infered from the arguments + -: 4487: * + -: 4488: * @param obj Optional pointer to object to bind to function + -: 4489: * @param func Static function to attach + -: 4490: * @return Callback with infered type + -: 4491: * @deprecated + -: 4492: * Arguments to callback have been reordered to callback(func, arg) + -: 4493: */ + -: 4494:template + -: 4495:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4496: "Arguments to callback have been reordered to callback(func, arg)") + -: 4497:Callback callback(U *obj, R (*func)(T*, A0, A1, A2, A3, A4)) { + -: 4498: return Callback(func, obj); + -: 4499:} + -: 4500: + -: 4501:/** Create a callback class with type infered from the arguments + -: 4502: * + -: 4503: * @param obj Optional pointer to object to bind to function + -: 4504: * @param func Static function to attach + -: 4505: * @return Callback with infered type + -: 4506: * @deprecated + -: 4507: * Arguments to callback have been reordered to callback(func, arg) + -: 4508: */ + -: 4509:template + -: 4510:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4511: "Arguments to callback have been reordered to callback(func, arg)") + -: 4512:Callback callback(const U *obj, R (*func)(const T*, A0, A1, A2, A3, A4)) { + -: 4513: return Callback(func, obj); + -: 4514:} + -: 4515: + -: 4516:/** Create a callback class with type infered from the arguments + -: 4517: * + -: 4518: * @param obj Optional pointer to object to bind to function + -: 4519: * @param func Static function to attach + -: 4520: * @return Callback with infered type + -: 4521: * @deprecated + -: 4522: * Arguments to callback have been reordered to callback(func, arg) + -: 4523: */ + -: 4524:template + -: 4525:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4526: "Arguments to callback have been reordered to callback(func, arg)") + -: 4527:Callback callback(volatile U *obj, R (*func)(volatile T*, A0, A1, A2, A3, A4)) { + -: 4528: return Callback(func, obj); + -: 4529:} + -: 4530: + -: 4531:/** Create a callback class with type infered from the arguments + -: 4532: * + -: 4533: * @param obj Optional pointer to object to bind to function + -: 4534: * @param func Static function to attach + -: 4535: * @return Callback with infered type + -: 4536: * @deprecated + -: 4537: * Arguments to callback have been reordered to callback(func, arg) + -: 4538: */ + -: 4539:template + -: 4540:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4541: "Arguments to callback have been reordered to callback(func, arg)") + -: 4542:Callback callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2, A3, A4)) { + -: 4543: return Callback(func, obj); + -: 4544:} + -: 4545: + -: 4546:/**@}*/ + -: 4547: + -: 4548:/**@}*/ + -: 4549: + -: 4550:} // namespace mbed + -: 4551: + -: 4552:#endif diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/CellularList.h.gcov b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/CellularList.h.gcov new file mode 100644 index 0000000000..a507611882 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/CellularList.h.gcov @@ -0,0 +1,107 @@ + -: 0:Source:../../../framework/common/CellularList.h + -: 0:Graph:objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcno + -: 0:Data:objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* + -: 2: * Copyright (c) 2017, Arm Limited and affiliates. + -: 3: * SPDX-License-Identifier: Apache-2.0 + -: 4: * + -: 5: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 6: * you may not use this file except in compliance with the License. + -: 7: * You may obtain a copy of the License at + -: 8: * + -: 9: * http://www.apache.org/licenses/LICENSE-2.0 + -: 10: * + -: 11: * Unless required by applicable law or agreed to in writing, software + -: 12: * distributed under the License is distributed on an "AS IS" BASIS, + -: 13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 14: * See the License for the specific language governing permissions and + -: 15: * limitations under the License. + -: 16: */ + -: 17: + -: 18:#ifndef CELLULAR_LIST_H_ + -: 19:#define CELLULAR_LIST_H_ + -: 20: + -: 21:#include + -: 22: + -: 23:namespace mbed { + -: 24: + -: 25:/** Class CellularList + -: 26: * + -: 27: * Templated linked list class for common usage. + -: 28: * + -: 29: */ + -: 30:template class CellularList + -: 31:{ + -: 32:private: + -: 33: T *_head, *_tail; + -: 34:public: + -: 35: CellularList() + -: 36: { + -: 37: _head=NULL; + -: 38: _tail=NULL; + -: 39: } + -: 40: + #####: 41: T* add_new() + -: 42: { + #####: 43: T *temp=new T; + #####: 44: if (!temp) { + #####: 45: return NULL; + -: 46: } + #####: 47: temp->next = NULL; + #####: 48: if (_head == NULL) { + #####: 49: _head = temp; + -: 50: } else { + #####: 51: _tail->next=temp; + -: 52: } + #####: 53: _tail = temp; + -: 54: + #####: 55: return _tail; + -: 56: } + -: 57: + #####: 58: void delete_last() + -: 59: { + #####: 60: T* previous = NULL; + #####: 61: T *current=_head; + -: 62: + #####: 63: if (!current) { + #####: 64: return; + -: 65: } + -: 66: + #####: 67: while (current->next != NULL) { + #####: 68: previous=current; + #####: 69: current=current->next; + -: 70: } + -: 71: + #####: 72: if (previous) { + #####: 73: _tail=previous; + #####: 74: previous->next=NULL; + -: 75: } else { + #####: 76: _head = NULL; + #####: 77: _tail = NULL; + -: 78: } + -: 79: + #####: 80: delete current; + -: 81: } + -: 82: + #####: 83: void delete_all() + -: 84: { + #####: 85: T *temp = _head; + #####: 86: while (temp) { + #####: 87: _head = _head->next; + #####: 88: delete temp; + #####: 89: temp = _head; + -: 90: } + #####: 91: } + -: 92: + -: 93: + -: 94: T *get_head() + -: 95: { + -: 96: return _head; + -: 97: } + -: 98:}; + -: 99: + -: 100:} // namespace mbed + -: 101: + -: 102:#endif // CELLULAR_LIST_H_ diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/CellularNetwork.h.gcov b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/CellularNetwork.h.gcov new file mode 100644 index 0000000000..993c29d931 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/CellularNetwork.h.gcov @@ -0,0 +1,387 @@ + -: 0:Source:../../../framework/API/CellularNetwork.h + -: 0:Graph:objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcno + -: 0:Data:objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* + -: 2: * Copyright (c) 2017, Arm Limited and affiliates. + -: 3: * SPDX-License-Identifier: Apache-2.0 + -: 4: * + -: 5: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 6: * you may not use this file except in compliance with the License. + -: 7: * You may obtain a copy of the License at + -: 8: * + -: 9: * http://www.apache.org/licenses/LICENSE-2.0 + -: 10: * + -: 11: * Unless required by applicable law or agreed to in writing, software + -: 12: * distributed under the License is distributed on an "AS IS" BASIS, + -: 13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 14: * See the License for the specific language governing permissions and + -: 15: * limitations under the License. + -: 16: */ + -: 17: + -: 18:#ifndef CELLULAR_NETWORK_H_ + -: 19:#define CELLULAR_NETWORK_H_ + -: 20: + -: 21:#include "CellularInterface.h" + -: 22:#include "NetworkInterface.h" + -: 23:#include "CellularList.h" + -: 24: + -: 25:namespace mbed { + -: 26: + -: 27:/** + -: 28: * Class CellularNetwork + -: 29: * + -: 30: * An abstract interface for connecting to a network and getting information from it. + -: 31: */ + 25: 32:class CellularNetwork : public NetworkInterface + -: 33:{ + -: 34:protected: + -: 35: // friend of CellularDevice so that it's the only way to close/delete this class. + -: 36: friend class CellularDevice; + -: 37: + -: 38: /** + -: 39: * virtual Destructor + -: 40: */ + 25: 41: virtual ~CellularNetwork() {} + -: 42: + -: 43:public: + -: 44: /* Definition for Supported CIoT EPS optimizations type. */ + -: 45: enum Supported_UE_Opt { + -: 46: SUPPORTED_UE_OPT_NO_SUPPORT = 0, /* No support. */ + -: 47: SUPPORTED_UE_OPT_CONTROL_PLANE, /* Support for control plane CIoT EPS optimization. */ + -: 48: SUPPORTED_UE_OPT_USER_PLANE, /* Support for user plane CIoT EPS optimization. */ + -: 49: SUPPORTED_UE_OPT_BOTH, /* Support for both control plane CIoT EPS optimization and user plane CIoT EPS + -: 50: optimization. */ + -: 51: SUPPORTED_UE_OPT_MAX + -: 52: }; + -: 53: + -: 54: /* Definition for Preferred CIoT EPS optimizations type. */ + -: 55: enum Preferred_UE_Opt { + -: 56: PREFERRED_UE_OPT_NO_PREFERENCE = 0, /* No preference. */ + -: 57: PREFERRED_UE_OPT_CONTROL_PLANE, /* Preference for control plane CIoT EPS optimization. */ + -: 58: PREFERRED_UE_OPT_USER_PLANE, /* Preference for user plane CIoT EPS optimization. */ + -: 59: PREFERRED_UE_OPT_MAX + -: 60: }; + -: 61: + -: 62: /* Network registration status */ + -: 63: enum RegistrationStatus { + -: 64: NotRegistered = 0, + -: 65: RegisteredHomeNetwork, + -: 66: SearchingNetwork, + -: 67: RegistrationDenied, + -: 68: Unknown, + -: 69: RegisteredRoaming, + -: 70: RegisteredSMSOnlyHome, + -: 71: RegisteredSMSOnlyRoaming, + -: 72: AttachedEmergencyOnly, + -: 73: RegisteredCSFBNotPreferredHome, + -: 74: RegisteredCSFBNotPreferredRoaming = 10 + -: 75: }; + -: 76: + -: 77: /* Network registration type */ + -: 78: enum RegistrationType { + -: 79: C_EREG = 0, + -: 80: C_GREG, + -: 81: C_REG, + -: 82: C_MAX + -: 83: }; + -: 84: + -: 85: /* device attach status to network */ + -: 86: enum AttachStatus { + -: 87: Detached = 0, + -: 88: Attached, + -: 89: }; + -: 90: + -: 91: /* whether the additional exception reports are allowed to be sent when the maximum uplink rate is reached */ + -: 92: enum RateControlExceptionReports { + -: 93: NotAllowedToBeSent = 0, + -: 94: AllowedToBeSent + -: 95: }; + -: 96: + -: 97: /* specifies the time unit to be used for the maximum uplink rate */ + -: 98: enum RateControlUplinkTimeUnit { + -: 99: Unrestricted = 0, + -: 100: Minute, + -: 101: Hour, + -: 102: Day, + -: 103: Week + -: 104: }; + -: 105: + -: 106: /* authentication type when activating or modifying the pdp context */ + -: 107: enum AuthenticationType { + -: 108: NOAUTH = 0, + -: 109: PAP, + -: 110: CHAP + -: 111: }; + -: 112: + -: 113: // 3GPP TS 27.007 - 7.3 PLMN selection +COPS + -: 114: struct operator_t { + -: 115: enum Status { + -: 116: Unknown, + -: 117: Available, + -: 118: Current, + -: 119: Forbiden + -: 120: }; + -: 121: + -: 122: enum RadioAccessTechnology { + -: 123: RAT_GSM, + -: 124: RAT_GSM_COMPACT, + -: 125: RAT_UTRAN, + -: 126: RAT_EGPRS, + -: 127: RAT_HSDPA, + -: 128: RAT_HSUPA, + -: 129: RAT_HSDPA_HSUPA, + -: 130: RAT_E_UTRAN, + -: 131: RAT_CATM1, + -: 132: RAT_NB1, + -: 133: RAT_UNKNOWN + -: 134: }; + -: 135: + -: 136: + -: 137: Status op_status; + -: 138: char op_long[16+9]; + -: 139: char op_short[8+4]; + -: 140: char op_num[8+4]; + -: 141: RadioAccessTechnology op_rat; + -: 142: operator_t *next; + -: 143: + #####: 144: operator_t() { + #####: 145: op_status = Unknown; + #####: 146: op_rat = RAT_UNKNOWN; + #####: 147: next = NULL; + #####: 148: } + -: 149: }; + -: 150: + -: 151: typedef CellularList operList_t; + -: 152: + -: 153: /* PDP Context information */ + -: 154: struct pdpcontext_params_t { + -: 155: char apn[100+1]; + -: 156: char local_addr[63+1]; + -: 157: char local_subnet_mask[63+1]; + -: 158: char gateway_addr[63+1]; + -: 159: char dns_primary_addr[63+1]; + -: 160: char dns_secondary_addr[63+1]; + -: 161: char p_cscf_prim_addr[63+1]; + -: 162: char p_cscf_sec_addr[63+1]; + -: 163: int cid; + -: 164: int bearer_id; + -: 165: int im_signalling_flag; + -: 166: int lipa_indication; + -: 167: int ipv4_mtu; + -: 168: int wlan_offload; + -: 169: int local_addr_ind; + -: 170: int non_ip_mtu; + -: 171: int serving_plmn_rate_control_value; + -: 172: pdpcontext_params_t* next; + -: 173: + #####: 174: pdpcontext_params_t() { + #####: 175: apn[0] = '\0'; + #####: 176: local_addr[0] = '\0'; + #####: 177: local_subnet_mask[0] = '\0'; + #####: 178: gateway_addr[0] = '\0'; + #####: 179: dns_primary_addr[0] = '\0'; + #####: 180: dns_secondary_addr[0] = '\0'; + #####: 181: p_cscf_prim_addr[0] = '\0'; + #####: 182: p_cscf_sec_addr[0] = '\0'; + #####: 183: cid = -1; + #####: 184: bearer_id = -1; + #####: 185: im_signalling_flag = -1; + #####: 186: lipa_indication = -1; + #####: 187: ipv4_mtu = -1; + #####: 188: wlan_offload = -1; + #####: 189: local_addr_ind = -1; + #####: 190: non_ip_mtu = -1; + #####: 191: serving_plmn_rate_control_value = -1; + #####: 192: next = NULL; + #####: 193: } + -: 194: }; + -: 195: typedef CellularList pdpContextList_t; + -: 196: + -: 197: /** Request registering to network. + -: 198: * + -: 199: * @param plmn format is in numeric format or 0 for automatic network registration + -: 200: * @return zero on success + -: 201: */ + -: 202: virtual nsapi_error_t set_registration(char *plmn = 0) = 0; + -: 203: + -: 204: /** Gets the network registration status. + -: 205: * + -: 206: * @param type see RegistrationType values + -: 207: * @param status see RegistrationStatus values + -: 208: * @return zero on success + -: 209: */ + -: 210: virtual nsapi_error_t get_registration_status(RegistrationType type, RegistrationStatus &status) = 0; + -: 211: + -: 212: /** Set the cellular network APN and credentials + -: 213: * + -: 214: * @param apn Optional name of the network to connect to + -: 215: * @param username Optional username for the APN + -: 216: * @param password Optional password fot the APN + -: 217: * @return 0 on success, negative error code on failure + -: 218: */ + -: 219: virtual nsapi_error_t set_credentials(const char *apn, + -: 220: const char *username = 0, const char *password = 0) = 0; + -: 221: + -: 222: /** Set the cellular network APN and credentials + -: 223: * + -: 224: * @param apn Name of the network to connect to + -: 225: * @param type Authentication type to use + -: 226: * @param username Optional username for the APN + -: 227: * @param password Optional password fot the APN + -: 228: * @return 0 on success, negative error code on failure + -: 229: */ + -: 230: virtual nsapi_error_t set_credentials(const char *apn, AuthenticationType type, + -: 231: const char *username = 0, const char *password = 0) = 0; + -: 232: + -: 233: /** Request attach to network. + -: 234: * + -: 235: * @param timeout milliseconds to wait for attach response + -: 236: * @return zero on success + -: 237: */ + -: 238: virtual nsapi_error_t set_attach(int timeout = 10*1000) = 0; + -: 239: + -: 240: /** Request attach status from network. + -: 241: * + -: 242: * @param status see AttachStatus values + -: 243: * @return zero on success + -: 244: */ + -: 245: virtual nsapi_error_t get_attach(AttachStatus &status) = 0; + -: 246: + -: 247: /** Get APN rate control. + -: 248: * + -: 249: * @remark optional params are not updated if not received from network, so use good defaults + -: 250: * @param reports Additional exception reports at maximum rate reached are allowed to be sent [optional] + -: 251: * @param time_unit Uplink time unit with values 0=unrestricted, 1=minute, 2=hour, 3=day, 4=week [optional] + -: 252: * @param uplink_rate Maximum number of messages per timeUnit [optional] + -: 253: * @return zero on success + -: 254: */ + -: 255: virtual nsapi_error_t get_rate_control(CellularNetwork::RateControlExceptionReports &reports, + -: 256: CellularNetwork::RateControlUplinkTimeUnit &time_unit, int &uplink_rate) = 0; + -: 257: + -: 258: /** Get backoff timer value + -: 259: * + -: 260: * @param backoff_time Backoff timer value associated with PDP APN in seconds + -: 261: * @return zero on success + -: 262: */ + -: 263: virtual nsapi_error_t get_backoff_time(int &backoff_time) = 0; + -: 264: + -: 265: /** Sets radio access technology. + -: 266: * + -: 267: * @param op_rat Radio access technology + -: 268: * @return zero on success + -: 269: */ + -: 270: virtual nsapi_error_t set_access_technology(operator_t::RadioAccessTechnology op_rat) = 0; + -: 271: + -: 272: /** Scans for operators module can reach. + -: 273: * + -: 274: * @param operators Container of reachable operators and their access technologies + -: 275: * @param ops_count Number of found operators + -: 276: * @return zero on success + -: 277: */ + -: 278: virtual nsapi_error_t scan_plmn(operList_t &operators, int &ops_count) = 0; + -: 279: + -: 280: /** Set CIoT optimizations. + -: 281: * + -: 282: * @param supported_opt Supported CIoT EPS optimizations. + -: 283: * @param preferred_opt Preferred CIoT EPS optimizations. + -: 284: * @return zero on success + -: 285: */ + -: 286: virtual nsapi_error_t set_ciot_optimization_config(Supported_UE_Opt supported_opt, + -: 287: Preferred_UE_Opt preferred_opt) = 0; + -: 288: + -: 289: /** Get CIoT optimizations. + -: 290: * + -: 291: * @param supported_opt Supported CIoT EPS optimizations. + -: 292: * @param preferred_opt Preferred CIoT EPS optimizations. + -: 293: * @return zero on success + -: 294: */ + -: 295: virtual nsapi_error_t get_ciot_optimization_config(Supported_UE_Opt& supported_opt, + -: 296: Preferred_UE_Opt& preferred_opt) = 0; + -: 297: + -: 298: /** Start the interface. Attempts to connect to a cellular network. + -: 299: * + -: 300: * @return 0 on success, negative error code on failure + -: 301: */ + -: 302: virtual nsapi_error_t connect() = 0; + -: 303: + -: 304: /** Start the interface. Attempts to connect to a cellular network. + -: 305: * + -: 306: * @param apn Optional name of the network to connect to + -: 307: * @param username Optional username for your APN + -: 308: * @param password Optional password for your APN + -: 309: * @return 0 on success, negative error code on failure + -: 310: */ + -: 311: virtual nsapi_error_t connect(const char *apn, + -: 312: const char *username = 0, const char *password = 0) = 0; + -: 313: + -: 314: /** + -: 315: * Set the pdn type to be used + -: 316: * + -: 317: * @param stack_type the stack type to be used. + -: 318: * + -: 319: * @return NSAPI_ERROR_OK on success + -: 320: */ + -: 321: virtual nsapi_error_t set_stack_type(nsapi_ip_stack_t stack_type) = 0; + -: 322: + -: 323: /** + -: 324: * Get the pdn type in use + -: 325: * + -: 326: * @return stack type + -: 327: */ + -: 328: virtual nsapi_ip_stack_t get_stack_type() = 0; + -: 329: + -: 330: /** Get the relevant information for an active non secondary PDP context. + -: 331: * + -: 332: * @remark optional params are not updated if not received from network. + -: 333: * @param params_list reference to linked list which is filled on successful call + -: 334: * @return 0 on success, negative error code on failure + -: 335: */ + -: 336: virtual nsapi_error_t get_pdpcontext_params(pdpContextList_t& params_list) = 0; + -: 337: + -: 338: /** Get extended signal quality parameters. + -: 339: * + -: 340: * @param rxlev signal strength level + -: 341: * @param ber bit error rate + -: 342: * @param rscp signal code power + -: 343: * @param ecno ratio of the received energy per PN chip to the total received power spectral density + -: 344: * @param rsrq signal received quality + -: 345: * @param rsrp signal received power + -: 346: * @return NSAPI_ERROR_OK on success, negative error code on failure + -: 347: */ + -: 348: virtual nsapi_error_t get_extended_signal_quality(int &rxlev, int &ber, int &rscp, int &ecno, int &rsrq, int &rsrp) = 0; + -: 349: + -: 350: /** Get signal quality parameters. + -: 351: * + -: 352: * @param rssi signal strength level + -: 353: * @param ber bit error rate + -: 354: * @return NSAPI_ERROR_OK on success, negative error code on failure + -: 355: */ + -: 356: virtual nsapi_error_t get_signal_quality(int &rssi, int &ber) = 0; + -: 357: + -: 358: /** Get cell id. + -: 359: * + -: 360: * @param cell_id cell id + -: 361: * @return NSAPI_ERROR_OK on success, negative error code on failure + -: 362: */ + -: 363: virtual nsapi_error_t get_cell_id(int &cell_id) = 0; + -: 364: + -: 365: /** Get the last 3GPP error code + -: 366: * @return see 3GPP TS 27.007 error codes + -: 367: */ + -: 368: virtual uint8_t get_3gpp_error() = 0; + -: 369: + -: 370: /** Get the operator params + -: 371: * + -: 372: * @param format format of the operator field + -: 373: * @param operator_params applicable operator param fields filled + -: 374: * @return NSAPI_ERROR_OK on success, negative error code on failure + -: 375: */ + -: 376: virtual nsapi_error_t get_operator_params(int &format, operator_t &operator_params) = 0; + -: 377: + -: 378:}; + -: 379: + -: 380:} // namespace mbed + -: 381: + -: 382:#endif // CELLULAR_NETWORK_H_ diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/NetworkInterface.h.gcov b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/NetworkInterface.h.gcov new file mode 100644 index 0000000000..4e16b5f646 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/NetworkInterface.h.gcov @@ -0,0 +1,151 @@ + -: 0:Source:../../../../../features/netsocket/NetworkInterface.h + -: 0:Graph:objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcno + -: 0:Data:objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* NetworkStack + -: 2: * Copyright (c) 2015 ARM Limited + -: 3: * + -: 4: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 5: * you may not use this file except in compliance with the License. + -: 6: * You may obtain a copy of the License at + -: 7: * + -: 8: * http://www.apache.org/licenses/LICENSE-2.0 + -: 9: * + -: 10: * Unless required by applicable law or agreed to in writing, software + -: 11: * distributed under the License is distributed on an "AS IS" BASIS, + -: 12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 13: * See the License for the specific language governing permissions and + -: 14: * limitations under the License. + -: 15: */ + -: 16: + -: 17:#ifndef NETWORK_INTERFACE_H + -: 18:#define NETWORK_INTERFACE_H + -: 19: + -: 20:#include "netsocket/nsapi_types.h" + -: 21:#include "netsocket/SocketAddress.h" + -: 22: + -: 23:// Predeclared class + -: 24:class NetworkStack; + -: 25: + -: 26: + -: 27:/** NetworkInterface class + -: 28: * + -: 29: * Common interface that is shared between network devices + -: 30: * @addtogroup netsocket + -: 31: */ + 25: 32:class NetworkInterface { + -: 33:public: + 25: 34: virtual ~NetworkInterface() {}; + -: 35: + -: 36: /** Get the local MAC address + -: 37: * + -: 38: * Provided MAC address is intended for info or debug purposes and + -: 39: * may not be provided if the underlying network interface does not + -: 40: * provide a MAC address + -: 41: * + -: 42: * @return Null-terminated representation of the local MAC address + -: 43: * or null if no MAC address is available + -: 44: */ + -: 45: virtual const char *get_mac_address(); + -: 46: + -: 47: /** Get the local IP address + -: 48: * + -: 49: * @return Null-terminated representation of the local IP address + -: 50: * or null if no IP address has been recieved + -: 51: */ + -: 52: virtual const char *get_ip_address(); + -: 53: + -: 54: /** Get the local network mask + -: 55: * + -: 56: * @return Null-terminated representation of the local network mask + -: 57: * or null if no network mask has been recieved + -: 58: */ + -: 59: virtual const char *get_netmask(); + -: 60: + -: 61: /** Get the local gateway + -: 62: * + -: 63: * @return Null-terminated representation of the local gateway + -: 64: * or null if no network mask has been recieved + -: 65: */ + -: 66: virtual const char *get_gateway(); + -: 67: + -: 68: /** Set a static IP address + -: 69: * + -: 70: * Configures this network interface to use a static IP address. + -: 71: * Implicitly disables DHCP, which can be enabled in set_dhcp. + -: 72: * Requires that the network is disconnected. + -: 73: * + -: 74: * @param ip_address Null-terminated representation of the local IP address + -: 75: * @param netmask Null-terminated representation of the local network mask + -: 76: * @param gateway Null-terminated representation of the local gateway + -: 77: * @return 0 on success, negative error code on failure + -: 78: */ + -: 79: virtual nsapi_error_t set_network( + -: 80: const char *ip_address, const char *netmask, const char *gateway); + -: 81: + -: 82: /** Enable or disable DHCP on the network + -: 83: * + -: 84: * Enables DHCP on connecting the network. Defaults to enabled unless + -: 85: * a static IP address has been assigned. Requires that the network is + -: 86: * disconnected. + -: 87: * + -: 88: * @param dhcp True to enable DHCP + -: 89: * @return 0 on success, negative error code on failure + -: 90: */ + -: 91: virtual nsapi_error_t set_dhcp(bool dhcp); + -: 92: + -: 93: /** Start the interface + -: 94: * + -: 95: * @return 0 on success, negative error code on failure + -: 96: */ + -: 97: virtual nsapi_error_t connect() = 0; + -: 98: + -: 99: /** Stop the interface + -: 100: * + -: 101: * @return 0 on success, negative error code on failure + -: 102: */ + -: 103: virtual nsapi_error_t disconnect() = 0; + -: 104: + -: 105: /** Translates a hostname to an IP address with specific version + -: 106: * + -: 107: * The hostname may be either a domain name or an IP address. If the + -: 108: * hostname is an IP address, no network transactions will be performed. + -: 109: * + -: 110: * If no stack-specific DNS resolution is provided, the hostname + -: 111: * will be resolve using a UDP socket on the stack. + -: 112: * + -: 113: * @param address Destination for the host SocketAddress + -: 114: * @param host Hostname to resolve + -: 115: * @param version IP version of address to resolve, NSAPI_UNSPEC indicates + -: 116: * version is chosen by the stack (defaults to NSAPI_UNSPEC) + -: 117: * @return 0 on success, negative error code on failure + -: 118: */ + -: 119: virtual nsapi_error_t gethostbyname(const char *host, + -: 120: SocketAddress *address, nsapi_version_t version = NSAPI_UNSPEC); + -: 121: + -: 122: /** Add a domain name server to list of servers to query + -: 123: * + -: 124: * @param address Destination for the host address + -: 125: * @return 0 on success, negative error code on failure + -: 126: */ + -: 127: virtual nsapi_error_t add_dns_server(const SocketAddress &address); + -: 128: + -: 129:protected: + -: 130: friend class Socket; + -: 131: friend class UDPSocket; + -: 132: friend class TCPSocket; + -: 133: friend class TCPServer; + -: 134: friend class SocketAddress; + -: 135: template + -: 136: friend NetworkStack *nsapi_create_stack(IF *iface); + -: 137: + -: 138: /** Provide access to the NetworkStack object + -: 139: * + -: 140: * @return The underlying NetworkStack object + -: 141: */ + -: 142: virtual NetworkStack *get_stack() = 0; + -: 143:}; + -: 144: + -: 145: + -: 146:#endif diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/gcov_error.txt b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/gcov_error.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/gcov_output.txt b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/gcov_output.txt new file mode 100644 index 0000000000..13355a4381 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/gcov_output.txt @@ -0,0 +1,28 @@ +File '../../../../../platform/Callback.h' +Lines executed:60.32% of 63 +Creating 'Callback.h.gcov' + +File '../../../framework/common/CellularList.h' +Lines executed:0.00% of 31 +Creating 'CellularList.h.gcov' + +File '../../../framework/AT/AT_CellularNetwork.cpp' +Lines executed:66.14% of 502 +Creating 'AT_CellularNetwork.cpp.gcov' + +File '../../../framework/API/CellularNetwork.h' +Lines executed:7.41% of 27 +Creating 'CellularNetwork.h.gcov' + +File '../../../../../features/netsocket/NetworkInterface.h' +Lines executed:100.00% of 2 +Creating 'NetworkInterface.h.gcov' + +File '../../../../../platform/mbed_debug.h' +Lines executed:100.00% of 2 +Creating 'mbed_debug.h.gcov' + +File '/usr/include/c++/5/new' +Lines executed:0.00% of 3 +Creating 'new.gcov' + diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/gcov_report.txt b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/gcov_report.txt new file mode 100644 index 0000000000..575cdc2ddd --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/gcov_report.txt @@ -0,0 +1,7 @@ + + 0.00% ../framework/common/CellularList.h +100.00% ../features/netsocket/NetworkInterface.h +100.00% ../platform/mbed_debug.h + 60.32% ../platform/Callback.h + 66.14% ../framework/AT/AT_CellularNetwork.cpp + 7.41% ../framework/API/CellularNetwork.h diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/gcov_report.txt.html b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/gcov_report.txt.html new file mode 100644 index 0000000000..8f12e22c13 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/gcov_report.txt.html @@ -0,0 +1,10 @@ + + + + + + + + + +
CoverageFile
0.00% ../framework/common/CellularList.h
100.00% ../features/netsocket/NetworkInterface.h
100.00% ../platform/mbed_debug.h
60.32% ../platform/Callback.h
66.14% ../framework/AT/AT_CellularNetwork.cpp
7.41% ../framework/API/CellularNetwork.h
diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/mbed_debug.h.gcov b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/mbed_debug.h.gcov new file mode 100644 index 0000000000..ee14aefc49 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/mbed_debug.h.gcov @@ -0,0 +1,84 @@ + -: 0:Source:../../../../../platform/mbed_debug.h + -: 0:Graph:objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcno + -: 0:Data:objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1: + -: 2:/** \addtogroup platform */ + -: 3:/** @{*/ + -: 4:/** + -: 5: * \defgroup platform_debug Debug functions + -: 6: * @{ + -: 7: */ + -: 8: + -: 9:/* mbed Microcontroller Library + -: 10: * Copyright (c) 2006-2013 ARM Limited + -: 11: * + -: 12: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 13: * you may not use this file except in compliance with the License. + -: 14: * You may obtain a copy of the License at + -: 15: * + -: 16: * http://www.apache.org/licenses/LICENSE-2.0 + -: 17: * + -: 18: * Unless required by applicable law or agreed to in writing, software + -: 19: * distributed under the License is distributed on an "AS IS" BASIS, + -: 20: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 21: * See the License for the specific language governing permissions and + -: 22: * limitations under the License. + -: 23: */ + -: 24:#ifndef MBED_DEBUG_H + -: 25:#define MBED_DEBUG_H + -: 26:#if DEVICE_STDIO_MESSAGES + -: 27:#include + -: 28:#include + -: 29:#endif + -: 30: + -: 31:#ifdef __cplusplus + -: 32:extern "C" { + -: 33:#endif + -: 34: + -: 35: + -: 36:/** Output a debug message + -: 37: * + -: 38: * @param format printf-style format string, followed by variables + -: 39: */ + 3: 40:static inline void debug(const char *format, ...) { + -: 41:#if DEVICE_STDIO_MESSAGES && !defined(NDEBUG) + -: 42: va_list args; + -: 43: va_start(args, format); + -: 44: vfprintf(stderr, format, args); + -: 45: va_end(args); + -: 46:#endif + 3: 47:} + -: 48: + -: 49: + -: 50:/** Conditionally output a debug message + -: 51: * + -: 52: * NOTE: If the condition is constant false (== 0) and the compiler optimization + -: 53: * level is greater than 0, then the whole function will be compiled away. + -: 54: * + -: 55: * @param condition output only if condition is true (!= 0) + -: 56: * @param format printf-style format string, followed by variables + -: 57: */ + -: 58:static inline void debug_if(int condition, const char *format, ...) { + -: 59:#if DEVICE_STDIO_MESSAGES && !defined(NDEBUG) + -: 60: if (condition) { + -: 61: va_list args; + -: 62: va_start(args, format); + -: 63: vfprintf(stderr, format, args); + -: 64: va_end(args); + -: 65: } + -: 66:#endif + -: 67:} + -: 68: + -: 69: + -: 70:#ifdef __cplusplus + -: 71:} + -: 72:#endif + -: 73: + -: 74:#endif + -: 75: + -: 76:/**@}*/ + -: 77: + -: 78:/**@}*/ + -: 79: diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/new.gcov b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/new.gcov new file mode 100644 index 0000000000..952918a386 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/gcov/new.gcov @@ -0,0 +1,147 @@ + -: 0:Source:/usr/include/c++/5/new + -: 0:Graph:objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcno + -: 0:Data:objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:// The -*- C++ -*- dynamic memory management header. + -: 2: + -: 3:// Copyright (C) 1994-2015 Free Software Foundation, Inc. + -: 4: + -: 5:// This file is part of GCC. + -: 6:// + -: 7:// GCC is free software; you can redistribute it and/or modify + -: 8:// it under the terms of the GNU General Public License as published by + -: 9:// the Free Software Foundation; either version 3, or (at your option) + -: 10:// any later version. + -: 11:// + -: 12:// GCC is distributed in the hope that it will be useful, + -: 13:// but WITHOUT ANY WARRANTY; without even the implied warranty of + -: 14:// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + -: 15:// GNU General Public License for more details. + -: 16:// + -: 17:// Under Section 7 of GPL version 3, you are granted additional + -: 18:// permissions described in the GCC Runtime Library Exception, version + -: 19:// 3.1, as published by the Free Software Foundation. + -: 20: + -: 21:// You should have received a copy of the GNU General Public License and + -: 22:// a copy of the GCC Runtime Library Exception along with this program; + -: 23:// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + -: 24:// . + -: 25: + -: 26:/** @file new + -: 27: * This is a Standard C++ Library header. + -: 28: * + -: 29: * The header @c new defines several functions to manage dynamic memory and + -: 30: * handling memory allocation errors; see + -: 31: * http://gcc.gnu.org/onlinedocs/libstdc++/18_support/howto.html#4 for more. + -: 32: */ + -: 33: + -: 34:#ifndef _NEW + -: 35:#define _NEW + -: 36: + -: 37:#pragma GCC system_header + -: 38: + -: 39:#include + -: 40:#include + -: 41: + -: 42:#pragma GCC visibility push(default) + -: 43: + -: 44:extern "C++" { + -: 45: + -: 46:namespace std + -: 47:{ + -: 48: /** + -: 49: * @brief Exception possibly thrown by @c new. + -: 50: * @ingroup exceptions + -: 51: * + -: 52: * @c bad_alloc (or classes derived from it) is used to report allocation + -: 53: * errors from the throwing forms of @c new. */ + -: 54: class bad_alloc : public exception + -: 55: { + -: 56: public: + -: 57: bad_alloc() throw() { } + -: 58: + -: 59: // This declaration is not useless: + -: 60: // http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118 + -: 61: virtual ~bad_alloc() throw(); + -: 62: + -: 63: // See comment in eh_exception.cc. + -: 64: virtual const char* what() const throw(); + -: 65: }; + -: 66: + -: 67:#if __cplusplus >= 201103L + -: 68: class bad_array_new_length : public bad_alloc + -: 69: { + -: 70: public: + -: 71: bad_array_new_length() throw() { }; + -: 72: + -: 73: // This declaration is not useless: + -: 74: // http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118 + -: 75: virtual ~bad_array_new_length() throw(); + -: 76: + -: 77: // See comment in eh_exception.cc. + -: 78: virtual const char* what() const throw(); + -: 79: }; + -: 80:#endif + -: 81: + -: 82: struct nothrow_t { }; + -: 83: + -: 84: extern const nothrow_t nothrow; + -: 85: + -: 86: /** If you write your own error handler to be called by @c new, it must + -: 87: * be of this type. */ + -: 88: typedef void (*new_handler)(); + -: 89: + -: 90: /// Takes a replacement handler as the argument, returns the + -: 91: /// previous handler. + -: 92: new_handler set_new_handler(new_handler) throw(); + -: 93: + -: 94:#if __cplusplus >= 201103L + -: 95: /// Return the current new handler. + -: 96: new_handler get_new_handler() noexcept; + -: 97:#endif + -: 98:} // namespace std + -: 99: + -: 100://@{ + -: 101:/** These are replaceable signatures: + -: 102: * - normal single new and delete (no arguments, throw @c bad_alloc on error) + -: 103: * - normal array new and delete (same) + -: 104: * - @c nothrow single new and delete (take a @c nothrow argument, return + -: 105: * @c NULL on error) + -: 106: * - @c nothrow array new and delete (same) + -: 107: * + -: 108: * Placement new and delete signatures (take a memory address argument, + -: 109: * does nothing) may not be replaced by a user's program. + -: 110:*/ + -: 111:void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc) + -: 112: __attribute__((__externally_visible__)); + -: 113:void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) + -: 114: __attribute__((__externally_visible__)); + -: 115:void operator delete(void*) _GLIBCXX_USE_NOEXCEPT + -: 116: __attribute__((__externally_visible__)); + -: 117:void operator delete[](void*) _GLIBCXX_USE_NOEXCEPT + -: 118: __attribute__((__externally_visible__)); + -: 119:void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT + -: 120: __attribute__((__externally_visible__)); + -: 121:void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT + -: 122: __attribute__((__externally_visible__)); + -: 123:void operator delete(void*, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT + -: 124: __attribute__((__externally_visible__)); + -: 125:void operator delete[](void*, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT + -: 126: __attribute__((__externally_visible__)); + -: 127: + -: 128:// Default placement versions of operator new. + #####: 129:inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT + #####: 130:{ return __p; } + -: 131:inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT + -: 132:{ return __p; } + -: 133: + -: 134:// Default placement versions of operator delete. + #####: 135:inline void operator delete (void*, void*) _GLIBCXX_USE_NOEXCEPT { } + -: 136:inline void operator delete[](void*, void*) _GLIBCXX_USE_NOEXCEPT { } + -: 137://@} + -: 138:} // extern "C++" + -: 139: + -: 140:#pragma GCC visibility pop + -: 141: + -: 142:#endif diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/lib/libAT_CellularNetwork_unit.a b/features/cellular/UNITTESTS/at/at_cellularnetwork/lib/libAT_CellularNetwork_unit.a new file mode 100644 index 0000000000000000000000000000000000000000..b247bb23a41aea777fb1b7be28425299ed197153 GIT binary patch literal 194184 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
Cb;ib@z_wWmd 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 E2Q6DU0RR91 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/main.cpp b/features/cellular/UNITTESTS/at/at_cellularnetwork/main.cpp new file mode 100644 index 0000000000..be88ade7f5 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/main.cpp @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2015 ARM. All rights reserved. + */ + +#include "CppUTest/CommandLineTestRunner.h" +#include "CppUTest/TestPlugin.h" +#include "CppUTest/TestRegistry.h" +#include "CppUTestExt/MockSupportPlugin.h" +int main(int ac, char** av) +{ + return CommandLineTestRunner::RunAllTests(ac, av); +} + +IMPORT_TEST_GROUP(AT_CellularNetwork); + diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/ATHandler_stub.d b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/ATHandler_stub.d new file mode 100644 index 0000000000..29120c9d71 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/ATHandler_stub.d @@ -0,0 +1,78 @@ +objs/AT_CellularNetwork_unit/ATHandler_stub.o: \ + ../../stubs/ATHandler_stub.cpp \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../platform/Callback.h ../../stubs/ATHandler_stub.h \ + ../../stubs/FileHandle_stub.h ../../../../../platform/FileHandle.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_poll.h \ + ../../../../../platform/platform.h ../../target_h/device.h \ + ../../target_h/PinNames.h ../../target_h/PeripheralNames.h \ + ../../../framework/common/CellularLog.h \ + ../../../../../hal/us_ticker_api.h ../../../../../hal/ticker_api.h \ + ../../../../../platform/mbed_debug.h + +../../../../../features/netsocket/nsapi_types.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../platform/Callback.h: + +../../stubs/ATHandler_stub.h: + +../../stubs/FileHandle_stub.h: + +../../../../../platform/FileHandle.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_poll.h: + +../../../../../platform/platform.h: + +../../target_h/device.h: + +../../target_h/PinNames.h: + +../../target_h/PeripheralNames.h: + +../../../framework/common/CellularLog.h: + +../../../../../hal/us_ticker_api.h: + +../../../../../hal/ticker_api.h: + +../../../../../platform/mbed_debug.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/ATHandler_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/ATHandler_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..eabefd97386f471db5d42baa6660e49a0b4a6685 GIT binary patch literal 2540 zcmYdHNlw=?F);0TyRwaefnjkBkl3PeZt{Ij1_nkT`v5jj5&y zFROL8A^QW19dYvym z)BdO%YWUSMHxFhXOf6D;!G%ESB>wDUgQT5NE0E(2-A&%l7`z!o-^|6Q=B;LsqEDiC zG_o3)ML-(tzQWh_HHQkS_Plr*dmH3FY-vRAcwdgn1t~dXb6|M^X3j0=-m1P9oiF&z zxo#;UarwmB56I@g@*&KecX_OKo4!oFhpYycr(tS(rEHC#6bAf2R)g-I-;+7H?mUYZ zz^CS|?llh1i4k}4x!IU&gWhA^)I?-8Nbv>^!~7#ZtE5&QW`rDi+(2%|W;8*+qV$mRg;fB~?3dKoTNh+Vnx8lM_YiQuBW^E*!? z+l3y6&82*zOZzIsk=3C4Yhl|~m7^~nI3lZoIR;3B-Lvn0bJ0HU##Vgpxe>}H9uu0a zi%(64>pu?D@EJVFYS6={N`a-MDdWy8WHspSnbiL)udTpm4L&tr{nb3@PnnR1PYuJ( zm#%8BkKIA`JFL!u`F;HwFZ=T|Z%jru2Uc&v)ZE*?A#mE$169asV095p%@i@I>gP>y zlknNK(8{_*q}i(qxm<>o8!#GXo{VcW=kAOMlzax1g8^{7O_a)xJfbz>5VD;x1wb0C zW<^+z&i_)2W%$(GsyLNgFMQtx*?;Kf`ju3VPz?j zzraQ!@xktU{f$LDgL@lZb8p_gmEP$Qe3+PU+hF^<=tjei7Gl&c5tHDo=nXwfjM^wK ZW0O@ABDdr7|F*XKtlJ90C*TNc1^^E(fdK#j literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/ATHandler_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/ATHandler_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..25352dfeead938316fd264a638bd9d0a30915dc6 GIT binary patch literal 15212 zcmdU03vg7`8NO>1AV>wKJX2}4!$^50**s{1iVb1KB!Ejo5EAgR*}X~D?2Eg17YMeL zhgfC=0Rdm*Ft)TxhgQnifYmY9veRNu+D4n5AWhl0Gw5{UQp6@?12Hfpa%1bJ~dvX6}MNw=wqNv=ptg!KIW!9k=U%r7ot8?ew zJ-d3Is)i%2YOSg^FR+(aFS^SW@c1-c4I7bG`!@n%SIDbsx*pWksLL189Evi8^(`tY zW`AfCE>7-K;iTlEIKhS%lucCn{m zKxK+iJzCh%BW`*w@p`l1TWuR`vQBp+rX8jFy(5qFSsKW>Ct-pbu zpmTL}&20rfxMXZKi8qavygy{ZCDWh#A8*e}^8cImMP{}@PqF(s4$Qy}%F6ylQ-4|U0=ZYjn#*FJ>)ypJ|TSOT;JZnsBA|SLhVogw7Lf zggSh#)R!Swi$ynIW^|9v|LkiGHt#w3GSAs59$vq923Ha;B$a#^?ea9)_QJFPD}U_ z_xHZ}4dh;yBx~RNX1Rq1a$UB5gTZ7)5*@`hhCP4Yv1QV4j1L}ue(8?&h}AT?ZceE~ zeomD~O1pY%2$5G{H^>M(iChmoh~KUDL%r|?{3hCQn{qpY&K2heMj)RPWz=x>&CY{T z(16UiWaDy35)B@gHE;Gz{cw7d{o^WsAah(|`5@2BNs?9Dge~Z?SCJf>98dE4Ic_I( z=Iw>Og#APt@eP=X_C`JGIQ+iFEAT92pZL``J2u1#uscp8+jw1+f(9_+lJ$kfytycC zn2)L_&y}>k(EKdcl^9D!yxZ*yf`OV~XpO7Yr`6iaoUw)C{D`5gc2M}!_-w8u`Hi`r zOz4dzrLvc}UcEIX#<=WwlK?0PcYTjiuZ;fNQ`zBWLls+`WW)POV%tBsIqx{`(d_o( z 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularBase_stub.d b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularBase_stub.d new file mode 100644 index 0000000000..e1c427babb --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularBase_stub.d @@ -0,0 +1,53 @@ +objs/AT_CellularNetwork_unit/AT_CellularBase_stub.o: \ + ../../stubs/AT_CellularBase_stub.cpp \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../platform/Callback.h ../../stubs/AT_CellularBase_stub.h \ + ../../../framework/AT/ATHandler.h + +../../../../../features/netsocket/nsapi_types.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../platform/Callback.h: + +../../stubs/AT_CellularBase_stub.h: + +../../../framework/AT/ATHandler.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularBase_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularBase_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..e1eb67d7f59d912eac5cbca6197f1dc520dce2a2 GIT binary patch literal 500 zcmYdHNlw=?F)-zPx3Z0afnjkBkl3PeZt{Ij1_nkT`v574@#U-Ul#rkNP;z6Q% z$pr-INs7R!~+^AB!!7AG)!RW0qzP0)HH&e Z9zb!AoF0ULd~(tQ$ZmNcRsdoc0045TmB9c2 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularBase_stub.o b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularBase_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..6469688de660a510f03455c628550f96cccd2aef GIT binary patch literal 29848 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularNetwork.d b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularNetwork.d new file mode 100644 index 0000000000..895c0e7955 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularNetwork.d @@ -0,0 +1,101 @@ +objs/AT_CellularNetwork_unit/AT_CellularNetwork.o: \ + ../../../framework/AT/AT_CellularNetwork.cpp \ + ../../../framework/AT/AT_CellularNetwork.h \ + ../../../framework/API/CellularNetwork.h \ + ../../../../../features/netsocket/CellularInterface.h \ + ../../../../../features/netsocket/NetworkInterface.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../features/netsocket/SocketAddress.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../features/netsocket/NetworkInterface.h \ + ../../../framework/common/CellularList.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../platform/Callback.h \ + ../../../../../features/netsocket/NetworkStack.h \ + ../../target_h/nsapi_ppp.h ../../../framework/common/CellularUtil.h \ + ../../../framework/common/CellularLog.h ../../target_h/PinNames.h \ + ../../../../../hal/us_ticker_api.h ../../../../../hal/ticker_api.h \ + ../../target_h/device.h ../../../../../platform/mbed_debug.h + +../../../framework/AT/AT_CellularNetwork.h: + +../../../framework/API/CellularNetwork.h: + +../../../../../features/netsocket/CellularInterface.h: + +../../../../../features/netsocket/NetworkInterface.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../features/netsocket/SocketAddress.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../features/netsocket/NetworkInterface.h: + +../../../framework/common/CellularList.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../platform/Callback.h: + +../../../../../features/netsocket/NetworkStack.h: + +../../target_h/nsapi_ppp.h: + +../../../framework/common/CellularUtil.h: + +../../../framework/common/CellularLog.h: + +../../target_h/PinNames.h: + +../../../../../hal/us_ticker_api.h: + +../../../../../hal/ticker_api.h: + +../../target_h/device.h: + +../../../../../platform/mbed_debug.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcda b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcda new file mode 100644 index 0000000000000000000000000000000000000000..c0e3bd65d03465f247c12cdab46c414819cf2298 GIT binary patch literal 7168 zcmd^E3s96*6kZf`5mZnk*_4NmRh|+8A}MNuC<39VfT0tx0rD_GMHFxb1u}604b#dB zgd8!IRD_gC7|ch>5DzVn^)Kla}r ze_3F#sg0FwO;b*?NF>VgBOiH_%RZ88ibQH;UOb$9km1n|FR`d*l(5n{Xbh#MT$qU%44gv`b9$l%%Xs3#&( zrW(WxVPw`m7@NjeYtEb@ef#9eZ?{@yLk!e~Imwjz)MuBuWTY2Ol^E|ii@c~GQJ@E) zF;5LIg(v!J9dkThSPU`Hd(4f9zIxx4n$(|ik#&cE(WPtQUzcy%&FW^fPz}kmKOY(C zoU6(DkeoQE&)MRSXW2VmwPSOmLnlaM!V@0YRC%Wrv$ZMm{l@F5&(^p(dT(aWNW|V@ z{X7y5${!b?9jEK(5O-}~-X9o)weg5CEjL>|Yhz!T)15l(E$a-9uRqrOMbPnl$OGpf zYU1l*)~Uv*)N<#fx**^EnmRtHk&j_)8e@CZU!rBwk~jZy9AL%=dA>Unzz2?<3WLUevi<19#wAZ{*z;G>d38yD zqmOg6^J_iHlUniqtc2u816rm>tOkv6KTo z8obO=D-ig{!G@5ar>I1q(k(t8NP**|lOAHcCiG706W0@Qpi$XNK~UDqGheb33gs*#WsH_adjNT6rzqwNbm}=?sTSW_kJX z7Uc&)`!ceD137sc*A*e}kM{o!`Tmgl>G>irO%Bh!{Mc2Tlhp`4H-!zMIlV>fG4h~| z*ws4jBX$x;Ylw+>VVh!?y4SusS&r8m#&j1k2ah}t*{8Wf#`_FhKHg+$!`fhS>&;Yy zr(xc=w>IXg&nuK3I{EJ2;SbMWgIsWJtIADW=|F$9`x=oSk?_+#MS4CSXV<(z98@}* zJT`ZHrbS;wjJY6-FwtzEe`8R*yk^}|HD9iJnzO8#w(^2S%>9paf<{E@H~XRh?Ic&VAg4WTy~FmFZz~8 z4XX|F0v*f^&E|x91d1|FZSxI*JQCOtI1vT2&w$~j8eXL6*=B7DaB%gGJ_j1$Hxv4( zii*VX@jwlAm$hz-d8U`;UXT+Xrl@W{wy$i|uw1v*Caa)n6?=T}w~@nx%Cu zo{3@iD{?_A`(4G{*E-NDTJPY*7`(r#Ht)x4->w}o#63V(6@1~KE@&Ud!sz)s5`5EJ8`@E;acc9 zzHh^L7I}_;+s0a0P5;#@sLDz~u9yHaF<05fO<#81qjf_6740n`-;a z_tWW;q%CVydFK$d#Ly(vKDw6uKIi$QDM1bk7F68LmF;^3wX(mBI?;ej{RL@HLRL#Q zRas}(7whD>Kn?KBh{p>N>sA%9Kt=wzPmpTRNH-8AH}A4w-<@D?MD*Q!Uei#!P`^ak zanZYS)h$WeGF+KYw$H4Q=IXjzeWSg8hq}d(KoF(~QA3r1)J7v~o}7Je+f~d^yBXrz z6u-a?#j!?^556<-U7V2irOmJ7K7+Jx3oA^tt<7RWf7F$de~)CU88DnYM_=2F7MxN| z4O&&EH_z36&t7Ag8<7N1-?l(A?+Gg%&Dr<%yibKrv%1@{>Km*N^ZiVDmb*^1Ih5vG z!1|yl%$1)k*T`SvoyMLMypKiE36twL)Tb%qdDb-7X?WdNQe{47VvC5zmY;Rm^MlF7 zPiYMgjixQKs{7#xdp=?>5cxo2(^%_wDs^H%yqMITeD~&GG~a)qayt9}3MF|&e*q6o B0uulL literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcno b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularNetwork.gcno new file mode 100644 index 0000000000000000000000000000000000000000..40e852fd0ce4f182388c7a850bc7d273e72a9523 GIT binary patch literal 71296 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularNetwork.o b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/AT_CellularNetwork.o new file mode 100644 index 0000000000000000000000000000000000000000..8e90820599c7597f85936f96b00d59a4f8caa8a8 GIT binary patch literal 188232 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/CellularUtil_stub.d b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/CellularUtil_stub.d new file mode 100644 index 0000000000..72b681b4c0 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/CellularUtil_stub.d @@ -0,0 +1,5 @@ +objs/AT_CellularNetwork_unit/CellularUtil_stub.o: \ + ../../stubs/CellularUtil_stub.cpp \ + ../../../framework/common/CellularUtil.h + +../../../framework/common/CellularUtil.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/CellularUtil_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/CellularUtil_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..d151f62b261c6ba3b0d61bf388a0025d3d2b341b GIT binary patch literal 1036 zcmYdHNlw=?F))pNzp{;ifnjkBkl3PeZt{Ij1_nkT`v5ertxsiqr;$ z9nA(yaG4`uEM)V0Qq@L$<|KB%=M79Y-H)sW76&l*?A~C_HNT{U1D{>jGp zPtE$sc`9ylTr2UZDQH@wacldBo%qx&4Y`}BuX2+I+0Ee4gAm{_RPV@gott2kc68V0 z7Et)W;tfe1J(ys()G&)tk3V<!r{5E1 Jy}_Y|0RR;Fda3{b literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/CellularUtil_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/CellularUtil_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..52ba3f5a90548c66c0c34f756d1173b3bf406dba GIT binary patch literal 6080 zcmd5=O^6&t6z=vnu8F(GX#7orEX1hn?rdh(T_eb5?bR3w6HJr{OFPrko9W&8v!`d- zL?a;vSMd@&Nk9XlU?8HNV)P&$1aF=cOwdyf3c(dTc*w=~y;s%KJ2*R)1jl(yy{UTj z>U*zVSG}&TYQ;PFaC#&&vwZqZ%d+hIhz&;luP#q4Uij_znG0*F?Y^`pHD1p91=sUS zrA8?ix{W9(r6vygky|)a$&~}o4Qg(!8b;27W!*w!hK7deSC1O``tXz*wVwvL5Dj^? z8tE)iv8+k^2L5klQ}*>rbRGTQ$aRsSjXoJCGPG?~EX%P6s17~QmH6|v4AIFed8)`aog7uj_0>=XENI1UF_ zIB(?MSzfo-%Y4%*Z=@43p_PGfU?~{Kqs}IKCm!&p!9K;zzL%l6V5Kn1}x2D9u!_hSINMYbI?doxvQ$Id)-{_LOU5Cgn_+r?lk5rcFonD^TR z!ZZ&2a;5jBJ}<;xS^w?30d@;bW2o^S_;}whx#7W|*LKQ-nc1LHa0}JQtu*L(MQ4R8 z%Y!p)yLa*+{BhZ*m~kH5`qrHD{>!7Y-+lGh@zwI+s8_8l_+g}z0#HoXz@uz(lHbj- z^{!P`t}}gB#Xrsvi za>z73aL`6fQSYOY)Q22)v_AZU4s^9l`-0q#I{Z&!K#ube`m~Q|<9!G{oS&0@Xd_<& z|4u3z3p$V^kDw27+20Zq$Zw|tz1BX+*Q>reRKJcnWVuy_7e6x$P{BI=}u8`s7zC7lFSSF z0Az~yw5TgC7+Aj`Q;cUsU2(xcegT=Jdw1p|8kWQy^us4Fh}88HT#V(cc}=Xiu> z;tO&d$P{Ofs4FfQ$cZ3RjI5|DE*Qw6AXAKeqOQ1LAlHISG4_kP;(~#k3^K)dLDUr& z4CHQ*DaMPUuDD(y`2j-XDZ@QlAyL$!z6$IC+l2c^K!FYdN#P?iMNu x;%9zxAhq-IiIbN)K6A|5tJdfya-P1zu`6im5nV%>-@D*E_J7PBc5(Nr=^t-{6~_Po literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/CellularUtil_stub.o b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/CellularUtil_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..95d6cea52fb382aa05d8dcf03eb35c59d43815d7 GIT binary patch literal 18360 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 bA*z4;-q8m?-9L_rV*cmPQTjVejKBW_bs@i6 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/EventQueue_stub.d b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/EventQueue_stub.d new file mode 100644 index 0000000000..d2bc2f925b --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/EventQueue_stub.d @@ -0,0 +1,32 @@ +objs/AT_CellularNetwork_unit/EventQueue_stub.o: \ + ../../stubs/EventQueue_stub.cpp ../../../../../events/EventQueue.h \ + ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h ../../../../../platform/Callback.h + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/Callback.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/EventQueue_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/EventQueue_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..e365efa69f9f46a6e52c7a975c78816b1c39765e GIT binary patch literal 1148 zcmYdHNlw=?F)+=4x3Z0afnjkBkl3PeZt{Ij1_nkT`v5ccE_7Ybxue-&2?N7IMp(E2r9c3z=J0`O_7-+G&7>5k9|oxb*?|Xu z_2e{uG`SK!;eg$y-3LH=VBv_S53Kg>A~-hFw8Pt9MR*>)?o z9#=tDgXC_oIrH8&>V`k77Qv^cMX0`TWkzTXJ~gVh9Tm2ycN)ET8G9S#Pi%2p!Wv_9 zbEPT+K68{6cB&+H-mk)^Ce&O*v|CR%gW+}aJCI#mKu;ls57>(^K8!~9_br_Qkrh_U gd3vr(D4?5xt_PhDGz%Pd+uH84ZYv0%fWyxW0K=GoM*si- literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/EventQueue_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/EventQueue_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..8247867a2bb248cc01186c6124fb1ed63abbb932 GIT binary patch literal 5532 zcmdT|U1(fI6rNj+S{t>tjoQ|qh%Jh>`x7@YilnaFTL^)${*-8`EO+nTX4mZA-R@tg z6=ZFR1jWW$6)m=cip`TCwJ5#>`k>&GAV{rH`XY)L5L({~o^NJn@4f3?J2x8w4tsxQ z?#wyoJKvczGh4LH$p>SR!Q$fl3}Z~YlWsFle7JtU{`u;!4n;n>iR!66 z^$zoRc+#@1vQceC@zZ0^rl`9zFSA^CT>C%8@vVd}XwCr6qjbIP@wLc5L1XzC$#};j zhiSKwP2X=k@SI-PH=lm~tp@zrfwP?hx_X{@k|%}b;RhzWa|vvOc!}TrovU@_8;lc> zMLv^q5dU)i$b2KlE-kkMZ$b#*lCef0-^eD_e6v#y;8KJP*o>koW0yw;({87+M}By1 zM`PyFs>_cS>>H@wf#bx0jwMxH*PA?`MZ&4S0^oNlNmT%Hy1m3=xOwzCG$AL-%BWKExRn^%KwNBw2pZK$} zed5=H8-Niq{V_%(I9g1Wi#0o=`yM!S8mnRl&M+&D9Xc_eU4^gbhu6Kbe?GhWWnhQx z{@901!#1tFo>RiNkt^vghJ$hoots?X=#}H!dOqHN`u^F0-+q7Ld}n;IYR;VElU0Sk zz9v4IqrGbV*DtJ3h*dnrIA`5*uR}p`!xrqzTt$N~sy%xjKR3UXf!8%u_vbYlOP4KU zDwWAqN=DVpihQNwgLPct%5n^y>$%?6jqg|P>;HO-F?->q|ISgvEs%7iQi@}6vC{Jt zI`Myjt7zbO_ahJVy&l@0Wq%x6Z0@^#@~~KORrtes3)s;2>ctz=GJatPVp{GqWNf?l zTKFd0G0y!>wmb1J_H7u0JtCg%{m~A+q6oWCclznt%~TJvE(l*VMbcgzgn zP7&j!PgKTx^^3gq^FyT#ryl#P_l=+K=!Xpd`Aa*D7n51&R?&m?8=O1-;|)GHf4+gq zox>cTC%8=TDRIMpLHYLU-+tZ-%B{dGAqM9b`zNOa=hmyA@z^>ubD`%EZEKpb1~)?Oza7DW;Ly#N`>X`+aN*2?_?7eJ LYBs#e$B5fMeDYX~ literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/EventQueue_stub.o b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/EventQueue_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..2c870ba8e066f1c5f09d684015855ddabcdbee93 GIT binary patch literal 31584 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 V*%Yt;PgX3Div4iu6^<}s003=HWu*WB literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/FileHandle_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/FileHandle_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..c245bd486e78d228c9d056cbd60ecd210443c586 GIT binary patch literal 3348 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 UD;0o1dw!6+gZFU+!k5<|$%~hhBlJfkbY|p%s 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/at_cellularnetworktest.d b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/at_cellularnetworktest.d new file mode 100644 index 0000000000..4518c73457 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/at_cellularnetworktest.d @@ -0,0 +1,4 @@ +objs/AT_CellularNetwork_unit/at_cellularnetworktest.o: \ + at_cellularnetworktest.cpp test_at_cellularnetwork.h + +test_at_cellularnetwork.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/at_cellularnetworktest.gcda b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/at_cellularnetworktest.gcda new file mode 100644 index 0000000000000000000000000000000000000000..d19be0aba8e8425f3d4d78253e543c8991b2d07f GIT binary patch literal 13164 zcmeI3dpK2D8^8~_lUo>_DWT+^OGs|HbV|}enhvSMj9ja6tBhM0rjg8KDm7ChpIaKF zi1^5@#24dIAxV;rL?^&Mp@9gL4yz5=(UHi9wYwzRiz3J1P zz5zNWhNhvzd0#OYjO^{amr|{^Q~lx$h5)Z!C&PQ;ZS42quUOly!0-9{P$u-h{h#sr zsC`l!)uuLg-akRQ#bD&}qa-iR-narH82;9K_eJ**KcC?+5z7L60U&gD+LG5i^VV(nj6}r=la0l zh1NNl>iHzxty9~~KQsbg?g`gTTjRwlNx1!E^~N#NWd<-8@8!h# zPLXiO!b#g|M~^Yh5XPa?duvD99etq=TAtu z=ZXdyZ8zWj40BOWkONQ7gj*(fOE0$O)HuvVC83=54bgcld*MuyBMDdk z&uI4L1@il0F7QJm@Ez~+36HcCYbN3P)L&nyAoTbY%!T~WChc1>oT<^Ocgui;dvqa# zWoqAU26ItQkON;gBWBcZ!Cl8lxIqsk#fpcm!eA~c3FWkJ(Mvg#!20E_BwYVh*ObUw|2>u<$*`4h|Vk514Uff()($1@lD#A|5;O7iz+;-B__(oA3e1I$C)%Ws@0q%Tt2s>Fl_cEm(#0!pb6z*VT;PXB z;47UbDkFFB=O_|x^0_kB*iqIZn2Sn6Iqkdo>ZK^{4DSpQuH-Xa@91Y%tuPn$1Uc}% z*Jk9K-L^c8gj;AVW7phJuo31$erS{S-OE&rTQE{QMZy)#tmG($UD*J0fgc)yZ*Nk@ zt`^U06C~V*Kik9K2$eg)TvQUuY2QU%UF@ZLh3`nXy`BnA;-eF~Fcliq)) z@%QgYxWTqVaoHIzJ7F&5hc;>7lE7KJ=%b%JAmKJzMhAL44%LFWzz>bUcgX^uEr%zA zQ%Sf-OaxZ3EH@3oTvQUuY2WROK9)>d!0{mACN6A<>QEp0;CmnS1Uc~K8uhazBxZ@e z_Xpg!xQ)w&%FM;rJchkTe|2yPiLZ5)dYr~!ku%H%erN=~L#gI=Ge6~zk#H+BbFF2> zaz40EfsQBIq>ry}QkB4c)f%Gvls@_BP3fsY(sS_@vhWF8Ulnnc#J9arM^9OK`Zdf& zC83=5RXSoQd&6*WEeY4ANzXasjLSzb7d@^Z=kaOoF9T+wQ8k|wkZ|vwD7G9Qbo}7H z4Dv&pG*_&mKve&y%|!QQ67nG-JB9D0&&9XHVxN1pezQ7>ujhQ_SRtZ0^PR{hzsm{kHE!nl zqQ8Rx#}BL{nuFunpvY9O>&}+M;oUj5&!Z=ET^~;EyRlO?S(DBtIJN3m&4a47Mpu$} zMC4S3?_M6V9EZ0ty}_z8aXJB~wtL=^aO#!em80?B#ZBpx0{8J1gYCOJ5~dTz{`dwTuxIJK$L1C}$|JJ~q3r!~d) z9a@v$LgLY6m*qWJvSU3CFG2NyZ$NTT3Qp~!la8^gpA^U7)W&=L7+06`gEfiAf8@?+ z<%wwb;PAc~S+=+1c`bMD|VvkC1qb)%IFEf3gAVdvL;OvE$3TngKX-b6oX0^r(4hHcoBaQf*zC zw*w3k4=1LTjf&dhP8{B^YC$T>7jEswslDj1*y8i-vZXk+5!vVV1g(_GCGn6nPcS&$ zmlT4-yA-kBDSlNp*5^ZP*35L3C|d|;zjZ&Vn0&b*FO0-PY1_#BTO(3fYusGrsL^-U zSQ%$-K1P!wqK%uSaB53a#5_+VL?x1Vv}ZZUJ_z3`jl)|n8z-`^=K5Kj+I44L1g(>+ zyl`r31Kl*P=DxEa@o0Q{Pr3YQ!!aCQc2j|_Mw5dfPHp^fn!SV3?b|rDktuIhrN~7* zBk^FC5A7A+B7k+R5tT3HzNDiU>ssS{+=hjH~jJ~mkA zRbibyw?|YH>*x8EEI-wg&V5QG9xUdx;A=axFdUDoW^Cu`D9Kiw+86=rUB%VGSnFdf z7O~>(@vruuUFxy@IJIlHCrK5g3tYyj4OJQ1+|gr`P2#~R zVXmKdL*xPu@7BE0t;UJzSl@%8eQSho8&pr>?APO)6%H4s)4fPMMr$6raef`bx=#pO zEUMk)KDiBNZt|}z_LaSH3B;*oyk)!9RoJ(acvy!!2^;C2#=5?aVSOd$XL#lo&fJ<# zPRK@%>TBZE{>C;DPE9BeCh>5pEHSgs8^*d8&+jRcSHJge6lZQNLK5!BmvJX?YIAqg z?#YzBVm)V#^9G+BQc_=&N7n#_5FY~D9Wzy6`F#ZEFG@{SV!26(|8cO{Q z?{du`i74$8SohT;(uagSg5;}6d>hzGAGtOk`U1!IUTk?x3%BR|T%NN^ZYf-^xW8Tv ze$L8-q^TyFLvPb-vg9D!N??cTLwJs042ZljbnS&l6|St{PyzcKt1rRdUV|Dmf-&ZQ zWI45()ir3d;U!=JuT2rC+}Zq?l$eG+ucnr--qX@!Y=}mm(sP#{>zLzy0|z0 QonV+l@u>e}0@X173oE|h*8l(j literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/at_cellularnetworktest.gcno b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/at_cellularnetworktest.gcno new file mode 100644 index 0000000000000000000000000000000000000000..590c3dbdc0120ac204bdda56096b548ebbfb3bb5 GIT binary patch literal 80968 zcmeHQ33wD$w(bsFSQ8KsqCi-}jwB(3uu2G#MF=3luxOglX_AJJZaRq=78g(vnE@AM zMhAT?ilexoAUqTlMR>x98z3U$GA^UT;4m&I>gc=wy?wi@D^=9Jz2xh*tncgU?sMvP z-Tu#Cf1NsYtIAbwFX@?)+TVTp(c3H*i#3VNGWt!7d#=f(w}w6Q{NASIyKU6C2_v${ z*=!Y6vutB*j_WHOp7MN0Mdc`utID07Z_9C%l~t7$dGZ{U3tXPLq=}^gc@|Ref z^Hh>Xm)YHJi)AeqvSeH9(s%VN$6Cj0iX-oAnH+09@)_UZgU#ywY_YKAVTTPbizU~J zzGHbzV*O#ulDV}lnSK19Tjzf_Ye;J1n`a+sLcZIkXQUAjDvK(ecAK-@S?Me)b1o#` zT;;Z+@?u*t`FEZwJN=&ObPBFB+d9v;+TTCK76M{CEhB%5aguSE^A{Xe`(Ojl)%=DH zulhPZ*uinFcCg3m_+W3SV-_+U@a@xh*`iA$ErsISCavdM+!*zVHXY2T2 zAED!eJx9j}`$!!h?72EV*ssv>!9GgI2m5FpAM9gve6Wwz@xgwjjt};6IzHIP>-b>L z)A7MRLB|LCL>(XOlXQHrU!~)NeX@=Z_Iw>5>{E1nuwSj?gS|k<2m4eVAMDd~e6UZ~ z@xeYr#|Qg0IzHI1)$zezsN;j(rsIQsrj8HxA{`&>vvhp0+jV@f7wh<7cj)+FpRMDA zy+p?cd#R2OcBhUH_BlE}*yrl_U@z0~)$!V`bbfz00vT);3YrHK?p}jY+Z=yG@`<(WE!cLnMqA`un2gqo{f&QO>*e?vwZ;Cy zKe4vRg)kYlg`WE-))sjUCZo2{U;o6~4)+?2+Cne=6KgxtYcOgHee+MOEyv!dE%eAg zv9`zqFd4OVv&Fn~))xD8Oh#?1*kax}Ym5CeCZo0s*<#)~Ym0p?CZo1DvcEpZD)FIMr~JUv@I5FyGo;NsbJfCG}>bSgUP7RYuRFaPV29yyWBZ`d(TqKd+WA; z)0B8@)AKS?^K&QX+iKQYZ8;uCQKiF%a_r<%Qf(cXntPqVdfEOco7PnM$^+lUYFpTk zV!w(SY(4Miy5t=%r4P$+TQK|H!2KtyQ>Qn%WB$B2&+b8+3y;g=lrDu6;&|an8!xnr zBd_}2#!4LYa08AEBZet(gN@_I+u@xr%a?}@>+)mIwmZ7c;sXb( zF9#oycMv}I>o34ZFBJvX8M|BrMsGR3D;xQ-eHpkYg%P8nFh*wOVMl_owZS(nbGkk9 zGA@G!Se9f;c4J;gT)FA-|hQl_xls}GzCw? zj3H&RD28U?u{s9HBnDT1KRs*df0ynBk1z7_I3rXZ3-0%0ox{Ly^@qdj&N%kx#o%!G z@Ds}iIDTg3ZzqC(-Mg9;Ja^{kOz^iA7sd6GHv6VS%KrJU9IQZ_rLx=cpL#7h4h&9 zE8A)oKC}Ppj|29J%Xf{PzxuHj^_6)=Ryg=9sL4DAvC3s&Sa{dO@mDX6e@>ZKga<=0 zUFH~?mB;x1AD-QpzUcgpzRJ8p_c-kW`Ej|!UMZ``DP;Yzq{pnkw9}YblgX_9yC<4$ zeCzRhlzBxM@DtKuj-OfhtH!?r!T;?1Z6ki}Ue*!(Z9%@{_)fR(CBk1p{pHx#BkRvTj@VN7y&aLnNvfU76{vdr^ zr;34S4VdE}D;lhY-;ehW?3wdYgPWB3L&*3s`U-1+S@{bcUSV@zIs1VhzEtY)0NLZX z5>l5SL;US?)fuqyxf3>SA$D{)aGV9x;fV|8EO_zRzfV!>a9A)DF~1o0H&H^d zaPnKQj?7~bEBUh)mXp$ws{b|T*d5?@WU!>PHq56vmS*KO_MOi68pl6#`!C>`_tzS3KDBaifurmJ$4~Akq<`|lV$Lbg)6CTeV z@NCl4Pi&^gg?zl0bX^pAw1UT?b!Co!tZ1?pelK=-s%z=3yXo;@*zjZYHPm5_pIP|} z9iDi@*22W?@2m?+hf!Bn@K@$qjU3X4SQ=Zw`b#^F869`L;_Am{9bETXa!5L?iJ_Pd za}3SGV|5IYNg$RVIoe=flbdIQ$3g3eDh8rD%<+#E9oE9H@Tb=YCw2MDd*E=`@DtQw zj-Ofii~90}FC6t&rKhb1e}k@zg1@A)?68s17L^`XnJOy=z85-2!mjy@ot&6oqe}i3 zCR$%!yZ6R{1xda7fya@+5tJ6i(JXvc#{qf8@$K#Uy;|_Yeq~-ET^rTpvsisO*0~G} zo2_e*(EP@~S1a?1FkwiQ`F9@Uj*b{?$?n^z<}q}6<^4Ny&)%MUX~?=fiwwJP&7N(m zbk0*>(QFh4b}xh2(dEEY2x@d#tyu4_TLWa1_yHj-y$0Sse#xO5@La*%p32 zT~SggRZGO5*)i_Sd#J@_0cEJgI0V`&y% zt7CzDBW}ZU1+C^kHAb0lNY|5fc`c^VJPxs<(ONj3T(N%cYtx?nPML3n5l11N<~W*} z&-?%ThUdq+J9CtL4rw4B_s@$RedhQ3BYz7M9XGeF^q1^~w@-N&oQ@ctg8b%qnnkD8@jxDZ zVDQ4ysUNtzEAx(^#_Jbp@|()_Z=Kh`vBO0(^KU*kXN@xN2q%u9v?z{d3IDXJ-cHkXAZo_xWx)gvlive>oai9Ht2DrF%{uC$J8u5SH}d$g+q6DT9Wd~)^UpC zLiy{d40$eAhvxB!70uSd^V2n1*+2j7v9pTf!bsprGZ0bDFe|^IInQm_JTxKxA$lLK zpfv~MlES3p?D+|?qvL_kdtf?lU$NWzPVx)%{#=p9R7A%)re@)}IwsKZQ!N&be{hYn zSx7o=$a66r=kbUY9oNFM?x30TNA0e7CL|p<##2bgIi6Ocv0KfS- zU-{!mqT}p-NR`!Y^{71Kx;1-#P3&lQ;PZCadBxVZrY63W`pHP}I{Y|NIvdvaIF4rF zvpNnP37>}@>^*M%+6fnf&n?M!)J3Gvi6QS+@tG;~Z=cJ+@E;#%x~pH9vISfYD~625 zzw=miUQx|s=<-{4Jw5o_Pe#-GEC#J7*iWi>EOSj^73oJT)v8&4X{Rxx*RjO!+R~uU z->#zfTMR#rV!F(6G>a~);{Z)*)WYQ|uJ`7HA?dOPpG9?<#~@a6XDtkm462&Er_Z5I zA?dOfhJw1xF*GZWaXdJ!X`97qJs)VOI3AQA?|~S&i`}@o&~ZKaSmY_1S93U?;eL`m ze=&CQ=D_Dgvhf}_rNj;YB5wJ!isQlX<0;5*j;C4pt&Rusj=Cdew7G2SL-e_lt;lzb zXObSLpwDkA*TDBem~(xNz;mCq@JXM;9wXt?UR z!y};AyrwGsybkc02(_cU*ime&aF&!8mD%Q36_q(FYmCw}iV1t}ZR}_^>n{P4P4s-@ zCwDyGzu@lUzd*Aij44%aQB2Lkb9GFRm)x5^ZSj3W6A~49NtX0;QH*%*O}0hj5i9zw zh3B}WoZ-V;wR&8UmqY+hmY9g*X;yyY+PaTRPP9LA*Gu1k-~8G->2V|A_l4!#aG!b$ z)xp@&Z`NNX-egX%Q_PyMuT!I4Cntd0k-<`o*Bnc;@LC-Ud z?z^kOYth;Wk3+2JwHA)=NmdMy$w9(_i+oV4x;3-VE)YUj}<-E!Y}vs&2w6RxH$nF4j+DEc?HMM zto%h@k^aq`YS(wqRw(ld>2V#<;eI7KI#kWhGv*|7c_Im>+uw6$6*sL2gk>R9XA%Auzts zIhK2fKbEwa^_O-UGg`;+)algwf6lzV6MT*kmO}Y5$I>jkR>uPQMtti}98Hf-r`Nmi zH5>L!_nJJq~gM^nAioIgZ9FI;;Otp0nT-_*LKgqlgc5 z9vo)8W53DmEPl+!m&39aOO6%a@jLiUET{er*!?!f?O@}DedGRCNuBl{-_#h~4!fo^ zS{rV2T+yRUJKr<7YGZQ{o$k;F+x zYtf%O$;&^sXV}Jb<1!RD4+v`Crd1mf#I6W9ZAS49@_0G>+0$XKJ)V>LG2G!aq?2xP+Oy& z%h(59`QZK`N0*;prr72)Lq4CO6jrhhBM$Sre6(mQ`m>U}{F9uv{=wf6pRC~G@j4wm zLqA*jfs%{iIsYk^zt#rEGP=t8;{%H7YDKTC!aX^cy{FLC%>KVQBIm&SJiP! zCfH5dl-oS++uU!#<%`I7TuT|UW(ej7(az(}1dlPU12bM*zhp4*;m54u8oQ&ERwEAI zLi&PQZnWqs`g0rY6Q9ZH>T=$Uz0>+Y@8aZX?eEUouEaX5T+X$x8uSfQ`p@!7#W>sn(>8NGf~C9|UZG`q&CV}-ozDP-%H4Mk~d{V=9(jw5R-L@a@Ooxtd3h3g5A`#^@H<=ohty>z4e~(Ym8u?5$!w& zUi%6cUH*3O50@(N3g@+=0cvc-YktjWv}iHpIm5l(;;U}D{IS=d!~8s1xbadeuqaQ>uD|MdAs0TF zz0vl`wrfX$-#ix%s@|Z@Z%S>^_(W1iLg6)VT9$l+y=0|xwF0N$&XcL`4WtxYBb=&8 zKccDTfc`9?ed04Yy}h0{WAF4l*`;@nUOe!lrxz)34(>de3TJu@Etm(?2F@~kWc~4h zMfXcfXZ&@^-iQ7&R8h|jA5JQP73HPb^;I1woSXQ+=4-n@TEE8$@HwROWGX(3<_yu! zWoYXk&vdCgvTDthifvwATQ%+xR)lg9@+ZLJ7s%f=wYJ$YpA zu}ds3DsYz93=N!Rw6!*HmeE$$A0Jp$TYt{XYLngn!FNN_Ry~{~wUy&#c5PM13EKM2 zp<|8b-MeFANZP6qCsA$Xv5BN+gu-PUk8N00So-3ccUu7?Uc(Kl)_uWy#w(T9xE{vu z0Ub%)WV9Cjndg%Le2~-H@_@FihPz;+ZQ;v}ubmCtc?~zHb7vRC-LJexIa+OCF2hyU zA0Kem?&RbAbGN5%_~`IHWeqn%n5k4)oU>-vVRhWPkhmo_U)E^ypY9w3uJamh_%(*9 za;)O_CL~Q3!%SL}Ieuo>WOdx2$!A|Y zIp~Xz#?b2@g4SfixQS^pk5eS`y-;|LV~Ov^wj2HRTir^a4ZKbxJw8A1*^U7MY_#7h zqMKdx=r8(Xr+wlxIsGl>&Dc8~r#pJU5ANHuwr^5mEInpC5M#gClJ!Ib#xgu)G4}yQ z$J{OH+@n{*Paj*Lx8CuMLDa%(J}Xx(uA*3(U0c;L>OjIZHfhMP_8r?D1&_n@EK@3^ zqA`gU9aUq4{mwr-I@`B-_?0qX*Fn@ueE` z%>Dx!Ns^IA!|MTOw(7+G@EN-bR^Y^~=wl zoNvp{x8;y~=2n#zdGZ|e33E2wW=6|S9z0a;uva==<#;??WmSdEK8xPnQK_)TcwI#| zv&iBllhdL<`MymbALKN4N#aIo$kX1~n3MRf=jvw4{2_c=B36%$c3$H; z-%*K6>R<7~^Ynz92>^iHC74q5xpS|5?=V$xx0H=9gD_s{uUR#6HVj9b16D>6ZHAc|bO$WF1N;#O5 z8nVWco8mfbc(SI)RTe}}JDP50(W9~G&sf?gK9kefD|s{aPBnJv>2)J=(q4TvWR0zX zwYbLC2F^{%e~$D1f1~`G^~VPm)z}5Ae;ly7dBx`;Ypga-(i+P#i}!W&LLcO>KLo-)o2^bq1=cbZAE`_X`lE^PFt_w z&Dc8~SMb1+F>O!n>`U((%rTZe23BG0S5@QV-P*udMps#Xd_d8fO47`OdAH8Ie;ag_ zk1GfZMk+-W<)hj4R2`#a60Wgt_8HzR;rfoq5%|5oLe&bb6Q9Xx>k!_Iz0-5zPwX90c%nf!I&RQ=PCP59>tysWR|u_99#$K8%jhiY zj}J6!H}dhRjgI8I$DL{oolPR&aZj)CqVdtmMyeVILKs2Q|gl2&)Vdw`jVr4EmEv`^0B* z+B<+ZWAC*7y2v_o?$dkb(0m}IafCIn_KR*b;4GuLEbczAX#F)kzT&c{_di6^@5L`ej)|d*bOd<*}OdIWEmuiPc|gLpMUiO=M;HJvwO@3dwx@|qP*wmfKkQi*X;V+j2i z`$d(kCmJx8;USB;4=7qQaJT>Tsv{?cZBo_@!hw-mP(`sayPm3JgzLHrwk3_K^HTkX z!Q&R>JD$A|qE=8L6^%)>|HprfzU`ReNQWKJ1e}yV5QGv^(5l@+R%wHR27Wj)snpN<_)ZM6oivj;dpX zd~~R1Y`wHz_tJaF@q9ESoe->@)`mWW%HKt~x5YbB*S>=7JLvH&sC|%!E*Cq>E1gAU zH7|G-;BPWnCYrPq{lRr6{z*>D*rnYY9zFrk#px z9YuzdtUo@aXzlc0c^UQAEZaFpSvw6MPV(ByF*Ccis$+#5Z0vK}GDkdmn%;wtAJ0l3 zM`&?cP-A&)qUD%hjS)2Du@hTcbb9;OuN2$8{Ie)Y4n>9sRM{(Co?voSJj*GX^cDSS zNBhKQa{AhyH)HSgxc{}fjV7<^Qg{wHb1q8P@zpp>Xlrd?ETgTgKR%%7*on>8zBq3~ z;^UK`t=_Q{^5;r5F_PC+j+fbWRUM~f60*O1yXnRWzbsk~F7x9q>1*WFaT3&29+zm* zR5d;r!_uU5r#sK}kA%f>e9=18HwBgX*$0q#|ZDX{)XfeYs>$;QQN@vTCCtm*KW>6)jjT_&t&p)Bt!SOPr(s| ze^DAf#EMHCv8-v~m&KT*}X+}2HI`L7NMY2ZK|(1Wu~;3*&`$&?T<#N*wT+?{ByryabNQeG#|e z-M`<_zAh8L!}n+G_vN%v^*<@j9d67UV!bx`J#3Rf;7m77{B9AcfO+p=RL<^TR7qHT zncYnuZo<|ZJvA3K4%kOL{Qj#^cQtw|HOEQ-^64Tf8_6q$%=e7>pvUE9?sl*=nu!+ zBqPVdK3M|q{-k75(Z+R?hB{e&kr;%m2G9^&!NR{P(mBjejlj`}|rU#uKc9Pujf2a@aS4b6VTH J_&V8o{vV}`@dW?? literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/at_cellularnetworktest.o b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/at_cellularnetworktest.o new file mode 100644 index 0000000000000000000000000000000000000000..ba6740c05cf2e6e578634d32e73990b3aaa2557c GIT binary patch literal 539672 zcmeFa2Yggj8a6&Np^OG0ltEO~SWr|#C?S-=2}L9*pi%@C8ACD&(U62>LbI+Nv5OsD zds(}(x~^DO?CaWl-?gl3TUS|ET~`0k^WJmI+^P2@{69XvIlr9yo;mM(-gf%AB_~dr zx_`j$_nE=(i}>tcX0FfI?|`n>k8zS3=X<8$$pX@r;6hlc;84KfDqW^vxq_nr#~_B) z?|l`l035H<6BOKE!Ab=WP;jb((-k~e!5Iq9Qt(g(=PG!(g7Xxdui#M%E>N&W!CD0u zDtNSl4GK0Y*sNfSf^h|xD7Z|)6$&1w;0X$zq~OU4o~q#K3ZALpSqh%5;JFH(ui%9W zu2%381us+Z3I*3Fc(sDpD0rQMHz;_Mg10F6I|Xl7@JaKe9R=T0@B_e)RQhiUeggQJ zN`J247l2=>^fwBA3;3N%Z&2_Dz#momX9YI`{-V;pfYDC^fSpvji-JMGtyQ|4g53d& zRJxafeE|EabUy{R2kfuXJ1JNUxT{L2d`}0gh4W zu?j{2$EoxL1@{BoU!^M*JOFU2N>5ktV89tFJxjqu0q3gp;R?N zTnKoyN;fFj2-vLBEegf~m#FkI1y=wbr_v`VcoN{rDt)Sgrvsj;(q}1nHsHA`eZGPh z0;!6zl}pMWurZZVlK?rMoLw z1lUWZ`zY8~!F~#Er{E3>_E&Hx1$S0(7X^1!aCZdRZouHZom9-`n3 z1!pNZTfsRB&QhhNCoFBc$9)w3RWvvqhPIqbqdxic(j5I3NBKxNx^0XTNG?n zuuZ`w3NBM{xq`T-6zAU*#!}`72jS@^ksU za(yzUa#aE7#!X#ST>12*kA&=;Ngq|NeA+0I#Hn)Cq_-+pjSE(u_E?XLAM0`dW6&X3 zdCu&QW{iKZABvCv19?2i%O81J`Bde~56A!dTIDHE6s3@!QP%ko_IXX^aKpCvq%R|t zDNV@8q;ln3rZt91=fu7}V*I=#*VBhkz6cKdF@{vt2bct zR&VdkTfNfFTfMT)TfNbnw|bGyTfK>!w|bSEw|dhyZ}nzu-s;WSyw#hxd8=2od8=2u zd8>EK=B-}y=B-}a=B?g}&0D<_H*fV$-MrOXxp}L1?&huDMVn4NoMFltMAGTPBRpGp z6nEZzpU?T{ufHZAKN#oh_BQ^=^`K1~%7z~t_+z(2UXI-R&|@Uxt;bx#-ep5ZIO&?d zy!CYF?~YEtord9G|8?5pe=it2r0At@Zzc(+A}`^~-Or!4cJGD0ch;=^p5<_h$5R;A z?X1O%0xj#t+%*497L=Pl9ykQ2{qx|fo?Tv{EC1!#zZ>@ZYxOC*^8H=E?=x}FoA1$; z|5oWg242zQ;cax~ANrreN1gn?lONNSf8K}VIvw%)Wyk5t?{q=8Ie+~6wWD<9zyDz0 zW2&Eg;XPgXXFPbo;`4sjtBbDu`4=2K?a-5hf7F%#;kWCD9sAS$rMmLFy!CeX>t4S7 zB3=34F1~NV#(@pH=*r*guv4cJCtmi`*loY~biS_q`vXr5I_{B+Ht5Q4+WUi|8!uT|sVl$ae=DZn*}K;gUHKbc zKdNPEIQX2d{G--Cv|XQ0A6%p>|G_V>9q^YyPn7D)KXW_Zq!ANdEZ3EP$k6SVe|7Zh zXX(nXf2S~b&zEBt>&n0TyPjnW*YEKcUHP>mf4}`bcig1i{vO@=u00l>wobeK9el#w z^NZHLu}0Vam52Ur!Lw_gFV?mHj8|Xly1v_QYIWt$|L+Uo?RUTO9bNeceIDz4?y#Zf z>B_(4u@gtn*?ynly7J##yW{X@=KT1iuKez6y7uUK;@_6*%3pQG{gb{ub5eg@`7`dl zefeJ3M6c16U-;QR(G{PK{fn;rS6&!eefvbMK>O{pN?GSL@0@t;|1iQh3@Yy7K4s-=T0#?>TdI<)5+LlgnS-^%L#&$NZrm zPTG3wU$oaBf1Nq&kPSVXd+6Ff>e%UvN=6@jpRWD;uG{ta0UzHzRagEet4EFB_~+k! zt1JJH*WR>mkKhg3`>*Pi>-=vNKcc<=dcW6-X;-hV@2+cqr!hw@p1iL0US0cNykqY{ z{rdg%qptkErwu9k(~yt%)0H22cF@#oE;(phUHO0iYkBkXM`quqEC1yS?g?-BxKexn z8GP`zt|fn-p}qgyx>r+EP3M=c*0ulDF>Ny+E_rTOUHcE)rr&Wx_r7W?UHK;s2#otY zaK`U-<#(EJM8Cmz-=KZ|`2Nx3cmL02k7%Dij=ApItth-NF z{-iT+I=b(NH}%k!KkWOXmpA?U_pQ3}zkIiO(*5t>^`fr)M{b@p;@Sb1RO!mEJ1@G` zvTe?OUswKZ`;02u|H;=1b>+7d>^kVTU%&8xuKZx%k7L`scDVNX=jF&xhrPCOoc8)> z)$cZzuBm+PU9b1Q%v(IQ1OGH<)l(%?b<2PAQNJM%4cvL^fX8pG*13Q5WN7slK2Xxc+p{()CN zIrgpR#@<+uKja|UK5@b`C*Q({PpvXt$1b7hbQZnU)}w$;f;IMOxG=c z@t(o9lPZ4qysrJvj=wJY@qI^5)|G!s@d?#+tLo3wE#Lpb%Hu|VbkDK6_% zeZY>D-@UwNov!|sBY$i@bJW`Fb;}>W+g|(h`0rnRy7nKi{n*G(yX^RyuKX`{so$yJ zjZZY_mcM!8j$<0HzkfH~@~zijv8aA{kDGMuFC2AB>BaA_Y|@o~d+X!_P9Ax^cK;9l zQa)m2*Xf;fn0Yx)pBTeUHOxXj_ zZ{Esow_WYOQ@4EcPM^$p_3g;@y7texZ~Mswf9i6huKXtozBzQ*8CPqsf12N~==@CS z!~fBhKlhx$6L0+K>LYaR|K^c*4w>`CC))e(#XEN0>)Dw<9ImT>ukXjS-T(7J3w6u; z{yY7U#~z&UqOSe>wj9uT=sp)~?>~>7bb2s0%97u z2aeXY|A0To>akKi_HVndk04{|DXjHy!!tqHBw8KSbC5 zD>qz!;z7S0dxoz3ZVMl1p5FBL9>=}%-L1U;V1EtQyu*PfyOZSsH z&#mvZPS^e?r}y3V;O9VE>p!yi z9bNrzeDA@7Cmr4FpK!xizG~?C{iRX=y6%9#lt1>|*>CnMW_hpgFCD(ur}Ji(-T8*D z{;O(tANK0&^B@1iDMN0ce7@M04|xydJ&^Z6-UE3L{J-h}dHFl#_fh2|Z1NGil||>{ z3*g=STqJt(diw9-I_t=&_HyIvdWnY zeu-}xKc1q{%9qTK@IJd9KHqw1=TrQ?tLgA|*`HY%_2Gle-v@qL#sy*Y^fGrrK4+&L6MeNO{_6qU)9i>iC<%^I-V9^Q{M`aLXuHl9ptsftE$cKL}b#d zC017tBdX%{O^w17mvr>x>!hcUcw2gVXm?c{iYzoZXX2YH9W;&6@$r_XhFtVr05>$% z)<)y?i(=X6m2=? z>Z-Ky!sVViF8hFeO)%at2N3|p0ulIe0ejxnNBaO{pCQ{ zT+__jj4g{to2y!?7Qu}f`GPRkSQD#>w$|4*Ry9Nyw^cRN$LY646&~%$xY%B3UmlifHij`J1#*e9L8#1(%RZ_ZWL9C{vskO8g zgHaorRjE0GmCl|%W!9`oGiS{#t%~E%J+zfJEjYThG{q>zp)LhIl^tAHT~p=5tk-7< z=DWN61^5p*FLD&VCxDB+0#RdgK0~d@Ha~wjmMw{knEWquIhXgu|81VgVaN0T!Wy|< z`w-{OD#txt-lyI+TDjCu-lut=8viWG+bK{kZ7b*faDF_MleN50?SHFOx$>nBImgNS zH1E^@8_pZ^?KIy`^X)X@Kgk(4804U9%f8o;@B8__pYQwmzMtY>-FdpPn#(wn-|y%5 z`}zGo{)xk8@Qgt&{WX7vl0TRFKm9CBzMbaRr}_11etnu>pXSe`Q$ClRUrXVX%F|Zu z|B7c|J9OTcbG&w5GT$e3K2ealGB)Y6+U@dMX1(#~dp>0FK)!usaE=F5-j5!f_5UDg zzI}8|rRV+FF@D@qx#ZhN$JA`zj~(O3EtN~YeRNFC=Ka_)e%w;I zl}o;TbWF|W{n#;n+)}yZ+egRLY~GI@YN5|A`-j5yQ z$1RmhzI}8|&F1~sF@D@qx#ZhN$JA`zj~(O3EtN~YeRNFC=Ka_)e%w;Il}o;TbWF|W{n#;n+)}yZ+egRLY~GI@YN5|A` z-j5yQ$1RmhzI}8|&F1~sF@D@qx#ZhN$JA`zj~(O3EtN~YeRNFC=Ka_)e%w;Il}o;TbWF|W{n#;n+)}yZ+egRLY~GI@Y zN5|A`-j5yQ$1RmhzI|-knjJZE)})!UqAC98J^#6Vs{FcGJlfP8YpIGiwM3h%TB;Vc zMrVO`=E7J*gJ)$&4(llSo<&OmJ^91ynwz7smKJzG-*k~*uH}E1{0yd-kJj;THL5aN zUz3Az_IutZIlZZmVjjk1x-`jI>IO9NIzh(@MyU7&Ssier#Dh z)>sp(iMHDjqlR>}{LJ>cu_LwGZ*xs^byH&;ZfNfaHBzg6r5We=`56rLZeJ_r9~XbUsYkT(ZeI%d8SERSHGWmsH*u1U*DtDHQ5COm zYK)>e*Vfm0ugy_f<5x!c8LUl4dAFbb%_!efZF{#rtNdgmGvsKruj;DCXmi7&#+)j< z-1GXWHGzKy)dl5!{H6b@s;gtItzkuh zH8m~t!T*u1~TPmezUy}T^_LX~XzpTHiI2K3? zbFr-4bNh7hPpi3s@UFj%Z<|nm7ym5!d!JwFpO#o%eQO-G%%zPQMf3(rz5QW2`B{uj zf%e|N=-&kSdWI`qy!Wq^@>5u5WO-k|uzrp8c`k-|U%w>sPpi1;AJ5}MO?|7H;x^6r z;NqXffO60Ke-Fw-cDd*My_0_y<$?A-zq5T-x5R2Pl|-2Bt)PE1+a`k&Ym<0>G#iWvnAPuqSS{4;PUGxj%=XB;&9;ONBW z=GoL|a!XTNbMldODmI@V?eldKM9@!Qq*G7^f}NRLz)RP+!ng*4UHPL^YrMv{jV}a@ zP;`2yOQ(0Hk*Z+HG_dPhu=IEV$My!kYr$`Z2snAFfK#djoVrB7>DLHY`H+BBFAF&L zD*@+q?ZV>cmkGFVmVnFJ1YGeO0asomV9k93u6jkl)&CN3O;>2!wcy%e0)ANwm4XEY z{wUNA7IgAYLw2yBi+`cOuKtGv2K~ni+{(X3;MV^40HF>pL%Mbu_h=A2yR51aaL#iA z&izQhc^d_s-+wETTrg6=g);#olQNSe+3AprW0hfI(;PPHuv-lOm1zb5_ zz?$U(u0Bt|HFpcR_IUx<{awHf+Z3|g%_RbUH$%YfEduU5N5I{;2)O4N0r&n*zXEz9Vu1^n^`|~~mo}VD#FGmS@;Y0y1UM1kAbpXLG zLH|brxAOm2;MV>f@Lx@(;dXk04cACMxfk1La6}l$uEFw!Jqbph4B&(7(XQYB+-lMv zbm{a#F@AL|c!Le6Yr$u1FI@}%#pcqr;5)XGt_9z-k#sHiH``9vf*;sawyvpP;w$)= z{8;dK@F=_k3Aq>zX{+74cKOlJ*snAWh{j#F9`ug@IBi|B0RUCt^Z5%$!j~vM=20*) zl3_bpaS^mPa>p?j{sS!%=&YTf4S*l55+I;{p=>1nzMFW1J z=@sm@fVAwX-c)a_`JvFjW3$I#zCgT8_3prT(i z*PvfQJe_0EFJ)5EFJn3g)kIM^5%QOxiM$X6_Y6MAB(?3!%ZG^D_QIvWG^U@F_%!ex zGJ6Jp#C1Cs>;`s))&-be$k=`dA?_L=#a^V~1;|o>{yPft{7FbN7Cr$YNa59I;4Wf0 zj%o(Z$h?FGbBr@G4H4f3wgV}LJX?vvAs{p^pONWKY(U-m6wvP+6${B-Ek{W&c>p(HuXw(ymn2x&Z2Ot@p z1Vuuy3#s~T;~RrPK|0+wKB)mmx|2$?8iS5>5e5c~N@}d^JaQITbm=^*jEjg}nJ=BR z`#9!H@9P@#lXtIRkC{ZTMgDG`dK`Ks;O@-mF_&l~IqyZPC(?S%Vk1%MBaZ{M8fJRT zZ^jRi(&K1ylX~e<NfKg(r0=9Kd(?&a%4klCv{%0x6 z`MZ#nY%nlTMbZd3ryEVhQEIw0FwXN*z^Tk^L2>RkP;6xblrkp>jthch+}ENAR|$p= z#W2Lz<9o?9^f}hg#`bM4}LDV3fb0CR$0fWH+A)CvU z!ey?-MN%?&DS_0$;Pqcok&Bij5BdvOFxw0g?cGBDgn9o%Ef`d5g^DXDHO3u)XZZU?-9yhUBb8%;@ zqcH1<;d(C#a}l|537Ev~SJntug^n_Y@`uY1+GG{7s;-cE@N;LZPxgo}@{KAwjY;X` zMQ7NZyy#4(jbW!~CDX>RQ*;*7-3HbFgJf@3{^o4st zkAX(|A~wN^KSe66>1-q5(t%>G_#kR+16#m*Q%zaE!;XYPj?r$804c-+Nnwto_w9{8F z__+Y!cF4dx>h?1~mml0A*(hh-e(mS_gPSBbeiv$eRL>FIIZ1cwIhyTPrN=OBblslg zm^Qj=&;6M;x@gbIOdH*@XC>1{x9mBE=^+Ns1DGCVqz`0zoROZ&bfuA=##R5pMtVBa zhZyODnVw;!XD~g}NY7$=mXSV`>Dfm5NTv@p(({>~W2CE?o@=D5nLf-&$Cy6cNY^oa zgpqD!dY+MPV){s99O-!+mF5;xJS>y6k6p{x^TczI+cQW%hqxTuo4G}Si@xrKW`(#9 zFFyYuW;6Kz1p4O@OWp&b@NdKpCL(YVul|pK`piW8N*$O$QRmBm@CQ&Nh$sv&2&&*0 zX)0~13m2_UOb@-5sFCgY}XR! zUt%JZmZDV8AaUivi+~I<*)vEFt5$F>( z2i^k8`^bgZ!VoSF2R;eJpG~B4plD}0@I)ZLK>XGsvK1uGUjT-}+ES3&<-r}0A7WBD z@KieRE@UQ+LsO7Bi(H5;{5>wpfv1WC7b2t4L@Ngx7&x#P2>)5QoNrOs`U&!S6JhDc z?DF74xQ3Wi4m_0(Jb2p_4*Um*HXxP|TX-lg4hMF@&u)l4m=B)7n2LIg+Jh;9C)HQ@K$8pWulb>4GbJu z1%&_4xV&sp*!l_b6BA+S$L#XpMqEQoDhHlO2VQ`kdQunO8<`^zONcGJ6c>jBC*$Wd z6R8|1+L;dY1KEJsViDO266Zh7L|6(kyF7Rmt|2Cs16R<2L$^!ez(0fN4a5>+3rFIj z9JoRp_ythknrP)f0|N(M2ZX;Hiu6Jh297aMkONGFr604)gZm;s#H4cI3Oeu=WF|TA z7-TLX7h((F!o}ghGx76W6X_d8jRT^c>A(p<-hp_ZMPxgWIR8^7!cvgg<-red4Kb-4 z*hUAoY@fn`-H^F0VhOQ@%WzQ+Y@<5cBVyP>nF%s6JhDc z?DF6V$PY289N0z&_Qu*i$$__n@&R%ows1Qx|LqC+Ss-3Ck;;Lho$0_+fcyq=gGFR3 zNSwbb7z%4kL1vc+cSe4QN#($1I`BSZCUxOy$ec?q#1=k?i*jJIIIsa3Ehbty(7?cf zy941r7nju*g{_|;Z#EH@e#|ZpK8kCIN#($1I&fD16b}3vL_Z>y5LaI^?Mw$gfs&;l7-13F3KHk9G!d49%q|Zeh5Qhc%7Mqwfg6ySQHU@aXu zVy6@id=W(NAeInY7{*08uvQ%S4Nx0Qv~r+!e4|UeG!F$V+<7JUM9lQkJ;tH z@yHJ`sT^2K2fl&KBnLJja|O8&TlgL>4hNo%pBI`)Ve2QzqfLaRAG6DYCnG<^q;g;t9k^|A3J2Z|%7@5>*uougaX9cVK)h-ql>746IEN1W z5t&I2ybzgJkqfbfzu=-AI0q@8{~lyKV4{@+4GbJu4}||!T;8@QZ2biJm5H$QV|ID4 z6K>Xom{bm&LkC`t%p?a6L*~ASCBzo~78i#D55mvcCQ><2v@;#J6_9bn6&8`LAaVY4 zOoXK%v&(}w;u>O7IdBFYIC{4f4ty0vA0U<2 zv@;!e0Fb{&e8?iQ9Y~!21ruQ@$n5gqXSjx#R1Ta*2d>yXg#-H_b7#a7Vhc~gMLBSq zIB+;JMw@8mKm!8@ehC5o*}xuQQP}zkve86X`Z2pacslY!OezOXqXTyskivm$LHQ`T z5L>tlE)EC248)rzQaMnxGaa}J$R7|lT12*j#QA%Gp|G|TWOjLQPvnP~R1U1910OIq8wN$4vZsXg^5-UG%#@BARzpg;IhV|u=Nw5(AV*CMhNB+h@ZiLex8 zc6o3i@Ds<4|*=IPmw#eaJ*B2O1bSa1jvxH*tC2 zqOkQ7m{bm&NC#ep%%m<{j?D3hCBzn9kBh^BGx75<6R8|1+L;dA z2FPWICs;(bg2eeRFcFr5%q|b!iff2T<-iCXxbMIe4tx_te?u%Gws0aY%7GDa;157; zG||d|1_lni69|7l6xj(;7&yj2K@K$$mVV4G4^BaTh)LzZ2p#wVGLsy*6qzTJ3$cZt z;No!LYW%#yL@Ec0cBTWT1Nk80qZX0vK;rzbm@PxfmIItfw zcS9^8w(wM3lmkbL14klbUlXkyXkg&Le?ox&Fkqt=g{_|;TTFzdAG6DYXCXhtq;lYB zI&f$FNOIsGK)Ie=h%FpIdV4SYIuP%gNaaA$&UD~;K>mzKIl{qF!^HV}n+QumW|s%| zL4Jry3dD_oGCJ^4{7CA;has~Dv4q&dCvi~@EMrOkGGv@!qLl*;3>-KF2>%thTw_t# z4iw~lCc@H>+2z4M;~HWTf4E%~D5C?9+9!nre*#4(AWDcWti{FQz`pp|-$W`0igu<0 zUqb0H2*z7Pwt~d@XPF2~L1vc+8;~Dj5`T1HDIG}3Ne;XMlsA$Kv4ve&yT%wOH*x$A z0`;hgRt_{UaNuGf{O{uOSBt{dPmmi-gry&|%Y)q@C&Z-aH!4s{2VP74m~h@68H3D8 zh$X}p-i(XGfphTlNE4|XDB770>A>+N zDIEANh(1FsA+~TbF3N#Y(*HA1aIS$?4m2=u;JrZl`vbeHMPchF$Pp&O(vR8Y!D+}3 zF{vE5H~scEWF|TASY)0~F2ojoj*G*Am*MBtCQ><2IGPTe0p!Do>n$Q%LE`*xm^491o)2x zw%Vew^%LY06JhDc?DF8b$PY2895{du+zpK<$${%Y`82r@Teuh77wc4l|7{>XG?B`I zqMhl$i-7zEu@lM(2gevloPS#rVJXP$@?a_QLrf|M7Sn<2k(uPcBayj~T!<}v78m8f zV(REW4jCt#Xyrfy0|%A?;lCP}8!QUjfr5O%L|FPUyFBav8Wc`);Qv4r z1fqo4!lTLGcHs8-S!^Pe14TR2fv=%-1qdctL`WFHPn>_QiLex8c6qQF`5`8i19zYU zJK@%Hk^`>><*npGY~j|pCgwr4{`a_qCmn3enI|dA}sxw zT^=lgoDh@BfjiKFH&Q<)oMT`FnNtu;h%LMg7l#9nz|SfZsT?TUnGOsAc@pC37LlzW zasJCqgry*}%Y*me8e&p8urD1rX;=yeeh8v35KD+HJP;Sj{g_=IJOue6CY1yG(r=$3Gs%G`BJ(VAA-3=i8wX^Y5KkU0N4Cc;vX+2z6Sa1Ajzl5Xf3{11|NMyeNa-G>9mq^y{R z;@21wG5Gh!uM%dFyffv$o1KrBQQ zJ;}{iL0V_9Ra^zkYQzXjQN=JH@Bo(^@cRKoi;E=qVuP=O1)SkV^~1mB9bi62jIcP_ zCDG2aXuFKSZFfYAb^<$1U`J%_i74`z@P*iqDoE-K3)Bz)nuCCuix^>1aWfmR8Eoa2 z0(~l?xS0uYGdn?;-67C7a5*xsM-a)sKVpPMMJU%%X0UAygQgNugfbzvaxE6-sw^-da3nJ85JfgA zd==Apbp+eivw*n>F~U+JmWxX>*tXsa^rMI(mIjHfT<8b>g6uaDMIIBr5ZC?{BzFee z)?a}MVxW((s0ihv+YGj?dxEA6QG_xfwsPSf<`O=zcVG%KXCjJhQur!H^Xdq;txJG8 z5i!D2B9=Q5GuXCX4fJh@B9;b;t=ts`9z^zfM3KjYFT|;{g5=I%+xjIi8xSKbDnhwK zGlOkwZ%jbNh$55;v6Z{LF!y_b(!dC0Rv?OOQurzc@ahP*tqXuT1~I}?B9_}$GuXDC z1@xteB9;b;tvo^q+=%SE5JesncmVq9T;rc{A9y{t9%ruoB9I z*vcb;Fb@X;Wr1CgxeubqCWWt}C$Elhpi2AKOb2ETVuYncEYCR1VB5L`=u;5IRvIL> z^1LZ<0kW?|6nRYeLOg=1Ah|Qxwyp=}dBg~dicp^Yn8CL7OQ3&56roIrtvo*p^CT%S zIdUC1QCXW(M2V1wc0;idY&Xw(@W?a6GclK*XPs z@P&9@SwV7Vux-5ym_Hy!SX6}apwJAqt#1PT38DyPLTu$>W0=Q|fk@ydWESkJWRt>I z@ef`d!M1e|5SAiFSW3k5^wbQttZR>iVUqTe2Oo**KnGW-eIxsQtDKh_wD6&c6t9YGPN3d<}g`?IT z5F;!lVtLeV2HVy#pqY#)Vrh`r%G(}+*~pF}iaaKKA>Ik8Ah|Qxww?jZ`G^q~6`{NZ zVFugQyMSJYC_2ti6eONm(CmobBF z>mHyPjwoVjkl4z5WP$O>J`hplG2sjGwpj(qox!%X6`11?BP=RHdB4gGwyjqJeG8%p zWkPJ_J+CnDeg&ol9!BQVh$5R5zKT0|bp+eiFM#x zTX{n@P=f4{h$4>(Ux@cuD@g7PwyjZM79vJiRD|;8rWtHo&j5Ngq6lR|Y~>BoFmIIx zW(00U=6#4Fn-so^%XxJK+txS6;qV7B!croZcYMt-Q6>Cqei?^dCuE9P8YH&z?t5T6 zG)Qdab3K87;n#l=MIIBr5Fhoa zAh|OvP(S=@b_3r*h!GYQp?t>147RNYf@UtF2xUTS-L@FE@`;^5RbUY^mm-R6Qur#4 zL1A$5k)Kw5?lEYSm1qR{~b}}G2sjGxv&b7JA-X& zkNt4-7cs)3B9sqgnZdSoBxv?S6roIrt$e5}%*VR|wSmKsS&b;NN#U!Q!mA_Lww?~m zd595~60v+r%?zft{xx?3{Scyvr9omVpBM~0i|khsMIIBr5Fa9}Ah|Qxw*D8GPLm*% zMMWr|-ZO)3>u#VKf+#|n5L@{KV3^MW2960#Lgqn;BAXPxiV?gzf^BOHFvlWBSW3k5 zkw!Dvwq61B&4?nF28peFyfpB8WIu{1@|f_2_{3=i$(_Nr_3yxZix^>15z0qB&2Xbi z_}BE`M_v9uqi4+zvuX?hLlAj{@@yVuVFSC?6s>gKg{If!=^9LYWX-`5=0jkE91y z1h%Tg`46JVCWWu!Cte-FwzV9D6^Id*60v-;-VC;_^MO7FQN+?9v6XK*1ePQF6hx87 zgfGMwA1X-h47RPe0kak{!lELSZycDxw)It@KSC6tOo**~Yaz_{7Xl{+{*BCE5k)pB zd=;Pa>Ik;2yH3Fd5HZ41B9^aVn8CL70MN`q6tOf&Y@O8?i5Rk*5Jesnz7XG%sUW#C z*tT8@%r%G+78RjI@iMQDVB6aL z0BiseBP=Ci`Oc0RY+K7gGZ9h5(jc*w?@t8|LG}@dB994Qs1f-UBzFee)>D8v8!^J7 zB9!kknZdU8HlY82C_wyi${Q-GflmJ+di z!OIM`t-FGz6j8*|AhDG%+XePT_GCnn#{|9%(g#9G?hLlAO~5QejIgK(<%@4-ux-5* z=o=74C=+5UU!Du|HM+pLfd`Sf9#LeI!dG!Cua02;^so60$$uh7SW3k5Z9p^FwsxP2 zy&s~8r9omVUoQ>ph3w&oB994Qh%bOvklYz;TaN&y1~I~-A~fONUa3eDBLKNAg@Ks#Qt0O>H3H~*&0P`+lgr!6*-+wiOZR^iKcb%rh(jd}? z`6etRZVSZTh?cdIFm5@pkTckpOatan#0ZO%U4@%=o+^m@KOi~TNgL*yq7Z!{GH*n* zjCF`+0cWs9KLgCmh!GYS(QaB>^ahap&q*8Ro1bV?+f2vFAEHRK8n$6I3pj%u-`tY!gcuton4nEMbTEH0wmw6^Fs zK=PrJHp~|zG4ubEWe-sjt>uSdH48X{EqVY-3`UGdarSFBtu6Wx&>ili4fB;ph&~#b z$0LfdTy!|BW&vlgMPCEVt%wm87pvX0w&>?U^172Y+{;+oeTvK<5k;c4z%;C80cWs9 z?=S=3VM2_sxQKSs+M*|e?qDZvnC~fKS$PyPTM6tJp7Jm(T4fL97GRB=6FOA%>z717@}Fg8Enxtz$`+Hu(*hJ)7qlX2g&75 z+VEw?C^Ro{D>Bz1ibU(M))37C&R~oF5SY&qBP=eW-L$so!nt_)4bh?v^DQ@s-W{1E z5k)kQXeD8YW&vlgMIR1KHDZLtMYNmN7JWKM&U4a+`2rhG!heg*dl5yVbsTSqW&vlg zMZXTr2Z#|C7twB7TeSZ$e4Q21q7C!aG>G0FnI(uK`Xp>lBw>hV0cWs99}LW4h!GYS z(QaB>^l>0L%}E>PTW7e}aWOJ)K@^E2$0dkn0cWs9{~4Iq5F;!uqTRH%=>L$*;SSpH zLx$)gWbTG2qF0Yg5X}P4V2j=#n1c`_EH0wmw6^FLkR0oz4f9no+|62r%&QSav~^3( za5xJ%gDv_`z&wW-VQ~@drnNKMr8H?orvbGQb`!1S-=@=(Zf(8j2K~Y5$&c0Qi6ZYd?f3fv|+xKg*(zq zk$D#4SQ1*d#SPIc;0(6tJAk<#F~Z^^+D&T~^{;sw$-g;i!+hNeqQ66C=OdM9-V7g0 zVTNcHa0XlSK$IAY7-4Y{?WQ%0`q#_?-H}e(FyExYGY5;1c@m;Xv>tpgM6-Z1*rKlo z=61vgi;HMCtu6XRki6xj4f7o-i2fXz|3wtheB412hG-UW23zz_^Kk%<7-4Y{?WVOw z9{{?UPTDYEf5KBG)yQ0eC=#tlTMW@G;0(6t%YnHLF~Z^^+D&VVei9@vIBCOt@))8& zK<2*?MKm91k%S?d1)RYa-6x7iUlAiLE~4GEw&-!7o8qJmUqjJlfy0p5fG85JhnEb| zEZ_{b=<|TN3^BsuBHB%Bi+%_sPdI7Ad>aX(Uqj~K5k)i~S(1byngyJ}7QOXRxB-9| zVQ~@drnN`q$h8 zl0Q0W!+eDZqMt+N`-mc%52Z=M5X}P4V2k!u;nT&45f&HGZdzOPAkd9)(uVnV5T5;; zgv_~!BJs^p38GoR8EnzV0&^;2gvCX)o7NV6Gf3`s(uVoo4@5tP%vTXbG#@*Zgkd!c zID;+v2Vj0hjIg+fcGKFTcg2bBK8O}=n6LEU>CP}Rrz46)>k(5!Gz&O`EqXC9D-a_r zE~4GEw&<%sa+8xb%$Ic_`hH|SizuS`V5uYw(JbH$w&<^b`8Q&O#YME6))w8b+UMH^ z(V`9WJsdp0I~1AwA&NxnA!0)`3pj%8|KS1ctU$mWR5`;iPmG{hG-UW z23z!zz|HLfL2{v!Hq6&zAo@CF{vJ_8^Wktw7@}Fg8EnyS0rOYH2#bqo zH?1wYQw;wt0nwrj?=cL8`UZAH<`6`YXuSwvh-Lw2xKaJ^ubBzVJj4i#i)c5kE&4=| zoav+u^IaB*z6_bSA&O`|{x1nbGz&Pxjh5&afO!)!!r~&@O>2w(86*X@4%&%Mo~ITW zzx->$pxKW<0+;X`pn(e-5`Hc8O>&mQ2qeM3CLvpK!(;jT6CLPER$CPqv^YeQ%)Wdh z$Ie6p$L%!(a}kuVF$Vb#d;`kPG$?mSMOn<3&D@m5sVE2Vy*@YPfK-%w^A$=r<=&|% zOZm2{o3b<&Wf@-#c2kz6q8xo5)>dxH(WxjSeBIqm8A(MskzW>YQ%+1pS;>z$xG5`B zQBLFcGTfBYQc=#}r%BwDGg48`*=pBh$~mbh=RH%LOgS$VWfi||~vpC|69_E}3#gD#{c6{gNq9OhtJrKV<2a zerhVpmHcL?n{s6;%5(X7RyXCjsVFbv_i){m7bQ~SwhDIg7+a>?qXw6g5SAUVPW}4z z*I!Tc`Fr{YbnjhQ(0zyQv$yT(FWMFZ((d>aa|Br!6Z`rKx{oOg7f$Jo=fg((3xfRN z$B)jV6$YoqV|>i*hup3~D;bnzXXb8&g2IIbw;t@T*v{b7*nLXxvD-1Tu(OX6y7dNO zVIjF;7TU&=U9sI*RABc~WRR?fQZR^f`X0~~Zv+w$)vLGPDBswfe0$qGMuDskeu@QC zdh=&!50To}@1N3})Z6ZY-=#qGQ)YK2%k4r6z5O2W=MJJitpU`w0=AGwvj_jj#CSF1QP>+(*@fLh7!XJCGgmVS)dGU!cd?rS%8Te zVNx6HnT^+4i&SG78Boq0<>WA>x1prTV>BIN)Ycf2ovmqjuzzxIHrV1qLz}UkrIpel z`wsRG?cLbDr@vR%as6s~UphhBdZaVV3!u^}6493!=y7Cd7EyWQO`a?^fdr(oKqTY|xRB4KcnKT$b9VA#`lvxB7+mYpDJA*$f`EyF|itXrQ3?F5_$uOh;Hu(1z zD%k~1j{i6#0Eh<%bCj7#4ovz=DUBBJ*H@fiVD$dNtekLKf>D~PD z^a<{=o~Ac*^ZqeCVZeO*N%Tj)e{wj?}5Ar@*c>0V9WQwVB87__+IhjdxHM|cHah9 zKhi$_E^TXVDXnj;ZfL8Cl}>DKo;@qp8uumSR`0V<>4?OvWuwZYR3ZVTSHY#V=TV3spS~KRW~=Y#;aT7HBg54L7-%HQ)6v?9m?Sbt7wZPZogJ9tzKBw zLK;xl#A=b-8MzHj)m05KW;eIQkX_#xtBE!>w*rmZD~++G(W(a0#G6`>)fHK7i()PH z)zNrM6DblYtQVMlxQ%C}yM#@kScAXrYD?3ikB} z&kyuK^*S@3z<))3CQyRhP622B*8bpz!1&(5SYSZ!z*b4<9{%8SzCb5`m*5*+0=Vl{ z;HK!8iYqcvD9|OacQ3$B!K(w~dIbWhibmX-1tIFWU#jfy44!-T3Y7K=3{FLn%D}$< zPlDeE?)Uc&?AbH0SMRrj&jxnwJ#90)jtzcdc=`4&1t*;td?WB%|F-`>#L(E_+`w+V z4hVEh^5*ubs{z?rszC}Sx3is7^FwwPeo`=*-|ngTAv+5{DVWS}uhjgIorRwiOy)N@ zH9ur$;U@)?`3+Ca57}AxNx@`(qf+xjb{2k8Fqt0)omAZx*;)8W!DN1q%XpPM4lq9p zN26#m%cs+@WPTQwM$u%J&!=I@{46YuqRA{@PQ#MOZCbK-npL!f(eioKS(PWlqreVqa zEG&(p$t=%F!;<+~SQSzefiCG)eeG>WESnZr7+z+jNPl#~4SFc4#NVPJSAS%Y>n zkQ&TI1EZ>wHE1^jX_mQYV6@+44cg7%7k1NJG!Vi-vIgyDAOlD)8Wby9iO< zMo5)k7mG)mYnpK{A&wgp(dMd_szt3)-cXrXHfhFzGowDT9qyHFE7(@^K0{-?zN*1s zICCL%8af2oRq+@lOj_bwTHV^bpye1}0~A<7QRSm`M76}~>RWN6B3|FrD9Z0w2IgQl zY{>McmPJ(!6gMl@vZ%h1H#jB^GqB|&y$YkdTH{sK$A}cMXg@O3;gj0!!jr0x8mhxI z!4uFl-sW(=vr32Qa35aR+#HRyv^2HY_FK*z;*}%nyfIcCH!5t1rWY5WGMZ{@qrBB* zD;2G8gz=5lG2aPZwW_Iabt-1nN4b{A?8f47zV}AXc9&$SH1hbOXltxmdZ||DPvUAc zYE}n(zLwEV%`x;vG!o}#rOH+eGSH-g|?LaY6rUpj|X@$H?EkXwW3;(pH~mrT0#O>sC3qhb9DV>(1V;4uN) zslMo;RSj*L%{pbp+Jh~7w$_N@7$#+Ij^Y80X!WvXdR+x3V>QrL%^`?0zYJ;SV4*j! zR%i07*#x|=CsH&jv+I?Q@H+4$Orn4JN;d-c{ zA=aYTqf$;juC=`Oav{~I>f)_67N#CsrLukTSXE0+)6zy?(~?+AZ9@|te`={ij8%DG zG157$^>vL^4bjDIRSorVV-Pn4(JP*3V;RX)ZJ*3ROm795)JUaSb*zRaOYdVL-B{lo zt*WVM;graM+Z{O+?>o}d%H`aCF*wVg+ z?p*X4Zs)23^HIF1p+><5&+}4BKidPV=P`h%HOpbT zXWg802YVu(Ol_*=rJk1t*0kP2D&x*bcC@l=XkN~0YHe=xTuUjvs^5uIEks03d1`l) z^eNZemu{Wo82Y5q*efG;^zwAY*ecSU1g4wCjN`PZ@k}(hd!K&X?aA(yY)NT%gqf7Z zd1b7z22U}k&{~Ei4Cd;oXR7SEJGr*RGIB3j+FD)JSgX}2Gj1WYIHqcw*7)IlKgyny zdZ?Gt*lUB5^|rk)kjcUG=8*1=Ha9GC9P5_b=Nx+Ta;o*_MC}6)F*D^Z-sm+tP0uxw zo63z!yA0CpCq_4Ql*O)#A-^K zT1#tj6R!>Xv{KdrUso!fJ$=e7`f6rrRUCir_n2fk7sv4fmMQhTDOkTE7H#(NyuG%i zsybRzU&lAGU{jefN#t~5B}1&|L5Ee8bl=1K8kuZdEk|n@#U0V)8>PPZ!lt&?s>YgD z-i?s)!1DpKyO+p3BD)~9392>rLdU2rk#r!>>!h^ZTf|`mZPPmfOf^l5A3P609L3#E zmeEmenRu=qHkdv>~e|L8p2phG>c zaYWOU%l3p8;?<>@#s;f#CpdYu(b93VYgkz{&B5T5`bi_A(M46uCb9K+xPdA+({$Dx zw8J%aU^tgfqcz>88_d0*jc1x}tWNEHpJ@%euDiSRAQvf((dyPHUY)MSTrJBKz417e zAIwwkcHcTxdsy$?mbL9TIaC`FoR+q=;thQwl zVMDA@rk##k+es6_eX}ZKR&MurE;EJakwvO0fe1*=CGgvNXVqR^QZuJJzzc*6J{>Rf1Dt&;6NACezkHwDdgIkgM~sNX9PQ z66c8HsL=Z4<%)IlXvEnc8(hnm;PD@ z4+*0L>t2Qj)|2NE+||U)aohU=A1fqDFJYIs4)oj!T+PvJMYL9H(6)y@bK~rNRg|Lj z8J^>+$a9BFH6ZIO!d?AAI(H-Qc66CT`B)PNZ$6x*H#(Zbq)Py10XNY z{fMJRl70@3-jC48G2_nvn9vI_Lz(A`&c&66!>l(y#WLAbcwR%&M`_RNtT{z%k>OhUijuC; z3Lf1=4`i8j=6NBK;)b5jYu#|<%ieD>kHwo7_!i-r^TY=gYM0_jsWDzF^P1;YFT!01 zx@NEUKIkS5;?~4qdN>-zom1m!E3MY&TCss`JC++sk0_9v`BtY+HKyL%`<7S-Q{2hL zaV*7CDdak8&hrzw&N~`r*Ym!cNmc(=U145ppIXL|r+U)JvqP;XQ4^K|-VYD6PK>6( zIBww`IJpJqz422_(mo(z&h4;$w$wKt(pZGIseHBaJc3^TPc`dVt;zEOiLJ>ohg!W; zYju=#o+)~XvBqO-Y1^jbs4~(2o_A1mPwMjsYmoFj+tEp`VJtyQ@15ASE;YERQ&qi{ zX;M2jyNK6LoJuv>k}Z@MBfTFautrjPPsSRo5VQ_T)2+G0m9m%jYB=>wb=qyOQoS!W zz%tDYqqUuJ^?maWoSp|Wu3)SY#q&Ura-}cqYGT#(_|QzWxe1f1EN4A4m*Fb?S%!4+ zboH*rn1rcGuQjJyP&?Q9p4$oQHDh&1tM;X{j0Yv@PPsF(l}hkDXQVx_Fxz9h_vub& zvZHvO1>B8L=C%03`c}_AbS~PY7VP05ns}R{e8h<1BcelcxLrY$+JDNZJHWHCCCnCf zkHGR8H{7@dz<;a2jX2}krjEX6D$T@mA91ZzGWQ6_dO~lYp_5WCBSf&Vut|IF+FO~8Ber_!z+i*r!&Jav&@sx_lECT*(Ide=nKs-Cujv%Nbd#h9Qq6iS~p9=%8$ z_&krxbZe^V(_Dsj>|wt20k0jEDkd)@67AL+^%AzfoR*|5x$2ws?734p>L&wVFK-}9 zGr@;f+VjQ0tV5L8Z?DbGgIYYph%cIQSoFRrad|>!z}6PLZ|G~o`7*V{VYm!0kdk&Gv0@iga2&a)7`?(KZn z!S2^=E14hgY>v0o)bkU@-XGd=Ds9wgt2sHatGAC2 z>>RgqJXexyL}y3M?XeS`$G$Qz-|e{^N^HXEZwbHtwv?kPr*QeG7G4xaOIwoAPPD4l zc|*+Fj(8sUIFlz$F3t^!eK*l_YfiPQx4&w?3AU2D15fhPLpe82bS3MpSI^E*y@I!= zWyPECXv(TWdrWaHRHV6(D~HUu56fpfz=vBWt;S;3^Rk|HI7S9@j4>VKeaYjVQ4%MTUk9=lm}m@v|KUj@57>uhZu`hJWt%kXI&Ja1al+7w-g ztqA^KwY>H2d8DV-NvkQ2c^naHIVR%4CGWE>*|Md&KJ+Th!1IkJ*K8zR!fO-AJjr-= z8^>bT(U7m9sj;qD-O}{Fo=CybTu-#`Ssv#Mp><@Hd~jiP8Q&7;8p`vAH*wZ+_86^c zHnpPWF_8D6E#-u(HF2>!q&oYS{@{5Gcl8Guam7kLq=tXV;G7{k@IHcBKiqxdo6w&7 z44vRU-mn+{UOTjmF!KLpto64zB4HHQJA-j`Y{S256YqT~L`4&pZR$M3>O}CX_je`S z)2{a+nyowIq^LJoldWTc;T(M&$IhPT0D95ER+a&tN3)b2TB?_}>NOU3i)OV-jdBI3 zwaiSKj?Ht$wtRBUo!UGWYSLg(s-QTQ{l7ONlzth zf}31AyJPyq+&|i*C7Y|(9GUu*!E9mPPqP>a`niJ20CfyH>Ia?-2J)>Lc zG|cqlvUytK-S6a?%I~hm>2=vbw$A5i>@GYF@$cJai0_9-4QxNPu{;$cIEmJcZ(GP<~A zQM|1&wr^dmG1gLFjh|I5)eHAsHmba&ysWsSuDGPOxuvPLz9CiuL@R#A!K|d3|3;;% zE{5OIJWD`?|7nGPz*K^P5?e^47LxzvP}+Y?nQA*=uYx!Am%TcoJ=)87yE}3D!_-jg5HH@jTbY#wsShs(U$B6&h=%-Ex6k=B2&doH<6{bwG4M1$goFv zU;nz-1Dr5q(SlPFe3shyCt{w*F&b?wUdYcL$DraSIDl{s;hRQ?xq{wAYuRKQyg%TZ z=yh{B+rHCRX$$;6K*qa?T1%T$M-1Xl&(jcFYrS-L%C9*EsHVLBo1B zCQhqXgsqGho;x48C2s@RoSiEgc-;G-k)E~b&`mT^TI{t3kc>ABq&0gUGUy5CiHb2L z>2^uiqRw4US_4PwCeTsM)or`*wI@8ZF7Hb|@oAq{CHUncXs z5T~Z8I&6XiI{K9mvk!Fa3c@vXIS#kA*8h%u8C{IYO6IQz^|#jw?FwOW*GY}BqB zSIabP)v08MLiW*v4kOoI*&aL=x8fOUnf$eOUJeDVS{1j+feYUASXwR5x8dQdB~=Y= zG0(#v+mNArI~|bXSu3puoocV?eH&n#Wi7+BT%*q6Y~Nsv(l`~ioNQ?$9VxAYCd&Ko z_P?CaTRqYVsfR}EXu@rj8^hooTH97f4 zU}d25%sv%LIoNQj(%Ste_zoSB>wlj zi)1Tyb_eI4L~i$|yyx$IOG!CN_n2gImeCIXQbGJFQy1QE;KyngHRBbBT6~yLMmWz0 z{<6(T^>GPlUhMkzv5(gHpRT(~MR;zyiJi&zj8?mK*Q&5{^n^|IB#N(%a|Mx0ss)IxSbL`;;bbol@qR)h|4)Ngw&u;Z#D$6Hv5)p9ogABM zeD4E5%Ef`%F6I5Excy(SXMs}63Gio&)*Fr&7F6vx+ zlf7|n*T0Sv5=J*`$<-nL)T`oDD+Sl7hStcCY8%D-BC*CLzFI*17f>y}84n4>1?|6~ z<+7iv5ziwp`*}uP?M^E0Fg}B$)eF)NpDsJ(`vsfQ81u0St$nwvFPrW$-%{)7hfriO zh#@G7XDI6A{ZDnjw&NF`&cz>xI;}OA^YIkw?t16L`}mn+W#novTK&_Zr&OV=3bfYG zsn@lR<(7Aw*(qHc8JEp`dy!Ao*o$=ac9-|5nZlB0dUvz-eiu-dbgl(BoFWIsUhc1& z2jbrEG|;ewdCak?7W-s5<9T*W_|%%!cG^?P*3pl%(RlujmAUZaY;8K)`?JY(TB?Cs z%U6y`+g^@vXlbu;GTM5rIhvOG&`UbM*3_BesRg@f!O{-yj!W=eADDqf3BBlf{z@E6 zo#VY%UnX)AZ9H!=QXa3E-Ms@IM^S@KhkYPjI+a&PvC%o^8hWbZXKvGJ_L0$WoEA=6 zw#?T~b?xEJbM4Y_=h2d|5*H@@6YiwPa8%88$e3y#Cwh4D#cVj<`xk6B=51?8x6N*7 zs;+8?q0t-933+FpF!AVb#aS__=X=*0gTt3+Ey+El3%KZ(*R8bw7lLfgQ+`=H}X zrqe>J&l}A*r`Lu?fNNVb8mZQHBK^8TZ{_TmGRzUgtlkcM_+9%pd+PB6=l1oj@(Nds zA0Xt~C{`n%otWO#g3s!^PTg_Jziipip?VItw@0#g)0&=ASDNW>8KyVYfr{DqJN8zg z+3xiwPS;VG+2=Pw|8%ZAjZevO_sSE|#4lEI2GV*KFvYSQ=9oRm)Ap0|me!EqIw+E6 zsx_Uu>cwuK9kIBxPq#fAsWzOB$BU{L81MYB-a7V((Cjb6hNK!w%%PF_W_sX)V<_jiy|x**(SkK$3!~j7pwc7i~^6&G;ryoH(X<;OqtX zho)`DtFI;HZSrgA2}8>V4=Ed5wwLRbSf2`g6!fo{;qxym^6${CYw&!(&(|OMj0}76 zGQNA!>4Aycbg2OWeiAp9`3MK{V&Vh)3xQeIzvAGj!ntb!sR~T~yWhQURF)h4fXS#&y8 z;j`(~DL~Cr`;R*BuJ98{Wcua=F@E#4y+8I-_;h;ID116S1}S_tJ#NpU$MaeA_$rGYYjf12tTP>+-XF6RKAk_}3ZKp& zV-@~J$PksxKIa-s)+xGl?c+U#Pp8L5g-@r)6AFK07CrXsLT{w^M~%X#)8kZyPp8LJ zh0mtP^I7!xDvKW7x*B$*)8n-q^_Zpjq^p;>!l(1c>MVN9Q}}HDcrS|{8?)%qpA$Vo zI)8kUqaHPiPda~`s_^OjaYGh88WcX8KfcPMN4KpEd(-JLNa54@V?&O5#1)@({#czw zkF{C!I8NcS`D0@iJ^F8**&kySKAk^0DSS3PPE~a2{Bc7TJ)X#-$JsgR(XG(1H=Q1X z6h2-1n5yvU{Lx3@v-xASqC1f4m}9?VUAGYVV z@ago}UE#CoaYGh8p2(udCt38kJx4tTZIjs_Qx!g)KN=K1oj=MHKAS(*X3^udEP8Cn zqQ|-%^%&bdvp?o3d^&#|r|{|gv7f?c^T!ie^!Ox$9>p->_H=R_`@?}f3|mv}56R=( z9C$Qj;ZdgWN%lJQxH}7vWjXNJkcG#(9C(Z>%IpuH!e_GOxGX&O%YnyZS$Le81CLHU zGu!ff4m>Ke@F-IFO#V1K3y)bj@OUW;kIQo4(Wh5tf4r9ikGWZR6f1ltf2_&Eqb3I) zA7$ZjOAb7C@15BnU**7KVHO@k6h4zbZqLFao&%3>v+(#s4m`@#p<%kQaAOWUmSy2F zPT@28V_g;=r{=)J7s_0>&*Z>kzbrhuDSRed&dkE&;2d~7pM}Tj9C#G<&Fqi2a^Nv5 z3y=N^pUEGWW#MsD4m{q=!sCVhymIIH2v+(Gr@R|IvIt!0^Iq-NZ3y*7Z;L(4F%>MW!2OdXd;W1F*Gx_6& zEIb-=;PH7D9(U)!V-Rn`Af%i3H{`&hISY?b3ZKazYcud5>NSNwmFsr%{G{N-BJ;l4 z28AC@V@!P9zMs`+Mfg!$fR>Z*O&n&YeFf zO@2vIK27oa2KkHkGI*#XNcmCVD@~#wtLTdqz1rF+`k_hm+?$jCM+1e#r+}g#oB#DN~+3yNL5?aP+C>>nfjn8nksFm>i4|QeZTL#=Y7t5ckj&I z-|s$Jn|eT!Q-Cp&_5h{#+59?C9ao6~Q!zKZriv=ufK;6~Sqa zz6JH|!as*REBd>Wxp4;dkQVwd{|v_;?oooi&a0p4=pROXl{bH#qd#!l(7#gnUxNG| zk^dLS1ECM|&vN_^F|UXGTMn^9NS9x5JnJ2OC+c&kFCPE19R0JX?-u^Uw-4LxHh+hO z>g_`0S)m6_MKH(l&!N7{tDo!WcQXyy`9*zk{&|l6BGlIj|DPk@xE&-bgY$CYut8zz4_Z5{q3l)75)RvbzeJfBL6watAswxPfr2CZ{hMN>MOna4kyp9<{B-u zn;#y&zIgmQ9sOd|Z$>?BpMQq@MUj73BLM%L&_in#!7|7HeAIV)^~)XoM$~7#`7d$w zL(Mfu$kQ(T+mPo){*B1fLLcT|>G)TgYk1&a=hd%r^yj0#%9}sq=zop+O5uN)xmE`4 zzA5srKpqHvnE!Ie|M#fhau6sA+Xwh}MLc;ezZUh~!hZ|$ zEh2x)Tqgqmtk6U26~UE`|81!6^6Ia4^dF%;ppooX|r96~SGO|4&ih?bYAo=&KG4 z{WGX9uAlEZ`s+~NF8n`6UM2FMRTcWDg+9!`!ST&LgcSDbpZZ>(1-c&+XjB}bKi+Jo zAWt{y$se}Yz-vYRSCD6g-o!C^Hah;3%zh4hy1e>_9sLccPous#KRp=@t%b`r=C}&{ z>#D-vDgS)r6Gi@qkf($mUR@D9>g3t?5F7`uKIiCHqCP-M@6OIV|VLJy4%@_Q;BG~Ns z--!B3ul_kl{|@T&X1fbZ@%TUQ=<7z}{Gy)nd>8o~k$)@loX|sC6~XTu|N0|C|8B4T zMMr-x>NDQ_FFE?Xj|%x4ec|FYvB@>d*w_|Z6z-kfjHUqPQ7`V`Oa8;<_?+AwFAx7{}#ec0~X4qt~pX>YslIQqY%zSi6B zdyYPAcZ!9N}TG5TcDr+A#VI{F!-!<=*< zqqyCV9evpDCl0?2eNx_bKXvpUqQ27G-(Uc=BbSO`fWv2u3G?UiUQKa->776Yr#n$k z_lJu6yPe|?udE0LIs8-f$#~n{(b3Nv8|JJ-eQ~>k9evpDE)IVfeX6|eRyz7&F{>+q5J>E?H=Xme~J1^Z@aaQK5Tci!-pRe=Fj7R6}LOq(XT*# zH|p_+9ny+myrU1>o#^mq(1)I@C~kL>qaQIT%vtAc_c%u%wtIrZFGrs$Z+}yc{&m!E z+1qwe)YW81AGS;HU<_Xa|DAqpm_LU;#r>V;_;jPb%iHdBM<2F(n!|@47q*-BwhMRn zikB~-zSi6BOh+HKTj%gs&?oS=JIm2eJ3h?0*<3$^rMRx@9X)6&g0mccFZyKBr+A#_ zIQmaf-|lU9uA>jzo#*hGCxrP^-geJ*^xsB3Js(%x-?XC-+nw+5t>}|C*Dqly?r)Q$ zuRk%&*^T<*cF%M4;8_tYba*%VWW4QO;OKWth3(RFhsEu-I{L8PHivhhPnEabc1Qnn z)WdaUSc=>2aP*+52s#};?4&S%4t~as~vsV?iz=GfIca2yVp4Sx~XB#N^iSejy`PnI)`sSA9}95xW8*1eZ|RPyWQsg z4=lywe1oG0O+|2%!{?$;27QX#y~WW#i26EjyXzc%*zRo(-+fw`pPtt*Za3@b7odL2 zZr~{UdxxV3jk#X!@CVQ*hd#ya-sR|bJSEK8TA92 z-s|YYcDo%uV0xH8@V0xOqo0HN&6VIN$N2$A51NYLL5JUqK3ViB9_NjYe(-A5dL0s5r8?LO-0e~tP|Z@W21AGZ6r!)s3q^XJWdZ&-@^yUEdi1@-j4tK#+d zNkJ-wf;xZUR* zec0~v4j(@w%%3yQHNa9l&cAc?UqyWv>WkZb(b0ovMevft^XQZIw)?W9AN83qXRWv0 zR~&uVZrrXqO5;YZC3^Jmegc%0vK^ea){?rryN zM<2HPj>CV6J}Gaz?>YMY&j@o?dfVON=)-p3cX&JcD4si5g zy8|7*41IFwQ(RZuIr?9tzRTM#JniW&6~T@UA3iJ0pZ2yp*wLSZ`dV+hyEyu=zm*QZ z27Ll=ySqF3r%<2YG3;0IIMXKx75BL!*vs(=^9)t^J__GY;q=KuvfTp|{ecRvR(OrV zhb#PGg&(T$5eh$C;YTR^NQEDz@LGkBQur8!(3jd12uT=Qe3jeCYzozhO6yBxqYZZRI!q+PN28G|K z@S7EWi^A6_{F@5DUEx`U-=XktEBsD{-=*+-6#gBBe^22X6n?M5f1vOmD*Qf$Kj82k zX9vLm^S-~o;BzVVy@+O$Ho$Or-YJ8ew)m4#e<2=7n%ix5nS}aw)Z^t3`?reVM^3v- z&}TjRkbZ;pIXrr;(Ug8!TR@r;N3 zXPp_gn-csx$TNcf8+lIf&zyz%afHbK9^`bSL%ibbP@fU{bCBl*{{iyw0~!nGp#$b% z{(<3ulK+{=GlG8`c~0=ZBM-JM_BrJo^cVb_$TNb!hdd|viF0v$wk!5ui##RxTgWql zAM?4;hu(ig{k;k~J(o`Wb>#HCBJq>vg+8=i5Wfj|4(p%z-;mP-@5E<)9>-@;ald|q zJR|rX=VE@rFG3#dQ0((_kLammm+sb&1~~PYHg+0vsQ~FGrpe{13QBM-!N*ImxX{DLn=F0T*&3VBZG z4_%1)aRX2Fvl6+yuKq0YjL=uNgg!aJFG4QwNBjYKO5CS7=>i-d!Pg_t3BLV>n1A=; z^=mQml;FQdF7JO$YQ_9Q|4rn<9>xCuLN4zces&S&7y7%9=LG*Za(Tb?%(l=cHKe%R zA0W>NK5#MS7yKOLfw*t}F!Ge(`?X_!!7oOh6a2Tx1M&RBq>C`W;NL=?5xk-U^9$aL zTs}|o1oD)4&ZK$?<`?`Dyu7$4BrlA(zj~y^1`wZ*jXPU5w)+_^rruf`5oS*ss{mm{|y0B@S0@qZq45wBF_lE z6?snZ(^iH)!2!iS-$kAhe9)zsU+{M1Il+H{JUFn}fAlKMFZj*K>HQ8go;!Xq)aQi0 z6?srq?Ef3&DZy(qm|yT)k>>>e7jk<45#^bE8RoAJ>_Yte$TNcPb~)x3{5<4AO|j48 z$mRR;hJ6Y13w;K8PVg6y2L~1VpST+H3w}59jNtox8S@Li5;?s;m&V}@Iwe6jzd$Wwy9hCCxUyt*QIs3LSJ{%=L_V}(Dg@JAH>sKV*0 zoNV`TMgN4u2i^{^-KN;U{5H(;0S=#J`L+&kvwS;;-(mUo4*!kiJ2-rsETA17e!As@ z9e#`DJ3IVM%XfA7vEKqz>F~=e-`(L)TfT?G_q+qpo(^AN`CbnHp5;RwzSZ)59Dd5T z0qy7TTP+{v@V{GrfWv332XvsrzhQZ`!~f6n8i$X(6VPynUt&2PT(Q6Y!g4%lVSN9) z;1@b7Dg2?;a@>g*aFDYccfO48aX0*eJ2l2Hv>bOvjBm6YH}Z_{cn|!78)wGPwH!Bk zj6Y;KZmbypujROLV0^}R;Fk%Eg#WzT@?#vn{dWOPa`=49k8}9rmLKo%UB3tDM29z8 zo^trTmQQwgumR8%hu2$vvctb``80=b|9wEy9e$qWr#k#0%TIUs&i4YE;qbF9pXuxtkv*imNe)Ro-E^zplEN^xA%a*q}{ICZAwLAO^mUlS(Da$(@ zzVD9!Epzx%%a=R+1LFh(ejML4}J*H)-kF$LQ&>ar%vfS?6ivISR<#s1i#7F)VezhC*BEG_MyU{J; zk6Ugxenq_UQTWwvY>N0Se_^{CrP`KB|=m#qLZ56(q!narWAcecfpCB~P#H@ZA-@hr)*_+&#Vpp?Qv1(eJJBp$gwe;rlAwJst*O1zm&} zud1Mn=MFzWknq(OIbaB|>HG+h{R?x**@z)B^aWzOP=;EiNKSYr5 z*9!WuT=7@)`P+h!{xF3fuJ9uiK2qUFD*PygAFc3Og^yDBXoZha_*jLHQ}}p=Pf++o zg&(8vNeVw!;m0Z5Jud)ZMR0eM-@vr0~fKch4h0Xg-%)(Yxmtp?;d8KSklw z74DvQg#M=~diQ)J)Xz}#pHcWsg`c7DI)#5$;j2~V75;$2f28mS75!kh5tt3n-%`7!k<(4 zZx#N$!e3DM?-c%fg}O;#-xdD8!vCT04;22P!vCr8e<^&c!aq{@ z#|r}6h2Vl+bVoJg>SF$K?>hN;X5jP zCxs7I_|6L7Md78Dzs!uM&O zjy~rrK9^e`SAX^Fz`Ui(e6I&C1M%kt=4VYXD&lk|lg;^a{z&0JQTWRW|38Jp8Bh)T z9?y%+@36ogttJ>B<)m?VKj+UG{7+!+5)G+<*TRyr|20n>8Se8r%sAHs6C-~*18g?> zN_;K726s)IpJ&S$N^tA}qus0j++?@2lL9RPf? z`D?h)_|s_k7#|v!DfstAM(-P+R->;8W<+_Yzdtnk>Y(s> zWhwOe#BiVfaqBZP@}d47x-IDIB2M{F`x*EbK9`L8dyC;d{kw)kJ!CNl_4irh5Bl5z z4ho+;NBup=@S4EYuQwd}n-~3EvVGX!r$vANX7s-PK4tVZ?0ZP5zek%>2{u72>ZaQzkiebo3vJ=cr=o@4aB{_eRG&`sWR|>#yi<<1S%;=@UAso{u({gna#d(&%e~_9zea_lrhf9TYzAm+JXvhWqq; z?+Uyl@}d4-Y-U?*I%3gT7UO8oq~FX z)29uG{-#BLbH*R~OP>%%^Lww+`}#X{cko{s<)Qxm-RP@>t|(6mN9uTUY0sx$Y<*Tm zKGfeAEYC!o`n$&XR0lUi{?y+;S$|hQ%3M0M>#ykVWqXAErB61Z{(jl$ef|Akqpt}r zkMdA|pE3ICV0Dy-`n#{WH0jfi9|C-JkXZaNor~bAWpX%W1$e;TAu=RKKyO>L# zcKsFooxW$--*-ek&o_EsfA2E-8umS~)ZgzJeRZ%r%0vDAx8XkhHhTfTI_eko_d?6p zM4b9N(_Esh4pv3})ZcF#UK6>1~#9SS8ME=y@D-8GPUo_mV zzoNgd8h==SJ4JsFHD#Q&y2yw6`)kW@i#YZ7BkMoc>F*SC>Axm$^<9SB^;h)w!eL>5KN0=? zlhOP7`?%591lcGL_4hz?YoR)r9_68WzSwY|{^0$A-x2vxe{ZyWeZ;B1&sqPOkw4Y* z(dO1g4g20((tq7>yZ&OoCgS?_xdX!frnU_Mt-pUWdS8EkX7n}edvB?~Q}fW@hCRdWk|6kUBa^z3_t^YIlxcUbSx9hLy@3~cBe^-nC4tdqz z-=~beCfE?=q5ifQeRWV9sW?>~&*H@{yt`kLUrD9?QC*QD1V&+sS@^>?-5KK)D9=YhzF z`g_7bpnovp)Zb^V|KX88^|$JEzrMq8yZ(y)zG3`fdo|dcXTvfj{1I$2dS8Dh4+sB^ zQ6B2=PH#Yeheml)=rhl7pZ+%M^Kj%t{oUbU&_5D!>TkF8KOpj_{%-ddzrMk6yZ&w) z2BG!$G2;*YtrPv-X!O4R)*J%~#U z--oRK?vX$BcaOKg-_>^*Zr5MY--iwj`@2^3_gSO&^|xvS_-~5xP=6188~PhWd8ofj z4EO0*Sf3{&AL{R)Eq^NF)Zb0kf4j(^`n&gE!Qa&{GTg4eqQBQ37WVf=(cdSG-q+v1 z8+}di%P0@^cb9jdzaK=L`g^9~KK+!#fj=GTslV$jeW9lROkq5kguo?rig^?5GRQ-9}- z1pV_7r~Wn>pX%Vfh*N*>xBjkv+rQ!Zi}Oh9FT8ab*59<~@7YH0>+d|HuVLRiO#Qvh z=&OU5qde5#cMbRHAGAI%MtbV+fk%Pq4= zT`&53(%=34{hHy`!9EpXH59%d)wElz+|9!1EEGhc7(peZT)`t9N})F#2lt zJq6~l-!9h~UK6|)`BS?m*8+bd;?(Y2O1so z_*#WOsqhaKe)xy}cAFJ`kHTM6_+J0?`_EGN^$LGn;dzDc^e=zA;}zbh@GBJlQ-u%Q z>TmZ*g)db28+Lth>;Ec6|4qZIg9DxQ_b-Om1aC*{3#~^V+4bn1h|_ws-f~wz_9O5g z=JwmE0KkQ@h`Df%q{`I4QZ;d$l53tI#{GYM@heVw8S?fQ^$^SR&Khn`ZXZ??gIOSh%xvM`Z*v8~9d_N22|El3N!RW|` z@?3Td@1r6As|>FRrba&GzwubeKP}?qUuU_if6Mw8zF&s? zPcn}Hn&%cGAM*dwao|5A;^bdtxvO7ie5!-O_uY{HN7lbC@*)43$AkZ@h?D;t*5B2i zGZ6d>-(N%iw;68k%SS%szugJoKPTek|DbKx)xTl=3*Vc!KGi|t`*Fzs8S6hk@*)3uCqn+Fh?75jgpj$f9dXjvYzO}I?G1(F^W}z{ z`@D{RpA`695OMO~X#HLNv(~@SS-*~jvM}ez@!uKVS|CbFn_gNwz@_*F&-x6{1pKrOV|AX}}eE$*oA2=BN zZ;O1$|H5gIKO1rK-`8?iztH$p2ZirrBLDlX|N6*>{C7VE{O^i5`9EU)UHvxZ(dX*m zi_ZFcis9zEedI&_KeqlGB2NAbEqC=@*1zz5Pn7?U*1tRQA^-Gr$bVnN$$v-7UHxIZ zK>ot_H~d8=vZ+@cmGf|5@w*c;rL=Uq21x~g7|2M3^tN)qxzt-{J(LC~A6Fd|7kpFwue{;mi|2E5A{Vd~C9TdI~i^gZ2^?yF{ zA^+=VK>puFocvF)+||Ej{R`i3MgB+c4*6e-e8~Tp&w&5S5hwpQt-q^ZZhWePwa)lF zVg2)w5BcY<|Em!v|En!`^}Ct33RDM$@6V$A^@f}4U6Bv@ubv6{-;6l z-{(dCuUh|iA|LWU_zduWFXH6?ob`A0M-GAfh41Gg|K*08>j04t`9EX*KZrQ_FSp#) zKWY85&iL+*DL%H>oYWJ*Gz|9D$Rv-pHH>n)j{F=ZRt9EyX6N&KExlhygK4$cWjp(%v)>B zecOne-H=_*wEWPBPeH!U^1~x;%HA%2v%K(qvSxE_m*e*Z|Jq1D2l>sG7rq~MHu5c& z7rqD947**XnYZ**2ggJ{W^-hh8!bOB;?&g)Zf}+;4?Ymr2nGjCr6z0zp#9I z#LvNY4>4~Ust!(%cs=q}md}hh>Hlc?XCqGfF$aK8eZ;BVOD#V;;^y$)E{|J2H{vut zL(N-~s)NG!nbP>QSe}mb)ZdMkFNip`JD>`D&WpHNZS8WlS}5=_;)z^Z&+UVK2XyC+4AL)-W=xHWn>Nb6u#ecGV%_~S2_BhT7Fr?Nnddg z_^ggN&CBO3|4PKE&hNGS>WEW+|7&^S`!p&4>BGUlE7H?Af5Y;^_hZuhzGQjfdoZcL z2b;HeRR=dmK9v7L%hyHRoQBxte#>u}YH5ym)cPg`LeyI*(e=-X1hGoWEf4vf85>=FS{7 zw%*YC=8i=zZH=9aJEn|2c^Uuv=-Qc!I~Fyz_N*E^y8h(Z^$n-YI^)c`hAHjsXM+5c zj>SvcPpWU2f+=Q(DaI{n?p)el+)A9+PwZ@N>}Xniaa-vYvXgO|pDG3@)@y5vGmjZ( zhs_Y%+8#U0}-CJ96WXDc7-=VNIw38uRk( zyc1IXplY)~Wpt?=y zVSQ_BUeM{Cx$)|ztuJo9%vb{EG*hKp`DduCLDXg@_FB-?vczl*^~s4{N5ZhT`ANh- znxb;t{IgWkp4n^@8X2E>_8X0>}r&{+moe8%TO=&W|-f2y6;I%ch zq;sN{_J+o$rjF(%{$tY#C7l-u)83{tu{NTKEZ5OHh2xVLU}f^+ZwKvR;(`S*ah=Tz z7Pc*JU3~ru|B4xV$Dn)nHkC;?70qZu#@>lda`2V;9Ur?Qmn>*(YiMs>}l@GG4sw>xr3?9QT+2)SWgzTEbeSr+-{C=S}qB%*qGhgc`fIASH+33FC_HZ zL@zVhUoFz)ChYH>?|zt=#7Y3pD*CwudTk={66jltrI$dD{t1;pk8SjDgj~Yb%9KEO zS-o>byKbjGc}(o%N8P)(sZ6@5Xhst< z_D*b)gRiWd6Jy`5hB+`3+uYXF+|;n7<@~nB)`p9gHnz5O`pwapG zW;|JY@4P2JDa!0mDCsU&A11xD`$8V$UgkR4c4&$darMq@Vgs&BX#A(UU}b}+L>pR~ zyk|%8A3>9jy-Z<34ba?`XXl-?@&{F$t&%QYjXA%)y`j0ILwUxrv?C*7+RL0J*9J{n z*^d61OJabP$tx}K;`U~98_i5zPsc?irS>`ZHjT+P6wPHKw%!R%ZqWOER^?;j$wi+k z9wMKR$aup^fUOrNc*6D~eQBqMVtXYsCu1s-mNtVTseg!LUy6X8tk+p&E`Q(U3~lV^ z+~fg)tl#o>*=pS;Wh+KBu|qgHu*n(A#IY}M!;EPM<4){k-9`4~PlaUuerQ4Vp?}VR zosRTVGom+1UX+ksNYq>APUuRFy1ki@cmtvbrR~(jg;Y7@$(V|yrR^z2(ggREUT2Xx z{y=yx)t5iIK2wo2{^)v46B=FBS!9lXyU-pr^mHFrj&*-DA$w8MzOKhxk=}WTe*?GI z(F)s<{fT}359Yha{**r}y*D9y5qnm8Z6cvr>0>*hKjl73A*Y~hKbbG~38CjX7bj#Q zrXp$l;|Z9tM(-0`GH{~aGI#7l2|c&Bl;a<(^wxmrLHxZbY{A4cigL)4F%?PU?@c{P z{exW6S-lto?{+)E2Uq17CuuE5I+;g#^#kyv{YC!LE+{xpfy)t3%2uR}zkPzbcGCJQ zyQFJCinqvJ+Hg4UO-W{yU0ad1v{80!6C7p5TjY-a7BHv|_Es%td}F^!Pa4XEvDao{ z=pEDeZ>ICQ%B-p)URn-)Qnn&({B5u|t#_~!^%l9~pO?Y5D7=>C9o~|TH<_Qz z7yFc~IG=YwOFM=ygbYn((%9Qy@o^?jrIu|d6UN^DiiG~bOvY7ajr~j@zG=`tK;#T% zd2TXW?3)}sn|}}!u#_od&kJmkr}^Y&d6h zW1rJFjxuBHt2olpJF4;bqJCSEwojkbCkL%>FA^>F`bmQ78Gejc7PmQeR0HfdJ6jes zw6wLr$Ia0j!y4O~8k)?p3VdoHyq~(ZrKRxsg{RCoWAaHe%uAQfZ#dOH_1w`0;gk=y z3>u1GFn-*)G2_wDA`qf6oFCbLVHSra`X3461~&rN2FJulwF?ZQr^#M$<`%B%^VYlJb&Hk1hyIT4hDnTV-On%pUHIF#l3 ziG2NZIl*R4)LZ0^zq|8ZVsSQ~v5%1bwjyo+ULmuC-5*VeUi90A%CK5uKQsXscZx3Y z!2vaXd?Gt92-lm~+h3Sic6%W_^O2j3WL(8K$G;UKvN}~Ad;2R5Wy09~?&YRMiF4$2 zm04qVUbvP&n$l1tjK7@(!(MNzg=*jom3EeJjp-2Lb{?-n<4f0;k_)GM9GWMP!y^oQ$bR+Mmy+g@YV>i)Z)G-lqcP71|QFPkIA#$m4HUd+-(` zAAdT14|d9fw%F%+K2w=A_IgrmDn~W`tytkF^2L9E8)m7;2dll?=YDHP_NN~n6c=?8 z|BR~FA(Lk%@ka{|b^gDYl|Hsp_N?^Uj$AR~&r0u2h+f2h02d}cd?FzFa4+xLk)X54 zT*8*p%`C?{8B>uo{usan_Rr|5&LVUCf$%t&Ke|3sku?6X3Yhvo9?M_Cv5!@HYe4p( zq%&5359E-?KUUGhJKOTuH#ESzrw^|3j(@VB_T;;~lCCJKZ!;H% z2c=yNRo!Lw*vB_eO&)h=6-dljBrfeb1^=WcZ@njFE7O*=mEmdSz{Y<72xhFvQDiJ_ zPua_daD?ZBvCmc@tJhg%E^SXKoSmVKea7aAE4SB4e@KnoJd~7K{mdjMeMvLuvzLQi zTGe@-MQtSK?0!~KSk}podHC^B(eq3*6RsHVcj1Z%)b{`;9 zmsU7FXMM~Q85tS8{C$El)(PzuoxCL--1B{yoxdJNx$NDpjGWkq6e%N}>|vghKG8!| zecTfpCE0=G&l8k+=%@1@r$7C37N^fl@&hQll;laTGC7G~b#VGn(uT=@QJ|MiRFcCb zyHVOsMqK;S=AfkAukcQA_v>@kSA#@Gru^adT*ysqxINwp4Y%f;%m*$nh z@2~qNPLE33J@l2XRSjkS5cKOD6_)?pK zk}k41?*7V8&|4q+gvKYCVRs(1PITBE_XLOC@169pJFPgw9{ZVE*v7N>UMK?|{~eUV z*E`h7xb`r}<&H-A!)p&U3ZM0q*zgM9gofAWn&j{be>uFRT>#eJm!yn!X{UW!Bi@1U zhbHt{NOsWVl*HdXz#JEi7CiW(%tdL3yN~eSf7s7JW+YG#u{6PMLManRN|Q z+S||U;j^UVb7EuTyjDC37U#9)WHvL^*wM83;!Y@w81wh%Aljh`u;w5ro+d9``np|EB-Z3<|!q-W-7j>Z*@cssJoOY z9nFoM;n&=U+Xj3^{3oL1riMC~(AFigOJ?l!%6iGQ_Q#KE^Te> znAzNU@#2mP8~EWyE#^0{vM%ev$izsI7>QgO?qLy|AMBM$1 zLYA~q6=p^8;?Is<>AatL5T%S=2*s>o$pxr?1eTwhl3p9(rX@%bQ_#6)nWPd$S z6Zyw}1PNBnev00!b#W=gpF$HoJS>Rb98Tj9|BVeWg~F`Nc+h>}Sb98&mVbS=;KNo~i;O{n} zeDTi(rBiXR*y}jhiT4{(w)pF~$E+w`X^!5vhtbhoNgeh%_ES*0I+5^O@W{5bVK$t>mj*QLx0`Rz&$qyKk&*Xvj7B4SD3;KO1tgPjYt|d6rZH z{#|fUF_g9vi9?SlWl1L-!mP}Ao@1@j<9W=A;>ACjx4W<&zmJ-ZHcHxi_jt5jX7pZ9 zL};A*>qLb7%RRA+d}8lFJtuZ#7JsdW@$^5Q9(l%I>vhkf$uDiK7gq+NlqIe8!mKD> zf){L}kO^O~A>YytVx8+%WEa1RV1we=6^&+T5uJ;OtEp^&B!Qr^$DY*(JJkDOS|Y#8B5!jX|6?q<5wVbzsMTy%2Lw!D~Z>xIATc~ zvGCA^XDe;XTJR|j6}$e#JvJJ#_^X95DvnjwP0c7%?4xjgYqU5}NvoH9tcilf-}^v$ zNw?yFv2VPXz7{}1Uxb!*_2WCQHuJr{LfPK z@RWspVZ-^$mp8OGcPv@lX1ZECGEk8zyYc5#dO z0=HSsOO`HbhL?>y6K>Ck&xXvcKP%2-9PsiudJKY1hMyP}&tWQ!U!Nuu^7Tnb!A8~E z!LVgh7!h?7AfF+z;o;;f3@C3omRqud$`o1g<|T{>2-)nnAzIcfm<8fnuKu$Ut@iZK`CfdYmd)eSA~s z4OKLcqqQ}5%(y<7;+7=-{?4}vw}X|)t|gkr1othFEND!&wprbu7CcLyI4A@*Ql(9tFezi=gi{$4=W{A) z;(SKsPF%s0CNB1_5GvIxDg^4cdR9M6+OmSjvB~31DOnuS%Hmzgq+pm3B zgo}M?EslM^%pQAr-)CZ1;{^Q*(;Iuwu7@nla?++HO?EFq`!?re)eH7sds>%cmwE9+ zS#~up(<7SV_;>S*!$i}Xh*4=%xuCJFp}locTj2vt`Zj%I)N4>tA92d!pQb|r^!TVE z%wj*-Mibj#k0{#Qv9Gc8Ivlo+N}K-PM%r5Uts=&a)~;Xl)Pa(V1ojO5P$a$DmQf_V zdPf_C_yyQE?~;n7Z`S1&Nl&fN#y|G)7gSz&%|Cjdp4|f^VH6cY{5OYqVntJ*oLfng ztwrnG^y&w4#l9s^C{#%z6Y4Q4V?sS{WlX5%R?>uOX5~(3u`f<&X_t%qZ$yC=HA%n1 z^u|7jhQ9hk7G^nV(~>8c8_|Ha4muPC^KN~5nqK$k)RwYj+AEg-Ut^RBz z>nTlN>_cPl5bt!hGnj-?G>P$#iaoKSc}&i&h4Ii_xamh6ECWYoEU(=0C zmNa*C)^{vzK6!rK=?i9$YB2w6nRU8+#|`wSDD>FEE9;?Kg;)2{U|eW0#k^=*-;b1*G@Jc$lI}k=j>xw$HKdI zaQ6Dp-njM-GbE&!&)ocEsNS)n`d_#`S~}K=+v&PQm zx{k#QnwQ{u&sVU~W6agDzDY-oYBJl7j>Rj&jZgSaG?{W#t=YVu(bgPlM%BX4y4I!V zx3tX)e}T8MwRXyvjUHck*{N;#1}O?%*JqoFFyLpmbS^yE4AUrR8#YNxJDm4nsY3rI zsc3LVjW%1#&onORSX|gj@*%}{%GIA5|JEApTMI`~h4+S(v{MmA^k%#gchkbHaJ*B} zQJK#z3RwOL7?fA}E`>lPU0`$0m~5(KtfFX%ePj}ZOU$egFVQOzHe;fWQPAW+(+R>R z?^+1lKiBze>i)5gq9=J}-Ihd2mwo)#stX}YT2cL`g^gv>rcvC|_BH)=J1dG++9{!k zRT#dK_BB4YC}8|?E54gp#y;9(6vc`^ZXUNX#!YjJ0>*y?299n1|9EJk5V@p1M~{)C z5$>;tCJNzW-*$j0>@mFE)F*FSh#Y&odyQPic=yda3SaIgxxwI;>rn_3`}jY45U%iS zolTU4Q4}lwejFyj|G{#l?ZSJ&GHDe+1iA@%VFTQ|&Q|V#VJd zdE5%aSJHl5bke#N0>*w5q3@~vXm6h2yDJJ26MiRzU1bvXjKY?7yOF=`B^t|wtfFY~ zH#<;^PP9TbmUQ~y_lrW7)@kS6W_C@Ey#<5*I#yA%(#Fs6D|7t(eo@Hy-^K%-PWlb1 zg*dU-GZ7~mt@!Uz_Bj=T#oq4O-CN;+}Yf^|4dz?g^GRDd06a_2oAsg+j^>))6 z`|#GTmd)q4n2YF*o$OtGaGg2|TH1+~7Bm{pez1)q$KTe$R24;rAt-HI=e3HW#oyL> z{i0z^(k}`b|2zRIDZH!^4O~fwR0WShnAoQX#bKhMD(y(NkjNSpV#VG>6+T0#a3oT$ zNg+<`?VN~H7^Xy=3c+GOw2H^Ug+VIIp%5hYMPweNFg)ek6e7hQYSJzN-rjg!_;_eSI@D5k3K69|@eixM_ub?x+4N^ZZUj!-D0@8|Swy z8#UVedr3>ff>!e+MT31GR7=}=i%&MMuAiO!(^vJU^84^%BPHz@m1ojS=927uce`!6 z()N+UE_8~$I>2t*cZ<4ycKmf+dWAz@(gCve(0FJW`*O8CI5CeZHMTau(_io@%y`ID zKfC|lg<-s7??oYLPj8k82cV>B?)k2ysp{C9WeDqc4P%zHn)q(iS-a9!6Jb|kFxb-y zC)#nCH6`}Jvd7K_>#rL~p?OKGO>Z}kOp(W4!|icPPhT=r7~A+~ti76-SWNz#DQ5O# zS9!5hSdp>UXy~T@CQ4!O;;+%VYZxzeKY$v`ry<;y2P)TmU5f{9WIIr2XBRp@z316hGC_} z-j~BThKB|sRY}{*f>ViwuUug=B^!HdCal6hVM;GW?5JIo%_VEz}rPo!8JUdd=U zf5GBq=3Q>!7yf%ubI1A34d!iA0W8(_zds7^(14jK6PQ@X3F}Cow*ZwR;ld(C$?9nW69n zg1>yQjTf{jd==w|uy()9IJEm3`gAG$ZoyZg{yv32&Uh_r_ZN&qyQ|UXd4>N~@L{O` zr^2_Z2*(5dJc+ftGvmjG|1J2sgTi*VgBP0x z<`Mo$d@si5vv&7q9R9f;eMTt!M8S_k{b>rH%Xlkmw~=x9=T!7*Rrr?#f4RoI$Sl_= z{5Hmyv3Bod9RB$l`gAM&=Yp?9{c{R`mGKN~_btZZpR3Ua_Cc@=F#qR#C-YiZhz~>k zUJ8e86zQ*K?H)i3&eM@JFgc-?<9Efbq5F-*mim5#!MACiGdU@aqMihx*$T zelO#op>}`7IJDb@J~@T|Uhq$X}E4)GQ<4}Kr!Y^U`5!UWyj6=Iq(Pxdqzb*L72bvd|d>Z2~ zv35VhIJ7$)edZ{9vEYv!5ccO1g*EKkx4l#v#umnCC!+AHn>2{nQFRJ&YHO6P)U265~AoiHt*@EcRh4a#=s8 zGY#0zjrXs+r69dr&;}MVE(+n_cIQ8UdB9+D*TtspV!ZC1aHTIcwTU- zpFc3p^S{D4Z-O@5<_DB;(-!0s2o+_;JYL2k-AmjPrJkG2mL_YUawX7&CH*V z=WUGhcE8Oyub+FEKVKhzz&Q8}#yk%z{4wUgFRPzTOurASpIVsSes&goqg4gL?t)YO?9DjOKa6q6 zvl07Hja=5x2*yD_9P^J+_(bN<$Mbl`dApMt=k;?6^XKC^lX37FiFwXZ__@q~IIEup zOn(rop9>fV|FP)5RN&#el-oB8wl*&uk{ zc){{R!Kr>8WSr;!3FD9_hkeK)m-X{=#z8+7^FOEX-!p$co-Z@b+x;`+ynfzb{(L;& zWgL8FV4kfC{}1y&iq+46!REzgf&RiZF*<(UfpPG!NBFY@4UYUFwWaOi17`q zenv2V-ru7chdlEz&m@IUWB$B;P8WR8Hpa{>b%Im0lBQ7^B4y` zotIvu@MX-OkLMQ{=j~<~=k@bt=Fi7-4ddX`isN~s!q+i>x<+bV7JQ58C$RdthjH-l zMF0C0zLEL!{{ED4-tOa!uV?l1bLP+c`wZidXC>zOgTh~D{=9zP7JMSs&))>6`uTuy zp8q4pArD=r`xLpXpKW(GBC`Mo{c6l#sqj6K%k^S@c?9F&vj+2w zSNO5ae=^(tq?rCBRzIgO4*qM=f0n|}X8yc><}uFOZDf2MtDp0jKkx4%#v#u-%(GnK ztC>HqpQ{94i1l-g;8Z`?GtTqh#5m-65&Q5>wJ!T2?>XB8Tzk{T<9WwRzF{6 z9Q>b0|1O1pgZcCR-oiL<_jbnV-jHb~SkL@*r~~ zseYbioag@?H^S`U`_nAK*&wnw_+x>)bUO(IHY8o?(TptH9 z4nFT-o;?&k6gjN#X;we`GkpWApW%#y{|D%Qw8FR^PH*hM&{4!=RCpR#QM2VaH^kn#(Dmwj6ws$%el7Fo z<9P$)yxm(F=k=3i{(L;|W*mG5W1jmI{t)x0X9LX3f=8IXh1Jg!jDtVjKX^vrzh(Zs zzb`V*+x-*cD_Q-#%KUkM-(no{48#6@pzxp)dgosM*;eqOFwvkBoa$#+#(DlBj6^oy0h=pA(rsAJ1uwgU?9J^I3(T#r!+j_UCg< zzl7D#e8$0lEc!1}cn9<6{k@oR-tJ1yS^Zqb{CR(`WE}Dwhk347`0dP}Z-3ScJ{{}l zJAzaF+{-x6e?Q}pC&26B8e!#K}Bi*d*^28gZOot7 z&l1LYyUQ8p^>Zon=i|AWaqwxyJYQG%TIPQxtDl>h{wu70vW$a&C;ER+;oZ!i_xDGP z^L8I*youG%W6YoT_esVf58WqzR^fkQ{=9x(6+Dae^B2LXe%@i6=l?t7kf##s=by-B z{rrb<(67ev9JIUn#Vnxbd}rixecYXK-tOLv^ZFUa{P}nu#5nk@!8}JPd<^ryj@8dZ zroWce&xwqK|624vP2p!Se_lWJjPrKSVSFB|pL3Z%?{72XkY^p{X;=74=FjWrGQpq1 z`nf`Is-Lei&hvLM4ta)R{d@ztteBA4}ZEaRZxg!!i_ z{B-8e$Fq)c-tL)<^ZJ>~{P}n`G7dgZW1d!pU&Q?HV)e6(>F;Fqb1CEC|2+C%sqn8c zf8O8g80YQY$oLFaKkJx3@9(!6hdeK1o_iJkF!Sg2^O)chv3@oQPWAH(#(Dl{7>7I~ zuzr4vT-MJ^jD!9)%>TN=-)8=NJpaZxZ}$VndHsCE{P}nWLre&>(E9ie=GjT%mB?Xz z>}K_|C)59c)z2`-A?F9^f2hJoGJoFRQH=9;$1^^a)z7iapZ9k%LyoPb!?)8lG`nieu z^YOf$aqt-og<+QOD*Ok`|6x`?4>0|YS^fNkaqu64{!c3WSInRHcQfO>-4_@?j@8dg z%%Au7&x}K!VVLI~g>Pm4yng;8_?1{c1NMZ`D_k$4`q`dwo_{dokY^&+&u++N{S0Ls z^usa#K?)zi{P}nu$vAI!G~>K}CNO_Ko+mI4KJ>icsS2OT{5P@sna%W1u=<(HIQWmn z{x&Q80_M;AyO?p_ZYSeoS^cbF{=B~##vu{XE1t=%?a%KCbYeGk-pwPczQjeU@=vKfh!Cd_4ceIQY!KJZ~!e zUFQD`tDpCo{@1L2K4KjF>(PJUUgj6G(0-Hn4#+{q`@0L{yxlz*AIa)xDD&t2J&(cH0@}^|O@u^YL8CIQX<;p06l;4fB7I)z7s|5APYI=f`eh9Q-@c|Jw?`hxzmV zexGsP?tP38XZ7XfEL3(TFPZ;4tbTsO^nYdb^E<}D{{i&>v%=qC{=C0`Wt_LWh4Bwro)4Kn z@9!s!L!L)4&-O#jFJ__rDe*m!gN)bDP{G^53^amM{nRkd^B>AMSfp|LGZMM1pD~Ps zeiPSKXZK*6u4P{gPz`>kYb$c(~N_j-Y1Y@oa?iUgMJI;XPoQvjDx-kp98j` z&F@ZrcrkL&)AQ>o#<_o*anRHA;u*%dKFc`hyD?9WajwrZ4*ERhhhNO%Qjt!|1{&aDSTcn z!#LMx83%nW>T`^9eV%d9r%@l^v5k|TanRFqjVZ>tf0}X7=O{npT%Tne^jj!D<6NI- z9Q0NATv34AAtyiMpsz!HigE6rW*qbx)Mpsy`Yhw1??!!&ajwrZ4*ERh$LH*v{EUOX z5}(6JG0y$djDtRfdiwkU=}(^z037t~sLwGU?w@BI^jXvgc%4}KS1}Iy&6J;U?oaRg zraS@O&(0|NEaTu`i~1bn+&|Aa=+mgT4``d;o&0#bKzX`QpJJT*rx^$T9OY-6>$8l5 zehcMioa^(9gT4yyBL=wNaPl(_`a0C780Y@9KcxO2lR_NPNpJSZ+=NSk8Eb0T?u1o(a#zDWC@-xo; z(~N_j?muN1=lU$;ps&U2<~hc>KF>Jl)2OHSDLDCYdkh@(U8qkn&i!eBLi!x)Gm1XT zIQVa&{ETz|Jma9R+SB|87Tk_H`56a&9qLnzbN@8spr`B68OFIj%Q)!ix^RwhuFo?L z`aI>w?V^*PanM)d^&Q%-OMP1C>3U^`ah`{^-!xxzeK4o!^Nd5DEasu@w9He5+cWat zO!*n-d1!k~db)0vQS@2HArDS?f5L0?55+>Gm)%u~fU=<86QVx0Ta_5gf9pFw>_(PtS4eK+cJ zjC21y}`T*-% z`d2Xy`puM|aqgdH9Q1TiGs8I7XBh{5EnWo8G0ydQ#zCK^i>6q2PJYHg--Y@Vp@^tGtZDEchpkSB%u9OK+S&p7DYDL?kx$gMUy3|1ovSIM?SH z2Yqc7sLfJk{~O3WRg8l^g}>8JsZR@i9sZtSoaf0h4*vA|9OGP{XB_lh_&a@3#5RU; zeO0vqW&sZRY?b+sSyGI1eVTF5cUOVh)E(nopJg2MxhhbbpNw;To^jA`sRFfGYQi7e zm>*nU#W?5#e0_>>u1_-#`byMi80Y#dJlyHOtuH@}!=8}omzuVNhZIn<{Z=lV3` zpx=!84C7p%WgPT*)aMxI`aI*Huf+KX4mQ7-#mUb&=&MklVx0S@83%nW>NAXUeU@?1 zr%<0`oa^(9gT9^eA7Xwni<6&m&}S$=>ZIOw}5KjU1VWgPTb%Fj60=NSk6X3Br4 z`Nb?we#Swcr~Hg_|1{&E-$MBr=lU$;pbrj$|Cl;uoa^(9gT5B^!3g^@H$UT`PoX}= zIQLI84*ELOXBg-DEaRY0qdvzt*XJ1reHZG3!^|&camJr<&}UJfVx0S@83%ng>NAXU zeU@?1=TM(xoa^(9gMJI@gTu`)W^wW}4*Fm?{Kw1#>ZIOr=;pJANqvy6kj3iUb0 zxjxT0=<84)9ASPji<6&m(5F$KVx0S@83%nk>NAXUeU@?1XHcJGoa^(9gT5Q}!ASFq zS)BZggFc7)6yw}K%{b^cqdvnp*Jl|AeIE5W#<@PvIOr>Jdm0>Reld%apK;Jvp+3bp z_fInp`dZXy80Y#dJlyD0xC^NU%W@n;X^|1{&EZ>Ri>bA6U^&}S$=<6NI-9Q56k zf2{e%EKYvLL7$`ijC21q;}pJyEOIm$oY{9+bo{22#*p7Jx!{nLztz7mhOGK_P5 zmT}Nmp`M;Yq&((Nc6o~F!6z5uV6))1Bj#@}3Z4Q(v*ZQOAb(Tv9P%xK2LnQ%t%9eJ z2NS}-Q~nI{L4xOyR|+0L=gcxx@D%bY!86E52%bY;D|i5dZI+3Gr;w)v&mf;Jcn*1; z;K8<`{~W2PA$DtHQc za7_63sQ!@;5}cm%s1!WdBYgc(!Bfbq1kWHJA$SgXt>D3s(0`)fDdZ`^Gsve4oDQA#WEv*emp3E_e!gM(_;sD+SLX?-D%NJM_Ov@D%c_;2Gri z2%baUEqE|A^xr6W3VBZO4DzQ0&mrF|c(70C|Dxb2&f(Lkibh+Ru_Muh$w1y3Q*37$dzl;An!n*|RJ3;kadJcT?jcn0~Kg6EKL5j;3N^xrCY z3VCo``1h#(kq;7_?sHTM9vl(AeyHFnWg6EL83mzO5`Y#teg*+p82KkkO=a6>^9vmI|-z0bnc~jV$Rh5mB{Pa#hWo{XAgZ@*+xDl@x zd@btbI1|5+>3RKhFmB=m>(GbS8|POE{c6;&Rru|U_f&85&_~uAaX!CquyK>~+k`%H zeu?w(o0LxpEH#F#Hp@e-t#O!&tq^hlvEFj=3(d40ai#zEHSK+GfSlQ`80%E zp^vOL;(e{RR`ikeM!c`})`>o{-iTA3K)rp;=2zC+3?&b7^69PK>d{Bm8*yH5a8H%$ zU)I|&^pW*O9RJ*Fy$wg9tT*Dk-nKD$)a@Jk$a))#T-Mu2LBA6ak2dA;q(^2mC71bt+^ z5yx)#T5p@sN7fs0UT-_~P;bwpkE}Q1vfiFXy{tFleXX~b(MQ%B@xIpE2K15hOC0}f z$FryX=>sT~^+ufP1nO-UHovmo)+l+1lTUB;wibP4y%Fd2HiYGo^)?TEWW5pZYrQq0 zkE}Q1yx#Wgq24;tN7fs0S#PbVm-R-xul2SPePq26?`yryKp$Ce#PQF))>}OaWxWxn zI)Qo{%H~(r+ejr3aq{V{-o~PjtT*Dk-VR`SWW9ZIunBAyS#QMqT5kg}kE}Q1yxtD% zq27j|kE}Q1vfc)xUe+7&zSi3?^pW*Oys!244vwd+H{#e#ul4o;`p9}CPIUtHR%6DK zj+bP;J+0&+PCmWW+wy0?Cw-GFlthaUOBkPTLU+Zl>`p9}C&g<y3C{>un_Z$a*8**LoX^KC<43Q=LG)jo((Ux4}vt;^fm?y$wMhS#QL7y&cE$ z$a;HuxCv|)S#QMqT5qqRkE}Q1yxxvCd9-@_0DWY=5tsG$4(esS5$|igeS$u+-iY_L z-kwGuS#QMqT5r#zkE}Q1R3}hx@a(p>Ki#0@Ax=KM)!PH;BkPSgueWI|kF2+q=p*Zm zcwg&nHTuYUBRj>t*>B4I`mJ4b*l)`H`fY{i@b*>i*KZA?!+uk)J~4i~47M-(taxnIAP zi4OZsxnI9c5*_xNa=(7d79IARa`lPvTOn*;_FJ+eALXjko!?SLhyA7;{Wb^kVZUuY z*ft*an{vN?>nHiJ-;|@@=0@?`V9{Z}DQCYWNId&ZxnI8x6&?1Qa=(6CFZE=B4I`mITH*l)`H`mIuQ*l)`H`mI`Y*l)_!C&q7OuzlHY zMUH%wt4`l;{8l15>^J4;x0@gz_FKB>u-}yX_1gr|VZSLyzug?gZ`q>5epAkVn9Qi0$oxa`pZLsLD-;|@@ zDj^^CTf6)m6Z=iMU%#yt9rl}Y^xIug{I)@K*l)_&Z|fzV{ifWn-!_X5`%SrDzqN`E z`%SrDzpWA-_M39`iSb(%Y+v@<3P(Q5Ri`_@HHZ%TO*#7QLCA;wRwg>^H|2i)wn%i? zZ_3ecKaJwIYSCf8DQCY`N<8~bxnI9679IARa=(5n5*_xNa=(5n5gqoMa`lPv+rzMZ z*>95^`6ySN?);W5I_x*)=(k$Phy6BGbl7jo{rYW$=&;|Equ-v0;jN z`%SrDzom-~`%SrDza@wc`%SrDzYP{0_M39`iSgS~*uLzy^`US;_{I4sSDo(swjmUe ziDSPhN53tHeAsVIqQibu?$>WCMTh;S9R2oeI3L&jtW~1JepAkVYn6ERn{vN?YZsln z;_S=RzhC&Da=(6C5wgqk_EqlJZw;cuep7yu9VYT~D9^$6WxrKA@=>lj-TAFrbl7jo z(Qgfq5Bn`wbcRX(T4&{c{gy8}>^J4;w->|txcpWkI_x*)?6)F`XTK@;>$ft|xhu}T zv<}Ms`fZZvu-}yX^;@>+u-}xQBzck(`}JEt$%p->9R2p|a6T@-4Hg~tn{xJBg2c1ml>7DDP|>+7&c3t`%KiFn zz0{NarrfXJHi!=UO}YBS`0aJrzU;SFM?T6`r#ru`5*_xNa`amZ$6-;|@@ejmke4Wh$-Q_g-{A@S@t<$nFvBs%Oj<$nEEDLU*o<$nEEEjsKsO_M39Qe#;dd_M39QeoGb|_M39QeoGY{_M39`iSgUJuzlHY366Y}t4?=*8!S5P zH|6NJcF2eQ)-JziiT$SBuiw^+4*N|x`t5@#e%l~A>^J4?xAhXwepBw(Z<|Gj{ifWn z-&#e7{ifWn-&TnZ`%Ss}#Q3cPwlDi_g(Dy3s?(j{8bpWvrX2nDDdfX`D-#{|n{vN? zTO>N{H|6NJe?;+HwdkBPT)f%!0@kthk*YZ_(qtjA|6Yg@5?@X6${z%NdRrGOxH~m35 z_s>-l&;3)m-~QPyI@g)vgkRc!lym=FDe>GtmHX|Vm7>G_Q+bk2Cz6lpOIkPXpVgw1 z2JxnD%CVl&`sZTN;r^*SUi6J!_646L0v`f=2=M)Yhk(aw-v1c(Blc~sqt43Fw|L%! zzKu5T7l}UB+0?iTuKb8CK zpRJC1Do=uZOkZ;K&sCzs{Zl#CGg|*_7ai`O%CUbQ1pN^EX9zg<&*8vBvR>x+Ay)JL zd$1qzyua8{XXWTyygrY;+&`5kiLXrmG=0g{KL?8r_fO?m&uIN~sOWJ2RF3`gFzAQa zKSu(`{&_g?kgQiM=lws!e#G;B`vG=9uCsFVEj|Z=zKu5TuNQr+v+=ER_U#6VXWuIK z>)Xwu!@gC{zFjNv>|5o2eY-+*xSqYv%7!~Ih^ z)-ziF%oQE(pUSa+9u55v`)3Mp?4P57hh)8CIq$y#`w`FkLmhQij=sg`jnTK!=KW;R z$2uF|DreuON<8~kxnJL=iw^r%Is0~m#ItXe`}OU5F)aI5d6H~j<6Gkgmv1+S0Q*)s z)-#%KH;WGYRyq3iSnwhGHWfJf_Bh}nS+CxC-xi{G-rrJ(py&I|(64s%dB4fAzbnW7 ziO=(6|BN>8w~9XQ@1}n$=l;1$;<lI?4JYy9ByZK?>cZjz|prS0T0P~_0IdY5WVyM zmO2ET_g{j3wWH7boAlMp+|9RMtc-~*^sIzkPE&l!l^lh|xe}(8{osDmmvu_(Do_(v_uWy?~ zhkdJ@eY;fR*|*C5`nE`PWH=e-;6wE7 z1mNh~(}1IId++b}-rsM7J{EM|UjhAUN1yl89s9d-?4S7iNw9xLoA)P)KJM?Pe=6tx znJw|$Kb8CKpShyL{Zl#j&j}LG{ZqN${+S>;+&`5kLH{&;$<;pxiw^fsN+{%-n!a_*ni63_ipx!?Y|Sai65D(C*WNaDGFD)-wzCy5T%Q+bl~ z8FRhV^d(pS%od$Ah&Odpj`fVzKXXNg`=@g3pXWk9#QvEDT;wAC^E}`o$upMc`;WqY z#Pj}8NrdaH9DVy>SVz|feH(4wPZoWwv#Gyw_HC-fvu~CA^=-Q7uy2*KZ%0Tx`&PMM z->%=+Za}W5@+8^5#<#`~F5hktoivCybyJS@jON?TqQkybj=sGBe5l*m_%Iu|lqurd z3xS6u&)#|87NU3F-%^L5^L`EVs~vsbZ*uJK%CUdq?_0+H8ExKg6@A>_O&?Is{d1MX zbN^KCw|};a4);&x+&@=JJoiuKe*0&o=y3m3o+N$7^iR{5T>Z0Jbhv*i$9hKVpNmC@ z`=@g3pBF{ai<#m7{O*?+&1Eqs{w8qK|bpzE#e? zEs=Qkt#ZGblA7bv7XUY<1LAd6F%6DY zORoO8N_4n?D#v<8>!0nSa}kVd>aQI8=M?CN*gx}tWB;5AJS6(DocC{s{fOuN#f~~F zN8jS#w?f}WoA+0UKGxaPO*#9vLE_oB%KiGbNp#q^%GtL|C7yk&+^=toM2Gu;@+8^5 zX5Ke`aQU`GblA7bv7XU5lzfIrdNd`*GMmqs{x1L?8Eev;QjR{+TWD+&`83?Vq`#!~Ih^_sJ(O_iupxi0A$Gz3qTpXXWVI(y)%M5BfIRyuV)bvCgJ$%GtLYB%Xb%+^=sp ziw^r%Is104#ItXe`}OS#(cyY3Pm=9xd~5vR@@<3Yuy2)PJ)`-yNp#q^%F(y8z=yh> zjSq`}qi<&e56OD<&il3yz4QK-Is~2fuYrEGqtE+gj{RLZ_D}pf#n?Zi&HI(2kNdmn zpUSy^R!cnhPvw65=VH;}{;8b%=OT&c{;Aw=|C}T`+&`5kNuM$O)AS`*|I8L0?w`uB zp3(YeuIO<8RF3^~F7!j}pT)qje_jbZB_BFmWesKAAgXpktm18}l z`F6ADuy2*4Z|8##(YGbQ(YFhLhh)8a=Y3m<-g$pZ9fHpL#n7*I^m)I@vA-+F{yERl zKcmh2t)h?nyXl|Gvt_?C{lxH963_ipx!?ZTE;`&lm2>}GDe={mk8;2Lvr=@pe=1J` zebbj*{j*whxPL0gdPeJ?i$#a~r*iC{3!xuk|11TL{qt(zAz80j&ik`qKjL{m*HLHX z=-YgUZ=;>>7l}UB+4xg=Hf%@3OC+9stK6?|%S4BLtDJqCFY(osk8;1hO%@&Yt@0$$ zH-2#WHdS=kx5}}e(R`aOI_z8J=-X?-hv?ff;ON`yfQMwgdgpyxh~9aBOC5sF`8C&>Pb`@89r%Cqh8KmNS%V2S7csoZb>94b28Kb3R; z>?iTnl#g=1{j=3kPvuFVZ~Bs}f36Z8?w`uBp3(YeyXbKLRF3`g2Iz;_Kg)q*|GW`+ zNY*Qs^Zr!Wk9gi+?5MMH^zCGaZ==ooD?}gbY<#Oc8@8k24HD13RqoffO`^lTRnER$ zD)H=F<$irzBs$y&lqbRZ8b7#vTOvB_Tjf~KXud5I9rmqq^zF^yL-g$;;ON_1fQMwg zdgpyxh~9aBOC5sF`?=7scJz5a-Lbzb$NqVlqkl%5_a})y?(e2gD(C*0E%DqxmHX|V zxuV1UQ#tp~2@=o!Q@P*%nIJmcKb0p*pE1`rOkZ;K&%vU@{Zl#CGg|)~DmvUhm1FNV&;3)m-~KsCbhv*iPm(@k`lsnjuKt-VI@~{% zV?Cqw&s@>r{;3@M=RMF5v42(p$NqUQ@Q|!mEa&~RVL#$|f2gC*%F(x{JA4~$-cJ^N zth4d0a`tVi#ItXe`}J+Q=&)~lJnTn2@8>$| ztQ>ut?(l82dA~^XvChV~%GtLi63@O>?$@_vqQkyb&c4l;c=oMwzrIZt9rmsAB-y^k zx5f`H-=>NV`&K#DGn#MHMTdQ>9DVx;_z-=&7&!X&QQ#q2uikmz7NU3F-%^L5^Zv=u zuXgl#f3xf;yuT~Q{+Z$EpV8+11lfOae>eS8Irq=O63_ipx!?XdRCKt1D(C*$PvW_M zD)-wzTOIXOo+N$7^iR{5T>W#E=y3m3j`fVzKifrz`=@g3pN~U7l*J;y->eom_RlAP zhh)8CIqx42`w`Fkiyd`Vj=nv{;oE5Q{tD5@Ivd|AXWuqRJo{F;U*9%~4*OO)`*x|s zvu~CA^=*;pa34^fB-_{c*7(8Y+Y-@X-zvv?M)Pf%=&)~%CAIf48-!27?zFh`9 zB|){arcs&oPev8ExL5B>K3&oBpYs`)9VqbN^KC zw}0k}4);&x+&?EsJoiuKe*0&F=y3m3o+N$7^iR{5T>W#f=y3m3j`fVzKZlAA_fO^6 zKc9wvD2qkd`vUoZMtXX9Jt?Ar|z z&%Rae*SDKRhkdJ@eY;lT*|*C5`gVora6OeL$@VqAHGXjUwn22*x5}}e(R|w^I_z8J z=-X$(hv?fCz|prq10Is~>Yev(A$sTiEp-Sw?;ipEYDb^<%N+Z=a_pbUj{X^K-mesW z+}}MWg{`oTSkgQiM=lug< zKa%O~$9X^3QD^1o+rbXsMw|DGL?7#He5;&&TO#r7TjhRzTP8Z}TjlKAe2Hh@D);N# zWYJ;YDo>K_YkX_`;PP#%=&)~4_FvrJP5)HR{d2IybN^KCw|@>5 z9qymXxqtSPcXqbFVmM?{d1M*aQ{?}^^Dd(+eL@_r*iC{zlMH@ z{j(W3_RrUVhh)8CIqwgG{fOuN#f~~FN8j$^@NKkte}(8{osDmmvu_(Do_(v_uWy?~ zhkdJ@eY;fR*|*C5`nE`PxDO~#0^b@xxO`h8I_z8JSkGv_EfXE~t#b73Z@`D>+m*o4 zw{HMP-~I>uHWK{25qJvlO~7@1jsL#`o&oXy1)d3fGw>|n-viG9{y*S(z<&T<2s{qf zw-|UI;HAL(0xt)?6YvV){eV{i?+?5N_|CvJwU$`cp~tPzy|@3+-MDdW_-0L@OT5lFY|3L;EBKo1Lyvk?%3az zWB=Seyk3cs(ch&Odpj`fVzKZlAA_fO^VqHpZ-JMf8aXTw{74}tjK z0}lcJH~4=f@b}CL$SXy@8~win*Y!1g0O+u9+Y_t+*I7CGHqPPOX!HJh(Z@QQG?lY& zH%L7DR=Ho_ZWbN(t#bD5T8U@hD);N#6{5rSRGwtZ9XVb#esKA=L3DIGn*LzwrX1@T z&9_aW!@gCHzWoFE5PjPU9DVyo;2~Kr<-_9ew^S-S^(0RWv^s60x-Y;|P@5-@% z_H*>lX!Cxh=;Quw`haropVbo2{ZqN${<&CmxPL0={<%ovxqmA6+dn6X4);&xNz!Lb zKQw*G)jzXEhx?~;tY@_TnJYTnKb2$u{4?}J?4NDGv46e=JS6L7`e&@>{qK!Y*)I6@oKbrKUws#&L$n@?Aug{XWuIK>)UkEVc#le-;R)Y_N{WizFoho zEj0U9d6H}g<6Gkgmv1+S4*OO))-#%KH;WGYRyq3iFW^Jn&c=tUfTM5U0Una|>Yev( zAxs^5=l!0|`x{Mzkk^hr?>9O2cjeeWzYDLI?pN49qs{xRqL2H#DUWjQpQ|LE`=|0* zQdiS|uy4!*ZuHwlhx?~;?w>0qp8KbAzx}gPbhv*iPl7y6Uvl-&YSH2TsT}KxbvO(3 zO&u1C4);&x*gyXY{ZO~F=>w~QWB+^)cu2-I@v)lszcMQzFP`^v9d%ZYzWpq$qw9md zjW+KWi9XiZq@$dDTO#r7TjjH4J-YL4ndq=@m9ua2C7yk&+^=twMTdQ>JPGnQesK9V zRdm?5%CVl&e48#h>|5pN+rNPibvqj$wgX4segHfq>t*75&-Z)J_uIe^LC^QUFbzUp zJNmr8c^8`~@9)a7fBrMPUb8C&>Pb`@1QRa_*mlC7%1I@>x>X?)v9Y(c%87 zocm`#iRb>Q+;9JEchpmP66A0ClB<8N6&>!M%CVl&`saGl;r^){`{&=GAL@2C{qR$> z!Q_Sg^B=%N@_8)h{SL@S$2a;Pg}LU3`LBU^{oKTV4BU^-T8Kv-tdAd^PaHZy^ZC@F z6EvTHICO&Mv(BLtG@s8LIzjXK+@TXRpD!FbLGxMf&N z)9KI&n$K4bouK*r+o2OQpRXM{LG#(*&UVNvGKaTk8;-7Pf?_X)- zbBV9p$MOQ=s&hT@foI$JO5*wq{R6~Rr=IxH4_loViNAY_R_)~XTej)MCZ?pU=;yeA+@|%c{lMAKQ#OKVm z@eRbwgzGaWn&**c*?7ISp!{IjU-TGK`F-cw_+w=*Q2twKz~>M@_8=QSlX&qpmS0bN zx%lK!;vX!r@lC`R$a<|NK5wLr|A6=s(ceV;X3_Z{@tdR$yGVc1_1$0k!#>2PUu?%c znE068EFVR@{~nf~L_A@x<>QF|DP;MD#P7Ju^2x;axW)1U;>ToIUPAnZB+G9h{<`$} zD&ncq9~KkOk-k?){QL^5|03~zMV2=cug|kw=RK|eZE`&D5ye-^e*Hc1M;^2~!v@;# zs#7t}zE2~*V7%oQ5Pwqo;2h$&$^pV1#P2=I>O4hUf99%*`0O$p-$Hze==_uTH`0gq zGAk5*>3X$@KU0bCBzy|-ze>NlhWI9_a~1KObM1J~6aV3S%l}9`^qA%Ah@X;S`R;OG z%Y1B(#|{@hiuh5I=LN)vPq#YriBBxB{BGj;av=E(@re~S{`bVErC9zk@k^x-e^30t z8XLc_9N_AD9Vq#aCjQh|8-Et@hh)3oNc`Jyjm+yV;{U$T@`s4$ms-Az_;9)L_&o6= zq@J%5KY51L`91M{WWC-Y-YkCmi1-k>Vf7{PZ|}4En~0B+I_$ce{aougWTbsRocKV| z$sm5O_-_jF7CC;np7_kER{t5|Z4$qd_+bay_)mzB5+1jE*ZhwY9wMGDJcIbT(x3B) zCrTY|AU@}0JKh7t$BEBhB>w%~HvS#rH%OoShWPs-8^5>AW4c{F7a!{H6;r-&ri~v@ z@yDNL`I!zrm3V^X5xnn z*WX{Ob$d(Bo6=>!QQjnV$RvLK8TJGHy}}y*=V6xTQT#RXzKHnDV{CjW@tT7zUqn2y z$nq-UCE~-y#CMbaP)B^#9ag7-cy@~A&BR}n?bS;BoJlr*HSx2hZ?7d@ImgC#692f? z^3BAr6`#k;cGEhyN&nZs=b-$RJgXC;`2W^fu77_<<4=?GkTi;)e5j3|K>V}&Ezcsp z`f|&2i4T(gKa;u4k2e#4{|T$}5b;qV%j+Gyf%r73{~w8~&R>Y{b%oXc2l3}*-u#mI z?wK}zp!8|2=cm&5b|XGa{!a8r;zO>qIwup)l>8?W*Z6aY|Kmifb2)L1zk+zb1vdUV z;t$Haa5M3V%WV8(#E+7BXesfVWV`>G_`ar4;n#17zajhAKZ(zkx_wRjSK^;tj?kn4_G{|BD2d@thj%F-f8n}AYM^oc?a>MCH_AS{$Jwy z4DMj{byzlXy;^kkC;oxVv!jUX_DUswyc~CB5g&f9%|Dy?pt+Wp6K~qz@}D~RBgFTp zvhfYXRi}}7b*+tWC9d1+ZQ_R|*!ZuAPab9YH^h_1TRwar`(1tenDp&52Tv!yoA~@f z;;M5g@pB)y z5#Mc=jo)ow`(5j)+iNf4{iV+wLp)RFkuk(~k^N*E@v)cK@ve68>xiFpo{fKyxauq> z{D`2VKZ_=Ut(=UU>&K5gUg zA+Fo&0pbf}o^Bw%Dc|Ze6948b%hwXW`#8)0>)<~SfAJ9;KSbsSt*7c7Nc=>(u6qn| z-Ck+L|1JA(Hu03(?YKF_2g-TGBI1kX`1TP8f1LPO*iwI_{pbebXI0gZMAT+T|}Ht~yhQ-!Ra|&nK?i>uTaZ zIorlRKzuK`9`O+IJ6G8FH;6C4!SZ$o?;t)#bT$!Jo$rZPh))K|`G?k1x7WVJe=f&G zV~FpbX7fCOc;5+@UrxM8j!Uj{@EeKGKh^3yOk8zpiDxXe@eRavd%Z&Zh9hnKyTtE* z!1DKruR7iGo#i-G>o)fm%ZEAmaN_?s!N#9JTy;(+e&T~R{(R!Py>f^@Am?8TiO-Pp z_iKqymVBNj{%eW5=bN_?Cg_x_&v^D+;1 zIQUxPo8-Fp_rz7F&+xd&OY7D=#=hU1xNfflh<|&djX!~SyBvp{Ogtq1yn^`Ka-MRd zgWp1YKRKU$jJWD7B|c92TO)DZUcVx~-NeeK3MjnYl)vI^YRVEGtRYjc$RpL%rCDy_-~27Fv9Bm zow(|JLVUdRS@o~hQ@7U-6o0Vz=YT`(I2wP=a{K-u;?K)zOMy`iUbMVWF|8SJm zzk#^w+)RA@l{WsT#C3Z;N<2@F1DlAq$Z>Bo@q9VHUr+pR)9koA$#&5CC?7z4$pjl8 zBChdC#49eb@h1@1?Uh0N8L3+?@l8XmP9E{6ce1>a_`Ihqf6~F9CVtYxHolp->Z~N* z`lyXxO5 zu8rG|xNfh5h|iYmnI{u3A7pjL5kGHd%jXcUecbX}9Q=0TA=w|75LcZ#;(DF2iMVdB z*NL}E{vQ&rm-?(Be*H|F|L$`9t93rN*78Fg{BYvG&9m|2h^x--4*#!n`$+bfUw zKC^B74aAQXpWICRo^dw*=fv~mc=)#t{wDG1saEG>;;Qo*@egF&?}_X7+G(WK(>fm} z^*@OC>d`jt5aPGVaq_vuAFHD z;;+m0&L_V9X&YZfJg2|qPdoUt#9RB=_?5&}r-gW0p^a}RuG?!3@s~?&e4iuicdhf@ zx7zppiO-gKYBceahuHW`2cJaz)$4400ddutMSMh#jlY4oZm(O2-zev;PY`dp#_B91 z{<_6+ZxO#h_OEpgzMl98CtIQZN80bZguj{lu&OhV_>%i<+%V$0y$&IMuk2sri2rV; z)j6Gbk(}SnBR)f}-`?)vcM;E(qnYeDR-x7aBj+56A|N1GrUY`~s#LtxbBexO1N3M7L zAMvkb9)Hup|3tj$c)MQzAg(%J64##_=_AMKT2I|x1BmCJY4r~wez@${hY{cZVjF(} z@eLC!zrw-i5ML9r@wX9IojZxYCinFoC$8IT8S#&0e_u&lf6lFi_{)_xpAE$KxYY7p z{WL{92g@pLOt` z6TfYu)oCHFI<3SP%6!^ET({S!#6Okm82x3x*E;`3>OYY9-q+fEjwAlL^q)x%o<;l~ zsn1N}sxy~(wVa3EOkB6u?ZjuuJiUx~?u|D8XNXtG_0M;R-!ja`uXpfH;_EKA@dM@g z0_+^hNj82saot{r5tlX)cRKOc<@j$R@xAV``d1OZUygI`a`1bJpYW{JSx#Ja z>WMckhX1pAsJ`$4j3R?=R<%`^fRW*12Me)j7(+M-$(7s*RsWTy@SN ze(_y4ej0JzUWLTZyTQiaMtqSR@7+oK=re5mFNnW&mgRqP@VANoN$T(gan<>X`1x{t z(Ek`aj@DDR*RI5$kUnx4@pptDNxc1ft9vo=6P~nuj)Tu5zUxvOet#P0?12g>m;*Jm{G)v^-D2{(1y8+3jGd|%+Dq@(Nmu!GkT&z1ds1?cY& z`m2EV1^zG6(Q$W?^DtiDVZ=*i9vm**tZxYP&jc=0PUO>k($R5mb?|E9@5I|dYCvBu zX-7WL`-CPRv%V9|f5NZ7k&cf0t%DDg^G>b9K5{;_n{Xp5C5Y%B2mFW#v0t)CN5`G# z;N`?0+|BAN0)06pihQsFxLMx{S>NB0j*h#=!M`DXgj|2v1p0Dl5E*xPn$61$CoMSw z(uHf?bll4vyoh+KG^b+Fmt8ZWUjy8%uU>chKhn{0|K#8w5x-`7L_Y2l(3k&4KG;pp zQ_cFGU_&EcM+)clo#@~>#P62@Szia|N4)|bMd0yW!4nBeS{2VKmDcsakPOT#!6azP_nl0;lC+X<=KIPyq6Q3vZ z->aaXX;X=O{RH?#;Bj&vfY>0B$8D%`BEoQgy~$OUdzwMN!=A?fJ)-sj-U zi0k>`GoYVkQ;B?i3;6lK*OQKpyStc@>oAn~eWzKmkZ`lU*`S{Z+^lN5tnYNv(Q&VL z@Oz1$d$1kk0nit#MLy7FBthI`{_S&-Alm8$mxG^h0u8 z+0?KDZY2i$Fi& z6#GWkw@%jgFyXwu;~e}#;&03G*(IPar#g`VZv;LM@>xtey1u`1@K)mcm07Vi&@Tb~ zjlj+JT`%jqSB4GZ^&RElrxHI%&W}zLZt7VY{->|m8TNmMU!ySmy&}WD;c=Hccq8$L z&$G)n2{-yug2)GJft&SB5&!=noX6e&)W~8#{{9fH|53z$b*qgVE!>P-Zc*gxCBSb2 zUP3ym|Db~}CEj_P6{`dNMWEjX+^lbjtnU}3qvP&8&MwS#*pK)l=i0bo!uy2ZR#+7I zdK&OMfaj5pj(d}XR}nvGKPy%Z`jw#H1iWvUH_H0{m2`C6e>-^p@m5sp(B~ZcexPu( zzEu`QzK#ZdAMi<}qvOtTaJ?>~;|{pMij{+YHR#s?H|x7u*7r9K{SO`dE8=71zQQ-4 zUjyR~n_%CVIy?+KO}OT->pR)O3yDvaq85SvV$iP!Zq_$LF4Fv*badP|9sC30eQvaa zd<6QnFz!G(4l?Vz1o#NyyuPP9csB9)pIWgT&|eDr<-pDQF6wVTe1vp#eP43$-xI%D zPV)XJ+^km}jQb7n<-ik9w{LiTk8$t};{TD8zX`(4xGO-v2)J3_mj3p`+ek;(cZq|) zNWAHAtMfAG*Tc9U0e=DbX427d50vZ8T!&=hcZyk3gq!tk0R0@`W_=TOwja(X9Ub>> z2Y-Ti!ai1K8R$2{xPJux3h;HLqvP(9X@huuhY;WA78^HIxLMyO(4PR@tZ$aA?-bI} zaj$XkyNDkw2XXg;elv{wGVs@duOb~C_ge?=ccxuf>+mm`2jhjC^<4@2DZtJ8>hC2y zi*$6{%N_h`;>~hUa~-&_0HxN%- zV8t3ie=X>D05|KqRMz*uq@&{wIomGGbr?=u?{^$c{46=xIaau-!)K7sr4)bFHTJ_P z5dQ_l-%s(H=VIcT&vN3^@3msjf&M>1|6PiIW4ZnCeTeUb_}%3=n(MPKan0vY;?=ua zvBQO%`g{%g=TZD(xt?<&#D4?vw^O{<=RV?^Pc89>M*`;=hCV zelnkMeRdJRL0t2BkoeouKOYAD zz9uPoy-xAV<#_M65Z@2tzoU4~XD3;2t()dEh#dkbz2#cMvF5Z8RZCcek@HlP21{-L0Mkn~Hf&mOrp{t)3N^e~9O znBp~`JmQ+q9O4~{#dSTc4j2LL&?;+fTo(S>dDPHrLL|pTkO#G_@to~)7e=_Lb zO7WFX+xR;mJ_F)^Me&-??}%$Y?+{;clhuC@^v8pKpNs70>Yt;g*!TT~o6yrB{&+jsFVbFM;?&bL{6_pHaj$pLF64SJ>qyDaUm*Vf3&byk_yL!C*C&y<=5rwNV~5-24;F5uuL1pu6#sqrT9tX71M&Jh z-VDEq;e2gvsNJ;dJ#@!wOt=A(ayLH9e&XRsV^ zDu3c`o6iv8MtTwGXHfj>MK*o{#NP_>r4+CE+(=yWxrg|jr(6B|LH~Bp|0TumEXPZ~ zhWI-n{%eZYd^Qu;e0KSX9bfD7AGt2KyKp0YH|UR{`02Ck@+Uxi6~xb>c+F=aan0uz z;_DVz{o6tRe$aoO;y1~0(u)xP0K|Vr@tV)SiEBP_avfUhv)@>oPe0*Cx(4)fZqRkAnWw6kjyW#y<=3k3;<5DPHqgM_lvymiRu8 zSpDxne+lRxEXSu>&jYWv@kzo>=u(KEO!1n}bmE%NmBeqk!|E>p{ii|yQHuY!obNvY z@y|f~I~1?^d`MjLSx@{ALu@{spuYn2hveDMwLXt5weN=tH=)l#e3o#H*L*G^uKCO$ z{zviWEa67_dCA(tMHE?G%5&-u8pLApTW| ze~scbpErqXKC6k}ak<96}P3Y?opHA_b&uPRpp9_e0 zWLW)+g&XNNK>r4cFY9aLZ-)5aLHsW$Uh`=tuKE0l_+RC?^KH<76ZF5Mc>Vc@|3Q2! z#2+)==BxG8d`={;`J74olLPJYXA3vde+K;p6o1djHvVdee+%M&M)8`@OT;ywmBiEJ z{G|o-SAl*f#q0f#4G{k>#E;DPuFq)Vn$Ic3uPU?4j~8yF-vj+w6#s@CH_wImzd`(y z6tDHspG(&5sQJ7?@r8qJKEDF}4?+J^iht=b8~-`PcR>7sGN0(Un$KaxHJ{^%kCx+- zhfLR|ByC;sUnR=)xC*MWXJ#V_00#&R(Lp z`uBXVp!lE4`N>rfzq+5*Fkf$=_|<#a&+dfyPKd9j_*YVF{6oY)k?SPOK*z|`>}=zo zqxgv@TK)>e>$8OBliyJMM{*zb&k%3)Yj?If`ge77J6>{=uEqAV zO%QMN>qNir4Ewq2?)p865>aJ{sR<0?0BpH z1jHNt7SUf$@p;$U_?I9)4fKCa@w4T6;vXR1=(mafDvCeneyiUB@#8@MGm6ia`zzl- zywTU^k^V>V$;++&E`|2H@y{gC-%GgqZGqg!ISAs7euv~glH!k!x4Nkie-Y@PMDdfP zZ=4D7Mt_~?pHK0xo2D3kT?X-apg)7+-;w=gKExaSPSG!;_{(J8set$^K>uEfA3Z3N zPTZpqZ}c~c{!qbq{x2y$`!*Z@JBT;>aRV%Gqxep<;li(Wh`%26KcV=q z=G*wMAl~T5i~e^M-}hh}zw=D{-T0>h^!E_1{yF+o8+QQ28~sGlA3^bYKPd&`?*skg zDSor;FQ-Ag(bvCKe-6brPqq0>hWN#xKb_*wl=~EOA>QbRB>z&1zw~CSzX;-=0{y!v zzB$RpKLqhcf28Oyq4??Qa`ivC23f8|~qe-Xs52K^}%UnbX4XFKGw%xE9gZ+{_2%kx%0yd@uRG`Bnv7E|Ek?E%1Hi|K?jg@cn@|0}laj11_yOLOOtt zkpG)+oxn!|k0c&`Z|Zym@I(W`FY`@KEh6tjz*8c`en|m-4Dbx#a)=iBGz+-wx)GiS zTu$vGycl>o=$8Y}0A2-r9PnD;6M)wP&jj8Kd?N5R;FExN0M7#63H*HEYHstfwA9F_ z`g8M!%dOW456RA8xLg{D@D$*=5n{h&0M7%S1$-LtJmC4ji-F6bLFChN;IfNHcolGI zg%Ms0ycqQBfy=2#EK0j~s}2fPY+G4T6w)Xfxf-1pfM-B_1Mn>1jllDOzXH4%coXn);LX6R zfWHpB7Whiw^}t(zHv@kYcpLCm;2pr*fOi6a8@T=wC{wpp!1daK;j4j%WYRVKec&m; z+ks~Q?*N_!d<}3tr!)F%ffqykXTZyWe*wG-_&&^K zbJ116@p~h5!5G`HJDAAzse|48rG8_4wLweD1VZ4r&d@=S9nbp9uO@!0~y`THqNF zUk@Cgw`>M}8pO8&$LAqCfKP<@PT=^wVqAQ9g~Bfriq9n`0>|eGL%{L5!4%;5yk7=z ze6BAGI6jY;2OOWfD+Z3w%asGi=i;h>X1&+@x)C2z|=r;q$=L*_@ zH$!{}aJ=u|2^{a&$H{#jBZ2qj6M^IX^bl~oZ=M1i?{{Ya$NSn@!0~=`9&o(xTnrrV z7ncLa`@&Vg@qTVC@D8Y3J#f6=+6)};tF{5h`=K4c@xEuo%;M+1`X>Bc+ES$d8{RO) zewZjRCPg`PiV*oY5^wn75*L#1CSInR2pLKIEP0;-Tz1U}NhAKWyw3ohApbYtGKpU) z@3Vm8b)+2Pnok~ZU3Y^Di7%7)#lZ2pQz`LWd0!43uSZo7pC<3Cfa7(l8seHyE%5#2 z|K?jAab4ef;34_H`PL}^H`_53{-^mghyQP0h94aHpZ(Gz|5vX0v;iLh@vDhzJ{`bE zLi{@7nolS2BOrbwam^=^c=$7uXEMac8xVde*L)Izr`V9lS3PDn9~-XugdqMHh#yH@ z^GN}o3h`;gHJ=RNX%L@DT=U5Segeej5Z8S2fTu%zA#u&87s_(`6L3L4DmyVYd#_1+Vjj}BZ+H1DZukUKaKb_`78st zGV@U;am^SGJnokPwJ0L!dxaN}qyb|IwiEBPtz^foW zhq&gG2mC&WFC?z{6a%k@_)_AUPdV@!h_4{7`BVXa7~*S)Yd*EW7ejmfcP~KpGka~e3k`#EyU*#*L?DTe+Kb|#Fxou#lXLS_)_Az z@>w}>ydP9Se3`^o0q+F;8se&73moqs)e&DNTJ^y3zEUG`)o%vA5%OsvzDz!A1O6Sv zuO_bg9l-Ja)H>qJM5_}x-nZIFT=nDN{tMpEiYKo6iNNtb*AU{W9|Df|zeW;Q{S@GM zUo4Hd>SqAQ`(>HLRX+xipqSYEI^Ivz=WUg%ej?m2!~2Z-e5;8!T=hc`kM|$-c~TQ^xay}sJl>bo=QmBf z;i{hj@p!*dpO-Z8hO2%S#N&NTeLm5|8?O3!5Rdma3yG_KF>t)^SxQ{>%Yozl&g$DmlRDndjgPm5Rj&Gp!0|rs5aOyI0*?28M-o^46ySJYIE}dKX8_0h z#hJuaKMOeCN6sOx`gy?d{&FF4)h`B)_nk|LtA06fydPabT=lDf7lPkvh^u}raJ+wA zM_l#mf#ZGcM&hd947?cfX(6uqZNTw9_-f*+-vJ!&kFO)H`klb>zWGMtsvigUfAM~L zJaN@e1djLFhY(l&5OBQzK9acVrvS(M@@d3XKLa@4ug@f|`dPs7K7I~y)z1Tt_xB5l zt9~(XyzgI1T=mO=|eE>WHg;J#c)kppm%hHv_MMd|HUB zej9Ln4q-KM)$ag~&nK)SuKJz8@wtVK#8p3Tmo0rBpJ#|CuKJ0<@i~Vf#8p289G`y} zNnG_)fa7x!X~b1O1NaK4ejl@;I8MxjHGmdH@uKI1j@i~yy#8tloI6fb; zj=1V~0>|e@HWF9;xLvpSAD<_QC$9R5z+0jILx`(>2sl1}GLpFJrvQHo^wWr|eg<%S zUL}*b>SqCe7xZ(8t9~AEe7>cSxat=J$LC&3iK~7&aC{!7g1G8e0oQw@W((F3SN&Sx z`20*Aan-K}j?dLJ5?B3Z;CfHifre0`RkervuLio&o$?;NyTl3VZ_a2H=^%{{Va<@GpT+0^SdOMpKLycGD0z^?(0*BQ!y<8^~_;PG(YbQAC+fiD6+9(V=tOM%}3{CeP(z#jx& z1^hYS_W^$kcs20PfY$);1INP;1J~c{Z1%^+z|$eV7I-%BCBPQ~Ukdyl;B~;C2EH8l zo4{89Ujw`z_;MV~@ZW&WO5lG3 z-U9q<;BNxo2j!ZN*Lgc%A$d;9ahV1IO#$<-qa!_A|ioI`(V8@p|>=!120tUpWaedE)iwBZ1>} z=JCMsdU6qPyl%V*I9?zA8F0J~{04Bm-uqABcwKkr!CUH#*Kdyoj@N0=0FKvVi-F^H z*9zcxef4?Zcpdfk!0~$NSHSVQXuO>4nfl}P&lKQzo%0Ofcs+A2aJ+7LD{#C%`5bV( z4*3Rfyx#aFaJ;VAZ=Wso$Loj5!0|fac;I+Fa29a9?spS#yuP;_I9|tl4LDw}`wTc< zmy45=YEyr_{x%XgUS~T6I9^Yi0UWQJT@M_uk39t(uYpxU=Omeg4+SPJ(!SZq{(~Pk-J+pLaDZ3*r-{xfp&v@co4AxYx^PX%L?c z@j1YaR=fEUew6~xu_*Gj2KZ#)PYBm>?~%{+`AH+IwKpH>bB~6beftxY%W!wtjg%Do{{0iXD3)gXgQM$v;MxRHq>9A~r_Lwv{thF`kA8M6Op0I!Wi*e`j&mjItB z+T)oziCmj}v_zS?V7Ovy!wFAAsX|x+4Uhhj9ZvG`m-_iSthBZR`Mi}=M;C&M88y)vj zsdGrU(P@JC4B+OoEEzWscr(P81AiU(?ZS23A{n<1;#Wd^3ve^8{$2ZZz*`_bUas$% z*f)U>60YN3C*!6-d@ICf0XJIuymB${Hi)kR{x|Ifys0?*kt$T*uXO>WpTI999X)p~hWJj1uLAxx@P|m} z1IecW;&rYti>(5_5p+Hvoi9XZBgB6P@k0{r8&e;=u0CA2)@PIGq(l4oII{g4Uz!-Q*n{vbMO5UAWX8We|_|I~D`)a=(Lg{vkTe5T6bCcL2xxAfJ)WH=@%|E>4-Zmw?U);CO%J zDB)V4o#ebJ6XNl{Ng;5&Z*nE+3=*A6h{yXWD}dwulov_oAkk@q_(E8(PT+W-WfSQf zB|3xU`m?DI-hW92j`v?q60Y?*QFL-39`DPP0>}F@HgFHINm?{ z3F$m5I;9Yg_mygZ>$P8#-xH+svgkBHydDdi_;%oUzv&aw`JL$KMQXF%@jjGZ|2G`( zLme&`wY5I)h|UDzCLZrkF`b8Fx%ZB(@A-)87Gw|z3=K#^Efq1+x z)(9N$i@ioVhl@@-#N++4&A{J;eEQ4Zwb1n%D>@L4EPyR`s+4|LulovEU;9^(H7@d-oi_B88@_v7{!uJxHKIw=s} z0XkX0@jl%pq;s9o_bNl+jhR1let6%B zT8Y5UBTXO0h{+IM^{`W@N5gP!#TntfW`4=k>9d^17#nnd=_=`?8nGC`s~CYBplKoV z3TDg0fm2lJ@bm>wNM%q*TVH9vn|!F=cZHMU2`Q>5#o zLNOc0qc*|!h{$X;eY&YjNx}5OIdhBV&bZoXrNGV3E$^dJu^!E%U}FMrjrr53&Y4nN zG~0Q=7~G#-CA%+7Oh)i1M(`slvw5e_oLe$wZgIF#&%DMSNr(H#z7X8`PtUJ@9zAiuUZbiRZ~IJ{neRHB2!30FMZ2#|jK=UPNsmru zj-63lJf&dXJogQup0#q)?Y=Ov8^)tHJrkc>ToAsx60S@)jl4&N_Y(I}rPz)IrJ5JH z=NP_+oqbX4szo;}V<+r!!#RfHTW&{VRbpFuE=_FJz3LO=5j=|&{8-zxP-+%bnwV&M z6eKpfo@MBn7pV-9Za}q&ov=qiVkquem2IE2sT$iZ=uw3jh)79`II$hTvqG^yzoaU~ zegKb3ZHGa;tF?Vjl(}TvXB4lxZKshuix>RvhuL4eul-QPVkzxWrkKim*QQ4kgLiGb zrnIrK*7vGX%*XI7RnHDF>GCT1CnlO6C5er$XBm2SU`b{0v`XMh@R4aP^5EK!m-ZvV z9tDYA*51cJ!3*wjVSk&=;i2hKiCg+trDU;rtEbRl4o8M&9+?*5_r&UE3<>QIBnw^xV;UFqL+BPRPq7G12s@ zK;Ub}9uFXSZ~oxtDaO}RJ)bWlE5uUTqbM`{>52hkoIFOs#lIb!%UG+88u%3gH| z{F5Ti=d2xtiSe`5T%8!pdzC2GLwN31J-fTI)zkV^o*1cmR3%o*p2Y}0@0q=It73R| znI1iA=Pm6~mRM%)y+ie^@LT=tPE3rlm8wTYVwA6UF?v?+tJVmyH70Y}fS9lI*z zWt{CWf=8{k$0(i!3qGrx{h&+1vctbQhP)IbRgc2NO4+j*!RK<%VtCmmmeL+&iK)D2 zZGvCfG_$6?A?xLk9$h5ZBIi+qZOzcT=l1Lh%$7vG%n%bzuL=ad_S$tDMRIkNA@JNz zzpI8j#J1{rt^PJ^dOJVxj83cWX@QuCdKDoy!rqk#{L@-;kty=yGwgtE67yQ~Z4>lf zJdKVzDoy?TTza5P?eN05X$`Bi2&q@Tpe(O~UFH6Kw*`p@0 zRQD`Q@TcFy`$(7HDaiH+d})sbJ<71{Svn@hz&EWpSuaZjKg{)1^{PW`^7Sr;uV2AQ zTie$%9xLK+IZwx?I%f*_O`%?!#s7jH2?to%J8OH$?CZDIN{zSt_{5oGdvt8*{E@@( z06+fp-vzPPHop{j%K&Hg?5>|z@?G=p(MgCyHYO=Mex3_T-J_HpvXpYqPD@C;OMzph z$cYB-Vdgx?>*u1j6gGIrb!l?4foC%o?po4V$We+tyE5ncQJ*g9#$1|H5B%(2o z-y6|2>lmt1!rSQ=Lv%@h`;EaXbHW>p&|Iw5!U1fWy z^9uB+A$YGqm+A+0S_p6EM+O>p3P>Ia+eavN|6!`ez;^#RVh(D z{@s?^MvGMi#r>D@j zahn)FMO_o!#dviBZbfS|MW0rp2RpRqGwWNd6e~qeH1Lek^?~&+r44=$YAZ2H zFZdCJF@yI*@9MWLHQgTSyaIubPuwferPjfZPofHQ+JS9hj(!}EM?=A5DN88_-$6W5 z?o#4dDN>?i17D^OU)?l+Nn`6@IqhNT*o$-ef$uXq)9+I4;8*IS>2lJ6cSBN1+&C1{`^e}%crcmWqQ!_J&DGkjV!Z{F0a!%7C^7ff3)W6I1qm(Pup|4*GZ zZC-)?k!|~N_|H?!nNgsBo7*xER5Wu=fvSYP95-tE+}X3ke=av})SS5`1*6V5=fa~R zldTM0P&noC@ZY@%FEYdY5pMfO#JAz=;bn1ggFKec5Ed`rf4fs$+{xj8^5@il{O(#l z(_{Hl0xX{;%O}A2?}Z2VJASUm_83FPylI0U2|5F1jAKomH7uJ7VfaMp- z@>stw0<3?P$N1v|j9=ri{Dc6@*Lp0!F+l!x9?PE=VElTIth9Q{|^PoKi*^cvjdEu=&}4c0hS-)vHTGM@(+0|e{O*BM|v!u6=3-kkL6PXPIDT1x@lC9G;rOiq#$V(y{{L5YKX6t~`5(X^sf;9pXwZ+l zBtzk9`!h;<7Mr1HP>hf(Eu*zHXfsQ4_0OobhLVwR7iA=j{Ar}kT_v+grnEIkuBh%N zxsuEhe&?C;DJ~-x2rq4)yil`mBOzKik6hzSra(>hnL?!uR&7cc}iu7QXkr7Vl8~{uaLXTIn6CKgYuNzSrO#s(-PC z@4c_~4%L6e!uP(`?j5S{?WwSDzuw1+-l6*5=R{%ii-7N1_}=F#y8oz!p9Fq43*Y-( zS@-8!_#1%V)56~j{KqW(H1NIGw6M=#2Ke(V{Qbc1YT>tR9qj*c3qPOo>i$38!Y=^+ z6Bd3a;GbyWcLn~F7Jd=%+gtc9@DmpPK;Rcx_=AD}Hw!-o{5BST8StO7@W%kZorOOR z_)lB-mB4o_{3_skU(*Wv`Y{jqEiL?KfIr{DuLb@-F?`th>wv$&!e0seA1(Yfz<<`l zZv_6oE&LSlYb^X-z~61*?*;yI7QSz)i?|n?=zuo)i+}nR4 z$X{cTkAnR77WpEOzse%-g8V*jC-d^O0Aw#X+ye!oS&2ITLy$k&4W&ldSQkiXL+ zp9J||Eb{drKhYxJ0P??DKH6Z_{g3%XMZWKr1sq)-EjrbSnypK5d=5MVP{hq*ol<^mlKi^+C zo$KqL&G;GeOT@o>hxhyy0slkt_2=)h8)dGYJj<^8|o<_Glo zj}bSZ=g@P_{Z~i`D{_7Zj8TrF~n9g;-l<}R_!RN0p@E>OU<3~u)^!$0hr;XNM zMZWs{^#lGU^7ZF$1^K48ztcpo==s|~dDH$sS>)0DsrS5F9Y=lpI}gn7{Y?zd7t6>w zB7cxqPid8NbN21mzt#Jj0w{msNO_M(de<|>Xi2aS$e-6Fl zGxhKPOuyT#{r4nEzW}55@6DpW|9ge;E6F$Y@BdDt?w72S>sS5Df!|Vm;EUG3lYCSE zzl!-iN%vFatNjlK{s_jex?Of@>i>F?M}G9f;QFrw{!+%@OuniA*BCzu{8He1UlT$7 zpL>T~zo~!!YkGSBB^%`W)&9MYweaTzN!CPMIQB^_*bz1Yk|L-@uOqp`c3`6 z!}!sSL4O$V|4$Tx`hSRgQ~w1bkJg_gU+q5z{CgR{=+EKy|6PoqPrpE?zWome{wBts zM82v2^^BhY{s`cobujLKJNc&myNW#OKkEIlV{xec-vs=*j6Z#Bxc(nz{P@Sg{Z|J3 z|1f?d`KJE&GJgIiL4PFhhl;Orh?@hSKlHv+uHV%E5RpgyC&*X(zZLka89zn7>GkIw z#?NdHu74Epqle)2cdd}?H}&5|@|90T-VEpcX z3Ag{ZGJeeaW8vaZUw_5`-xa^$CTOTYgvB00r_*=<0^*@vGIx0!rX|LsH`t>2|zKv&lv2mbAhUr2wz z-qin}7{3Ad6M(;l@u!k+>i=EFk8P9BzuNyK;P*HT_aD7SKL4ivqau&`uiYNpe^Y=z zoAJkyZ|Z+0z82eT?5o zzG?rDWBe-be^wz5wf~2JzlHHT#l5uSnEL;S@gwvHG*sXFTDkaiq51H?|JC;h-2arg zyq~H6B9TY^*OIUHKL_~FGk(|mq;Kkf0pmN~FWZSjU4J$34?7aCzk+;I|7}Dbt-lKR zbAdmc@joWt)ci-_buOeUV|0&@A!1x=;H|_sDjGx*QT>mq`AAS_>KQc+K-_-wg zB9Hnn|1Rh+0De8=Paxma{|d%;_DWyvzXteykH+gSoE&cd7l}Mtf64d3^)Cc|4dag? z-_-xpjGqGjBH%k6@cK8BZ|eUi#xM7N*<2iI|1SdnX2u^kC0zf*MIQB^{2|zXE$~+| zem(i7{@-H!68ZyF>ieI?!0#yD5sRAxAODya{>PJV>c6+hqy9^NlIvIdUkdye z7{Aj4a{Z?MYZyPVKiK~=;2(Z0UVl0HrvBTCJX(MB=b*nF_+uG=J^7~oZ)5x<`D*`3 z;O}JoimBoH-^Td)zXsR;Ht+|FA7B$V2j2cyl5gsNkjSI{6Tn{y{94BEJWa0O)c^C0 zANBs&ia6B%R{{UHj(GiR$T#i(qeULAKYoDp)z_bT;E!Ycg6VSorvC3_{QMR{e>L#e zG5%fToBChF_zCjW{?`D%$N%B}BY&0aH}xMCdDMUAz~K7V0)Hms-%7rz|EY{0_x{+9 zIMnCA0r)!@e=Yf@{wJ3Ed3g~qxbWJn}Odgg8MHe-_-xX zUfdjb|Mv^|*Ln}494(Z~-o>dA?3W%Q{iJs%ad_)b0e@FS`g;Gd2b*I~fj69T=>6}A zV85WP^rOP{4$t2T{7Zg=*I)6F%$fQx7J1Zv@nOOKzXbkEjDP$r>6`jr$oSRy!Tz@c z|L_xW|8eqNIY#zW@4v0cqxF{_E`4?Xr-5HazW(#ON%Bqo-^lpR5yAd<0zb+4H_Z;$ z|C@|oa%8aoUBE9m3HM)5zG?p-De|cQeD9AfibLK1yMaH3e7*nF!*czm{zo&u+acJ0 z2Keh3f65%`oA&=2#;@}J*rPa-&8PD1e-H4_=!E-ElkZaAKhyXBsUna1FF8i~>i*vg z{0Zdi{TDtWMN|LxFn$yH>g)eL;BR95wd9-nU(fi(#|8Uu0)E$%asSb3xqj3BKSktQ zio3e z{K|;*lQggQ{_hvypWPYvUouw)UCR4s`u^`O@~Hpf-$-BG|K1O;`+4zYqvm5a`Fj6V zs4e)Bb;i@teq3_x};VZ*>}8e?da} zrv4p~N9!*|D%Eb5&3%mk-y3HyYei1nwPyKFKl4^ zqO+v0?*9Vd_v(WCkCAWcznjRT{!`?u{T~bbIgH=>DY-sV{|_>L^tZwOI|BcE^7a19 z$T#i(4C80WSNFg7yORF%=fD3g?TY)4KP}g9>i-InNBu{7$@Q!KM}WVK@jE{guKy*B zUtSdK|3u(NPM7P~`>!P5m1AU2{r>zLjuUyb{^;4#SNDG>;NMBU{`y}}zN!D)8NZQy zwg1k*|A6sF5p3H3s~NwrPq6<&;Gc2^?!SS2)BZnE~2D_&e#V z`#%c&+2rf}M=5CPeOV!ky8n9uKS93Uf5}4WoBDr@@$)Z~>sR|P0{+j8zmI%V|4ob^D-QPG8~8)d!u^*% zFW2wNv+Sw9|A&Y?>OXRk^ws@;4)EV1U+=$~d{h5R8NZ%_n03v&IY{xgi9H%P8u?f(Mc z$9{|ZANFFn{;v^v)PJe>i`n8xHlNDRfBOUfJ@WPbljOUU_s{hGzl!k-E|b2x|BHbi z?T**)yd*_a|6N2Ltv^Y=+W*DCpTqbI$T#i(2N^&AieUc(fxn-8z5l#gxqj3B|AFxv z$XECOrNFQPVE>l`|D2w3{d)g} zi{<)Vd6qrZ_kS;uN9)hOTKek#9}N5%i!=J{AuLt{a3y!*Kg{7 z3gb6<|FcbTsQq6H{4W^)jMt=Z>VFI47srDA4+DOmBHVu!`K}xzd+I-b{tZ1v9`&Dh zgY?z?9|QiQ%6kZTKM9Bl)KN zf4Rt`{*&aZ`~N23FC|~^KeI%x-_-wWjGwtlu3zoH4EV?Qmh0F3Id$RsKSt!y`rWc% z|097vfqeb-zlnTTj*&gp_y0YN@7yANb^qTA{EwLR7rh}#Q~w(nzlMCZ|53m{s}Jsf z3;Cw~-&N#M|4k!<{g(s(0rK_!-KBE%jEi9d6qrZ_y1hRZz5ma{}sUB zPrm;4pCEsJR+bmUL*yJkFn;2;VE=ake`sIafB(Nr=Gq)B`1jX_h&<{)%}v zE$N&3uVDOWMX>(~z)z8{_g_!GOV6Kwrtkkx7(YY4y8kBu|LlIa|GcCWP5pNldDMUP zUxNKl0sbt;f02As|1%greOIvmO5lG@zTSWSKjivN`#;V2HFry2-Tza8KfuNP7rq^? z|NbJ6`fnT`?0-7&7c%}@@=g8EXZ*r=u>TprKlpcY{d)h=6>|OJ;d2gs|F;x*wEi^t z>i(|+{&4d3*Z*?z=jZ6b*Wc?Hzv{kV{|^Cw8RH+lQo^SGmoR>6La_hYz(4vt+b_ozk%@^rw02^0RQw0aQ`XtP5Zx4l?2enC~R{{_JB^?TgEvs(JDJj;E;b^q4@ ze=7NU|1SCSv$DJ(9wO(M%=qyKTQ%QLef?Po{4I>XoqW^&|A_G$9+G~NruANb76HFo zf82lZdopO+|EG&Q>c481^ws_UBJih@ulFBYBmMa_zke3!pYfA(q_6g03;Zt_zxDf4 zH1)rQ@$;*L{VxXoITzyo%gA^Ah10pd|9go%>c4?}b^pH#{CVW-{nwCh>i-eOuXr@r z|Leg2nei`O8?OH*#;>0n?7t59!-{eLwd9-j|J5Ro`mcOU`s)5)3j7u1>;2b%AlGl| ze>vmVJrV4G8SqcNNUmS^M>T}&zmv$L_2(sm{VxapO!D=Q{~O46!z)v&l&tE5lrvATR{PMpA`+pnw=Ut5Zf1P~O>rY>iNBt+C3iiJe`18ou z`!858*KgYYk1&4xY3Zx`e--e5WY!=3FkJuNGk)!YVE^^Nzj^@feffme z_P-kVb>!>)7j2O1cja03RNw!vFn*GJb^oscew%@K{T1ZT&&u+Gc!->%mB^#@mpvEk ze=YE@WBlX)B^guyrHo&ly#tP0}~@Ka}yCUJCZV5%^2U*ZWV9@5(WF^ws_UCGgvp;QourH}!vz$fN#C-w5`<9r)KV{%-P3{g*O+ z&C+21Y2d#|zTSVyW?8vu|3An0Wp7Gf-Tym*f8b@f|FTb|Z|eUS#;;x;?0*;VuV(yq zTcmI5f3V1-=Rf^cu>ak_e~Em(|8nwOIY#zW-~S64za}Ytb^m98f6(Q)|61}*{kIT# zwEmKR1pD6u{21e3`B}LBuVMVe+rj?#0{;#2_5SO~H|_sd89%l{`s)7Q2mGV2!2LI* z93y+G@BjB1KT$7z zb^q@Ne&@ls|AMWOH1+=*kw^U(|1;SCFTlT>@t2ctdi@#8_|>a}{d@nDRlmOiYP5lT zz5mD;@(!l`{~qI)z9)Tk|F;1CsY7u8MPG*Nzmv$L{wvo8`)>*SiHyI6d{h798Ncy^ zVE?Uw|0(%;|L!)qepjAlPyOf5zoC)ws~e=R?*BaCx4#niA18ml57D{U!a2ubB9Hoa z*GXUf{HqP{2Qq%=?UFI|e<9;nt(Sh1ruDx5)fV`Z$k+R?B;U0E?`8aw52df}|8~Gn zGV4$5kb|50f0Oa!8-xAl1OI2n@1G9We-q<3Yzp>&1n_%bCHJ4+e+~IAJ%9e0zW;lO zJlcO%jnY^5e|z9pFn*eR|85LyIUwnBk=ZNH7bDT7jZwNX67tH+iVE&F^{(e{E{+yk1 zP}BU6G5He87ijC%_wO8$NB!r29Na%Afcd{>{5bjI+jBWbBpG*Gv{@`@3 z&p(^VSB9K_rpTlI(_sEWF#k7P#*gfhV_%#zz2oTfJJ;d)%PH?a&;G;s&%b~DCuaT%F#j1~{t=9yAivay=scob zf1k-Wg`B@$3z--$+_k@mtBw7-xPBGfg+FQF9GxS0`o6q{K#%O=q1{``uuq@JbyXm zP5mDz@@W2QFn@0_|MiTYAb)_9dqi@tI&a4C{F#vRzb^7<{uG$MFPQ((8?YbwMhr-|Men|<}ds-xc^-+|C@{-C*Rb6hv9hr4I$@0Lgdl>p zf0D@;Q{L47o6P)mVE+DK{*!OS{l&-^AKv90k(_IeGn2_DL(V@{Fu}WNIZW!{WpO5ZwB)p_eb1cocw`?`74-wL&*8>5P39z!RNvKGZM_d zj`5v+a&Xhz@0qva^_NiI)cpmKVLEVyryvdZ)fI@gZcjg=0AHh?k__Ad4~C?Gx@TR^WQJ>sQ-E}|2Q!J zXN(^w-_(Dva=iZfkn?vFc{G3i7s35=FPMKawgI|e+8I-2AIFy z7~EfkeACCze_--uA?J^YJnBCQ=6?{(znJmk>aQkPW$fN#C!2FMZ`G017mweOv-;%Mo|H_c_4-k1Ye>IqYE|@>T z_zChaFueYJ&*ak~=g%I{i#+Pz*%917&w=@OF@A#l^R@mW+I9CXy#92^ z`TK}Gn!gy#zX;5KC*wQ6%0atm^Xl`z!sMfrH|?Jnnfa^0{4as|w=sT<{LY5?JKl}^ zuM9bV2a!kpH-h;WgZYOreuDhd4fD?u`F7$y;-Pbn2FmB>-1^_2-|=sr!OR~?%l#jv zJ9=OLe+|t449)L9o`0Sqf0y|Bo_ZXhUJ;j{Wc(8HBNJr6^Opd>mhsn&lu~c+$x#m7 zU%}*CkEVOJRl?$;o?p()Up}&Rb1;3l%zN`M1@mv>{JW);Iplx)>lwdvob(eX{nuXx z{GE)yZ;JH09rM5aZH(Xar1Tq<^)CnhKJxv2=4*us>34d;zeS$={b$d|$>&7R54@yB zbD&3VJp26l`8Jf-?&jP_dHr@j=ihz;<)!A|>Nu5@_x}Ir>Y=~?JXYk<>qq^|vcE`2 znfCV23ecZduedpIq~DkMsCaz!(C7EA>$7|JuNx_EO)r$`cLlOu4C>GCzpfuF{u%j+ PqvWmK3v>)* z2_hIA8Ck(JHo}<^qz42*=CFWS&S3Q*K1dFvml4WlV1TFxiG$R_)Wi57bs)^Z;L6Aa TBtd3?07xF>Mr3z^`~d?1!E+Pt literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/main.o b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/main.o new file mode 100644 index 0000000000000000000000000000000000000000..47abf09426db881317bc9e61511da5059d46ea86 GIT binary patch literal 16288 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 Y8KIbg!Ie<}$Oegl04eseL$rWN09yYnga7~l literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/mbed_assert_stub.o b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/mbed_assert_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..bebf9f11fdd6595dc7b34ba3c4635c4349bbd658 GIT binary patch literal 4448 zcmb_f-ES0C6u-06(qf?&sz^o6J|GrxXScFll`j_xb}OV1XbmQk>FoA)cV%~`nVE&+ z2O=b3VSeL(~}cZQ~Qog z9mzT&{A^aZGCb+|$FpAf#UQ(T${r(!$q2VwZaoTXJ3%1*&g`&aG(*w_rF%hi^_~T;+gO1vD_(|MPgi%{ z4Mi^kOasIimxZy$c({MC&+OmOzs6YGGjJc|u#BgN%>HeC+xrkIu77XOkTD2lbc+a` z7)-5)XS-YU^-TcYy%CsQ5CSr85{UE=0!e!&t`x_^ z%Kizs8^)jgtKqKN1SZw6tStO+&I2Lv?Y6y!%KUt^d{;*4Ai}!dKXyEuS_Lug==u;^ zA!?O%)G=3YNFf*I{kAgU%}C#M8lq8mrLe~j9Ne?}fNck@vOQrJMn|`f+BsW)t|f;` z&GE(fpbRJi5JMS+nTmHp`c74X9E48gcm|9@SqVKq6NJ9!R)rWJ8{3v1o-ViCuoWfE z6k19eIXzOaa(OGiIaZ9g2WB0~c@T0oNf3zkPNYmb7O4FKN)8qiP_qrdZhykYoz&P|z$)u}YJcSyMo-CXgA;bce@3&KGlg4D7hHecis(Tyh~t|HzY9j(%!?#jG@?DuGRGlU z&7^LhCPlRV*-D6`8m_ON84c$iMd+%AWBh9*^N8`)p+h(ih-0n%UU|jibLp#-S0v)N z3crR6iB}BclMxJGHW4vSqQH{`iStI15c+(sW)Mc6PmXhnbbRW>_HU7VI)&kIonPa3UGLv=nWDJI0Ln-WjEZI5hH* zW`@R1Fec?6rbL&>4)bGWQ>;`vMTplnZJmi$@X4h;7DfAuebZ&LkNDKXCz){pOq z>tTExFf3JH^B{^tRR8NJXvF>uO#wru45{&Z0zYX(J8chwKB@liC=u6z_2WLx`MLfX zz>@Nxqz4K>uT$I>^>GaCeZ$$NF)PkJo=8AtpfLep(REp`cN` z*0Z2X%72LR^E_dGTxaq8xUXVNt`k^A^OS#UEFp_LehAh{{vTmcKy811L1sT5Kh-d_ zXZnHsS>}=bSpEVS#Nz9h{g1LCjr{x!e-2F2{M8cP-yqnsKhGH*zc47Hz;Tn luRp1FG|$ne^i6VrKcMPsGoBxNA}Rkc?VlfDFpc8*{|0BYw_pGO literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/test_at_cellularnetwork.d b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/test_at_cellularnetwork.d new file mode 100644 index 0000000000..720843361d --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/test_at_cellularnetwork.d @@ -0,0 +1,178 @@ +objs/AT_CellularNetwork_unit/test_at_cellularnetwork.o: \ + test_at_cellularnetwork.cpp test_at_cellularnetwork.h \ + ../../../framework/AT/AT_CellularNetwork.h \ + ../../../framework/API/CellularNetwork.h \ + ../../../../../features/netsocket/CellularInterface.h \ + ../../../../../features/netsocket/NetworkInterface.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../features/netsocket/SocketAddress.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../features/netsocket/NetworkInterface.h \ + ../../../framework/common/CellularList.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../platform/Callback.h \ + ../../../../../features/netsocket/NetworkStack.h \ + ../../../framework/AT/ATHandler.h \ + ../../../framework/AT/AT_CellularDevice.h \ + ../../../framework/API/CellularDevice.h \ + ../../../../../platform/FileHandle.h ../../../../../platform/Callback.h \ + ../../../../../platform/mbed_poll.h ../../../../../platform/platform.h \ + ../../target_h/device.h ../../target_h/PinNames.h \ + ../../target_h/PeripheralNames.h ../../../framework/API/CellularSIM.h \ + ../../../framework/API/CellularNetwork.h \ + ../../../framework/API/CellularSMS.h \ + ../../../framework/API/CellularPower.h \ + ../../../framework/API/CellularMultiplexer.h \ + ../../../framework/API/CellularInformation.h \ + ../../../framework/AT/AT_CellularNetwork.h \ + ../../../framework/AT/AT_CellularSIM.h \ + ../../../framework/API/CellularSIM.h \ + ../../../framework/AT/AT_CellularSMS.h \ + ../../../framework/API/CellularSMS.h \ + ../../../framework/AT/AT_CellularPower.h \ + ../../../framework/API/CellularPower.h \ + ../../../framework/AT/AT_CellularMultiplexer.h \ + ../../../framework/API/CellularMultiplexer.h \ + ../../../framework/AT/AT_CellularInformation.h \ + ../../../framework/API/CellularInformation.h \ + ../../stubs/FileHandle_stub.h ../../../framework/common/CellularLog.h \ + ../../../../../hal/us_ticker_api.h ../../../../../hal/ticker_api.h \ + ../../../../../platform/mbed_debug.h ../../stubs/ATHandler_stub.h \ + ../../stubs/FileHandle_stub.h + +test_at_cellularnetwork.h: + +../../../framework/AT/AT_CellularNetwork.h: + +../../../framework/API/CellularNetwork.h: + +../../../../../features/netsocket/CellularInterface.h: + +../../../../../features/netsocket/NetworkInterface.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../features/netsocket/SocketAddress.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../features/netsocket/NetworkInterface.h: + +../../../framework/common/CellularList.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../platform/Callback.h: + +../../../../../features/netsocket/NetworkStack.h: + +../../../framework/AT/ATHandler.h: + +../../../framework/AT/AT_CellularDevice.h: + +../../../framework/API/CellularDevice.h: + +../../../../../platform/FileHandle.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_poll.h: + +../../../../../platform/platform.h: + +../../target_h/device.h: + +../../target_h/PinNames.h: + +../../target_h/PeripheralNames.h: + +../../../framework/API/CellularSIM.h: + +../../../framework/API/CellularNetwork.h: + +../../../framework/API/CellularSMS.h: + +../../../framework/API/CellularPower.h: + +../../../framework/API/CellularMultiplexer.h: + +../../../framework/API/CellularInformation.h: + +../../../framework/AT/AT_CellularNetwork.h: + +../../../framework/AT/AT_CellularSIM.h: + +../../../framework/API/CellularSIM.h: + +../../../framework/AT/AT_CellularSMS.h: + +../../../framework/API/CellularSMS.h: + +../../../framework/AT/AT_CellularPower.h: + +../../../framework/API/CellularPower.h: + +../../../framework/AT/AT_CellularMultiplexer.h: + +../../../framework/API/CellularMultiplexer.h: + +../../../framework/AT/AT_CellularInformation.h: + +../../../framework/API/CellularInformation.h: + +../../stubs/FileHandle_stub.h: + +../../../framework/common/CellularLog.h: + +../../../../../hal/us_ticker_api.h: + +../../../../../hal/ticker_api.h: + +../../../../../platform/mbed_debug.h: + +../../stubs/ATHandler_stub.h: + +../../stubs/FileHandle_stub.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/test_at_cellularnetwork.gcda b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/test_at_cellularnetwork.gcda new file mode 100644 index 0000000000000000000000000000000000000000..f50ab3363e210be9901f2261e301b9f80efdd823 GIT binary patch literal 9576 zcmYdHNlw=?F)*!tv$BnWfnjkBkl3PeZt{Ij1_nkT`v5QC zUUWW897u!BXmgk=T^AK_0MY}BKP-B{Zut7}Tfm)aQAbkDKi`q1-oE=f`@FPG+d$@n;s9no zl3Tz`Byq5P#mf~F9!-+>LiRJdn(GVlgyvrM|AS9WUj~!&InfgzUc8LG4GTMTb52WE zM!1%_N^gmr*a&l{3Dki|;S3f*;)C7Uf3e-ZvF!`fSIgWykX}%lfSC_VTQELI3Y3n5 zy_v-tyv>b>3HPQO>3Qa*tqI6}L`pAU^QL`n5#1p1bUi*bE@{c)oBCZIZRvhi4|1mi zk~@J+FhFuANqk)TaEU{$gNGBX_%L(v(BSZMcz#EHo(GS|=l$8>u(1Pbpq1NcWiHH* zgv^Jj!$X6^glFYF#hkZ$7mkJrIHbT~(yh%>G5w;)+VXFw8bEm{2q;A;yvda(S05~1 zVftY-x;VY~Fnfrg!C`#L|OBrqi96Q-Q%VM$2wQUIenh<&?Ue|PKK7qj?pkdgvli5>3)K8 z*ZoJs1Q8}3sVkLYPsMy14HHC|d^C7d&HG~i%F!@EgvpyUYUiC_R|m{Mko#u zDhaZ{VZ4xUi_d0lLsLP0%U_^$Z2;6p$PRMl$<+t*3A%omI2Ic0HxWw*Mq{h%t;qB6 zQc%U{G*B3<=d56q?JJ?PmQG7-T0r3enx}=S#bwV;tDSByZ_LO=o>xWE12*?s>K$!1 zHN&sSYLNT`R+AQRI&^^+?{DP!UR-vTK5lkTjEriNc~o-<4_|RaiJ8nTO5< zyWz#or!gN7&VPpNf7l#0j0S21t5wc3Qulvvs6&ieyX933VpX9T`23dW8N(sw6~Xq? zYjX{u@Kn4-KS0?`w2auVE#{a5MyiD-Z+C8 zb2lwyWUtt4ir4=qD;7w_ez^1sUl_g1J)I!z?%{}>pRl+OCIpTrbJvS8r}BgTMwSJ? z1%)eUZ3iqaVKhtw5)Ib-=e@HF|J|i($mte6&qQfHjR`hcca4}Z>rPWKx_mY65VCpb Wc5Z9C&$_K3d;)Sfz}ESI)B*r92HhC| literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/test_at_cellularnetwork.gcno b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/test_at_cellularnetwork.gcno new file mode 100644 index 0000000000000000000000000000000000000000..fda64d338cff16c64279951f1d5c64baffe32efc GIT binary patch literal 65216 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/test_at_cellularnetwork.o b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/test_at_cellularnetwork.o new file mode 100644 index 0000000000000000000000000000000000000000..810c773ce13f83a37938c39e5a3af73182836aef GIT binary patch literal 229752 zcmeEv34D~r`TxAT`))QyAps(w93hH;TuDf{L`?__i9m=XQB-u@|JW4rL6@J24Z zc1Py!Yq*yRuiGBaOKhl&+j#Or!bpTZy}MSrF5WftY3_eXbyeA#9UEO}zT?4V|Jb#w zu57($EdQQ3yO7;nS6tw1kfHr~gaN?G;8w*fA>+3{E+?P!^*D(iTntmCZ|OfT!W zx}9*=K1hLxpO~bY_3IdAJ@LU;hG6|>&ggh$*YlqoP?oIek49r^C#g!ONHQx`;e%2Y zwlXqR;j~nRnaLV2KN(oIKAV}l_EF3cj((JpwB$wz)`xXvlcb#VJ^OPM`-r$%-tl;n z9;W2PEVlZ|mKdA;t67=afCU z?l#oJ0){cz4bj}DWx{U*qs2p9SQFQdM-w}{?st7J-QM@^?PY6s_&`22vasa7A{4V$ zMYZt!FWL2C+1kf56YGKWSqc24FsY1wbRH|sBwFU9KN2Ki#o0qPZ8zCO(bQ}QnLB~N z8j*FbjX|lD!A#J$2h5|U!MrIwVV;%jRLomTnkA{8ye_HE(K@ShBUSG@Qx%qKziTCX zd8)$CTgD+(%crF(yjvxEX3~;QC0h@yj}{YZGOjs9Hc|LKnV+hhb+nR{OR1nq_VnTC zPC4sHbf=tk5E9D~1IT31)I$=4Jy+}-!aIAly3l6aL$qH>&DK3sYPUgHNb&AgPPJCM zsnj-s$Ye@w&9}4uwrf|iRbggN6dUzIXGJQ-c3H|*VMo$cL2fFhg3LW+CCyijm0eHW zp0RRviuEB0E2(*`5&oXA(n@+NR`#wDh9Ta&M!=5Lx9+Kp|NqN1qF7q~_hM4~YxdB) z>+HXe<=gH+aHU8=%X>nK&> zK&rx4iAYtrG*w}%`IOWdFehnAr=2x@ya;UWA_NlCosVq%65MA!m25HnC2CUTvb8+`Za_7_l4gzEyIP zsm_0aW%8qMt8C7;WV&U|x3sCV?L9SPh0e%&)r(a~dezH+oOSFwPBy^6(o*8xoFwOdHT_S!AG9?BeL`t!SIx6mD&Uc04Nz5GY3 zm;Z9R<;UC?SuL2d4&%Z|_ms>zy-KFnhDma%=0DVi>AerOH$1r;?&Q6ZreN-(Gd9S> zPRofvG9{CIlXOY1g6UN-|LF>**NVX`{&6nN>=i5K+Fm8ot7QJul?=V%LT`sG`d8m+ zzs<6+CvmXiYPWnlgzZ<=)Dc_oSHR)RuKhnDr55f8} zSd+^BNd1OH0^76;Kaci=ZPt6Tso2*0hD7fh5)jygS4~sflF#o>L+mx1F!3$AC2}9R z1tk2}ydeRdYn{l6L)GmAIZ~(4CwrpqH{U{|yULCWyb&Qqky*h@Mk6D|yZe9cZtqn!rcXlpJ@l>BfB7wdJ#+$*IgHu9CmSZ| zAG11vk{dAo6#lW#dZJZ`KHVLc%79sw(m(d%ztlg*eC+7@-zatOKTLhm6P8(3LMoQ^ z`o;{KulK))^#1n{=s)v6s5qAXL<64weV)8y!6w3wbH`#2^*2p+);qg%rD?lRU6&?P z-N~|HeD#nEPFeMz=Sn-7p(B zbJMzm-M9pnOaUeNuK?5#oL}iMJG=dM9hKGfT`EJUR|)NHC1mA#ca+Ia%V>3{+<%S| zvg}A(by)gw@t1E|t3P-S-;mzIWei+4H5gjh`nqqB(UEry>;0k9ZFI-*_iv z4^`S8uM*g-YZpCevCtO;^M74*Zw<)piDI%YW2qF=r772dkCXZ^f4ntdcMMCV<-6zE z9N7~__G)v*H2^_@5ecjh5T;ql8SB{HZ7=5^UG1R zD>uVtZhFIpM#9q%Q@VS-j~c;YN_kIok(Izyo7n#-`^G9!|F*iw%JoFEAhmAT*`+w8 zF4xn;6e}|m>HM+mn}=!g@EU*OV-(%pGjiLI11A)38Sr}NopiHGK#A?qb7)~6{ZOLu zoU!9(`cHg6+A}jn&EH?_9re|+vu>LH)018y6gF~F;3msHr}*mrr}%G8zjtlkjRc1t z=+^Vt_REf(dcTbb?f=^oxfMUaawjs zPuqX)ypuK7G-=A4c z^^KvgZamM-`aClE+TS+xwEVTD+lIZA|6yiN`M0EOXP*thqbhsa|Jb^U(Z4JGVMI^q zfAh3HE1FNgc~DQ=|NY(7OFo*pdTme3zc%xY#m^jFwWX*08*uf#1p}ULytSwOA2VU| z31{@FS=3YdFPr`MRcB@XCbsy-d(%kla=IaVggQ0U-gu2?@{K)h|ChyO6;Ir8&NV$P z|9$ZTnQ15N*te(Um;dmSbaD1^=k>Jw#if^5WDR>|K~Kw{7rr_7#Ag_B(d$iwgrRI%B&jKQq36a`^WjPp;{y{9o7S z&Utr?%`eKDIPF_%dQdmpA26+0nKb>Cb=|c;^=5vPb^PHU_xsJXnK#ZjoASDAf4w&S zzS$qWx}~Y7>)*@aH^zDo$^WvaCp~lCcWtX4Y#!N@ z@&E9?_ZNTm$h9Bzl>Y}c7mQl)*ZgrkEq}z%P8Iu~TC=RD{0o*Z_U(VvBJVdx-En$P z#{ZB*E7jAFdSGKu%V#bbF?j!1e*H*K%l~k}=IZGBXP)gT|H8%ldspAHW=l`ozx_HT zt^JOo9`pa{_N@n;xbt@(_jLUJ()8?-{&UJodaD1X_+ME3Ol09dj%%y>l*Yfi`RH{-u*1?P>dWpYxV_cgwLGd&+;}S?|-! z0VfCOf7zCGobh#8N9)eA^?rP^38if9qxyO6iH{jL3D;5iA6uXpif3+wBaSiG?#SdC z6R;&>s{apatLtg4E}|@HJx_8+sKzIYr}95;BPyOOE~b2t(lsU4wz{V3UaD{1_IO@$ zGE)2P^&a$)8(mZNv@s@HPn<4ODPzt8P@ zKKXy%?0A09dT+0pIBlspVc0inyt3V&&J`GN|Kq)?=}IUI_Q&P4%`k{hJ2+FZk}Wo>u2mVyzncrdhlwBC@loJnM0-h!%X3-hAkr46xoG#GD)G|Qsaaz=Ypy%m+(inqo_ zCo&o% zIq`<3a7}YVd|XazlnLFlc5A`nNPT^PijSr*ll=`XfnZ%-G#raDBdzt-R8-YeRxVgr z?Vn}geJ~UPav&ZKEo+W6MwYHjWM`x$jIoJC1M%t87nW29YAWVdEI77;2>wy(pHnp- z5+hKa7t^iu_3;4bhLe3PHlKxG&U|A!gutPaXI*IksPzqW%Qdm(4*Syd`v;7 zlf2lt+OVAbj`?JxCq*eM{i*p%YgwS7ZgfN47%|ntvPnx@S_0u{G!oSn_MX*eCLbynAe0zpo@A?-Fkzzguca{wrm$jR0*1rukou9e~)YGRJ8mvjw+)KWZFEXw0}$L#2&+ zmFLfsC8^4U&Cw?Vd4rG$FfDZ6S#{KW$TY1l_LX5bG0sSAsDv4Znma0e2!Z6>ex+=| zvM;-iGng8>`*tfB5S>NIRo5s=w_u)!(_r zc^>s5kGRr{Ggg#4DX9K3gUbDSAMs~Jy>uV(gQC8XEh zsGC)Bp{m}PEL;qW-K^<0uIaa2 z(`8K4AHCu|m- zJ-{@*&NN-my~B9zaH+R@#l3F#pWNaPZuNV&xLqIFzk9?js(ObiK2p`4s<_9b={~OM z6|U)8?%kigB!#znZBlrvN4?u4c6ih;JmO|my-gJ#sOqOGB*GZGy+u<%J>Ms`De6sW z;(bNk=@si;>b+iZw@Y2^6|cC|Ke|YsAXTe9>bV~Aphtb&Bfj;hYtS!MeMlASOq%wR zJYlwW@?6@+v-K>Vtc#2eZPk6gSFH7_ zH+seEUiBTXxI9h0CQZDUrv4#KZ1SmFeByF*7QM$Kah8u}(KBh{W|w+#nz+=hzU~!o zyWQt|#9EJfqer~%QQz^1%T@InRlKOGe^A9Hue!x6-ZFc=w?-nUKE^b?!_sjx%h_jM z@r6sh&nq5wyFYS^Ke^Sl9&w*X-R=>8_o)Byh&xnun<{py>Q}0GNTUh-+rs?2oB8)c zI_Zcfn13&);NOMm;tkb(j#unb)vaFfvR8f6D=tY>uS^rqr>T(F4L+g zZ*s4{<6b|;Be5Rsxz*o$#cOUi`un|Gz1kyw?@?d(h>faxxhj66sxPYIe6P9*`pWF} z58P|W4#xC7mYQ4k5$C$q2hznWZuc6)knSJYp=QsGd)dxAWeLprhbzqZuO~mqpZo-y(dk#Fkd0t;09!S9cB;Y z)}>zW6*sxvSR=7g?r@9iJ?hOK@s>yZz#}?U^#)bErmAnN;%BCW@1?ntUg@eAYZNT} zslCZoOQZ`sMYkjp>;!2@rSdNu-os4YdkFlUu*O;srGndXUOfijqjsC;bxhB=3v)5{l^-XVL0t z{aXtB^?8jsV@_okJX6imjnj5WhJIBPlw zYZq{Eb{z-jT*yJk%^a+!*_)PeAq-Lk7k$aW#@uvDT|AS6Eg=rBjBs$(8V)+I>3V! z{ul?hyvxBaf8gM@!I@P2f2VP9dld(FG;wg}xg6Ye9S3*c&%r&XWl@29H*s*^Z5(WS zj)VLE!odTB`w_~6g&aIw!@(mh96Y*_gU4>;;PK}<_|;!IctY(@<(?eL!Bc(?o(^;H z%sLL9?d0IscX05V7dZIsP7a>yGk}UeKOTXvk54(8!*r#Q!+n$s5VGLz`#1@%jQ(m2 z$!KQLEdZuvPJRszp|s2?Ur>-$J2QiV&_zWQgm0ftLH#ovEPacEWnXg8kbxT0vQEz7 zVEJSY8jt0mX$1$TT+BiA9uDHKaM1b{2W>-VQ1SLj9IPzo;Pe^}RxRgX?HL@LeK7~? zZsFkEhd4OzB@Whq%fSZqaH{O011RV>w}^va&W?V94x+pgA*U+;H0-X2<+lu z$>z*WV}oDQNh)yBjW``_)E^E{s*V^`C1N|q79mh2Q6*DxQ}3RqzxGV zHw2hvIBd|R(_VjmAiHsg*Mvu(iU(YS3T+9@FAp(8nVSVKyHH4H)OL=9AQTlq+ zhUT~wkp0(^fUvCWe>O!meV6HzdACqrmd}rZE`=-U=Nni{m66tiTnaHT#4QhqhMUB| zI*NN_g#*L$km#2=@MJ`h#D5~MNQ``qCDN8H1 z@)jhrso^Z&Unok{GWmm!$u^=*g+}zTG$Z;r6$3Mc$Q(R(7COjH4xUd@EnY!!AL<^C zkgFZMfT9CO4?ckk!qXvZ7(ICLZxNR@oJ19C@c;>!N9He~e4mWhQvSX&UQhX%GQN!H z8zAEi6yIOQPd*CO50bZq2cHq-1R5E(pAo%+M_Us^ruJ#TxFZv_j$BFf521ns-*>%@c$V)2d=Djp zzeOa&_yPn&Cx*e<1>`grVGKk@27LiI6hY1i25y{$IDIlc1QH|+lnNnXmryxc!zD~+ zUPi2@6M{ zdVe=fAu%4;dX! z*9n z_@o4VtO%Kmz`AVE0b(@PcAj$w2p$1TTxy~N1P!B{$1Cic9S< z?J(qfis#8X|3UGoGX4X_i$@Y^Lxe(!GMP{~Q7IEHPArlMk8&ccnk6#fRYFKClL;S- zXp2nj%Za#5^igQFXqSn8$~WNWYMJP-&=P)@Obk#OP}^FW7^JL3;yjrcq2vH(E66meIu-qhS3b|SJrqdSDRQz((SX~djnnanlj*>F!pIotq{*=U;c9SMK8sss8&;~OB zatYN&d(MQ~cIBaB+J;)n$bKKstJvE{AwrZ$lm|YyVP`rz-Xx|DTSrlzD7L@}_NnwDjMt8wwdbEn{7yVyJk=YPn^c zJCbsFp7NKa)I28I&u~yLku30|86HjvuVMH)1J26bQhqT{LvnL))w+gW$Jyle(6Wg& zV(7c{O(c>hMAE`m*`W-jf95a2I}I=)%lFZTeyT&sagtD&{tLG(Ob!(Z=EAb>BMmTZ z+0D{Y0_6bzRv{aV{4Wx28QTw(7a+Xkk}*NnvHesb6Og+snWms5239E!_nIlPSGa#{{Ar?@n)h95<7Xl<|cWuafaGsPFnc!c67NFdd5 z96TX|U&-Kc89XL~M`iGc47SVQVHrFmg9l~sfDG=J!8RG(Cxd%saE}b`UMA@qQA|`x z`iRmIe;P1Qr;n*r_}j(bZmrCpKS3Wb&*8xucyl3XZ9G1A&W;kfYtE;%hpKarS5EGt zKCaaxEcjEDOS{0gVjih{*afDnnZH&3_VRZcfBX15oxk_7)>)zSgVoFV^4s2f3!TR( zc@9i#J&To!E}*r_DhHHXbQR1Bt`u&L+jz2Ex!%Aps4S@z8dYKv@wv<$RXPS+$Iu;n z)xhW4?7c7t+kNU-6in4!NeF-Mj)gqE+#R=~S*dc|=aXDW%fY?=KE#JgoC_#EM#eV~ znNpp&FMJyL#rQyGHq!T5psa{8g_ulVi(Kw2l}iqQc|mWGxUYJSK(e0Bw-Ber1!b?M z_)lc~8j8O^h4Zha_((-2wsHY2aUGY?64!GPWooFQPPlKNsWI9m%iKtbaa!Uhl*rQ( zY|a&GiJuW}8z#kC;^zdJr6vA{5@lNAmcN3~N*BJ+n_trR1?Y4Un0RF541^nZvj8{(OP|PTo zI1okf;j%?Un}GKlIM2{GsV~KqxgVh_V}UkVM`epiL;alvwGX2n1GIVrm8NdSS45Vq z`VSWTzKnkkaIZ4)L518$k(HycEH3#aO3~(6GR)HH zFDVLG90|bAh(RKy}XqDe3gp7hi(T5`;TVv6LFXrPiRt1x6_g zZXYXdHsk&Rc=sB(G@-P5_qXEi&$zDv?;`^@+d;@MYk`4WV4tB_;_#77nNDMNGQPAH zMp+9C;sS>Od9G35Kx$!x+0_Zw0zNL#2;`_Tu1T>_MwbTo4`<)SV5SYj=8 z0GE0iC0;a2(YmI!P{z2F0ZBfPalZuKcRH?yR%xwr2%`-d2LAv)k|U$czAd)m4rSaj z;58b!G>km%$-cA(>#UUw<4QK5f~ylN(F!cL78uS29s=^ywgMV%3*(a2f==f!?#IB} zspEvO9rOLUG?!^zHH^J(tQ|Fa=2o zxt1XTj1vRj#64J@}~lxJren|2s07Hk)sX2r+lD^W<@H~N1T4I%l{BoIP z^ghL)^fjKc9366&r~L>6ZLQ}*Bz&@hvpr-yW@hq9*~ChguSR0)y!!CIcS{{teM62h*c4JO{9`I@~I7 zSrT3h*jybhtC!`6O864MmK$)cUkZcAMfLw44Ju~?evutV*3p-7lp6v2Il*5u$=hFo z9!B=B43MmO2!mM6{s_=}23U$&zAX72vgKY6LraHzB71zUHndQ2mt$y|PnwDwjr0V3 ziryj`B;;D^fompm=j)I}6&D1kQ3q$dPo-y4IjQ14LE3dTz!%w3pyECw)NCK}O&dP9 z;8#dbpz_JKEYLuxICuKTKw_&n_pnYxwfGF02Od$uNJ?($-%$^jn40_GBnX=<@enai zi$6^Emv2C*R^)Cc=15OM?jy13v<+N974gO|ce!#RDo9BeOX8s1h;lKoj*bVHirf}u zB`Og|H-?)D$JiFeY`k$Ybe@};9Acbnm^`i@Mj<;0(4VjU;m zm5Fnif)8cld?s{f6;r*Q(S#yX7jQ~ZcoO8YI4N^R2@%Anh=wbJMkZr3eUZpX!%bqd z%qXqET&-ivDZ_Ijw}zUd(#jTquhCKDe9M&@>vrTms6)6Z4IH4t$_oI!qJuR^h#{XK z_cH?`8*Cs5$%v9Z8mA%na1XR{EnMy(MZe3y=+L9Sv*|1ofS;bWzTRh=>(xsx1_8@S9I?Cb1H6go!u`NHYvXQkdK;$sCC-cZkGMr3RQM=-3)* z^h-AYwIF-74w93Jhfwx^nnckkk1veQe z7Xf^&fnv_TdCcOUGu|D5Kb8bX*7XatI29BI`j4h5O^cdnZDB|J635D!JWf0;A z;ZsDbv0S1LXPjF4=Jm&w>1EVXpq1;W(p%?gvS6h#Rs%314lG_fzW|wVQur9_B4BJb zuoiKPYv>yo>5TEefZk(ZNSb&>)9T4!tXF{XXB{hpKysrh@o%(Hw=d(Tfd~8H!`;>T za4TVHweH7QEU+>YD_bx7iV;{|};(7_oqsWcl7a=%fAwCisG(?tTVTcTjUL9~nP zcH|c$A~N?GMsDW*6yIkA`{pfiA5*js_E6~4EZ`l5PtjtdwSBO}!Zigywo(hoG6O2h zk%1(X(~*0Y15(A1%aGe?K$!l0P9g}`cqbs+3@Ava6BC2#_5y=y_M>Z5Q`|=Nx2Qn? zx2V=ZHDM})02yXLtyC8vcd7#-sh)@2g$BezHP?7DAT0(IRMR<*JWU&j1s2gQZBT0|>$^zbn&4 zj8f=WDH9)ANdZk1YE;7?VZnDZejad(4Sc>uYr*GH*QShz@s|L%#lUw=L=`Krp-fc9 z-w52xbbO5pXlh(lmTICeW8DpmM+oa}>Nk74qP@yX_8SPD=e5hBJ!AAS>gg}qN z7~knoIgud$UQFNo0LA8e?2V}nP_bs^0It%Cy^Na8nJ>~bZ^e>BT3$vrH*m-)l&!_1bPHVW?+=O5GP_7C8~+LLndqsb zM%PW&@JEfIGixybhkv6EB~Hr&%u!=0u5$IG#uK*e%cuzy&%`?k^CE*of}QglTk$!%|ln;0U=pFs;HJan5m4K-U6>8ph%4JUk`w+Xf{tO z8J|NaK8ZAF)KR}Tkmj;+Dv{=$Lr5|{pQdr9R?}hBniiiyq-scqQ(WHa8g&G9Svq${ z6;o?k*Gep1n@N>Q?v9#8bxQBasIoH#o3EnYRG^{3>PBgqhp2;$H$SoSFYe$KJvqkdzdo#i&%~#!;SsYJCX_0n7BivA7 zismV4lj@0Bv6PZ&pZHq90pVK4sU2K0Q*p6cPCJq^l~d5_8fuv;;j8Z%#Br&*(@Gg< zGvHfw9Lo})R>j~u0eV;mORmTkSj#BC2k12&tkoOhf}bMy3j@LnR2o}qG|ox}2+G2T zDbvcG!R1CGH&2IH8@!0YvjAFPfQfUWfdFY+>01dHAnG!nEFT@;j5`CV4EjO_Inc9w zQ6y;eZb2vq>~PopgrFz1(Yp(IlwYKkCj2blQ(OmW`H+u1^C2I_vpAmRBS&h;M{eB^ z$BR*|P)6rA!4|0}pzJaEd67R5xkK?OBCrO5vjmWQWX#YZma!QjP)!Z&DVpdy#uGa z9|tspzK~D%@kem}r!+0-4Lu2>F%bvO;A_+L!k#tv2+pPV_hhcDfN$*6+k95k{(J|I zUhcEz4&w@r)^jr`24YB^%XXXjZIu;-!21=V&00aGLiE$?fpT*~dljwduUy2vdkAD0 zC(`x6U6%Fl&*fjSmABUaDUdUsNiD?9NJ zcZgo4ltr2Q#1Aosy(44^(i@iMiJPpQs~p2`N70*?mR@kZW47=s8T2-$WkALp%enM& zrW6XLX0fDQ-{*4pAu>* ze56sB_GFgASw7k|g?zM!3vt}*?K^xR%rxeuvRba8--Gi+yxE@L<*1) zavL0wGKQRi+_etKLWW$9+^Zds#SHmhlrd1xm6CxZ46n8+$INP8$;G0_gn|$R}8rdxz{-$ zzhlT<$i3eId6OZ}A@?N*gxtS6Ab)3w8{(0U4-dKYg?h0u#G?#D_Q4L&z7jMI z*+)7+2S`vgvX6IwMoUlx*{u!`zda_D^O3#L04=BXy>iMa*BROJ4NemIQJ53=A#C&! zCe4N{A4zb?_Z;Hc6vezO;CYFyOO}sz*H}3*El;2lA>Y2p2>Iv+YRE@7K|?;eppzFdA+zf$b+@ZshtBC-iB?xLvWnXAQ> z&RKxW$0tTbskzqJU_?$pDvS?TL=llq`_w3*S|5xQKT78YKrX{4Mn$=zT~IEr8J{mB9V7(S}fYhbE-e{wTRL=7IjQ@)Fax-YpOpB z4BTUZSLeiSBj2h1ur-Z@(zzCR*Enz`MGw*j*R`omw2(j5Gv4(}pxuj)AqgT*C9RJs zmVW@`J$zzRilvFXWvv&PmGFEMeXEQ)1TiO zc=Ld>86Or5s@b(^5qCr#Am@FhmLfK|HkF;KSFuTpoE8nog}OgE=%^XdMxHtSsnsG% z=bdQdO?x}bWX&VUde8?{9U;Bj?!Y)#@2z6%2KZE*Nd($q zMm@7o$I*^@L>qbW^yef4w*`3XbzF*|qmuUVA;EGQzf z$$*Md0qb+PmQXqm1JW#fVpNpni|i_~5UDUeMnxQ9Z51bU>l4-zO6PfiY{Dl-#i_Cc zTvJiq36uw|xb0-I>CaJa8B;pn0M5bX+W1nJ+?!rK^|Vu3!@@g~cHr(!ThBPH9=>_+ zA+%7sH|;$2v|wC#N6`+{y=miVr-hn@cMMhG-t^(ASSPZezuU?F)1Q|yX7nhX<-pox zZ*0p-*;t;vv3%Ls_LbaNfvvGZYQeqf?UkaPj7j}D*ehd7=WS@>>*USMus3tKt(hZi z%@mu>kY%br^E`Sp1F@+I;KNf{vhF6WH%Hl@N>r?Lf`bu9h^>DAU$TexCt%pOy25^_Evu)Tiq(v%TH~s z-lVrG+N&(hm=m&Z1>QZx$HH%Y-rsI-<_=ru?zA;?x7kdSrJ2VKW!Z)%9oR7G<*0$Thm{+%clD{n(k|FI@8{CKcneY(RShO&z?~Crt?;=s)Z4xCofpJ zDhgTFlN(pA3PaNM{K=4q#puG5_HLkM=HL)VH-_4~G0fhL z97{Jq=m@PF7!Lf>iJ2x!$nT;*<}CaGRFqWN7^;uup$Nu@*mL1 zIYDk6{gH2ikXg6{t=?j9`6i7AlN~Kjv9~BA zAYXBm$g(~|wS>~S8jucrVpIojBF?57FGuP+e2f}Jl(4LiS;ymm{05&Gm7+S@>1_%9 zp*;ybO6LxMzrlwYL=nQxrk5&OkIzAB-x{1M;lqtmWVJ#C@$M48sFY3bEX997IqSpg zH!_sYxhSz1pBUAHs$MPluLJI=2FHGd?jYPV~0X z>mK?u&cJ&L;Fs{R^$ov(gF^2j`%`?lJ&NGU1`P_KTc1KLp>$>+gZm!%#Hc7W+WG-i zG!9vl@!^UnBC_f3P?S)uk6F=4fGou)Mn$Qjc6!f6f7WXerSlws={+VJ^&#IC$jT<( zx6?~e`m@0(_Bi0*;-kIG#HDH6(9#;EUZi(;2nv6|SqcemI(}&YPfZTS)U8#52B_h+ z3cXjQKc!kk=`23hsC|vnBGRw$NDl+*59U!)x(4b{!8?`;mKznUwpLIl(y!rn>zF`P zca2uv5^=WT#{OM@OxeEOS{@~C(94S!y4j=d=Xw+vFX6+ZLM{Q0NV%fY)@QAjP&&T` zL|KH9q2e?$aVM_1-#!?4_tWrCB~b#ehiC-)a9O4=XocsT0s{5x zugLPveW>34W*t+3HULTPL3w{lW*@?>?r*kAWd;tkRWZn{0+$37rMy2O9WVk#C!&r6 z^#&<-h{i6JNEw=~;SM_l+#k-}CN2OdJDrn_{1HYz=$HAq28RsPgA6QH;v76dfQv?T z@E>Yqq6l^E5WN#b)~G>fXf%51lf0q4F-DCU<}e&;WU6N7SfeSX5XYg}3e_;)!-G}c zUl)l9qcJ{1(D+1-?1ytwmoc70nQi&jG6gJ11wi&usY&KANJybU4M?0ZxDIU=k(?Al z7A7;YN=-{-{1aYXQm0~KPqmCRlGBEu+*F_nG2IktN**Q~Y3@@vxFCZXp{~uawmdIm zXnzxQxD{01e_qD?L00e)2ADbM1Rt3ijI#`rTSP>Ofs5{&1kAK%ms=>q^>4S21aFp6 zk4p9UHBsQiY*S3|5-jfbfw6Q|OqUHtDmR)yC(M?QvSwRbo@)gVJ~cbfnyE8(zCDxh zDwtXxNlGrTNC*>CX@~_U@sAC83Ttw{&@${iyj5lgNe-%w1~nO?HfoGaP0Zz}ACs63 zCj^lvd$h=aqb}#j9w&jO9O39y&msxZ#S5pNE{*Gp3k{K-F_>n+iM9+-f08W&6ACMZ zF6A_COY|hoR;eU|x_IMiqd7;Y*P%>JN7iL4vcqAM^|*T_rwHsM3kR8{%Pbix&6x%( zBcy!b4g_J*B%_|5TX;5{Qk{-WIc8LwVGn8$mg2kcJO7gp;oF;udIy{j`Az? z2B`UVD}q+TN1M6wOG`v-UkIjzsH+pH-Zeb|%oU%pxL=33$u)i+9d_F6rng}OngXCI_T zw9uJ8&H=A>q)&9D=R4AHY1y99wiI5wccdM*uK2A3Uh7DYb)DTnzTL6^m-c<|4G)7cGA1t0e8~7)&X~pw*%ap?B&3}gagI> zNZ-+aM^TjT`s{~qh4!ELC=**_(TNSsp~lv_@WjyAu@j4gEvvMprG|e0#{Bu zcts?-d}2vuxtT40TUh^9VJ)A2SSRMh3Acrt);6FD8>LMA#JX^8>rx45Y^a^MG!&YcP(zX4;bax0su;gMZAVY2HlgHh z@M9}2Opxp|eqXsc9FIjp%W;{*_|0aMO(oT4t^`Y#P7K2{jI(*s99}_#TSLFEjGuMJ zQs?;jWn{YXe`SncKtdYAVW#;Pk&p>XF4b=|hgw=lcKtM%M^m#v$J$yEX)cYltPIvR zQU)ru{Jb=!@Uz#gjlt+V{D?TVvC?t|RMNGRAC=Ay`Nh-k5BL-SIK;#b&#+t7?3Acyk`WipsG0sP=K3dSQ*WbKQr z)~0Z@Ary#5gAgj2M?c3-QCJR=KE&Zw(6jrZ^7yi7I9R9W0C7fbYeQpvd_yxYTTGBF zh3+*(WR&}%)z#2MEJCfa8!}GCnu#^YZ;l098u%C6i4-`AN~+}#RuSP@CNrzb=OY6H zs<$ewEA!%n2AAMTJs60{SEc4itmTl<`XKN5SW};uqhMg%OLziJgd3_vweQ5`W|y zKs*L<7U6*hMcP?_yVoenHkf6Kf`8m&$v#~1ZFKcb$bMWXzNcK{Dc@~HzerJho38!E z{Vq3wJXX*Iln^eD%j@#@Ls?f+1lJJ>+3(;V2>I3~!QYVz@D+%A#x<>fk}|77-!raB z{gcplnWDHx4scCQR_q2YHa;2XmkgSi4D^7aJd>32aR&2LD~GZudm1somfc_R9sY&u zkp9>DF7|Em&GohUmdc*luyT|yp7tG{0ytWE&xPMja8!IKjV%w9t)_9xE5G={_sgWM z6e_OVey$NzmDfu80L6Fq5x$KNTzl<2-%}4@m=&+@8sAgi>EQMe*}kJZY3>8@Mwr)K z?>ovhzQ6Aa*Yp9va(i8+{WxrsWp43p^SUPVaUGsTf71uMCiHa`X1b>0jT+bN!9H12 zCf9U|S(9sQe=hEdb7ijC{ahm{=JmSDs2RoUI$ucy_4U4o#xnKB4gjVH4RSDbfNN@B z*Hpdf174#(`2Ozk`sV2Lqg9NGz51gZEqkv`4d2h&yn7$lbVU--M-q_jn!2A(0HCuK zCc)jtozFkLxY6*4uxt5M06) zZx_~@2WT}nB(fs8bYkEV#L|7&nOya+ZB_3tM=!~g=woHFJKYdG)ZIsCGqPtZlF>KG z+F!HP{?8LW0Xm^mR{g%MYHdm#B3UxF-+Lqkn5Y9>h5d=b!?hX9Q^qv`lf;l_o+n?j zcw8u}{vuh`|C~ghEo=TqvYL~KwAP)~ngZIrwBtv3pogZSuU4U#!uicA9_jNGn-KZF z(8LHoLI9=evbM3ugDo4_Asg6iYe1L(BvRUqiS>@GdaJGK?7cv_6w?=F^}n!HuQ5N# zuxPqM9~SG9k$mQLu`alul5O9YtnGhJEk7h{e#~C8G2lr?BsujCy&+k4yR7^Kp3A;p-jyV=CcVkNJI)l~0S+2dW4qiUWwJ(`@KC78`4UApQWVGd9Y38R}@i%)E z-_yRQrMYT@Y*3XiHn~Rc@0(6WHyfcg_#<8_`HE}Q0M|$&!v?&{qpWr1Y9{wS)&_GG z-^KdwBPGCA*M&qPkA?4LFYGz`%4RYD{XpDcppnqyEadp(gaJNrZyUp>U&MKZ^*oHn+yYbp<8~d8X^6s6Mu` zIb^9e;g_bl(YkOv*w82f_3*(oN6;zFpAcxGt#=@1)NN8#2tUDcOT{K6e^NBO0t^q- zw$|5&qri!Seq2GM+LxKXaUF=0UnbBJiJ7}~5rCVdzM(zP6pV+Kh3iCl)CJ>V0Z&Gt1!Y?TwJQU$mS6~= z<0~dhZ&iMt={v$Gom{z0EDgt3gv5$yLp%)miHj+XjrbYMK-_3L-!|42Re^j9=l%X* zl_rPDTPcDQsiE0lS(OJu9h`|Ri$vprwqRpx7%r36<~XiJlGvpB@$Xs5B`3cSJcPuC zn(EN+<~j^TJ=jfMARm-i2sy8*m|L*`SHw}hL++-+w-SyE_YGJK~lSPfOaCo`Du|WimA&!Uuvj@_JZomf{2(`D1g&5(|NOL?IY4o>; z!Y$Oy!f*@N7!#O3B&;b$JHN0NuCwKVx(3JugpTBuJWEM*03-sWFNL=-D*FM25O0my z7*Spks9d;U&O(1xl`X$y-a>!LtmEKEBrXzTt&&uvJIg8{bns^9=Tlpl-VhB6rXSqqgEGgj3Z1Cx%_;d_nO#2Rn|8Km&V{hhP%6~K?yZP;*e<2({QRB8R=+* zVhK1no21og)TdY|0-0_T7~eoF*cO(gVwgzQ4PPdCif1&{hU=zJchoz5I?6*VA{f^r zXnqlYjK&;VDt}UaYjcRF0({1e<)p3r{#&^KNW@ZY*BY7EI;XDXRY+jq>glUNG`FlMpqN>! zIScZONK~kXfLzF^pYdpjy2jJ8WhI3%{K${y-HtT|Yk5&?YlyVQ$X!j7Cej)gRjn6)?THV;;8AK;bPL)i$x$9vpNHvT+ z2YAQ=r?kSRiPIQX)l^n4SXk|!#WYq{vznKAf)#?m=*t5GiUmS+#?c&a2sXw9-2Q?2 zC5r-8<;VL2$Cg)@1t55(CDs0l5|Ta9wju^QrXC8>7*`PhV_I6{q#rPqvFZh2k1UNZ zGvp@qJZgfTG3F7?B%v#Gqp)Qh3*;&VRzvW~u&QPH>0h}Aq|w8QPRg*(5HVRd0Lm8x zWCd7Mp)sK4biuX~2!nK%X7D+d*8FMEPcfYIz@XtN3|nX^_+5`fq!<>sKx9R;T=Ja- z^JKep0Of~q5{gHfYQ-u;Fj9>!nrjY+;^-9WWeq9V{LoHypif9|p(_@{&FGWE&Pif1 z`K4t`%Q~$fSjZb-^074GsB|f-ae+R<#%yDZWao)~P7FAw6@{6tzH zCX(JBABjyg&NV~Y`QOBvit_4ee^qtW#9$nMyztV&APzohHRd@TkBWL8YLFVh@n;AY z!%{l;HKkR=mtm5_!i}K|Eilui#>+3Pw%hq66!n;JF{(Ho;jIbjpIA8BM(k>7Y=Vsh zi-yk2$fS{`pgABG>u9nZGt|g+F|DM$Xg*I`+R`G|Qn8TDmN4cg=H-Is#+7B@53M1g zHdZqxd|@Pr{m4?D4{QzahKJftX?{*BOeJ@`ILJL2Z+uvst#bq>`&3ORjp@5^ZgoH| zZ)_t%4e$mDyMa}XHA1jS4(o#zUn%JugGrXzo)3-PXl_UJx$2N>r~NKBYk}q!IEW47 zg{nBD#i%`TAEj^YQrYN*Q&KUBhAN3!i6ITtFQaMH040ILcUIA4rtq%F*b|WnEH4_Y zfTc@_T{R>PJbn2*T-4GGqw&_cVjUf5Fk=@}iH#ZfY_3 zQ!p$;RsdZB9AgU!O|5U$w6&Wz)UZ4p9rlY* zE4tYn!X|NLQ!S>_ie*UAW>GUob=PB)SjTuNP2qr4_@up>p=N2L9l~l2A|tgY%h}Gd zB`r+3_rs-y2wQd_OYk<#=#qu6d9mf#IkW_E6~}+FfnXh>Ld^@oDyp?nqyfP<5tgmP#U?4nfZyF zs(}wCP&u!p!Y`U?qcq4Vr(_W;T7NQyK&Gs8bIh-qS6yCNvamW(GH+ghB2}=7t9jJ4 zHCCEev%<{{Sg_DqexV^q812^DX*2`bwd2=3l(E)Y7#eVS#g^~UMzf`^h3o=|s3!Qd z;)6}u3e6kqstYf}Qdq{=`BRfdKddtv%OQ*c>0FkM3alpNULx%!R+%0| z(kQso#R@r9PwLs8AYq{OMqg`m_F2^HB%;*V5y9#Ygs=&Y$yFhVHwsmxw$xJkw~6Vd zxo26F9ad6O>t7lPlVG)hd8dX2yN%%iKr~s0aKjU$cS{m;1 zTgOdYtMW)V^`jkL;R{N5Q&GjMvR}aSMxGDp$`3aMQ%-uS2(}8H3Bh4S^rU zf8($XY^K2;OoM4j7GbOobPfYZsa&4Pw~5-(n#NS!4U>v}M83nQO|)s?Myp=90M-Ya zHP|<3ZU}>=j!p6utyPj57z~z^LdUEuiZ5$zUXEQ!18KZ?q?Pu&fwp*UBYZ4y50N9> z7&wdmWs#GHfZUC+bz`DBMYLcF^)tn~2s0GUaO>1nI)e#I7&1x>TAa%Uvl$);TtRWLKIyrKb+Ik5y09Msao*qO&IJVY^B1G{gQy zpLDl)vNa2R@Hs?D*opiM9#33-Ji)e`EoA|_#O*~A$&NPnDjvg5*lV;!=& zW&BfMgTc+R0_~Ira9ln|+s|mb0*!MDy^+O)kSow~9w0T%c zWXP^MJ651g@`Q^4a3(BB`Y0yG0nkYG}-mJrtSJiBHt&I z2wS(h{>l)U%ndksFj{aLVq7Q9B0g|7Z!N&grd)HYXsN<6;05_fS2oENi;u1#KdGAs zj#x5Tp<0Es_Mr^O+Y^-zL(=W6BVbR{F&eouv3s|6$w5zk9@8U_Be0dCqggswwOk0o zqQ@361PaC;aB{!opUK_WMj)pn3O!0FTd#*2VQNGZ}5e!S%v z4>!?KJ6}|x7V%PE4y@cDn`-2jvZv&!V~*jMCb3KAqBe&%e_9fg1AMn`S#9baYG%HF z{(^GGpZ{hITPNjV}%?@ZKEYQ4Lr!yS5(B*DjE)8Al zX=yg%W-3kMz!)NL4$Q zePbq#9z&HTS^p=?`=v12>YC}C2*z}Dr96YOdacIglk;DS(2Iz2f>F#NA_?K19q608}RkpF-xwK0M zB{;7SBlZ*#+zm~o3rRcMF0(iZ>^O;6Rp37m!N8?1o3wFb87QmGkDZqSF6O&DzsYJt4 zVQXx4*tNPZQ~JPZv4f)4Zf%gDNGZ{7u_P6){5)Hbb0blVuWN$BFSJTnJCyIo;SCtOX^{57Rz zC6%~PLf2M}X_G_mv(tG4X2o(CBUAy-2Mr0PMGj_*^wdgE2-?LAmHgHGVKMSjB0t$) zP;S=A#^7r~WDum1Q|fF;+oa>Fw0==K6}oBvNQFT=FZ_{6rZg%F^HSADjav-{@H$Z> zr?QZNNd&bV`jWlYMrwnN2*;Kk=zJAU(*Sy{cJn=%>N0O!rR)#udA&wca0=Ksr0u7E zMV;4Lw!Iszfl-Ah~Nwpx&YA);GC9KbV6 z)3+fcoyNNMbM8sxJg^+tYPGPp!g{$eal3%~I515i&v2pWR{_~6CudS!q?MQNF78Mt zY`m@4vuj##*0{VHhI|d#fNa7iksI8Qh_%R@d33MUVx#kXw%KE45&R!`-R;iz4X4g5 zhqa0m^m%Z>{kfhB4;TA9-1I8C@7Wmd?fP z*F2I60et@OpTKHwYQZJAB#cTj($&ewhU`}STMC`V1jk1a>us8+ba!P=MNLlW*s(c9 z6ACBfTpC6i(i>Vn9!R(?3}bUVq#6oZyV8Oc9qT$>Y>}fjpKn6&HHg6c@_F;h ztNd7bXI0Vd#i*1W&9bMVNFsN}wYSo$*)wsdZQNqw`)^%oHrs_8*dToDtn<#)8~J(W zD(bIXW{!|USvig@?Kea1xK886YBu)F*}_wr#14b2`CU?r0XvuJ!VdIx3>U+(L}?Z! zTQt0Jm6vtssygm0#zZt0ZJ{sowH(`#E1im1HXbuy`E#;a-glkXqQsa#kk;5vYgOHM)+9f9(NUa|_{G2x58Aj@gc z74Qi|f)fhds*SN&7=1D4fA6d9uj-Ppq$q-9{u5(xwLvA@M~~fJ`axYv zMMoWrM_XwDHJjf9IZo~!vH0RO>rPtdB#u;lN?}ZW@tc-o?ZyTi{F?7XatuOGOp^-L zvLn$Cy{IS;7)8jE(C+J+9d!z4K3`_E>1-Crf+-8Jdn}cA=$)?xO4%$ZvY^;aQ@Rj& zN(`^)2)>!i${h~a6(ROUpaZ)(=C+=9@F87(q2r9lp;dY4t$un@%l>a%lJ27K$%d5o z6#BJ#r!!C&S93n`iZ4A#kSeURDdo;QCBzM>Sc7?8&U$QOo|&-WwxFh(de%l>bhMqg z&mj|+_c_w}LoX>ftu_6n1j{W0+|HsIkN=g1cc?@O{)^g*a9wp|X1EGE-r$#Gfip}g z!(B=aPbY_p5qp}8t? zxmLanfYk`M(i&TvaBGgNA^3CYnpzXQP=R_}Hqu}Bf<|C*cW$`=>MIMlHBio?sLw}oH^&*xi>S(t8WH_jft*MRrxL<37T#0Lk}ruS_q*-Z zqQf$b^JknD{x~QcJF>0fuS!Ly#-g{+(bPP=p$dQe+4@X0om>o``A6Rw!)$}!OUuin z_b>9bS#HI};R_u4_r%ExwmQX{{`5mny`?{zxL?c(drba( zO{U0t(ZR6$e=)`Fr(~aclNCAbc6zvUgPaZwUnIh0Bboxl7EKXSzUp%@^*zZi{G_}c zpf5FqD$pOBgl}4g%Th+O+~~tSIlU4047zzuS4Dp#EPYhV-!`Vs^p7|ueAQo8x#e6$ zbh=VLIFJcc_`Mg;~o^0@Y z(Xi^~&2H4@b&It00SC+4MKe7)$_9tuCdFTul{rFmK7~)gw)%c?a`jrW9g^JmVGZTu z1$omJ^?cDk;W$a)jm{YP9@n(!QW4Rgq7O_YKS`AfdWI`ixJ^)M7SDjB27aS=|3-@D zc%honMG9J9YG8PAv0P?gQn=(mIFlvKI+`}=)=TNN4oTMC{eBjGDnD|hOn@|5%f<^w zc*+;Bk5Ahf%#btJ@oDx+;bQ_#^?&#j&-@X%W^Ack7%N)-7OAr3kC7;1Ks?cjE>IDj zut5_KU-dZZ*x@5ell7$6gmXOlm#y)84elz(jMs08j4V!saZRq~x`pp8wS7jhnc($vSfj2=5k>UsP_@(8I(JJtD4>L8Ia1aIp>f8j4P_?YEr< zN1Z}Aw!>d!MrWm>_3_q3x^_w~0|7n;geOfmUm~rw~S2AkrI=5`70pSxzdm<=Q zK?73`y7=>xmWGMyru{;8nlDSV>W!!t1EOhl@?A@~N<-qv5hI4?_L(pxT+itj@y9BC z5Bf#)Xut&n4(ivxpkKj$=Hr$`wp`3QEbSH?pJ+F~YrF1Q9Xc)zR}+^zu|;=d3qSKD zV0f3Vi`$Rbe%nbQ0M8YQhh;zcN1v}~d0uY_F^->aKPn24+*RUXiLM~7uRpKl^>y*n ziReZX`h5EflCQ7F^JVfg`TU8==hx%;efas)TJkq<;rX1f9b}1aOp?rBn#^B_=c5~y zB%ePf`Ft6kKUI<>pP!g~z6#GrH!?{+KRWq*9iESFY?6F_Z1VYfJRjZYM4z7;Jss`4 z^?2Uf{>^wkx)F-LzWwpZ{5iOq`Ae+=P`~m#@w3hnGjcH_w zZY-kZ$D1dre;uBWZmgouw?8SFzaGzzkRHHmvB$>Xn8%{pdd}$?d|$?of>Wo)D1ry+T(RKcwJt&Q$d>7eTeuz{5rX* zOg&y#5?++%byp#NiIgMpn-DLz1y2*d%*N-S-N`-a)5PCq<4X`fF@5}vHood7=3j;Q ziuC#KwE6Y8lH1OwslV=zhET3es^b!+VQ(c@}s)>rc9<2ag`KL4LMzpO_Y z;^j`_ZLCLEyB^E%x~*;3jfj_fe5Wbr1+LeSP_NC1mm71Zi9avIw?C&}qWy;O^YU=O zMjJT1PS&Y^^nye}?uMP_wc4h7+jW|b*KO^#UXFOV<8+#GuH$u*ee*2hw`Si2tR5{8Bvc%?a+s^XE$;+UK{AJMG*+^TYO&MQ)bWYW>>RM8}QPaWitr`XzIm z5j`D^3)$fwEV9UcNj^Wj<@tgwJYS0EFXz{{Uz{v|9-fbGz?EEwCCTTP;rS8#dK%YO zQf8P8wR>h&%2s_byL8ClBYpJe@7=2ZoFKDv>wK0hwrKJt=u zi*&J>iU0hV?zxOaG($*vDkIT1#RM`E2RhzA#bq0`3-KNIil4%+j~-+s2BySIi4vbk z8y~fZR+N$yO8f-G&q*6!oD#nf@#SgbN2SEyjQC^I#*a>ke;V;cY2(MH#D9YL{)lhAe@jy0 zcMD@{yW|WHeO8D%436$Mfgw0?COix=(W1T-uH~t(hU1V;=6N5UW%6_lW0=$@-2bRm z{$X(4e_F3ukslcMwc!_;VVqJC&8B+zZhN(*X?!} zyxjO&&EGw)QUld2BXKG{ihs=w4P5G3)GdBI8VzL*d;<}GWNIC(Qq_Rzc408 zd3K27!-HtKL>&jD#;<`_Zy(3$_URK2bjee#2R8D|Rqq_fYo3?Y(Lt!^hd9ZTi@Ad4 zU#O0TtntsQhwT(CC^t9ML-NR6T^7w#1uqZnm;Gh+aNNtH`MZbplsx6=*wn-AjAKW6 z;X!iANSv1ZU4MBD@!D>%8qw1kiE<4~{`@cEk44_r@l%p<`b+PypQN5eh;Q9LRA^Z8 z=QzaYB7XPeGtxgyqetDls3LHB|hBC zE?VCWY2#<5#2<(F20W8X5gCa&^r+?6jKtiQ2l(wg+QTCC0-ySc?Pug(;0~iT0?kr8uAz6nLZSek*KCe z@vk+A&&4yX>wj@dyg){x#_>gtUz*}~hH~47`FuS#X?U1iG7?LYzw0mWMD^^e4->jx znW5io7v}#Bct(AHxVC@wsqi8kN9s4htBt><`Hk-o`f({&CrX;f{hzwzntYU7W=bzIOq+lO&F+WuiYmqon{US#}Xc(w6e!#qIpG#D?3%gtCh z{{!$MoPRpJ$oOh_weh#%4aT<(^TH@U<{`R$4ulsO9|Ny8 zz6jo6{2t98<`G=~b(-IJMtGkPZGYqP{!P5W_$hF?S1#wj2wr6T7R_(`WzBE=3(X(K zVa~sMI3FSPDKdT-yxMpLyutVqcp{8%od0gkZ+wmBH~xj@H=eyW_Afeq-M^#YMaC=P z)y8Y#4aTL;8Hry-b+`XyBx)^1k26wkbsvXiB!1(>U+MVOj$h;WwJBZ~)+;%<(6g%} zM`upHCUSJbj68HgW_dF5(5aZ^ z-N?hiXO=yC2!zINmWs%G8;u`kB$hdjLEJo>p@Vper*3Bn$R=Q0vKQ!I|($MHPJdpYhMr~5kbIvTWoIwSrD zNox#`G7|fznAD_aqJPr0#)BgtnDqVd+r?qiq-(Xm4c?Q^|7-k&C{IB$&p7;ckCW&5 zC{Jqq!YI!{$vlVQw~wOuRR3cXKO`A{34Yrt?80>Qe>xn}J?Z?0wy^!3_yNItCQ|di z6qP$PS#BAA`*-ApN!J#$b34hSYm-Q*9};;{GX5m|c538DB)t^BT@rb5(oe;2e~5fk z(vQM#FGW5&>Br!=|3*GG>Dt0R%aD5Ns}l*`kKaYxtvng8+ih&LeNy9h2t#krgqD^_ zp0S-8;(O5h_vOe~9py=l9~|X5E?KT@cUf)>@#*&OZH|{mdB(>t4*yQUZ&ySvtv6l{ zz|RLGKT$b3;=UKT?xk>k0TG?UP}ehYN-}-~e(M*8ik`{R@SUyj+~cA0JBITfx`edR za%9M}6Me3yJ>z7!K0XxjtHS#BNG!mkL?RczJ@0IX|2n>7XpmB_&HpQudouE#j-LY& zZ~cD6Hz2MIKi6yhL%WkjzPlsK_>d>vew^<3BFCS0yvgzJ9p5QW_SXe*<-)(0;J5z4 z)75jF<0m`bCro{0J5S4u6U%p#WSQy2U*`BHj(6;pzMe&n&qsXe=<5M z`TR+iQYZd@h`+B#9H;r4ocJ+eN-Fi=DLgNWe2+wyubud1h(8xYvwR0imXZ6Wum1;# zf3sg4r}10~B3A--p#B7PA5Js-d2gbqJld!8D+C!IgP4DlB_ z@i#{O+w^4qeEfDf>NDry7!y6 zr2c2d55m7X!}w+JbnCkSdAf{>U!vRj4JZB$#LpcY$IExGWI1mC^!W?ITMnt`J4eTH zdfx65_>CCY^>}&F$+HIWpG=JN$mgT7G>7<}iOTpv_*d6=L>S1@t#6<3R!8bH=hXNm z@|`PL9(3Ys5P$8|I8MH2B}+!w(dqKPf%y3|;yB%&L!J12!n{K2v;M3&UcO%?%Nb7m zWsc89p8j*=*K2!t$cf*fuWUCRy<6T<4~x7!P7?k__mMbh2Z^7R^vm(v_^AC?BwdfM zGeVwp+vlPv4=Nd6bp>9zAj&f>nddV6))@JjN!R_`Dauos;kY+$j?psO#Ie2tW?j${G{vlc_8HPkyw;;UH7$-Uz~I;w>HXCophZi{Ku*P zv?xAxT;9H4`t5vB@E(bpWPW|8I^Kz&>G+jVo=cN?y5YBbocO;u9{=@?T;30tEt?hJ z!Z5xY$D}jDg_!#Hn{;w~QNnPs5W@-2CWt z7f0gg{!;$G8FV;=dD*Z_^Vl@}B%7q>_OHY<%=b zVjPi@G5#~MaM_Iz)kgb>E;W)8VE^E4>!QL%`1Ce~wnUqd|AKCdr6(_pv&G1kYtpq; zAijb~>eY7iy8SJY=#NGvFPsql-DewjdTXhV{mamnXZ*j3vm4d@<2l>O`GKaha{~u$ z<)4vn&1(FV+xu))zOA^f!&c>S|BSfhvNWy727hyH-E9L}T9TW|zm8m*zk}SGwftH4 ziQS5d`qyfbiYBksv^7=qQ?*?5U@LcozxgCpt4lhy8ufq1{*Z+Ba-A-U@GWj>`lKOcUYT3$a z`pIRF{~we4S89-&xB9E$t=SNMI;rbVPUr7;Ntbe6&8^*_ZhtLV+qgm2)*MalUG<_3 z(E6&wTiHzAp-)oE`ykw9dMm2e_Wo)4oByrcl0W%=JS|m>r!K9pxRi1Y*|cw_+J23l zqoltaTXc&-QyIPpL%1|`NEF}Evh6TC)k$AobonBbXSC}Z72UJ?{?bG zX3B+y{=XcTY2Gq!p_1;&6z7_3)Q7o!N89h_)4uuMLM`2^Ov&6n?dgHG6aJ)A z7e6;uw43AG4C-X7?NmSioX-~Wx|>g`XfD#VH9OcpNTRoIa%+#RZO(4{OLH=>?X?`_ z_TgyCTU(`{a9i`O+F0(;7wQ$R3>IC!eJkr`C${b(xYct9Gf_)_zB}6R=_m19Jc}N^ zHlB5+yiX`-b*{dxQj+(i+0vxme5TM=PP*71?Z@=1X+HvKBd^(_c#A?GU2ZWT^>aJB z)|9RF2Z2;CiZP!kIzg3spMsRFL8U_ajQ#L6eN^j@anr}xqaxmgRB3xO zU>}dbhvRxX6MFAq_t6$V_>OAk+;c-d7?{iseRU~f! z?}-tup0J^VpWl*0x*@G(7Q>E}AVp zM$4`lBKL@B-DQP@;T9*8T1sfy^eq-w-#u4`y_{w};ulVs^~-SEn@Pu?F1N%ECk^BG zmQ$zCoHQ-m#8;{}p#KE9M(+6Op>hNIhbbWLaS(TEakrJG@&nS}J|WG0gopUIQwYVU zKXO{H_0|@Tn=~X3hcvI-a^mPVxAYc#KtX)dfRuYh4oH(e-Ic3#-=zr;ccGdQZXm8V zMrfW8CJ#bL;MvU&-E6pTahCE!YI?et(D8ANkc;gl>ST46ikybol z(tsiC5ZzU>cN%Oq>rI_3#II&5c5cg}8ejiMX(wmyx~ zMoS$yApN=OBd^X>>k~jHyqu`|5{pdnzlF~x{E{FoBJlWUb>e> zH(}I|(&L`S9_IrF{31-dhS*!f5B*QLhyCdllO~@N?twZl+*c>uDke-2Lz(EeOb40v6S|Ru;sdX?npqGZvhVcNbxf7Tr`~@{}3p4j34IKWE0Iso{2-=R~(i4Yi&&Tbf_# z_%=!?9h3eIMCl2wvJW^ol$0)Y8><$d-faL-Q=Wdozxgp+lT8f*D;kvw_7Fh?CSUk<8|HR*B|Zp1>^^X-*vk! zBA5EFLLRy2f-G7e^_$3ZDbMf8B~Lx_{K@eqxU`2J;s5OLzbxx0{^0Pt)^h{7wgo`4GzUBe~>Rk35}ZMZ==&tDZwHe^ajY*@s;6Y(k!Xj*l|F8S%$CzQA}h;ukr7 zrSVL(pE}3yA|FcY^&q*dR~GU-;rL6&vk||}@sG%dQMsGRrQ96k`O)#t86hYv^0dU~ zA%0iKdyyAXx&6o`Pd@S-;`m781&BY^@pFuC#D2WM@x|oaKU_gB^(;iW%N@Vn_*#^E zpW}~{b9;D}T*@s*xqox~UE_@?_Y=pzCFk~_m%h>cTY_>sOC`c$y&F02-yY=hYbo;N zJAN?vq0~+eBbQ%SV!g&VejGXHIf48z$}iVTkVV(45PuM-*T=W6*TEO({`_T=rv!Q4 za{Oa*?$19bmtV_}=X=L@#ow>m{(K*})RX)3{mCU|CGrn;{AhCShbNFro+{)icl>nn zBHI45$t6!M@+@%tM)FRS=QeW5vkZCeb-W3#+fA<^B-baFMYh{;%KtXG9EIS!r7;~Z*T-)JlBLkA!P|5S|!od`Vo5#4*OT{Y)|Wn~~@&$E(P>{VXAu?YS9w zu6Fzui)ZqMJ5OP(s^*+x3xu;_MB?@G?|%-zT(Pchc3 zr{nvRbDjgqdA>T8T=K8S1t?}Yej_>0S8pSiJe!c`UdR7R&hyo$$t90m-&mGc9p40( zA3ehVdj8>Cis$)iqO)Xc+5TC$@I`0G^T>I=dH}i9GY5GNa(pcLC>mdmBbPk+$W!L{ zWOAP8%p{jQg~)TR#1qCJg3Em#WRc_I zNZLNHlS_RHP@nf4|F`i{#DC}bURhFVd|7H~KRCP+`xtMKps>jGfn?G3T^K)141?=& zU4e2(IX;1$`}xV_vc6@=Q|b6ZZL{>L5v zfSlXmCUVJBi#%UDzWw&`j?n$0?P?deZC5?WC4Uw2=Q}>scpc(LIz9ug_0e`U%XlKR zby?0auI*~E$-fHaUg`J>a&A|v$Yp(3BF}@4%XL6y(e}I=@vl1mw()wzf8_Yr>6QmlVIs@h8Z6zWp4zc6<^!&rfEM zOP+k>ndkU&a-N^a{eNW9_E~^DcRKzs`52ntK0z+^DMp?b9sd-r+aJw5@n7TpF|YXA zxXvp&?G#l%S^rX$yNly_qw#r&|AXTXk#oP=NG|18A|J`^E;{WORm*m{9w!^Iuw0+hhPnP4m8()U_ zeHuVD=XQHDxzuwN@~m?FA>(<7f70-d6dCuUGQkMDEHC4UyS=R(Jqk@NU| zJ-Ot`L7v|`eiu29?|&wjJo(7e;P^&z9^d~(E_n)&=PSpz!FHAXIF82m9mpk5G4gbC zd>CA}zmD%k#*fGNKGL|3?-Nb_Qj|N@@ww#OPhLPS^)Er5%N$>BybSTTI)0Dw3dBF+ z_;cjkuf9eu^{hmm4UX&aq~qf}#D8t#)wjj-wqMq{a{MLZg?PNq@sG&4 z-Ts?g>bVM!zjJ(Bj3-+EJjCtjcrH1&!+pu6+||f4(DB2JXCr=$;}gkwe4j)v<<=w5 znU0@pJQML3Ilh#f+u?7?rQAm3xyA86k#oCxh+OhCAoFeWJ6=Z4=YDh3)yAg(*FGGC$?%~B@(fX)&FCYStG$fKXyYOQ$A2`w67ikzyV1tDB7TVDN0M{9J(^tVxe9qsa{P4T zd5E9m_=V)$4i}S4xvP=qO2=<7o{jiB9Dk6U+u>v6Qf@u+Jm>gp#xoJW!SR2Sb36Qs zT*_@ko_4t5iSA$ZuH@XVb|aTOO~}*J@xJ6dUKfx{9(`YTxZ_8XbDk1%9{1%w%(Ccu zt;fJw>v%mmkNZ!OOFcIs&r6QKP0r)~Msms1j6DB#ywhG%`LC)>=c5&I-cD#1cgQRBaiRh$tBMwR$J-Os5K%Q;)2@k^3KK#$#jr_QFVf*9n)Au2l_+sSg z=lJn(-7k2XoH)_==b;Q)%8cu{KilNj&(9V(ei=FUpVyE}{Yy~)6^`FyybSS=I4<`Y zmPNN`1>#?Id;>Z6x0}eNo|VY+wc{CiQL)K#=OMm}<9m{Gf4d)fW=L6uJOz#y8LvUS z-1k@(-45z<-(z*|Z>N!GhJae+Iot8`jW0v|632f_&i(TW^2|_f9rE1e_=Cn*BK`@- zKQLa1_|F~xk(}G@w!NawmfW7JkY`87_cWe|_&$ywOwR4_F!Ib$h1JM2#_ghw&qVxk$8RU+c6c|rl-r0r4?F%WIk&5q$t6z{^1S8v2jo0n zZz7jG`aOxS9siM>^JMl8FAj?wk38-lLN58&>(-Jhwak1YE}#Z05wv6wl-S>*SJOzYp}D_g1AB5|E(Q&`tc&==~ zusm*D$NjY?e<{j+*YVHDx&Qo*TB1 z9J$o95_!rTpKg2};?HsXVsh?pe@!msRw2*t9KX$Y4dU;0{IBHP-@ZUD<<=t4>yE!~ zd>P_Db-bCJ`{!-;YrWs=kf*ETImTBaeqYDO8ZSir1jj4Lx!ukrm+i9(dCqnGV&i#; zzryi4a&CvWl1sU(k>_s5A2FVd_@^9SOU~`^@8nW$J@Wk1@&6jnMEnnqXYJpz-?<&` zOfKa%BF|oq_a*0cRX{Fznvmyk$H$WMczqnX%D3$w8huj{kz3$M*}#B~L!`{L1mW$$5PLGr8m`K%NH2HYB z$y1Cx-#ET|eh3PSZhsx$_cT5c<9kozI=&Bv>wYgqxkZj2L(cu=DdbZB66BfY_%Do? zA->x2TH_Un|E=S{C+B|kK60sNCGtG#_;beRA%3mn{~+gn_21-DZWZ!;=lHgLLr_?B zztkXpN5^x?xnIpEmvU>7=U~T27+;3?qa8n$ocrNv=z0Pi|*gm$g_jv-Hm4>zPICp$+;aC zlFRzmBhQhJk2ju)_|qIei=5lxJaQ?w5qU0j{MY2%uC5`MJWa^6!tuMvd0f7aT=Hzh zc=xE|Pmyz;=gE0||B+nsugBlBbviIS2#fA_^`YcEz7HptJe!cG#PL(ed3>KjE_s@f z=PbvUz;%4l@%Kwnr_%g)b z@Awns+&{lSF6GuC&+CrAZ+s=HI9P*PX&jNDE zQ;0l^9A8F$3guZrE_sTP=Pt(|G+u)ECmeqUF59P!woenqpGx(4ja=$eiu@ZK|CjMH z#DC@Z_i$UE#Nbd^SfrioNA<}fm-z#tRUCl;dUOe4I`tmwK*7o>`7BFrJ6_MUF2c=XQ8K zxs+RvJimARKI7Slf7J0Na&CuzBbRa;k>?%9KQW$(_%9vLJUAo`i|k)+hn>l#+$QAN z)$v~B+^+J;CC^&qIoR=9D&)Q~))T-rpRL_Omc|u=`=XpW_x#Z8n_B`D2iR3&_ zm_#mla**dt$7hrCd4TiCB~L!`)Hr?zIiCl(hg|aL^}il*{5kSTG~WGaWUy7MAUd>v@12xc0ZDD0g4S46%aC{Xx zx7+*4rJk#h=P}2hH=c+1*BswS&h7ADbDO zd=)w8`4c&h?;ns${;KW6KVkXY@!Z1rdD*`_zVAyed1{eopyR{Id3+yDE_v#ZXT0OH z;5v?E$JI+Lq<9|RFD94#dcD^x9REEzkMDmZmpt{T=R=M^O3vf^Gvtz|33=8y{uMco z?>~@Bp0&u+@zC%fEP6bu=a5gP@x2$h-O&!m6k}HWL)oqb(-;oh(Fup z-;8pr9KW2L`^n#uOZ_(?&n=Gs$#^s3>m7gAcqWd=zd8OUIq&!P$)%pz$n&Y=J02Eq zDA|v^-*+dMJUPg-kK+fE^L`&eE_t$$=V-^vjOQc%4972r+jg?l_~?vyJ+CpY?c@%V zzYyi#@Awns+)iF1m-Q_`o^_6YWV{&hUpW4w@e;&$Iy_!KJs#EfAm{P77rE546nXkP zUTC}w@kcs-0y&SrQ^=*<3gkJ<@$-yVBEH7)tI2u%y@_1PorgSkI{tw1D#SnT_$%Z* zUaupUa%+%hqvM|&uSNX#j_*|zl7>b1`+D><`xQl;;zP)}-5yRZ^<0K>$2xw3@jS#& zc6<&wm-|a{DYp)JE_VFa#v8G|zjOQ!a&G_kkW0BMQSKv-KW%(9%6--G4dmSZKO~oO zSE1bhI{rW7D^c!t!^4ZiqWfKacXDq3dy`AKt5NR$jvqqK?YW3t^3)^GILA*Q=Xv9) zowi+Ipmz@7vwzu`~$ho!Bl6tf_^sspJ(gAEJkNQ6T=K6){>L5vfSl(!o5&^4dgS@q@!dv*ps=(L|5woZ z=8{Vuy?@35jvoWp{j2laQseh#NNHi-Yh33om2jz#l-rE@|I+cr;7_l zmGMj*zYjY8r131ozvTGa7bFLHbtIrsB7kY|Q+i;?FJ$5$IKLHu7G zf8Y2&4H@zp5z zRL3jHxgDNEF6CCB+zTB4mGPA*_Zr7nl5;z}i(JaBM7a+*{uDX4t0r>EGY@&*aQuC8 z9``>cmpnCCug#7(lXISSqr!{BBJGFg4}-}ie^qCRN+gOLpF_^`hhLIQo?7I&*zqgL zdH%4RT=LW*&#jI>2G{XL=MOJXJkKB2kV}5O-`LxZe?`vohabo#Pd)0{@yPHXEP9-( zcOmC-e>ZX-_j`~_{wCzlcl=m#9`{cqmpp5cXNuzs$*0k{Uqdc=HX_e&9KRo~`$fn7 zhm3!e5t4=FQR6!9zhd%lM!A1?{1bBSKffZE`foy>cB7->llx1(tMO*UcXxbW4 z2Rc5Socr6O$fcfH$TQLL3gg*`pY8Ysid@RgL7rWv!e?!jwbGtFE_j@7oWI4XO@nXd9(PFWbG)3K+wB?TvVBTW z?p((&Fy4rAFLQi3Ik&@`$fev;lzXS+4;WvKavyj66>@HeZ;(s5WhnQ3$3HW^66JpD zc*n6V`<>h24&+j91J!A8Bf)F!X>On_+Q8U z11X-z{e#FQ|0?7k?)b^%Jnl~>mpt{zQ|b6zavt{=lJmH~h+OhFA^%dxSCjL&{}*z} zvle-tcKn~@a_wh5zwvK!$+Ho8zH@x9k`NRY36uSz|EAq~k9e&qn-P zj(<$f{q2|JQf?0NB#w&LL$|+rmhn8q@8)=Ka_(;jl1sVy$aARUV~iIdzSQxl_+LBzC*$kUe(D{6ft=gz8gi*;3Cexj@sEu+qTJ1nXB^$Kf4LoY zBA0SYQSL5|_b|R1<>os+jGWuy5#&;C8OlA%@so_NM7b4?pF_^=Z~?iLTY+*HIlhdX z+tu~tlBW`Re((67$a%beh+Oj2V7;Dn`~`B(^9nhS``a87l7=ODTyGaY?&^3EIgk5C zl1n}Fk>_~FCzJEIKb>6i6e7<#j{h1in}x^y>nWbc{aeT-e+lyc(ebCrdE9@IT=JA5 z&zp|FP0r){hvbr{5_$gX_^!u>ps>jP;_-b?a>+9fdHOhBNY3|#A4x8GYLMqx$LGOy z`|J3Ap7A#&Sy(PGuH*ZaCjT;&Tj%&)^{Y^~f{A@e|2;zfUEXJgbmrmg7~%n-G7go)Or`IB*NCygfmdX)RJiAr89)B+&mvS>P?p)^hHO8|Lzryi*$a(zz3%Qh= zjXX~~zQ%YC;@@_B6FHC9Uy@6?dB~F(A0C87_q%$Q@qEPZ=J-(KRoE{h9WN#4c6$oB z)UyEPPIG*&@kW$;zT>szT<+E6Qf?v2z0vVIjaQ)DKRez?&h7sNaw)eM<-YFt`^HOA z?x&77lXLseC=G>$MfZCN%I)HKH{-=9x0mAuBUU57zA%0%=3(r40kV~F?_aYj3Xx}!<440~^YZ-j6pH8h=M-|uUxNH+Ilh>j=bu-QOP(_1S?>4^zpL6_8a&EWpl1n`|Aqwyxh|H1Kx$hqHcB$sm6BG1c?|K0d{#Q)RrFUh%| z{~x)OyAgS|D+>?8qWfKa7vq}{pX>Mt<28ss+VNA#x!qQfOFcIu&uqsR8m~nBV#lu` z=XO{}F6A~O&+U%iZ@d)ok2(G#Ik&^L3$A+ngGbhDG)-x5F%Q zDK`t{?&f%Ja&A|B$t6!V@(gi&1UZlUW632?9@cAuyxB z)bVEHHHhypIlMS5y8YF6HeQSPy&UgL&g1eSPavPE78^<%JgrKnK zes4nj4vr5ro`d*99WNp0b~~P2>bVwqPILTB;}wYih2u5kT<+!MQto=>xz_PpjAtVL zkB--qbNhdiT*}>uJTE!^mhsIPk3MjGGdZ{a@5!ayO(=KUso_Cb+K2zycQU>a8@uSGOJ(rS8o@V5k5}_PeGhV;m*$d7iYoahEC)C~3a;at&P&HrJkLu{ zCeI9cYvrG?obLDq8-E-6;YKViAk@t4SX9`YKwq*yKg zgk^){iPPifo@r{Uo(D6sfd0zT7Ik$&b$R+h=?cq>zNwEoeMmv6j@vLp4Y9uB*ei7WZpT)+PZyV>i+_<)%8{xXX zIVkrJjz2`s?Wd7kRy7-WUUvK)<9Uex*zqro=OaFGM!bGnfAt;6d0g&JF7+%xp5BfR zG+v1KLme+6=W%%=xs+RsJX0N?ZM+2W3mm_UoX6#B$fev;a~(gBoZIt3QM{v#bPC+B(T8RU|u4teG}KA*f_m}y=-8$;pRZ?8qUBONa#=l-*tT+wolE%TVqCjt?d0b~v0|iY!FAC5}%tUW0O{IzE@2 z+u?cSQe-j8t#SNna&A}GkxPma&edz5%Hfp{v$c}x1HyN%7sN?; z9^&6~JoD_3G%UIw>#;p|aC|RvZnwS2rJngHx4+|s##f@;BOO11oZI247`@bWXJeA0^ z(((JrdE9@5T=G;Q&r^-wd{69Lr`#B*fEV9{o+~1pA^3);E z{*E6)o)u#CbDtt|$+Hr9#yNf*IiEK;nVjbj737kCHS*7P{AzNZKU_yHdFqkpHpibL zKabY;C34BrggomU{{gQ1SLYAy=YGux<4C9Y-$Z<{{4s zj!!Y3kNC43UuwJ&`{jDa?c96yJg+tmVc z$y16viyU7{&g1@X$t6z(*6S9>?Y1!!pGw3jfRUG{s*P%GBc}em0Si zYH)lmo)DLM>SO#_SQOtQ_!9K<<>7Z(B>rmo2g^hFDHKh)c8sCHco80NAeVBB@Hk2w ze%CzexhPA1NIX7HN)(avdXwNi1-Zm84gbs1K+f?S$R&P-1j~Zm~8g zFX2ZKIp;4Ym-t+4uWE9RUqLSMMTl=8=lBie5`Qe>r+lH@zv7N$xm{QUqK$lcaGy5$T@xkc@&=& z$0xAfDfK6h;ze=fPiFGqY4Ip;4YkLr*3YI2TWK`!z4YW>MMegnD0H)#EF9H-Qu zT;gBR`jd11a&n1(Q|nL8@hiwBeuLJZoZ~l;OZ?|rfAlLU^(UA3u6u@m!cs)e`OC>A zJ{R%Trc-4%gH7FbFDu)$FCrl_{3iFPpB6;$8R8)_>PEAU|iDrM@i&);|+MCtMP=q zFf6+pFM{V9uZH(A-T?1!Jb`)L5aUJgBIDKY(Z(C##~P0&eWCsnjTgzr3ro52YWQ^H z4e&X}qsAWc%r{;X?X++l7_WveG2Q@QYCM5?;d0|e@D;|Z;ddBsfZuC8fqC0Q#*5$$ z#;f7a8gGEVVmyI))tknP;2Vrr!#^_K0RP;00`s14j2FQZm}g1zlU-O1?`XUM-qm;l z^OD_-7r}FlSHt@lZ-DnVp1{0ei18wLk@0HyXyXm=V~r;;u1_>x1TQyU4WDkj0Y1lg z0^{y{<3;dl<6XS>uC(_Nb zqgf>5n=!88?LmrT+8s6fZ9}EBnpnML{3hf{eolgN)q97>vPgZl33>FqT;E7r&bw|# zo*|AO3YWuYJF1Ueul3G)soVP3JM~xJo67A%-+_lJazT25o)a9` z_NeWA8RE6wTDS4FPQ1F^K2?af+edw*sb>x1k9FMUuXOUOA7S#$L;O*W+vB*Uw-i-KX9k=aaJ>o~0c=h9qZ$x~V<92_oMSM>auWrZLCdAu*Mjg}qS}!}k%V+Jf*!HP@K>T#He=ndsJYSOSlZQOopXhk4 zZu@QNLuIk;T)iTGIx6=@Ho$L+uk-J&bCi=8^7L(SGU`_9`SZNtK03|huIw?dba+kUJLiETfo&iyJMr>*8=A-`^iQ;<*BYb72}b9}b(Rd{T-kNRRfFYTy? z)(dZ!ljB7#;xJ7~aof)IdTaXgkpMX|>%#%sj-|`M>%}oG1KV zg~t_++v7{)?D441?Pm#XPi{X0$#+M&LW9UT&t>GCN4}4w3+MS2c`gEkdXV=a*S=q< zKY1^T*KtRvH+d1o?@T_LT>Dxf-7gZl3&l^Q_+81%$uB3LPQDxY9P-`C=acV2UQOPO zdklTK>5OKC&Ro@%WOMl4oc|MM|5Baqpu>EZbUSEu#+CQk58rR3R|5Tqz z@qB(@E_r77y$p}fcie7=9K_k}pw9Cj{(haE|KuT$wnJTCb>0qK|8b_C`FMPSYEq8{AAADr| z`iqPg;d8D(8vi?X)Srzv9USM;&#$!HL1^GFnD|O;hu4jF!od5U@vl&y&y4GRyT3HP z4h=-FSETis*(a`N#y0U!^$XygjF*j#<90Q^0^6a7@fWaP`Wb(9-#E`;<8SB2uJ>cn z`m`&E{a6!!8XDS3#>b$6&ow>=@%nk7=08_{3Cm?BUh~{y{MS9=c)c#H=9!0f`LK!C zJZp`QFOKu9Gk!2S%FV`CVgmJ}@wGT1*9rSU>vK5v<1WV6;`qunek~?q`Nr>t4>5j6 z@3{WsjCVpmbCU7DqGO(7{4^Z@vy6X;iP!?;+hG4LHvSIw<5k8N502}3qw#gvo_89b zhWH1JzlC=Dgz^4GasHQ$ufYKDmht5{A@qUq%i=VNb{*nhbUz-jQ~Y>u<9{xUy}xnY zZiU9Dj*jC;8~+O1U$1wr<#s`wzMoV71noz!%dUQk{1TS=CjX2svFr8YHGUF~qbp6k zZnrw)y4`L!uG{U;#!GSH>UraT>lxSQHRG!g-yZ9y_1q2<|GkYLhsOsQKMBX>K)N;Pc-r67~d<6w?jL*-1x6X$K~B={7bCw)5hoHcz?n8x0uj< zX#8AkpH0S(#CG_`__BTD`eb6g<>}|b|EI&d8ovwUjo#N?<4;Eab%2R~aA2Ijzwu6Z zqcFnw4wyF{ZG84Yah{Wne~9`_Gd_BF96#6id+5(EFn-bgas020Uxx|rwZ^+*|K4K! z0&L&Ajn6{4j~LH6ATIZ5NA2r??+w%qEPhebl-S}wq&mS27EB4n{#vjO! z%Wb!P{8RVK!`DCi#_4WYKV7edXrDukuRuRsYWxfIhqH{Ijs9wh z@z+rQTa3@bcvNqETkQA$8owLI`~Qsp4)y7T<5<_LGv*Jw8gGw&rl;}6*q;52UytoM z)cBKFuTjPyKzlph_`c|GPc!~WQM|v-G`<1HQI+wdF>krbcq8)s$+(`6(C^3U_PM%a zT<*V3{3i52-B6CkUyt~~#-ByMd4lnm;b$AqMt^ao@$T?H8GjJ2b)yB*Aj<^3Kj;}F}(=!Qu zKdtMf{vQ)R4)cny9p3@RndZ^)epko)8NU|u#=(vsZ+uQcyuN1{zZb{F6~@c4{r_nE zk~mG`VdHz|#!ozD{I_U_uNp5wxo;bP4*lN8#!p4R^QG~o1LJbr;eCT{&m(o7VEj__ z4|^ED(*be(WaHzHjQuR*W02=O<2#|f zEi(Qh`jab-Uo|$)e}i$ouEHOTYybOax@sp{<_(?UdQ_mQQn03&!<)-x}jrVt=hO{w>=7d&b9fj`MFaet!Shn~l##|Ii-i zFSWh>*d>ndXgnM3s*CZDF<;un_+{8HxyB#C{yo6>(-=308GjP6C`QSKyrtxzyE>{`vR20WwZ2Vt2u`e;c8~XQO8~+sZjcbgr zL;v=B-GeK93onhWT@&@#8R$dfvFc&wR!BQRru0H+~xC zx9g4fDTwR&zVX*_TzqUiD>sh+&iIXJ=LxKbw(}SFiQ~65{wC(_S;lw4aj~=U)##V< zjE_ZsxWDm#_lnCMV0=gP8%G$w5P3!$-x2-QF~;x3I9qN!6Y;t~bvvAn^GlT`z6*|* z`Np4sUugXGgW~mCYP<*Lg>}Zyz_@v<@&96f-D~_q^gj*8b$y;T{xI5AlkwF>aXr@< zKVeMl>x_Sd`hRSE2HuDM+jt53`7e!6z;XS(@#_zc%Wa2oUiV7^{a6R%KVp8kz40}J z;ygPW@7^KyJ&Zq(_OQ2cov-&YJ__S?zVTUDuOY_ki{f&NjX#O?J=S;w&X<-M-zGQC zGu`-SnE%W(uI*=m@mvTW9j`iBf_|DkS2OH1CICrS=d3kaEGmKx2`O;a&r{Q?4 zGp_Ns7@vmvzi#}wVR5TlDPiMjMrlOKWuzKaU8GL5z+O^85#R0CVnQ~NBqb5qod>a?t8{RHIJT8 z>}h=BA#q%Z@duH2yz!m!_#ERJzrc7q)aMVzr=mUIYdjCz`8DI`W4o<4J`mfv+4xSF z?`7=OdOOU<`^`SaZ^!$Y1C6gl-m{EPl?@w~dB%^xeCbBxQ&H}1#-BmEecpIaY@b(+ zcSQdG81I8|;Tz*0?ikl|ZTNs=^Us0C55fFri1E`gE|eJG3)}N}l)pgr7T{DULo_`ew63H|UB#@plbyT2RP`1g%Z#ysbHQiD|ePu#`0j)UEeUx^KOpm7~%2OHP8qm66+Qsd8HzI2xHF87{l>$_??V6lSL1!)PaA(EGcI?H@#*Nt-Z6gTL2>-QjKAD2_HT@@ z!#I_Rd8qEk4tPJ()p$*DoM&I-`u?=Q_=pj4{7BJb9$NYA-@h33ft}=ck>VKK>PB>1lHJ;HS-jBB$KM#-ZHGVtV=cC5;I#ACW zuf@Fg4dd%@JZ?1p4(1>KF}@wz!~cwbhW*kR`&0M(1!&K^8^3d8yuQ7SznBqwfpP6O zh8mxNJX4Ink8xtU@j{F*7a9Km`&U1Q*ZS-C!f!J1_l%3{d7JTdXg~VBGtILG{c59$ zpM&lHrtx<$-+ssVrANf&>UmSme?V^R-;YvJ{`whuJO;2r@;7AhsSw_ z8ZW~8pregnvRxcsYJAc*u}?QH*Eo}9mhnPthl`Cj;ymFJ<1gdG z$BZY6;yjJUAI5m}w(&FD$MOF#{ubh!jgLpa(SHB$}eHbHU1&?OK;=zF)tcw z{Cf0zMaKJ#it|q~{?IP5PdEMojz|4|eWwuiT=;(@`h_JXUcaw!v+?_|U+yrz0PXN` z;~M|0@oiE6e;OZ!{rIWz`Isl~fa9za>i;6j-PQPSaC{wV{D0_wij6PFcwJ^(|K4D# z@iNq3=Q~=TC(wT`G4c86$Lfq9o*PyqEVmlpFgEtT7%#-o}N#=ph;yF-m1hy7J-{2tVEvhnp8f2SLtd}Lgo z3yqI0ihZ&1m+*e}cg9cb9LKLPuGen3-}rL$|Bo2&-X+fSqVe(A&TEaoGa`=vkMZXR z#Qu%(zvjli2aXTjFBjwdXRh(tn5P|Vd|MnxhZ%ng{rLpr`=Y-sGhU1FV!rVo(4Smr zd=uukD~u=5|KD!>6>Nt_<6mMszhHdWw(<6P-}wFLKR-79d-S)>#$O#5=gGivpxZfX zNbI{B{|n~Zdm29;G$!q+$L=Q(@nhIf3wQ?jyRq#G5$}q!<&pR z#QBil8-EM)glCQG_xWBn{#Lws5?>qF`9uQ!tFG7W*go4D?~QRb&-i52bARL4qdysI zd{4CJV~yA2xSC^pUYB?U&NaTr@Yt_4UW9SB&bavq%cq3eEGi+;Er_Jg`^w+_a$Ft6C# zxNf&z##fJw>wk!G-EM~){|x(aym8%bCmBBv$LV>--@yBYrN(bXKYN4mFVWuaG_HB> zHr{~umCqR0_!o_zhvW1;r>|&ObIj81I`tH9i8zwSI3x zw@)ARGrQqCtjh}$+&>q`cx97%=aeNo!eX+l~ z8~+O9Y;WTuuwVKbuf}nDi18o)UuWk69#wVi@u{L0DQZA1K@p=x3dkcs(15QX1OiG7 z1vMa=Op+l)CJ&M!1`9MFzEFIi0!8b!RE4Hq6|`EZ&mgF%XenCd^Quj)Rokmxd|t%b z-o4KLudwpZIl%OM%4%ZZQ1^~2AJ--mI% zj`-uqNAH7aJNyElr#(&f3kUi3d5QQvSV!I@{w}Wb-y?o5-WTil)>U^cbPqxQQl5)> ztOs$uk8?cn!ee}%qlh1Sl;>lKpM%cb3Jjbm;S#utyj$% zKA(HY{nXp4#e2K}&t_>eAM z_jTf{CVBp6;!olI#g9;L%_jl-5zNv4V~M|n_3?b-`a8v!5>Fsb1@VcPSC2Z$f>aC*E?Bw||RxKiIbsABFb+lK9drA7>BoiMa0V ziSw`R|4(lo%OpM#^S1t73boh%a~j#-i|dCX;`(<|E+qZ{+W%JK+JAmQT>H=G#PvF? z3+8*xQ+YSy2le$8?o0en=vV!Szkut^Gl}bcsBy$=G0*7VFVTGTKGY>-|1dsx`VH|9 zFfYAK{7nhywl?C+F}}Vgegv*R_4-}&X+ys{5!dy~^*-Eb#7AKrEGGVJcb`ua@#Da6 zBi;zUk@$M7J3EQ5#XPc`cn<2>7wd!OzZv5+Kg4 zpNal|8}U!EEFqy?;4!QN zTCcZ}|Dh4QFYyAr|2jE>uOr?U*ZIFCJ{O-GY$C4q&k=tY^Z2{O)&70r>v5gGoA_-7 zzJ2~l{4aey?}NOweLlkYI*Is$xXwA1c)?&F=M3Uy$9Y~vJQL&MLgK$0>+LTiUW)Tt zN4yXE&sD_xqCZ?u{1dE$cM;eBf3AP8Lfc{XxjvtbWPd5v-=~TH4D;;{;wPa0>?B@) zxR3ua@nvY|&xy~)Ja}lH_tQKl;{989;{9&qO>%>^F zO(&j(d2%N4dl09F_@n5DDdHF4ebZ9nk71s?iTEDOZ+8>#dQL3ZT8K|Xo=+100_*9s z#NR`IeuMa(SWn+3j_EqKi}=6re(!7IeR{=$tsBOHp5G;yKYI}WAN2o|i9d(ykio>W z(9U_p-@^EvNW9NsKA($;@51_6M*Mn=yGG)(C;K>yh)=~jbqn!l`gr@*#J@es^CyT` z9q;)k#N!x8IXM5?o(;%<4Dny19nJy&o(qev5D3(f{Y80RcR>VSMEt()-u_mP6(woNyflEH|EICXlo8l(jIe*v*!T9S2hZa#4C*x$U zC$8t~DdOM2eiOLp;u1el|AOo_j($%^>pNT=-PR53p1d3u5dSp7a7^*Rfhph`N8`^R zuAd`S64%eu=2QHB(7wZPT&e~~9;G;{yNS5!{+_t%zGvcNC*rJ}O`Ow%2>xjU*{kl8#2>=?vW@s? zbgmu5C*ZpM4RERNK}PozvVRqWyBqwpJvE=>iT`hw4|XEB#>es-n@08;XBKgthc6@k z1(L0y_%l(5Rb+nx-oM;I_N}mgmbm_&*Ed&&<* z*ndayOEDj2PWCz+zXDw2-+#2X`)P#z%VfVN)7yU#VLt-zS2X@iOs@KOXu3J~7u`eK zX9et)FFVA?Z=pE)In`#e*EmO>=lxW-XMg{C5V*!y`+3Aw_iBpMILOCYL-rcyE8=UQ z+hvOPQ{C8D|2h*~^W2H+z>#FH@vk8M*C9U6O%zA(lm43QHO^OLUx!I6qp)M1YCj8H z^L+YrZ+Cfw{bsUXg8IH2VL#z~A5Y^Sfq6L&uI;AzJV5sKlfD1e2>ZT89qV-?>_>pB zuI4v|>{a)6vcGG(kNZf3eQavSdi}lFzdjC}>ouGB*BCE9p*VGy_&BS`Uh_Qu$Nsp+ zUx7t$2=SZ2&jHtVSXJ)*FClx4zm4phs=WP&5%v?N`QsY@?P~uz4z77>{D;UsyWZPx zi?Hv7^Pq8(L%sb3;u`;a;<{dx5&sYuD6_#O|BHR-;CVIKYy5S@kL>E5?lW<43WEbX z3@yS>3!(e1iC<~r54q64;C9O+egQ5x#)C`ypo<3ql7`PU@vo&g zn*Tk_UN{;V-1%aHP1oBHJ>rW zHO^$i2Z;!_VsPzOdY_<@_{v=GpzR^{TQrC(RYyYG_cd9t5spjJfMgr~AJ~^75Bp+& z81|(o!oKkDV_%9=>r|HEbtcbj!|nQ#XSiKoiVSZuaY_xh^S_!% zJ}?Q8&J)VFHG0boI0(1nG?REgyv{P*j^6>q2jX?M;dWeOT8W9SaJ(&zyI4*-@8w|Je(njJs_F4_M^VL@3Q}BAb;dUO|NgQu8JIs4_e*4JS3m<^j zy9~GU-frUBe}WF>j!FC5`LL@1w<*8Kzl>!VZs$q;4PQAd{8iXz8GAc_>TmMOVc})4 z&o=gUUd<(b3heU?xAScQac%1&!|gm=O#D*BFE!lG&vS^6gMFRhcHV9xuK6?@u6;^E zEhVn@%MG{l{A%Jl-q#o&M~+go5MP928w@Wu_8W;`hhwdV+x22Aaa?}Jwi|BOk)6bI z5WmgvDwEGg#MOS6;d71sZsN=Im{}L>deoKpjj*@tSDnUiWu~zguKmHTYj*t_VC;o! zu6Dh%>sqd{7q0!mu7gdE>sDawgh7P~tmC}I-d&U=p=eu*~;o_82-=dq6sj~n~$IN1{4&PxLgPZ;}g zhTC~&mf?0jnQyp`MG2?>e^hks{P3i)uQR%D7;eY=H-_7B-J_>>miTu3jxgMg(=2F7 z+oLN5B+qa=9!m|k8ICG?A{BC*XaK!#j*ebZ#l^c+~k^_;B~oP3K|Zc087vICeZX8*azr8pG{) zY&G1D$2P;U>r*<|7sBMB_cybM&-7+7{k?RxZv~$Vd-)tgfAd`qHB%hDFL|A@KL;_S zXd!#OFZmGJ=fbCr?Df9n-^l(B*k@wB(ERnjwU?oWPcv)o5)`8 zOWNO^m-wq--$M3!U-BV}ul;W)+3WpB`#bUye~?trZCx?=<)u9I{$mett*`#Rc`n)O zea5k5|1{#yA$z@VIFIbR;(V+od%ZvSOS0F$d(cYudVlamvcD7Ycago`AN+>wKY+dd z|4410C1a)4+?d7srR}5rpcq{3+wTvO{jE4pOUYjE58gudZ^M2g+3S74O=RC6_1Q)C zdLK~#4xi?~6!uw|^fiC|Ty-G0+V6mU5!vhgz8PfS2YK8;_Im$rCD|{A{T8y<`**L9 zeH-k*BzwJo_Z`^}!s~ur{rS}T>ixSR;9B1l?57)hdwr5J++LroFx+0BJYsmc_0{p@ehqV~ z%MumCM~zD)lk=1D`ocu&^4j{j!?SDa67>?hBoz|fJ7rI(N+t^8H5JLk_|6%0w#n|4 zWha}Qh6Od{`!_qasv(|AE!e+dPRiA5|7NGwCoZq5so1~asANMTF*iS1MQ5Z_MMlj& zu$tt|P9|#huRDB1Ln2jDmaHwGTUAq;?>ba{t?w}H-N^No!cJ*Kp1VHsC<>$L_Mbn0tgym0`A^C<2HniHXYinfwEUAmv$EzDkQlSw;>yT6KPI!AQ z{3vrn3uB8KCbu$CBhzGJlC)%ge&dhNonDeZvbHX?n;nSr0i2EDBWKUADNj|^)|5!D zD(%Kt=&VGl#=E+Zuu8j@#`|+}}`h+$+P<_0nGNFCXvk;W5s&TWHKkTkXVnfSotE&?= z?n0!dHkBAUvG9T+4JkL}K{_#~WVRbc&ZV-xcD}u=l1rg~YkSpQA9naW1yS-);_@+e zyL;Wmz30T+jP^3hzaYeao5TRuGRnUw#Q&8v{EI{U7CroRRG4}`xKlxA#_I}oNn2l@qY6#WtI!TR$Y3)BA;`sc!5 z3)WA%17Z3bpuZfBqMzd)tS|Qk!}Q18;2rh*QT~woGFhUqsw?k!v4 zEc#>IgZ1S-MVNl^jo$Hx@YjO%dphSZ{oE(KrS1P`gy^3Yp}+6|^+!kO&k50&zQpyf zjL=^L{TW(ulwAL^2>sR2FNL49f1Z1=zN{(kU#IzJ5A>(IV|HVGUDNWck=x%LqJNI# ztp8Yqe&J0%puN{7g!LbesDJU3-m=t(3Htwdx6k@*5&HK-e+vAyVEzA&(BBxMKOsb4 zzCY+fbZ&p>pRd9wS^r=M!uo&aQ{J)^escZ`+=J^sEJAKw+Z?gnlKWem$6Ft^ZL2;XWn6d>ql8c{w>Jgt{>7DR9~+@mPP2l4*iRe zw-#K_Ya;Y>@dXR3FMWaaABoT(yxJ?is=_E)e|?1hR_GT==X9I&pQ-M_`tL>P?}2`q zIGc_2--*!AZ1t9<@D=@O?!o#!-Gx`!_?aaRZac*n?a!=#xbqL~ztFe+_W~D%_0Nvb zUkZKu-7-mn^~Xf$w}j|RUt;}ag#J3{Un-(zWBtkq{hiQnfv<#{;U27idxU-$eBo-G z(Ux7-UlF0-yvbWO!C&;{`xvbM8uU5tMCiYa?@=I3&{uR{%D+eC-}7#7wZHTC*NFUg zBY)d}#SpOaHtZxykUmBuc9HCzb{rz44PK(elhQ2+2Wg+^_ z5&Abkf06UCo3GVg@{Ky;_-n!XYa{fRZ}yfu;VAmE z-GlZ25TU;U`h!&%CF^gC(4Vu#TiWwKCq#cwgnldZ9>Q52C=W(9djF_B$E$`iThr*z-PM0qmv!)wu`PUp}}AYyX|l$J>B*RZ27VZG?US z^lkr_?~Ad1ZiIeft(P3vuIzUtSG$dL{$cH(^@7i|6vk5jlzXs#V}yPS^yk7~3)Y_( zq2CPs7C4H&{MS&{e>6h>sCC|v*B{p35TQR{tFONu|1uY|{%6qV{+A8?ET2aEv-&Ie zI6}V|`UNnQ`d{H5>aYE}k6WLmPOM)9{nhZ-LjCo1FXtb2{?|Z%0~$>97rKY~tNsM& z^ZSR7pns(bq2&HQHbTGXC2wiR|Kbq++6evRue{*?K7Y9^LcjQBuiuKirT)$C!S!Da zeQy7)(ARcCn09}CeOrWn<~FZi07KDV;vTI3RD^yT^n0riN}m5djPQ@Ocn7vueGU6w zME<47-;STFos;@&yBzL7SpUs{{;?{AlJm)R{ztfD2a{bk{N3RW8^0duKv@4@j{G%G zY5%3}q5jGzIlyy@2#_e}~gno0r*I$l~Df+j#2kZYF`Z`X$N-Wk( zzO3N3N6u5?OV!tMU4;M3)!xGXUnq&7ep;@Fe@7Mfszxn39$~r#{&bq!{foMF^mpbR zwr3m&>;D;(e8X*rgS6i&_fUTwe?1&S6L*N)Hr3NVssoO4{_?t0?v54V24vgG-cjBT bcX7rVPW9#M`C(7PHkhs z6i)(*fy@K}5E}%7ftU%*VqjPXrMZDLGnB0er9pg{kvvc_kXfuyHjD;|u|vgRG)N5S z9Wa2=AUi?!fPff;0=o@nHjD=86@tpc=l~#J5-N5dY6%CBF9Q{O2Bq16v=Nl84>AY{ zKoojdf`mc-TNV1BLz=D1bw{(o5(b8ajIeM4N`U}aO-Qq>(VfgpLwsr)PU^{@l<|

RwF0ikm1ORG*N*w?I literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/us_ticker_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularnetwork/objs/AT_CellularNetwork_unit/us_ticker_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..eef471f811bc75dc427d4f1d30ec8d3236e9bb37 GIT binary patch literal 1780 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/test_at_cellularnetwork.cpp b/features/cellular/UNITTESTS/at/at_cellularnetwork/test_at_cellularnetwork.cpp new file mode 100644 index 0000000000..53a8e40e87 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/test_at_cellularnetwork.cpp @@ -0,0 +1,331 @@ +/* + * Copyright (c) 2018 ARM. All rights reserved. + */ +#include "CppUTest/TestHarness.h" +#include "test_at_cellularnetwork.h" +#include +#include "AT_CellularNetwork.h" +#include "EventQueue.h" +#include "ATHandler.h" +#include "AT_CellularDevice.h" +#include "FileHandle_stub.h" +#include "CellularLog.h" +#include "ATHandler_stub.h" + +using namespace mbed; +using namespace events; + +uint32_t mbed::cellular_log_time = 0; + +void conn_stat_cb(nsapi_error_t error) +{ + +} + +Test_AT_CellularNetwork::Test_AT_CellularNetwork() +{ + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::int_value = -1; +} + +Test_AT_CellularNetwork::~Test_AT_CellularNetwork() +{ +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_constructor() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork *cn = new AT_CellularNetwork(at); + + delete cn; +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_set_credentials() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + CHECK(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP)); + + CHECK(NSAPI_ERROR_OK == cn.set_credentials("apn")); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_connect() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + cn.set_stack_type(IPV4V6_STACK); + CHECK(NSAPI_ERROR_NO_CONNECTION == cn.connect("APN", "a", "b")); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST; + CHECK(NSAPI_ERROR_NO_CONNECTION == cn.connect("APN")); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_disconnect() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + CHECK(NSAPI_ERROR_OK == cn.disconnect()); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_stack() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + CHECK(!cn.get_stack()); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_set_registration() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST; + CHECK(NSAPI_ERROR_CONNECTION_LOST == cn.set_registration()); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_registration_status() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + CellularNetwork::RegistrationStatus stat; + CHECK(NSAPI_ERROR_OK == cn.get_registration_status(CellularNetwork::C_EREG, stat)); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_set_attach() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST; + CHECK(NSAPI_ERROR_CONNECTION_LOST == cn.set_attach()); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_attach() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + CellularNetwork::AttachStatus stat; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST; + CHECK(NSAPI_ERROR_CONNECTION_LOST == cn.get_attach(stat)); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_rate_control() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + int ur; + CellularNetwork::RateControlExceptionReports reports; + CellularNetwork::RateControlUplinkTimeUnit timeUnit; + CHECK(NSAPI_ERROR_OK == cn.get_rate_control(reports, timeUnit, ur)); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_backoff_time() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + int time; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST; + CHECK(NSAPI_ERROR_CONNECTION_LOST == cn.get_backoff_time(time)); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_connection_status_cb() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + cn.connection_status_cb(conn_stat_cb); + + if(ATHandler_stub::callback){ + ATHandler_stub::callback(); + } +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_ip_address() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + CHECK(!cn.get_ip_address()); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_set_access_technology() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + CHECK(NSAPI_ERROR_UNSUPPORTED == cn.set_access_technology(CellularNetwork::operator_t::RAT_UNKNOWN)); + CHECK(NSAPI_ERROR_UNSUPPORTED == cn.set_access_technology(CellularNetwork::operator_t::RAT_GSM_COMPACT)); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_scan_plmn() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + int c; + CellularNetwork::operList_t ops; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST; + CHECK(NSAPI_ERROR_CONNECTION_LOST == cn.scan_plmn(ops, c)); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_set_ciot_optimization_config() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST; + CHECK(NSAPI_ERROR_CONNECTION_LOST == cn.set_ciot_optimization_config(CellularNetwork::SUPPORTED_UE_OPT_NO_SUPPORT, CellularNetwork::PREFERRED_UE_OPT_NO_PREFERENCE)); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_ciot_optimization_config() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + CellularNetwork::Supported_UE_Opt sup; + CellularNetwork::Preferred_UE_Opt pref; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST; + CHECK(NSAPI_ERROR_CONNECTION_LOST == cn.get_ciot_optimization_config(sup, pref)); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_set_stack_type() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + CHECK(NSAPI_ERROR_PARAMETER == cn.set_stack_type(IPV4_STACK)); + + CHECK(NSAPI_ERROR_OK == cn.set_stack_type(DEFAULT_STACK)); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_stack_type() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + CHECK(DEFAULT_STACK == cn.get_stack_type()); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_pdpcontext_params() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + CellularNetwork::pdpContextList_t list; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST; + CHECK(NSAPI_ERROR_CONNECTION_LOST == cn.get_pdpcontext_params(list)); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_extended_signal_quality() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + int rx,be,rs,ec,rsrq,rsrp; + CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.get_extended_signal_quality(rx, be,rs,ec,rsrq, rsrp)); + + ATHandler_stub::int_value = 1; + CHECK(NSAPI_ERROR_OK == cn.get_extended_signal_quality(rx, be,rs,ec,rsrq, rsrp)); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_signal_quality() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + int rs,ber; + CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.get_signal_quality(rs,ber)); + + ATHandler_stub::int_value = 1; + CHECK(NSAPI_ERROR_OK == cn.get_signal_quality(rs,ber)); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_cell_id() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + int id; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST; + CHECK(NSAPI_ERROR_CONNECTION_LOST == cn.get_cell_id(id)); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_3gpp_error() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + ATHandler_stub::uint8_value = 8; + CHECK(8 == cn.get_3gpp_error()); +} + +void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_operator_params() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularNetwork cn(at); + int format; + CellularNetwork::operator_t ops; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST; + CHECK(NSAPI_ERROR_CONNECTION_LOST == cn.get_operator_params(format, ops)); +} + diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/test_at_cellularnetwork.h b/features/cellular/UNITTESTS/at/at_cellularnetwork/test_at_cellularnetwork.h new file mode 100644 index 0000000000..0f6ad2ec5c --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularnetwork/test_at_cellularnetwork.h @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2018 ARM. All rights reserved. + */ +#ifndef TEST_AT_CELLULARNETWORK_H +#define TEST_AT_CELLULARNETWORK_H + +class Test_AT_CellularNetwork +{ +public: + Test_AT_CellularNetwork(); + + virtual ~Test_AT_CellularNetwork(); + + void test_AT_CellularNetwork_constructor(); + + void test_AT_CellularNetwork_set_credentials(); + + void test_AT_CellularNetwork_connect(); + + void test_AT_CellularNetwork_disconnect(); + + void test_AT_CellularNetwork_get_stack(); + + void test_AT_CellularNetwork_set_registration(); + + void test_AT_CellularNetwork_get_registration_status(); + + void test_AT_CellularNetwork_set_attach(); + + void test_AT_CellularNetwork_get_attach(); + + void test_AT_CellularNetwork_get_rate_control(); + + void test_AT_CellularNetwork_get_backoff_time(); + + void test_AT_CellularNetwork_connection_status_cb(); + + void test_AT_CellularNetwork_get_ip_address(); + + void test_AT_CellularNetwork_set_access_technology(); + + void test_AT_CellularNetwork_scan_plmn(); + + void test_AT_CellularNetwork_set_ciot_optimization_config(); + + void test_AT_CellularNetwork_get_ciot_optimization_config(); + + void test_AT_CellularNetwork_set_stack_type(); + + void test_AT_CellularNetwork_get_stack_type(); + + void test_AT_CellularNetwork_get_pdpcontext_params(); + + void test_AT_CellularNetwork_get_extended_signal_quality(); + + void test_AT_CellularNetwork_get_signal_quality(); + + void test_AT_CellularNetwork_get_cell_id(); + + void test_AT_CellularNetwork_get_3gpp_error(); + + void test_AT_CellularNetwork_get_operator_params(); +}; + +#endif // TEST_AT_CELLULARNETWORK_H + diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/AT_CellularPower_unit_tests b/features/cellular/UNITTESTS/at/at_cellularpower/AT_CellularPower_unit_tests new file mode 100755 index 0000000000000000000000000000000000000000..0f591ed4a450bc1bac5ff4cc0a959b75a63b592c GIT binary patch literal 437736 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

@+dQ|MRk=@OSoku7K^Y z|IJlOmLy^K|Ad^HIOhbbblrwpk@JF~Hl4!g-Q{wRy3`k~k^D86iI`GjVO?IHlN#0e zN6Q%>S2FqG){B%YS^8A+!}WU@c2vg^Co^#@H8-idbvtK0={iBFZ!nnd~^%2ad~m+~t~eLW8^9 zu8@iTwBR3pLs2K#xpK;JDJf3B|g%hnzPU4x*)I9<-Wn>>_1&5r>`c@>#%K4 zaAhBt^Au&6aktC8(&TJsY{gi0a|oMA{harNOKl-q=c=6bkjvz)#!pBII(28t$l$|; z{*9_piWPR9F}>cJ!A= zj?*I%A8($)tZtc|Y^@tV>oVI6^(B}2SC{Is&R=nzq14B;ucJ@I`1I-by3}QyI7`W+ zWis$zxWi>#o1BZ!^dQn}bN|y&A2A;^Scz0|Izj^&>aVUNIDbYvJ^oe1aSJ^hI(Qt{(yRJ_S~vmx@QjqBe_Q}?>l-bquByUm}b zsi)lYk^IJ;_6nA6^F_3tSx9<3Cq190-tm~fGu2-_Cg;tjiTpv+#7~@ zFu&GIwEU9^?;P`|(sFN5UXxC`T6*`5a<)Ze9}(?drw+vae3POtFzc93W9r}nS;@>d z?{m}fn%(p>ZjEj?_Z#XSmz*+akbc~C3I^YDncpzfYp!*i|5!Ix-iJwkv7hd6llgm> zy7hR@cDl?#mwLwPByZ>lawLL+>4aEm(#fkMLy_9fIYWHNGIg2xbC4|MRBw%x6vM?4LAc)ZT5%HFCrwgLl{? z%g0}P)FXzh_&;TsU-YQmhWU&~y=<6Id8A18GKKSZ4Y40HOnlz$7WdoTlG9^u$@G)l zA((2XUc3A+3~7Ok>^bJ24F=&K466KqLD%@MK}Y874w2pKx)3#E_+>*4xy(-)>Rs!c zr5y5a>gHV_wS9s4w4s9LU2b))dC*Wb=1&c#JOq(JhM|7Pjg_JPVx8Y* zNU|5SqeW-oXp#A#o6bu2sgYiFyZLKFZM8bs11^z1?h0Ullb_2>X1-`JpyZqtKk}bw zS4SPg_E(MjPHuA8Khpgq>r_6Rc|_bo{^(hZ{PQwD;Znh6N^ymiU)TR*=V&o{P<&xzr-Iz^*f2 zb*Z(iPYCNp>-NQ3s_@80%zvxX`0O-0oiz862DLTme@@#ReUeWm-v?Rba+k%3vSQDc z`E$F=z00K@5fQg|mV8>7ER`LrfK1#$bIeeeAN`7(GJf8zZatr~FS?2mzUPv=jeCp_ zbIyHXt6P1=IDvEPc5Ito>mPmY2l>91OcXNvT30YeYI5l*dG04&YPS0eF6y+0h|QN| z-Ol~nT9f~uZR319#;Z-P$WHl|NsNnge?WLgf8L|+Cnk@2)O9lFTpjQAs8?MVbN--l z0VY2%%rUq6nUTl&eQxt@xB8g-1kSDdh+jy=GHGWV$^F#{=UqqV;oNu^{ z*JV0gpj5kIaL4+bajd>Gy+^k~-U{~DUUwPq$N*c+O`~CKb93`dW_O9nC$wE4z@2uF z%h<_HoGVMIw^(Kv>Q6570k>ita(s^*quSiYyB_t7 zbR%--_=v+|A{<5a4`+>5owr*T--nYS`VQV;xhv$Nn5glqTjqD z%_v){^cBvz!XfW;QTn@e(`PT`{eo9rZWehzbulwI%e%Z4H?!a2GH8im*K(y^vHH=E zr6H|5`e$_`IG&+I%AlF>lKTUnx5c&5Fy3)7Z=98xCce@Xy zsW+_ipSz2!_J7V)ogVjB(p0y{dK4bpmHUa&%`hCKsN}#B>9?PqOkM7NH`_brYi`xAA>-D_0-+^0w0Y4-K_YqGfi9A*08<1XuZ`m~g!TmHPJ%Ty_ri_Pa{f%pko0<^hV zVeW8CcVNBL#=Q*NJz~r?k<&lWOWo@4);UXhW*|1ee`~0(873QnZ%H^-Z+}U5c_uan z5TolW8M4~!$WTwZj^q66tUuEkOVc^$lJ&cEE?H-A{$(cI3_98soIlO#I$eFieG2D4 zbDOWEtGC^`oU^U;yD91^&oa&rdd#0rp=X`L`D>>6$`rNVI{##vtgfF;6Z!Ac%s0Gh zJS~s&-YG=5-7DdI(rbQys(RKd;xS9|(Wz$FH1)*P6Onv-Du#cUDu!F9nV(8mADea( z=Wk3C$?!C@D_xCElgQ|+SymtAZsjRgWarP?z4M!etl_Qhd+f=u$Qq<(4Yy;AR%g>A z<4CRyLGwyxBDrw=`}lVa{JRGJT?7BFfq&P)ziZ&%HSq5m_;(HbUt9yNxdFR$C)f;~ zX7ee{&zIVtpSarQ4>d2VvOnLq%I4i`Z2s;BntKRa>zbj3}ztfKjkhwbwCvTXaX{;b1QBl>gWk+xnZ|CeDz zw?krvf7b1rmSe~DLCw=N&(&P0d4=X$&6_p1X+Ea;jOLd#U)Fp>^DWIkYo;Bi^Vd90 z^IXk^npbG9)x24Ao91Jh&uD&0^JUF9G~d$vvu4_dbpD#BX`ZXOQ1c4SwVF3;Zqs~B z^BK)AX}+xahUQzEf7VPpUgxiQn&!Eh3pKCMT&sDr<~Gg8G@sE_hk5k;)E+0P%$pvu z^}pRzmsVMKZqa*7UT75C$hbO0`ZEd(*eQ!17yse2+vHP=o=@7V?0F?>@z0&y)qR=eD0z=@ZNMab3Q;t#-Nor^|P#4rK5% zc3e*Ut9R5~)A@;}hVZVBSX1$bwO!L8;&;;jVfvFdzni;u?VCHh{v=7Ad9>#jlb7E~ z??2+MCFd13zB%Wa>wYZhoq2umFw>v>%Eb%cSm=5!G5@T=!^?l{m(y=Ma^vwgCFUPE z%=F$9rd54#TmSbH^RGM1^glQ!tMdELy}CIu|MtU7fABYhN1pM~#@fXE`wuhy^zZ-m z>_2^a?GF?4SHC>G`uot`uGPPIp!{HB{so7b{#&0r{`$11mjx2@uR6^17av%0XTkQL zpOu(@>tUvUtM~sS?meKRscqGE{x7O-GPYf z?BCv}>{ISJXYRS_+x^>ncdc=zUlFB!x9#1tgDo!j-kJWrO1HPqTk1^T|5bGU%Wt}W%)xKMot^22qqHA9#eLQ#kKBF6nf{z8 z?bi)#6xwpb(|w%jmq%&;*!SD&&#t%k184gCqO`ww=YuVu>hjKo&h(9g(fMy&o$hII zQx?s2rk@+7{nE@anO_XN>osTkB~jXsTCyhg*`_H+o$0TP(*Blz-`IJwH*ugd{fa2< zJ7!(h=C3z~yy8s%Xq5IxVlHgZ{NSjooau+Yj?Vv+oBldsPV>_Po#_va(*9ZRSCb#8 z`{hw*`lV6Y-}OM(n5?(9*6M%TqO|Y6sCmJuLr>M}f0a?%ciDGg?3w>uf6`fg|Dovo z_tojkIyZT}tgo~D;VA73>n0}tC#%Co=lpL@l=h<^+}-0pZ;pD|XJK44St2 z-f5XHKQOua{HZ)j`(NH$**)*eYae%}zb{JrdwSnKV)3elTb=fmQQH67_NE!_-+pS5 z)Bb3b_79vq8ME|?&WD`kH@=Ck{vQq*sn2JcUT6BbQQH6K$FrvXusIlV+J~dGUsZR< z_`TEScW~MdjncmRk@e=>-!6X9S^knJ?bnxH)cuOkPurd8uZ+?@JIOn7jOS!Sr+s;p z_DiPyIrh1&W1n-{Z;R4CA*XfTFF&35z*+u^DDAI3+;7C)N$poV(?1%eees@9-B zpXanU4oBDil7H_u@AgLz=Q!>CQQF`1TeDtco20$!EPp6U`=*}4rbpknr`Gs0G)nuS zxgEPSK9lWs=D#FL`=d|nxai$xn`(_8bE32#_{L77@gw&?<1Bw^l=f>jdK-7CJ8z0J z|J$OpfBgBq!w-IPQ_yK&5vBb{i%vJIx8k84PWydP+P}GCYQK8*{>XBczcNbu<3Iho z^B=dinC?v9|7~>bcYFPL{TrY6&K#$GC`$X?jZd`rWNE8qPW#*_?Z19+=I}#BJ0>~H zACA(#-NCfJ-`u#gr8E6GQQ8kHYTnI=Ta~l$-Qy4N`D^b3mquydwfUrWO@o^RKkRwMOz(C2CTIHo@1m>!Ju~)CYx?PhU7hosWvG{#9v|_Alor#kj^+ z{CLYpsUh0i`&Z>r+Mn0z>v1DGKK!9G|NEk}zxje@?ce)g{L4=-$-S59+xwW6|6m`| z`OhTB&Jhy~Z^y*R)d8 z&>b4rv|Q6lO+$BTT+?z*D>V(>rEyKmHLcV%RHkuF%QdakG_*nEnwD!?scC4V#x*V1 zv{KX1CXH)au4$#Fp>mCDTCQoOrlHLm*R)*IN=-v|Yh2TEO)E7G-J@|$%QdakG<2`V zH7(b)Qq$1CG_Gm6rj?q8?$fxY<(gJ%8oFQOnwD$IHv4yf6%Q)?%xBL^&k3)uUu%5% zUg3XdOPOuEj6Y7jLOGzWqb~ZTq*EUDV=+ z9Ur+jUhvpcOv3(surx~h5d&N)r33QYJI9yuDD4;TpEfK1@}(ut@nu_-_G?dEm%J_Y z>qngSPe*B=_H5s4ZyjumcG_1&Y2WA7%=E$C|61p?e=SP;$uAx|yV0fx<~r^7MQJ}N z)Fbe1_eKd$`~6Ycw>x?;@wHoBwbHMQ(!SFj?|1p^$5Uy}^bbdA-}d5@*&7Fb(ZOkd zG)nsqcIQ~V7q8iv)VA|)Y`>|z@$ZNKyZ_ql|D896PdpPm`wD0OuZYs#bFlCEP4dUq zdcIdiX@Az+|873)PG7C^pN`W0f}wjymA9^Q#@YXjBhi)r@~@WknRxDb*Pr#}!k6hb zi#PoFqqP5eK+yZ^(VJ_v|4@|n{@b6-yCd^olMa7-{wGY=o?o<#(td8EueuEUI`2Mb z{&S9jA8(%xT^k(Tn& z8!tKSw?%3H=PkF7y!7Thd!7EPh|+#)I3=!h`=a&E^!G(+|JY{JJ^%4ewftWhrTy#k z%Nw45^xf~A^>;W*`yXfSEeZ7Ld$x1@IvS;Yey?}N?U_CNk8|gZIKuXCKmS8N{@>$A zsh&TD|E=^&HLcLp*sA1VO-nVc(A0QHOgTA``&u*Nkl)wDuW;}MN(TB>PL{rx@sq>BHiXSU=u z9Pyq}tNs3{@V~dNJ^ze9q2`}+?)cx#Kkb)gDqhxp(fMybtNVrhhR%NZl|coqm{)s! zTKNz8x62>8_wp`dA8Grm^ZD=j>HjXjZJ*Y^=QZsb9op3}W8F@sZ;#*pDDC&(-l^o< z1=&wI{hu49{R@MBZ!+Ax@GEEf;VA9zyng-Ebw_?bG$Q6w$-n(xUrChq$KUl5d$T15ZZ{l6kg`yTHcYI7`mRJ&81XU?kb|H>%sC%pMp z?xbhV+v2SM(^1+FIAjbkl7HCXv^S1M*M5$)8lEw5;()PEdry@1mwbQi!k6b<^_+A3 z_D5--^XiHj&Gt2H>`Xs3O8WynmS45vx~!AV^g~hFf7H2t>U*y}bkv!C%P8%CoE2O2 z*vZ>JciQJhX}`Q-w+;s{8G71jUl67JnKkhVpB|dvciM-ev_F#lp(lRTn9rR4>l>wg zhlFi8Uu937=(HairTy$(zh2ewft_(q`!P}4w<;XlC+1iqkF)$GQQCLByf~|*S;14z z^ruH@f9M@wmtnU||IL~HoG9&=8}H6fd4J#cPW$;$+Q+Akxb*o=H|}-jzcfnwC70Jt z{@0564V?DNqO{+9{gcghAFe#xX}>Z``xm}ga_I{L7A0uL{M?T|E8MJDv91qO@Oq>u^Y35z)LDP8MQQ)Y*8atB-?4vJ6`C5)YFyJ& zO)E4tc4%DFQcWu~HJ;PBrlp!zXlgvKaZO7#txT znwDx>p{enb#x*U~v_ezEUYBZGsww-_-~CnWQt{#ABUj8lI5x>y|6Bf{{++-7tkCOk z&z=99^|!sQ-L_lh+s=Qzm?^V;DTDpa{BQe*{M+_rBRif`@9~#v?f*aRurJmA3hVSs zHT^r^QWkne<@5URhQKAg9*KAM&k9HU&Ul>uJ*oY><$vT~`Q|<{QNBmz+s^;ainYZB zMIYxm*Z2GWA^*1hj77&fzJJcj3g`HCG)ntZ|M_|7rwfwLcBXF}*X`HoI32dr-_*`&5$ph0zEp*z?kJ3K#le0rl zw79XovwxRHX+Jl1T-T2u$TXbkFN@N?Y3P||6L0*Y*8Fs3l=h?YTPEL}lRe$|e#wt) zn)d!+d6f1CvgXv^(&hd{=ld^}QQH5v=ey^`|J{Eo_4rn<$FWLHL$4~k5>3lBt<*I1 zn#MIP*R)d8(CZr4v|Q6lO+$M8Dbe)5bZ?_{uZrjBmG|`fp;@0Nob99KKa|fozLuU; z`^SCD{x{FB$ocKJRKD%}KQy-GklQ96xY(Kh+<(ZwZU3w1z!fPMbe`>O-vv?HA8htO z(xrDaKjln69Hsq#`~9tNl=lDa_qU-@+W)uT-%6si|8Kv)&56?fzy1DJ8m0Yz`~7WY zl=lDa_qXyW?f={FZ(IJsKCJtn@rG*8VNFXltZ=}groTT*`-wOIRA<=aPA@v`E2FgEv8^y+)7-hW z_Gb@AX}_t{=fftg?ESX0{70j-f8^Ya&3ZRZc))3YI!gOFi?_Bsu>I&WPJ82|s^|aq ze6s8BUn4)8*tXfniBA7{qO@>dmts`M^0oR7PoEXI9+_!`qKq=(Il^rTyHtmp307a))cZzZ0eX zL+;rPmwOuhUhDmx)6w~F&Lr1ay*u`M*SWq5M`=HP;oZ&0^xJpD*}tbpX}{*$u@i&l zh+6Mo&xz8$|2b!$|4OTVTb%Ddto#T23f<33bvv%m)c8>OEv#v&rWKkRA8B0EQcWu~ zHTG*<)AEgBHcO*qgQ6iF&fTQK+qAs0OofkXe2xxR+@<7x9iF4ZmZARUB&zYk-%e3O z)1$d6T%l=5f7fQ44r_CxRDbU%SATcN(BJ>D@vsh;JM32KaH*zq9JpVHx3yLIIGUsA zP#q3w>etlJG_3RQ9RK_D=+PzAa@3^DXU)Al)G4Q9PHuMISXNTPb;{ zeQvwF+`Qb*Mh%;eIh}LbXScJBT7^U)0HmMs*1zYg!y;Y)P5drO7e`YUw!UmEY&O5x*lc%=@j zR%aN;b=cNl-@0ae2X)xi@7+e>w*C(~Y^Pt4rEpvSP93)O!`U_CzeR^_{U3GM*1s*M zrhcUk+xp$x*38dg9k%n+F}G%Z*6Oewf7f<3<6ox3cKqMzu&uwceNFvOb=cM~>QFO3 z2X)xaPj1JW`B|;QcKijMYQ}$^4%>L^JcZl!dA$zXcvgN*e3=g0cuql0{3ac?@!ZZe z@mqA*#@lzPiLcOM8}C?H6JM#rHlEkDCcavSZM>jcP5d?;w(%}SHSx7NY~x*vYvSv5 z*v5;(HSs%j*v7+W*TladOX z?_CqWPls)MV4s?};rQEX$~*hL?D1%e)^8B26e|WQ`z6}0=O7if+grH~H`VwqNBFP~ zpR4iigO&YA9bT)$GI@jSqz(_V^@k|^Av(NThg<6KvpQ_|r?{a?{~V2v*WtHxIBS@~ z?f$t!hudiUSsiYq!~1o3ybk9LSN1)0_$nQ?_18PXPw8-x)<3DkH|uce2o<00-+p0(c#96(<$1*sKB&W2 zYx_y#RQxyU@DDnS49efE^TR>|$T$BMj}Hr7E_cK5O;F)N9qzBg7whnoI^0Nyog@na z%Wyqq`{P}$zsjko!_SHSPiPM6`8%Z~EJ!CyDLDOi=Ol&O=|AlVf2hM(8|rW5)Y++|L^{|TIZ*g&hv9R zY`4E^MG;oj-@7O5@_eTCLwfxAd;O7TZ2dnj3X4idr=kwiFZc&m5&iZThXvW~R|=;W zsPI%3G{!GfVcVb2>ablNtrj8K_3U?^J?59lb4;BW!)W3%jK7-*TAtXguyk$eWf*b$ z*##|+dlpE{Wpk%s>6r$*SdMJ2197ec!@#($dBYH)+qzgu2Zag?h|ILgUSH zp$TRsXzcGWj>&b$hIgVPx?^viE@b&zLRK6Uax1q3+_5V|LRJ+DSv^|FnoES-wp_^V z4+vTNqL6iag{(g&sy$@keGk5H1m19%q*peK(U#AH&n9yY>LUs7yOehrg3{(<|*CF?HN~sX0wC1E1tGt!?VJKiNx&>_scq-CT(!CYSG zV(M)O$*l@c^6;OITQRYt5oP*tR`W!Ohr_T_Ie0Gd-z|>KUKY_=sL%^cZJx=D1fM5A z-{jEkWsfr&eamd#OZPrXq2z)b>VRc!^cV5%EEh-kDqOjx5&mVT;oZTG&XL~W zE^{L92DW1k7An<79U0X-6msZrX0_1?!XL6Zb4aNLA7!4mehi3L6^wd{DTgN;u@873 z`3)ei>I(jtkAP*=L4H#cjUqg;0{Mt7(U2MlyaXR9J|=*F$q1g+=n32?I^_Kr7_2s3 zFjf`;kI5f{DB@xY3J@@w{E54(Ikf78DNijzGI3K)#$C@-cf@$a{xsxGW9p9H1lp_} z@Va9NH(LzTy5ru1tr5UKh&SqvWFs*GH<3TT6xtYON)SQa@pBPyO(J^{V@n@F(8hzHt6q$Curx3}=fyy0=4wKt1md$_L2PB2M*1cuc8y@15Y)iBu@FZj zBb+6uJcM4L^n^&$v&kfnATkq%eY7^!pY#J6J!q3cQL^;l0{Bhs(WxbePOy-F`UQrt22nhd{@KXv zJ|SA1IXSh`zhwe*1?QB?kvkPt`a@Kz5G78ys&c6D`>&EHFMwv5oX{lH`5F<*6fF^`69POn-_AxkQz- z>#CHD^!HGdy1Pw2Fu#mIkx$bkh&TCJC*%h^VsGzM4-Dzh!a)z~zv_Ro&iB=#a_j2Ukc{kgnSa zXcTpin4Eubk>tcP`XO5-{!Uyu1(u@({?2T_Mqmu?{x0M_fr}^)llKSW$oD3n8epXU zKIB6I{NHNB-?yY9cH)fZ|=D)ssXe$wR2^lPF~XSt`Zf{M-tJ zX5qpo9j-O@w&(O~DPq?fMkmtLhLKJ~$WC~y`eu=Pe<9@6H;d{R$%s)li((GM#T*y} z-0hk-2&ubWS6nS*0khzCEy@+Lc%YCa6NOwiPssJ8sa$y^~% z^%t@|0nZ}w zf|-sUBb!AryV!7LvnXbFE4EQjr$T^kPu_HNK({Ak!+E+jWf1#qB!IR^oP@U?Xw6POC}X zS(Ny-bsWMZ&uQG#XvoE)H*y0~4+6DWl<2mo(TWn0gCBa%15Xp5)1f zwEAXI;zWsu!?06XHj5H}w>UO?Swv@{WV0x7p2>{JW>MmNlS8+cJx*;FCEiQ-K18A9 zf*k6AWtGjM#O*8>NBAmSxkWaM5_hnpbL4lzvRRb)hSV+}34*K5qQn`h{FE{wZwqpC z2~y4mpG+snW>Ml)DLqF4rAkC?7A2nLVpr$LP_3)WW>Mk>wqp(!DplDmN_>Yx4js;{ z%4SjGhiuLqQfk3Rk!0f54*>D1f@^FRB|h>qKwi}qs&5w6F}mPUC7VTc45&5y@?p$Ju zEb{$eQTj8byrDYJ1(D4nU%ZQLosVhNj-`W%mTVUJeiK_hzrCzv6@hFP`TWud_)J$# zMOm@o`UXn_<8xjNbY{3&IgrEl2jfFTO8R0BJyLj*Y>$r1}Ui+p!U zEMp?E2q%M=PLMfB-vv|O8Ob6iE!929%_5)aV#RPGBaqrG@=Xvga9*QwDA8&+akI#` zOcXfdQI6LbH;a6!5+$cWUdF9_C7VUQX=3Ka6sO9&UItOTKTr#@S>$^{v^aBeYRP7i zZ?52+QaN&`qLR%bUxg@f!c~<+jdQceH(PMd#1t;Mkj*0Ba{_U8RvqGIk?(SGI%jNE zqmHUI*(~yHU{mHyPUVblQJY1+``D~GxvR>K+AQ+zB*OV#b%dKmzBP=EQ^4x6akI$x z7i)yG!fH0MS>!uUhS1p&qe#_xDTAM5F&UK2BL7mdvRUN6L3MI&7WtQvSDQut8_BE9 zBL7X~)n<|ZX7XyY$bSoYwOQm}PF`&m`B#uvn??Rx$*avG|LRuAhuSRiuVEv_X3^!y zn`{>Onuv!v#g(F|%_84sdV&+)Do?2Af@~J~9$@sG2v@m7!`v+Lt*137$WCk7Eb?uZ zB=06JPaWZ^_as)MY!>-kqRQEIRZ42J$hX_%xbt}gA_sRfY1u6Dy+jN~XC~s1++Wi+sZb=Nh6G&dnm@SW#S9+${3FWpV<*<&eTv-EyHda@@lgv zsSkOzS(Mb5yxJ^E>PKE}7A5s3uQrR429Q^qMM(q6tIeXML7erg&7!2i zYO^S57J0QX-YiO5$V_vIDIS)GwAw66x^_9FNgnz+nbWb>gImC5R?!jc=d{4p zhBw2^qS)I2+)L1Z16TH^0K8uk%^_$NjfB*!#O;s`8*LwLOymG&p{C`JT~7@QCLUZ8 zfss21whLQAE?~M1WOHaUjCRYKFgtE$hY7YPV+6ctQC9rF5v`{KHLk&C>v=$?;>vy$ zV()fNd<8o%6)Paf7uuN7aU?{RcT5M#m5U`@higNXLY-z%@LzqFD8x|VXd03V_&tb@u$>ukQds}ZprVFg1#Q{_Wt~R{EvlL&8an4LfxH+!u z8*uY3Co14m%tir%MK)*@oN&{x&%(RwA%t%m9!Fy5gP$Bx%H4>V4|D)b%$#QfI+ywW zT-H3XJkJ_{$z+o}^l)nrYQ=ALCZAousufT?21%Q*LjPSxNYvW_HzS9j)p<$~@F74y z*syK|o!hqof>y8*fa!rrU0f1@k?V%-m+1DUfEhLraVW)kp3aablWpAu87r_l(}izA zX#0}lU(ylHGzc$cEJVHU<7Q+Lyt)&>>kz!j2DL9cKi;v*mqh>{!1YK(DK`Vg2iw7z znEA2|L^4Qmp63AW$z)r^1# zQsqF3Z)l2Wwm|c7#zNGajGK`~a3g;AHFpEpYlGT>9e0JQ9C$6j?{FQBDCPbM5wOrZG9|@4s1&YJ_4cbK#I4wMhyKR9LZRSdY{D2$RTL8y#cN; zr$aEyhP4CRZbxKvUXzWLy6R-2$sM9k>eP zvF$*L=dvNUhOiT^Y@*(ExEWalXRs3cAUMbdwF6t9ivi7cpb2mWu1h0Ixxd2rLpA=S!v>izC3(XP3APC1W7NXu~a5HiUTIqLZ0-gcE zr8cY`m>$qwxETO*1#Y)RG;-5n%TEKC0^V-}k^E7d=XnwLWU{S)fPR6MP6v*}B*k_h z#q&al<_MHd%#W8$Jtbp(i#zNHl8*WApK`Uhq{reCEkK3?z zV9Fx)EwsR?0L-^>`yir`dlvjmYX|Q%4_cY5|La80DBAQyOrW>7o&>I3t7cy72L%e+v%BG0P zQMs@SZe}lQD#&bHk{lT$nQFzOaO(}%ecC)sBYg5){h4L!fRy7ZqA8OLbGgv6MOYN> zkLbM!_zhfVvmj)wRbz}~t~kP6J~)q|nq^0!^G8jC=|&;fDVE!+gS<4rCHZ7*Mlp4} z;c^~eHOsm{u?MaqS}}`-T#q1@5eQ#^D-uiBeI4+cXAGmG!2k@~&hxKk*^NL}<0_&# zqZ8d`7($(AW6iQBq4Gj?-R|r()*BFgh)WVCVyh`5SqCCRc^+h>k@no!1{S+*f$7!Tr-WLY35(y#Ip`Ks z{Syr9&I7?_*>^xr;3}f2B+AjQcbl-mzpApM^lk*a7MCQ;0#Ua+AIH|c5I>Ad z(j#Le^9fx{^{X)Vb{=Ln%RU711+F5RN}_x;IuALc{sDWjbe2TPNLl%KE#!mN3Rxit zTjP?nse$)}aQ_OZ^Nh4vHVDXQTt&2!WI110U#qN_173_vl4XIUtem@9D47}J~wvCXoVf$YUqL{mwW^C;&5ZPY*DUvNpHWTdQ|ixqNKW@TE5O)-+= zlC-H|6#tI?Nq^w-!6>`02 zwY3gH_#-Y!n;J&(`?%kLsjKr`y;+uoDMLeCMYNJ+xon+MtE`=&(;Js0%K}MRxrJbj zgm^qINso+?%w2_Isuv(K=iz;`?0O)#;wqx4B+BKy^H4wPAMg%bk|-G|E4Ks+xjA5U zwDv)G0GFgq4WqaM_dhYuaDEfOEc*jU941ypw31}G$FZeWSu>&29+xD`0!dl9-(-a$ z?vG2-BZD8uF(E6a`cMr1&JPcmWtRe3fUAh6k|_6noF61W{R6%qmn2F?%F6wtLhdA4 zovr5}d21C23Q`C|-~I{qbm0ox%uKFY5sS=JsFg}91nE=g1O0XN2mu3^!sa`<@YO{=b3 z$PGj!eFcO!;gVAGkyNeJG$=p|cYbrkEPDvZQ@Dy~E=g1O9WV5|Ig|bv$d|Yxx`o^u z#FPIxgt6H6lB8w&QB`Uh3_{Cue$E8zKUlQGRYY@1nz|nJSLdfr%(9WtJHNVaA$R?d z^h^j#aY@pgbW|%f4aOpe&M&2yW%mHtimQm`k~DSm+rzxrS?afe?60m{$PGQr?G8hD z2A3o)6U?eo(_l45zx6u0s=98B!J`GPBAQFm)O{TN)%k%Iv#dY#MpV}=s!kj|?@!RYY@1nz|2Tucv!=XVPKl^{cL1$o(}WeJ+GEa7of! zI8-Y&4PHh4ZPd|KIs8^2>v0v)T#}})7fsUn#Tv702asLWbql$5hV|L|5PpM8l72Z< zBWW7Ej=|sg!5gzI0i$&QR}sx6Y3lCAP~rR-j#-umz2fS+h1?WF(nBDegiDg<(y&^o zY2ZSmcYaI9EL#d>1+F5ROVZT+3xlciJ3D6Cqd=amu3O0cF08=!K=>IhNm{l6s_L2s z?;|?rXL`&sy!B$l<0_)LBu(8`=&${IJL@_NdY!847IG&GN%w+q3@%B!LrsU%U?~Q; z`*d_wb-e({b-0RXE=f~&5K80xI*?g*Kag$Jb$jeXhrKMMvUn=ikUz8RFm!t6V86yX zn?G3N{6x=zTC7}R@Rgs0JFE%rymy?L&}ax8>Zo0SsAY$x88`ngv3`yfo`{%5=^^r;f|SJkOP8Ut5zuDOjEP3oPPC~Xl?ijNWVvjq{94*vs zJ|NU%UMw`;yh&(+xd&8^v&84R6T-Q55Lv>_AHYBEgyn@2S}{z>tuuwJTrOmlobyOn z%{S5932XQ|kvrkG--O(rQkS8%Swhwo2w6W~$Q?_B+3yw$isgM*_MU|?@oBMvyjI|2zh*_kSA^s^5kYAPwf!0 zeF4@+?u4g#O3R(_%r+s(w;uTK@SXQ`0AWkTL~T*#a62zl$Mkhi%eaVPBKg4&bdF^36_ zH)jYq0`7b`f&JKq1Q}3%PljkmYNH+`5IN?tq;_h943#%4kpF*c2h- z+6g&-sF3lqgiKg2q~zZq>O_y{v+pCl`tvx?=S>lEyFX;#ak~$(%edXg*kj!8kkK6q-dyAataep-vwlw6p;(Z5<+|-F4Uo&^YX;o>at~5(3&Fxnwdi>Q+ z^dzYhJxN`@LL_pcC#g`_GZt2z#eCzVPAN)|6sEN9mtgCH!3Y-hi5}N6Jn-r*X$2$K z$NeoMFj-QTBR_#D_h$GTDv2z|Q2?s9fVH-RUMfav<1UG)sA?Cw^~89?%mHh`?^}$%Dumfo^@l4<_$H z+(A&+`mPWSA={v3^4MeN;HN*|>WK_A=nnQ8 zW+C-dC$M}~4bMY*z`z=`VH+?l;0)w5xpWlN1WLCdm(d_M`4-P`>?T2!o}0X4C8#RF zt*QhMj)v(BY&k!~n38PDD1+iBY}@O&@u zYsqKn60GCfsj39)pCKzHxI=1Nf6hm8`#LZwNL#~|fUG9p$^4%+45bNtZB>F#@*Kjw z5i=~`KZ)Fcpz4gq!FBLQz->{Z0R&#&05$>%W$;Tsft4M=^YR{s68eFB=_liDVryu} zXSl*L_@$q~TDqD~bR`V(OFx0*7E8_tyf=~wdF58!-bXf#Cj8P*puX!8XmSqVW$bb@ zg8b4?prcg`3FiemY98JSq`26HI8BgqTXHjkPa?v=co(DK)Ikg+EhES;{RGtEt>kz> za%15Xj$>1h>cd+>e(5JLQR3mG!>QbqU-}9BZgD2!Wf7f)YQ``91m>B{NYm%Z&o?!`FzQLZ^pn9a{RAF4 z2#{BG1$B5Ur4I6&nqsuXvt15vr5I8Ja(GMe>hM;I!D>{8w-jIV@K$_2rw4KI>hPA! zLbMHX2SJqbCz`_k)MI-v9}GN*@ig@~E8Pf8z!;VK3%%?K)PeI;Pm}itZte&ESMsTW z5BlT&8~IRR%-P`2kZ&1Sj!`4^ck;P`r!fYm{z1MVaDujfk`HGt=>gs_8R(nYfr*(C z7@C>e7XeEGV=@zlArNDJ-^wsbGUJO8h%=8NFgl)&7~!jTBn zHTkrdpZNpEnACdaukdtf=Cv3(Qv;>}WO3%60tD)tzaX|Hnb%^NPfa!5t+551STi&WX@wCO9I<6uVx@e4stx5`Qxup6Lan6F=?X{K~viSPa8uxl^y;{A6rU0{|IVQpPx$`{~rY8{9M{aj4e2Vrc+GL{yFE@;}p-&rTt)0 zI*n4^(4*KUf;>8#7VqM4!*zigN|>I~3hsnz+HYdZ1%sFUOhd0>;7IdJKjb1p^;U^H z$VXb*VCmyrScrkn4A0M{jS`594F$2Iw=ja6nAkOfaRpKX}3@ncJA zCqx>|Ca=!VjiE+l^z<@_0&{H?#H!XvQ|ITnl5vckN;SxjEv3znI=zERydi>3AjuMo zi)pFzbFW8Y5iS>+c7n`7a2FFiBU$7ssk#SwelE>)v0}J#637UC$EGkryugK&%ArK7 z-Nf^AY0E@`ODyGhjq&_kTB=0Jb(fcMD_;dUVN07PX7dS2TaY1^K@{(M)IxA0v-^Z- zajE9i3VzE3<_gX=oFjK$i7NOIl`2GuE4->4YMkfi(q;?JrJur;=>ewyoIqR-R)=_g zE=`@E;}WrI;8*_6;K!EIHn1sk>8NtX@);R0G}7*4v*v2DDmz97Kem*%lL!}>)e)Yb zOIyR(xaO=L+YZJi=jXT#t!5M4LqwgQtBe@sLa3A|gP-RmVHD-ZmKrW4E9d7L-k>`9 z2Bg|>8F_VnuHlX3)%m%GH<4H8=NjHjUY(z7cnf)Tey-ti^6LCt!xiM!`MHKNLsaMI z8df_$*KiFRDbCLwLf(S>*ixE0KgTt-`f2X`~+AV0R0_J+v^^_-dtL4Is0t&vH!l>&iLaZ3b2o}Wuo=jXQ7Fx4X(&(Ec) z^K<+D2G8KfmeS<>+)p*5X9101DdFid*2D&ovWy17Us#~NBF&^!`l;NM6+gC=Hc&F% zOYlgh70&Z>X~P7c`gb_b&!vqLd}#!i!Cl$&{9M{N>4x0qkn}M^mor;SMa*pvEpEln zETzf$IcAYNAu7W%D{Fl=jnw%$!rURLDv!~MpIJ(i^K(SGaZ=rw*-2C9=LpLo88V_{ zw06@E>iis~T(VbLs}>mK`MI>WOwPf$|DteJw>&?WcF5!mkXtfUkgnSa9CD7BoC0!J z#)+r&L+(n_J8`Q<&d;THX8Tp==hC~7SLf%_!{pWZx%A%T)%m&fKIGN;x%9r|)%m&f ze&p5px%B?z)%m&f0p!*Bx%7eL)%m&fL44$@^KF1MI=jYPLlUL{G(kGHv=jYNVlUL{G(x;MF=jYO=kyq#E(r1xZ=jYOA zlRw|c7!PNsFJz{_&Jr-7~!1HpFSRLa#H)4oPw4o&eZFgI-6fIBF$>o7@+YnSc8 z%G``y`wJq>nT9qRdsla;Tgwn$fvau9EYxJq1w=NDL!8##kUnH1Z5gXJ+&W_f;Fkcs zVZ+`Kt#d!eqB?fRmx!Y|!q!2+Kh;!eH_~{Ks>wWN(|+oZeh&1wD0r@63KjLG$dEY#KX$S?9&T@YhpOH z_28n-wmqXX5>8Gyi&7%u{z%+6@hao5Gr|9&I$e)O)mr7>%f zKx#4%-sIP#sF7X%8;c?w#UKoPcP>`TG8u-MT zI{8xiK{4Zd1D^+M5%Gsv2C38hzvzRJF+ae4=2~EzYvKh>u$vNhUd$&0(Oc0h&1ZpE z*g8h%*{p*(G2WhlK808W%5Nm18btfpypT^Cy1^H6o& z)k?~->$;oO0DSejF0xJ`30>F4vY}zub$9CuM5yYzhjpqw)ugU_TGi^hmsP#4ds{=0 zK&l)%$&tDqy1P5du>mn{!PRyYV6`Em;IWsX*_qD)dNl%%WghdTren;zuvj!d1@?`N zSFh>j zECI%YEN!Pr_N0bIR$d=4!6s;wHQP_^8k zGLpYVePkaW3@~=>h;)01xa$v;!#W7{?-f5W&EVJi%HKur~lE!R>tc^6{uvIZHB;jkENzX*DTGe-g{Y*mPy79K=@ zu?pwl?lMx$&KL=TUG9TY;9Ky)LcX_c1PTBLyRsq27+rT_vF@??DW~hv*ZJ6>fn+JNQT=Abu-w4hDnZldTX)4gAV7KQ#bdG!!VI z#dh+|0u33})AU`-Kx?=?_)I6ra|83ygoDqjhjdXP_#J#mg#%Zym^)d_zJXsc?ge)- zPeTK54F$hD44sjI-@1T*h5VSnEojQY*Qhfta50)}a1Z(O10OOEd+TE=Qj$3aV@9yV zYzTuXnf)*V1t&?d=V$)J6sAa^H1pXo0y9lk$g)fq)0ijDU74B5OwE_TmduCXhiK?yiIvy zlT$N=oW^WjLz=O1@R&+hTU&LR+zPs9)DXAgs1ZWF9)>7hK-yX1^}7-Ga8I}Kco*ukla=*^MwcDEw&MJH;}y%G^ZZgc5u#R zML@oQ^d}opdlT#oM(zs6J%0o45`#O4UyE?H2fcO%Pt&F@1nK%p+pOdxF{XiftC zy0|e5R19e^BGS}z-eXa(-^oYZxsXnXAh~|Vc*}XnH{EJp0p#ikn)6#R&^5i$y3JLP zZnhCGo2ZxV(a3p~Enr>d80hdg%MM$|$l1?UbJwFBZr_IVgDRv&F_29S@MJZ=h4iN? z0Li9$n5u{D4kfZFn|NaU2u<{}87D2iXWxsjsvC-&f z5RSD0FMVrtZ^q{FxCLL&0&-;pRpq*y?eYT;bH5zW`UuPc%*a{CUhruv!dn4tkHGAi zMouBi@%1_A|K?smpG06KT&gE@ zK~qp`nVhzG+y>A5iV~RZfOn1PNFMWVX9Za1c4(QyfQ^gboP!(rAHgv}kJ$mWVO|1k zVFYLWYTRc&&EB{Q*yafSCrcqp1-VE)*ueY-k4{R>XQ8wwqF9yLf;p`84D&*?6jA&N zN~a@=95AI+$~gtkvthO{+n^=Tqh?YQ>|*0mts(z1_Re;>p-^9eL6>Y8%^&8vd$)*?-j(*yF<q%XQn^O&9+Q#V7I=wn z0g7n0y{S9yoEMt!M+e=Ppt7cS84dTi@t=HlL!83`5Q8SnG%u zkF)$#r8NMxYCiu)&q!Q#Mau_&HpC^aQv*nU`uS=onk{Vrb9+wHvwx#BcI{5c^-!L4Ya8Gl zHC3?QVBU@7j*t(yb2KK?mX!INR(La1ATzvrER6ZV94sHgx1dt2e7-i}HwV$+%N{6* zwdiu_%+`Q%ZP@7hAmgb2BnCZs$XI^sH6(BHI7^AGRrNEt z(YG-M5-a0hWB02aDcxVpl))b8aHmWMuNTzg1A9R?Z@1P2;cn&N>$KiQtC9wMs{W%Y; zmr}ge6H1win6@B}Km!yf)PTRX8i7?vB9zLX8u8`d3!o87SxZl!}%i$)S$mXJ` zvtfqsN8vvFW3*$x*`&*#ZIHJgk!OFCUb)~^-g--u415WtCVi;lF;c#u^PBXaNTo|K zyJ<3jg){<}p_-cvte?f4J~|uxAlV7T<}?~zlR~Cu1P1m3-<4VQ1jb|5)TA5vL{;P> z7TF&tWbwmHEj4f{a@6E(RkS9f!FOk*_!c7^+N3Ar%nh8PPG2wd3j&9bxh8{IfWCo= zsIVqOSxF^zU-kiK9eIzd)=%&jvBzYFNI2uyDo=Oz#?--E%=JQ9IeWc=X^w{Sw1 zHwO;j4FYb7CV315SbJSSRqb`Nc(_E@UN=kEUJuA9Z>z1TpX9kt;@}uL!o$7R5gzhL z41AJ@TVo?U+^8ENeD;s1FtcfsGq4>^(8!^rX|uIGA^#Vo|7Hq=jhrJyT3&~?Y`zG= z9vjhh!wrR|S^L9)KL>QshK+N%q0lrpp3XlRks>$Tn!?D3+{nnswY-dcagg#spCl6; zlmm`R=H5t>hkIuDvUv;M*RT+?8dygSEtlGV??%$trN1EX>SzsdZEh|9#2HzW7}O?O)y3HbtZ)uUZ4 zCZ)*1Z>W?a_I$m$%3jC+`4HeoB-?!NS)^VzBh`$9-wXxbR0>cY!O5Wj_kko!DIP`N zY;atf-%GZZ5xkr(sV{N!^=Xx2v#A(e8#EMY@JZ(G8Yw+rsg}|kP0z#l*kG`WZ&$13 zRmLc~@iDrE?^X{NDw)yr^)QfMEWU}Y5^dU^l7Z%ATcT15_C^0|FjRhB z=8M{@^s)$$DnOPn&CW*aY_OB=%y?`N*mtPFH@S5rjakeWq(D0W{dwm+ zitl@?H!Q1S&p6ZtD)O!--vh5!ir}zbK-S9(VthATS4b?f(Ci$Mwxcw%WHB-_kwvU;IsID9_<@FT?)W^GtnG^ zF8{3IfG-1dr41W>?&}34`FI!zV>MUfw!wz=khXR(bkeRE2KZ4x+ilp$c@!gwtJy+~ z@8(`e->E_h(TZKI_R;2RNWZT_hT_TR%E{))`WK|J$e?7^$f?WNI=nIxNE)QUDr5?g zf_u3T=m2TwDr5til&jn35kLk(IwFFc`$-=l-P@uGnUf<@^$s#!)&f3V06Nw)6Ir1* z@rfqnXM|@J_++w49?qXfc({^DlKVLMh{ID*cpcaI{ECqx|z5@MAd5 z`ET#dvSUDg!!?0%@DQEo&O|%yIS6%tzj1O$rpp?2!Y|0UBDy79R+nqNrV+hf&>4-v&h@-zF z9%B;M;@yXYMQ4aog)c9J-aMyn30LH+wQkFZ?(NXq=Fpuygf01bPO`04Q;aEGrJLDS z1=RN7inIh{JS|5c`_Jll(GTR$EIR^(3$6*YVjYd+de@3Uf2fN~;vj>!@X@n>~BjUw@kMjVqJ z@famshwsj)q|;PB>kwO5%)h9F2|dp>+zER5KYPnFI7RT5m!_-O?v4aUvP{L;uI1*BsXb zno4`&xNUHktPie8MCV6FpYc?G6(i!iI;>q!k($&Oi{x6h|EdcvxqPbOO6O$NwW|E;3oe-6&TyT@ zfz-9?=v5a?oNKrmaaQYEwQ|7)b7o&*xPpwswd(Ly7-Ywx_$7S6d_Ev7sZ`Z!7PLB7 zPmQH0;UnkwTDoJPH?@{7A3_ZWI^(?#daG*b^08D%m+j8CS%UQZ_!!R@c()2)(nNy5qRxXAOaP5-w>P!bF-zGUqANXg9JCK0~G( za+P;)0)XGJ<*4K*TEg&D^nm{YYG3kPa_yUI3!v}CB8%vUrf@nw#a+TiAhK?~^c*NhqlQ@9sq)vjl|X%HlkH80e#g+?0gm9^Bm&$MCeCJ98k}k+{2?Qz3@0=(%%IS|f(9=(*eF zlI1IU?hbfN7%_ZB&l6UW9fbh@{OuQzc*{hwt^sGnY(fs=xsPJR@MKFuZYnUZoNVzP z;~SibJlWzs&Pa?zo^0{{!Up3>$pCT2=tXr0`?2v`yrQ->#8yfNlD z)Kp0wo^0{PnUfHhUWX@JydIOeol}P=TfB+?4}0$&CP#Jci&j;Kst(oDJ)<6V&q&Z3 zNv#>B8Ra}`e6t zwj}zB=SG*BEs1{Oxy_|!OQOGc?s2Kvk{D>R@E>%k*^+3Kv_0Wcvn4UeJRR{oZKRx} zsIa_&!mkJ?k9h*`G*wuVi&?4ZeF&diPOOpS_rjA4RNYX8CAs1zz{5s{t%lkJl_$Xw zGQzEB-N}`#&s5r#^XEJwOY;2L?aDGSl01KQa}4AdVV*y`d45>0is#RXg9$l*P8?#H zCwcyyxSmcU$@AyL4J>^p$@AyL%}h=j&9@(5QHSkGlEYGz_n@%H1_0-fHx*hPo8}BgHQ&UIL*`+=u z>Zxa-d=jFbnp(b+WkvPW)Jj!&^5OMWEZ=aF>Zz$#!kr}5Q&X!6PbT-4;9f7eOHw^G z)y59lB}w(v)CRh%lT=SlZG02a=8QDeQ&W3BhbK+-)YR!rLYm9+)L!;^RRa3~lyd2V z5?BP>86Pm!O({`Fl)5C%3X~LIs#1JAsw=f$rI_ldsRJZ+l2k`cT}F30Np;lJ z<#gwgR7Xu+!3JAMQXMsQCBxPyADaUALAv|v6kl~KlPM{_dKCFcim#agCx@;LcuCa} zAPH{-IC3k%VQQtOuDuT7!@NPLn9a;33(!ak`#hV z4OBi-h!)jXSv%^^{e7YXUvtfDkJ`&7KfFg7DOYYNR^kfxC2MM8Qanbs$Hk&vEDo=r(!B&4TLfqP_<=gR3h%)s;{FA~yoZ$RQ&le|bs z&szrf6G>hqq>rZiLzF@T_{ErNnMUH$B%@9M!EtfO7z+RXY^c^$V)UTqi3Yr{?Q+IYXbHqqvAZD#W)^4dZPuG-A@ zdU@@bEw7zhzs-5I&XozzP3qT z7w(tW#n;K}(tG%-Jn=JmomA*S->GNH>&&aI{R&Toom;T^87k^T}TUN zwUw95m)E6R<+cAhd0qC1ysmyrUe|souj~FQuR}FG8SeT~^15NMyl$kZNp0m#*U0Oi za}i&+%8>bW6n(eKuz4@Q-72Fd&HQ((w9UF+d^_g*;*Xgj@yE?cc-L07td-Z%=gDi~ zP4Zes8I0Phh(na%y-o-6u_g`?T;(hVMg_1NS9#-pHQt7KAcfsvJa451$Tqx}GWr zE>#F3=Y-EgfSmm>h#DwX9?>cUzXsrQJUuQ3KF-)QUaJs96UaXvg}+?z6fBQu6@nsg zgFL({p9ZQ3M6?RQRN&@$c+Fq%T7_UeaNB*n@b4=+8%l-X8boMb0Q{BhX&Sf%h-ejp z+kv}}_^&e$Qb!GxE{|vxf*%3*v-bGDR3V5c6#|a2=BL2_!J{$yQH3C)RS43km$DJ8 zC*;go40bDu?MP7}h_viVN!^XM7J*pR-5Bd|H?Qu-S~2YIRNalUD&Q`!yJo8ap>*Ai zx1{d+i@Hc;qICyQuH<%-bvAmD;ZlVlGTFKo9>?WG6q#ai`bq1$o@z})1UdUege*v1 zD;0v5;C~BGkJ&)SnK+GBDg>Va^*0|qpJ{B6n${`=X%~GCj|4BTX{|!g1l$-8uh^@W zpj8Ow0=LY^3x8G9N`+tvA~bgbzqdV&s%fo4a0PJJ62D54CzY&K2<`^>J|Cs(SE&$4 z{r(iFSADdqU#&v$5x{DrGa$JPr8(0|FTo^^8qMHAb+f2cq4gMqQW^LNsg_!wfofnt z5&s=<#=yFzK(4Y1D{vW7hGeB`isW)othH`I@GTuE7~AKp7`r=a;z&_q2p^19_@mW7 zur9Q&MW`F`^jODI(4&;6B0k}* zNHAKRL{j?{;2JN-n98G0BRhBm=$b@{p-Ge&nna1ANhvWTM2R6gdO3)aRAR`ENx^9( zsl<>S%U&8b1}Phl{Q36D*vxtlzRv zeu<<*JDNE^eb#E{)laRkWBVN_zsew$_DSi`8qki9z#Oxj9Pi6MJm4|sA( zDlug5|1X3nB&o!ZeSq#>Nh&d9A7t6pC#l4cedsyBo03#w$Ub}_+#{1zV#q%7INYTq zl^C*5F`LtqRAR_J%{0wTQi&n^%&VYTkfahr_F1|YC#l4c{UK?VC#l4c{SnjaQi&mZig=!Isl<>y%^VKaue(%Y$nG@{AktsDX;e@4OexV{xm04vo+X}lT`DnT z&k@giE|nOv=Sd1abg9IUy+9KB*>EZ`WG@sl!yHZ}hU`V+GtB}UQdTK3Jd`nvSMc;; zb;VgT@ml_|$;Ge7pHZL^Lsls<{05YVJ!;iu>YkVfv?wt!v>C5N<>C>BMuAEUS*66# z3(!UnBT*Rz${b{s62l~*W_W0$a2^KktWsiF0q7bZQ%5C+tSB+CjhLqbbEc0iP>CU{ zlo+lA^qU?=G81QKFzTqpkQF5c;qVw}o+2IfGmJVaF=R!Ff$h%x1u(zzu>~qIWR()b z9|8RvG1AlvuQ03UiV{Ob6`Xh!rjAMsSy5tOv6=&b8RBCLRAR^~C5CB$F7hyOHqkiS zqfwv|Lslsznl1{f+aWR()bLx6rSz)*=H ztCSdC0rZUkLnVf+QeyZ7&@X(<2r4mTMTsHW1=9c?)tFee#t14gWJQUg7ch-JR^^LI z3|XbbFbSwRK3X+BDluf062oesw)p7pl6Qeh3|Xbbz>o7B@X-vdOO8qmS*67AP2lhF zXpA~4F=R!FfxAodDPUgluCU{lo);k{9&I)(%3*HhOAa%u(Q~}<52~0 zfQf9N5<^xiG4ShtgMIv~0bVOHOapF_kG}?sQE3E5Un((Vl@bG?<~9(W;S&al?Mo$w ztWshS!fQZumruw6Q*xyWr!SQlvPy}8C2IZvlt1yPjRq<)WVI5*y8s{dP^vRY6*f?b zA*+=b>}o8z@Thj*cN}}FQeq&jSp=$ofTj{dRw*$EdJ0f;J#<`3uP>DtvPy|TXf^CU{l^D(j_)-t0Ge{+dtWsiloEf|g_`5tBV*r&HvPy~J`+&aeVd5Oc)$lj+ z0XATz#Bdu}{0=mqd2~?lpAW23VhDFd7(6QT19*a;RZ0v;0NN|SoKONrDKU%$v^l^~ zi6N_$7>)*XwTFpwhS2Gu5<^xgF|b5V0S&+Cr<$BJd}+2Lsl<>~N(`jC88o+fbjC<3 zF=Ukz1F=s4^K5{n5<^xgF%bI>F#I}YS+gE_3oAw`F_6T}q3h!*O9sKl04gzLl@dd5 z;Q3XMjx-~w#E?}=3@mtlYGl4ghp(cJ1Xd|A90%x@07E5)tWsh)6VUSl%#$1$loG>r zfZpL@q*=seZ8d;O3|Xbb@IByP@M+jm6wOE~F=Ukz1GDoR(0t<286!XB*rJpeh>c)f zmc~<7OarLIkX1?yy?`3!qopeb)isJr3|XbbK5{4dThs8DIR zl>dciDcp`R@kGD~?@`Wzfe^Pa;;wsw!?ThJ4&AssfV(@T1adVWbu)}fO8z%DWHJ+L zOyRv%?jvU;4x9{YD&>E3A4^Ec{}xD_Q}Vx`F*OL^gG}NeGvYibH42pf%_;fcE_$X!>zo^4wsp(ON zd(c>@JBomRfb&=*>ih*@R^ng)RV9wICXhf?;y6oJ;uydP@1aAJKI%LuJh)t);PAX; zf#DG8cp-2-qcTr~pQX{t*Tn)=DMifvEQBj9u(gZ0l zo4X4ktS=4zPiJU>P;P~he)uH431Dt2wGk-M(fKS+4c)YDpEffom zj|~yZ({2r=Sa7^qpgjCm(3unqj?3jMkHR%6#e(Bi78&qlTtg`q96v%B{KkXE=|W<7 z;@(2B;P_UHJ)cMDG6YD&(hOLl@wCbG^K4xW;MarNXrWke{27bmD9_u2QB^I^B+D%n z3yxPyc%H@w;Whtvjsox#Nj8t^1sZ3wQmwm%V!`pAl7ZWNJYC4ZU3l4&3yKBD4@-08 z@xJCwvEX@QQ?fyFf z;G;@f+o7HL0&$l!0IykerSa-Fe~^jhrHcZ#&<<_>u$;N_4kn0JHCmQP1%xwJ!@ z?-F9!@tQ^zE2A)4XoogGRGJO1ZZvC$(CQEik2g806-)WG+=o#4mC}lNyCVVAf}-VK zrgB4w5nn=-{IS(3eAKxDP;G~{g?4E3#|j_b3w0!(v4r@)Tf8jl*c~NPvuKAlf1)(F z8MH&2-)-_PNv1zz=5LwIZ?Jf~^aM~+K^H2EO>O4Ch<|`t;+0c?SABIR?+5dbGy}c( zE6^>!Ao_W!R^CzRQbYfTV*D`Ebkl(6rTW% zdJ;RdGiir5fA(4xrM!O4 z)gt!7t2kBqEtJ=AxwuI#C zkgK*%%=odhd+;n}a57u=%?w&`gYg9Xf5ao~=vcnK4RD@luAtmNsNt^wu6P*}YN&x# zyW-@DbY9O0ZLWA^VY7tHA4Ji#E+`RW?2>;LW?dijG(1Zg6{22Bac>mm(pTiYcDk~+jcw-4{I_L-{DgKDyC&0XhXDNfTlveWmGc^#xCtd-5ZpHJ5lqTG*sHHse^3J2PLJp%d=^$)Bxv>pU4Nd3qZ78omeZX7!AdCfOy zxSxRMUpw$c&+G!~i$3i{UE3e(2YAX$ruCZXBt9UiSZl20xqE1TdT~k89`w^i2)CnS z*zc|&vF>cfN*?)!t{AMt1|!1d2zO(Lu*OQBZilWpMpI+(lpoX~K>524)UCWr4PB#S zYOS0>pDG>HAJ4f%*PqrY-oyZ$8Q>|;ud$NH-l3as)YKS5biAWLxu64e>-U$E*e@NP ziHC0eVW*gOA>6(WVNnmv;hi6A>Yy*&0?KB2G{%d6g4-aFz}m)B_cwcYI~o2fcbY zi=)hgem(F;C-mqJ%?Zs?e&(Ue!R67f zV;FkoQB57RyF?@EACKhT8`f9yjxF?~Uv}a>3Y1elYHvhebZ!d8v;g3hcx3XX!>}pC zu$tseSYzC#mp4H|&jsdEJWCmrv&kY#K3LbocMl$)QLqYFP4cm5ZqIgN_6jg>;aSSy z!tAjm9KVC_UwDKW9V@6b6q$Rt8xu%rnI#N04nxWNn&%!>C1@FaFgT6Gvy@!GbLkiI z#_Ev5G#2eeEWzXR4idVA!QNhm>@P0~yYqdfrvXE)=%oxU38mnUbvb;u;qjTNgf1h@ zuqjfrgrUwyNq($(?(=!R2+XhWEF~8v^pLz;jWv|Y*}9@6lvNmk`NP)@2jMsrk5oEK z1uM9 z5@Yvz3Oz+ytVd9Y^t; znVNo+Pyd%P`n43+IbG2+@G2d+)o7#m&V4#CidKI3nCoCaAEaOF1vWPDtBU{7z2SPF zz7_PX12M~mexgQ-&8_^ZqUUQfHlDBoLQQ(7GRhCPaW|UqD;k{k!JEEBg9&x#t{@g_ z)1|YSpY>xVy8j2NzP5J!5Zo!91ZU{TOTp#8fZ0-{x3B}B&va9(w0pO+iN&z9%tBf2o>smJ-obQ*>W6-i(i6-+&-*X&-lM(7hdG{vT~x)JCeishZWXrvD5#fLl_VPn z`x{-Vwg@$bBXzt~;)Gvs4;;n%OElNv>l zJ5fU*Be8t*E4uz2IOC!|VYeKKBqXRlVb7-1NKk#ko%hCR}-F0>@C5)p73;n>JxSw z%d<;@>J#<`x~mgZpRhOf2K$`h{<0aKJ!9c?;|zK0);f`yk!@b&9V#?5FtZvk_LM_?j!=WUX$%OA=0iB-~e@ zkdJ!V*Zvye#Q>8to0*G?`h>IXUC<|}KH+R9*ho-)!r5^h!1W2LPdF!##8;mXJ50{b z{{$@lTa@d_Sp7+8xd|?!V+~BPk%9U|tS{O>s*UOsv3_(%5>%gv4InkDumtx&y3-k| zPsAGcz@1CP2p>c?g#^_nVuM+*y%LmKjScxe-1Ql3En~yzr1}JviE#UZz?DjUA~yOg zG@H1nPsFC&2ZT!7RJLp*LG_8)G?F+*T+}CGGk;AYs!zmPm{%h~^@-RlenrAbP<%gvjiWoMvfRuprxR44h?N*yEJzca_cr6#3!wgJMP<b~y z4BreCk5DCG>=?vk)KHc?DZ=o};kS+jdUJb{+6BfRNos$9WOfr__{90vARF^XI&pIN zUQi!FVfe%;VXm-`pfG&m)bROqpM-);oEE;6;g6&+e1XF7i9O+S5y~h~7(Q`&m=%-m z!L>z!!tjZ6!p|c>&VB_%brg_JXkqw&0T4$4=3fRr#@IAo3&Zn6hJAhf>w>33OIgPG5*Aiw>s9{RO=!H$k~^IC?|ENgxep6{~0{_%YcqCGL2Tk?Qa0}zK_0|=sKx6E!_Sk zaA71{f|u8v7H-c2*UQ5z_Nr#JaQi6WCi{5duWC*Sx8HyW%@x46wWm=vr-j@10CyJg z-;m@O;k5=`ih1*{RSS zGU`RNT#~iP91aFW5iKu@Xn9dY%Zs~_@{rLWqUG-K@`dQW6fJkRnUlf9=*#0Rce}|+ z%PCN_+}&X^1!6Gz$_GEq9-#dvW3-j79DbNwYjb(Q@}kbgxKIwA}qM5@@s* zC|d5enw!9MZGocY?rO>Q?gB;2-L>L5qwsJEo-HOTSO=e+_& z%iZ%N1s@hDTJByT3H_}9U6}FR3x&)u`%|>sy-0kfnPWq8m1ubZJDSmW@~o~HYbMsp zKQ_781Nbv?6fJj^X!#saF7c>Um#Lv>xhtaO3~g=)`XrCU$WgT1Rifn=0(#KHNK{6S zaxAVAEx#S8dpxv}qa2H?M9ZHBlwTH7nl!yY>uMkt`aT(JD~g$ zqRJaH6JuvEYA9OnifFlT=mna-q&pKCFls1T?uuwR+nqTPnCU(?N6~UuiIy)1bTu*3 z)N`*et4g%|L_kmTF*Ot|cSW?E#cFywKRO&m%UvZ}eiy<#?uCo7iN@F-jT}YGT_sxn zGVrf^G)9i1<*pJf{}|B20fwUGt`aSerce@ibc_@&ca>;)0nlQAp=i0QM9W75S_&`} zEq9e@`2s+f`j`O}Eq6t``@=!X16fJj^X!$B;up)!vz@wVLK#G>TO0>KI&`};H#!*}ie~lC^ca>=QP_UQ> znnfO+F_5C=t`aTZ1nBkvL(y_qiI$%O=!F61gc2}HwEXLU@^)LNhoa@K5-q3B&vPCo z#u-AVhoa@K5-n$m{0cOm`*hOqrP(%8wA@vq<)n*MV&9EN#nedAa#x9#6Wa%v0Rfhx z<*pJfCw2-jb3Lr8m_~}0yGpd2ByB+N_DLie1j9BU+kg@+zXE$ZXa%N`^Xcl;MMk7VbT_svh>}Ft2^02Cy22!-#Rifp*Expl4 zOIHl4tBIoJt`aRL^j@FPr%|2m6(FIYJZTM|)|;LPQrg8UHc~Qtu~!1H&0M z^^LHZ=jL{(!>#sEaXZ{ys_j|S;TFm{ivamUDKZFmzES4{fYa#;<2!g4C^(J%?z31fQxT`5RovvxZigUOUoK6oJ!NeLP zDL9?}$T=$nk2Q*d)9H^TBm}2(q)jWq>0w#4c|3VCiCqHf7>`Jd90jM-N^p7!@M}F9 zy?dbGbXo~c?*{5D53NciN5Sc|5}dvYsOvqnk)z;rS_w}7C!i1bm>M49q(yL=$uM64 z=4U=ON5Sc|5}f`mpnvc%IzlmUp#-NL7$rs{GtwzFvdh3 z?y#Kc_>1umaBhL4&Nz5ji6`N$Dsh~3E(ug6j~~Rz-6`s@`)19qJmwmE7!b3&@d(f_;2B2| zB08GUyUp&e!e!X($iiU!9dKO>uHHdDrepb;hyD(Xo5L!OoN#+odRpGC#supBnRUt5 zl2GX>u9Hf&k0)?3$hkusn#c;yh; zFbg!*j*E0gHr@$$&PedeA+qNwcoMvFh@8$OBzWZzQ5Kt$8-ZI5pnEJFeT>K#i-0@h z0eIp~5xH^*TWI-BkxO{fqf)FaHaWK+1JeB}#k_Ke93ZLV@X8@_8Qp1zR}PWO>CQR4 za)?~f2G#|KR}PUY8MfZxl|w{ZY*Hz{>SQKUQhap+VO5H+sfE+Ka*%`*APM)c93r&X z6uEW_!dHw0HqGczBLm=$(1epco4K{+4#M7c3cwEUAnfe~8xHRv>>YIg*E_s}uumX~ ze+Lnv2`78!405BjI!CP4+4?%71})K1*AdK_zK*yE#9>EWN6;N{)OCbVJ1>@yyn%Fk z*AWG{b54x#L1a^K)O7^gUoS^pM=)#pI)ct7N@zS#p5(2SBbP62@_G2GdziJeKQ9(Ih_p2&BSf+TNQ|_29NMoBsiU%;D9uGIfAO2iSYT>K~Q&3hffZ#2DO}S zhffJV1fbkZgij6sjBcK8hffRt0`9WY?eL!PP=r#a+u_s0Qt@&#kqe(0z8|Op&+^0j z!Z>FVNIW_^j~#@Hhpw((u_~>4EAdBYaLchXmrQ!U!oh8DV{s@iqW7h@L+J_%u_e z@%kp?AHX?L56_crbsiqpHyPc5tM~A#JmtJQtZy>L0XN;lYyP~+2Qrtr!ulrTN#LGukC&72u)4`$XEQ$l z{v(e@-DHIIO$IMH%9?WT<;NoV=Z72dssm~O9vqpo=u{z2!da0~tZoI>HQ~GPIx3(@ zUxOM_Ni6OppBut2;I+Msq79*i%qaefJZ=fk$Lo>~6pZpNz>H`g)DZd?n_eG>9ifl7 zE0`d!^O3UR1p?$xcS*L(nDae=Q|W~9PrPNxiPl)jdX^<8JXkYel&ZG@BRpTuf`MYr zQ^JS|>Ep1~_i^ZsiCgv!$(qxU?*_GRNDk@C#2WoLvnM}tiWpm5ocr^z44s8H- z)_3>|h?G}YJSw^s7};uI99%>sS7^! zHc--%Svl`Pkgc$!Sxd6mvaD`XbRvtas~X1d2vKl9KB!2Ai%aIyi@;k+}EEOYj=!Wh%L;_;aWDILaOm$hPtwWcK8 z&R0Cq6h|WjXM^Dk&Xo3XX22C?ipFtTc}EAi*blN3_}lR48Aa+sWKR#YHLo`??GTA{ zji;1C_=51EV`0As*~c#K+6jtFlu?#AEp1v`63`@{J;g3H>*j5opEyP!WzEMn(dV`M z5~r-Ybm&cf=z8n`z0hkpceMe<&|r0gW`%7qXS4jek^~Fdz~ZvNpufcnY)lNHAD_Qk z(FeO)F?A9)Xb(W|H*W0qP(Nw%Ld5n>N)bdcB#Cs+bpj`7s>1TJLGl4kK}dZ zFXeSpBE#VS{5H~JhePHzl(HQTn?-=_aMYY2Z`-^=-i~>Uykq7rdB@HB@Qy}WUX$0+ zU&?D?RV9JT8sxQnvb zu4wqzOincXIa3o2A7&z=;V+nmX!wszS~UD8rX)ti-LM!4Wx)8iygzJ#c@km2eh_Sv z%1(PyiDM?!8AnnHUM9`xFVH@dN~$yIh}HH4t+qR7J%O-^H8bEmn@+I#241d{pp2z+ zCt)e)&%~I~cfllK!5wRYVS1xN45-IHKNn+Wng-P4ha1@b(=?zS|MTY{bka1S9{&s7 z>GXw&CjKSexik%^$Nx%qAx#77@xRespQZuz_}}SnNO@qf}?%Fuv% z+%V~xo*BZ(O!3UkG);%c63^lc4XDS%=4^DJ)=Uhmn0VBj4^LZ$2Grw@$<%Jk(13b8 zDW07f8c>g?%pZXD?hFm6$16=1$Qc)xc-+^aeh6dE*UCbrmc2Fox56{(^@ML)Uis#16@x=5K&utkRP>=T)&pjC$P>&BZ*>E1r z(13cpQPTEAh6dE*gUsU*&(m1)Cd7dHk5Kqk;lwfjiFcPl2$WcS2mZV4GvQoLER3n+ zKe0g7%>{I?xD5YcBg=Yy6VB?l;RqRtR| zg1u)NP*3K0+TN80)Z+&$#DIGI5X(GG1M2bX=`_+gx^H0VJ82qFkKfGXq|vsz0hV&u zo+LReMM(~!{AQ>?_j=GOK+l0E$D}8|K%h;6mloH>%m>4=kwWdm~Si6|p%X&Pgh(H8fcf`wokRGn59>WJT;=0y$p=IWzLlm4NxP#raD`njcKa zER$22$^y&TsHMq@*j(vioZbSIssa|K(VZqMVo$L+YiP0}_7cN#{!_`VrOAreis>s|qf&2MPYV z8m`kpaz36q29MuQtRUrU&es8PlZP~VmVHE>fx1;3DadW`_O5_R_ znk*sx0AzpkNQ35N^rBrUv*n?HJ|y(n806mYsAPS>v`LBeqFpKTm^VOwf#M$)dWzUB z^y!IGjjR{#N}0{ z5<;~Q6ze>ycv*Sm(Ja*m!W&e1B!&JQ&|c`#8@+-Lgln#@P~8EF{|u;FFcGQ`glk?Y zp?V1vZ+TSlLK{sLs?A+%T;?h?|!gUm+Tta}txaiWZ3SJajH`T_hisCgvN zy*(16cr;j;@BPWcjss?rkL^RFU*?y~NP`bjOBBn9mB#%yxUdwEFOpXr{1bc)l<=&$ zPQFNf9{d-R_U%egHBh>{;_Gn?`PNN<-sxdfGgkrcyk-W_PXP5}4;_Dxp^Fqwu6X1o z>_mSHzx5u_pSCCIyTD-baEuFhy$A@WT3*6-rC&NV+8TyER(}e2r^Z+omahFN+?^V0 zVZCqk=MidZoE3%J7(n6f428Q>&6bT&Mux)Osqq$v?DRmfmYtetoexxoN2sYu)>a10 z@CY?E**Y5@Co>8eNlme?ga;qLrZ9MFs?`i%F1G+7#WH$I2^8NA|HF9dCIcO3;xt+b z6#o>cH+=L=&=`#rC{AgC;!lD5(!;C5Y~%rHN(&UHPy~5AW$YDR3lt9oZj_G~{__3z zloBYOiwMo5fnU*{rcv^)1&Vh7x10E5BzY7lPHBPSivhmeM>SCZJf#GRr7_+K)OURJ zAPRt|v_SE50L#E;^qp!rES4M_T#mIo_&aE?R$?>$Io5wkQfZQ$a*ZJ`p`D~-9N>r0 zzFb-c{~>?EP@YZ@iusUSDxHj2DdNT`odr0vhW*YMN-IT~wRDG#1g#Wh*7X2QWjZ5P zinxPP^qV+~YWmG|W35FiMVT%06unp};zmHxpG2po-%YoJg?!{zz!FRFmpS=Nz_7I6 z0M9VmEXsUf{TQH>^Ai4tGet6V`+vZE1k8xqs~FstiH%K2wWE~7avNFm6qB_72)OyE zDLLtc-@4WM~uI7{!fH zrb~$B%FUyiWf_H0doGy_l~n{cl$tdy7-gzMELiR@NjgT;F;fwJ_Y3l+pANX@^9e}MVoMmWH$S+#~1 zj53dKf5;7TM|3SM7-gQ9+U3q!@J8)XJ)&an_`C!wk{>m>Kw z%_>r2j9MF!X1ayAW#taHY}<-sTA;3HJLRTV#acrPMwyogoIqJH8cYjDm14n&4Un6D)e_mhRK{y)!KhN& zG!Fw54;dM1X~C%SYT0-4fIyXgEiD*TE)pou3smVyfErpbsyxW@>B1~Gl0$TcB3XV1(D{(4*(P)n2{{${B zJAePS5|T1U;%OIP5|@}CYUUh$`7;kSgRZ3$Ef<;-=ahtIf&7zpBj`@*M9alw=kMPh z1l{*K&`vHb0Gq40B*c;I zFC-nPj>(kvGoR-Ilp%9mj!xjZ@=+bUhYF40cO%4)z2LewC-dmt{E}@??i?m?89!VH z?d1pk9fJM2Lr`PNFVKFLYT6)w1FK;yVtpG{4Qwb(;(J^1POxwBoPOF5R^z}(2jjrV zpLu9H*A}r*`U_z3n;u5sSSaUtE5uvSUgLC|ONMzza7?>i(Z8R>ut@r03d%m z3W!ym?}@&&Mg1T^zTz8>TBBQ3xkF9sNmi!H9U8Qo5Os_ws@$O=7ZBpBa(@GL5OKaK z;pAj6dIQ`MhyVIZX<8B3-oFk>&V3&NoLAvAYnJ2x6VSzO=ie6oUClp+HJra32bv=s z{M(p36^+8&iDa5}ZEaY66SJ3LgvBzt_y?<&z?yw-K@8+OpLD`oViDpSP;ih+AzlB? zh^5Vo#fX2Oz!l#^G^9M&L&VUZ5aeo*b(kK_OKe@}QL z2{(>LBL40Zc4YPg#=5l+QdW%;lw3+&M*Lc)_JkS0Gkrsem8{Zd#Q#9vyRQUq`WN|F zzaVhDOOicZ!QfP)gYskumFf69jDFwWbR@TQW)qY0OnjGg=RJq$7(ud$bzazFV=9Hq zaG%4U*IN6+&7XOw3#uYD3}MU~79_e)YCbbnLmuei6(_)oms!JH;mWjvZfRfWSnekP z+UraBM_-VCa^wevRj4C0M}|5=g<1=(P?U3n4pr}mViqd4?%IOZ#X_(SY_2$A=MMN3 zkJi*-=B|z{jA?wW%(ooo4eV87O9%;7UGd0iGQTF_qhiCw+Vgro-^;f~BXN2WoRvSt!v+ej340DL`EzWE( z%%RG?ymHZTC9*I+24DWFu3;0Hq|mLI)rL7)71c3SW0;aDDkT_oU3QZt8%h$akNh(! zk1{DzRx5OQr+&a1T%pqf9Vvu6Lx&sShwC0e%^$~_U#-JQhP0u^QC zFee~fY6VN>1l`6`S@HRmz`>zKhYKpM1wbA#p?^qNKt94ck|+NEq?yOizIDO0^>pVw=;aFqI~ z=6R%FO4%uB(Vu8=FcnvS6BHb%x*mW7-*jC8caHZwvCxZ$CaB;y;}te;C}40`Gw{o8 zY6kv?=Eqv+@25S`V!LcWRfIiMFNHy8*#%eV3xqVobYdt8HBAkCt)agN?mWRQhk)ol zxFYJ}EqW^4wz^Vw{sFokn@WH%#p(x(N7D;TWd=#msoc3qrE@i6BQ*HL=@O{6{{t#TAY_s1$xjxZm|8+CgylwVRK=OE-{VsSv)@C<> z<)dvjo9-iR_9vixxXo@wxQE*8UxV_&Hv2p($RL6;iiUc^eZQloNX*k%K=0VV)<>5hb;|68^Oeyfg>mJWre>N@{mEpj0msj4E#x zP)Y4x1=P(RI@!w5BDEV4sonMPTMq;MOnVYY?f#3Tu#@je?MBbHxS8voj-DKLG2x2T zZuFG!NuU#{-RP;|%jxEkbM&2l! zk;08?Dcr>Xtie zmZm+Cs5<_y!lZlzp2|Z&CmETM7qmM5=hvYr1Fg_E6D{^cqWbv%Xy7OVE%@@9)5rfi zfZOBY6?;{)`uP7c;I8-a!e7;#I{v>65t{b{PZ{X)G)T?q8UXtp*-!Kh5cPF5GJxsg4FZM((2kHh7o#Yp7yuMF+B2U0?-4FDW?Mcx0pOrL? z20U^(W*V7J?7@GAKPvV_qGC@ZD)vO8%AQDXu_t1W?uJ>uNP8mo7~XOlMcNaw$Fj}) z_C)MS^*FujE%rq0$JQ|f?TOfrv*3&(&kOADO~(M?)UR1>*iW!<(nTt#*iTN!jMQW_ zh&>U`a`q`!|l_P1Fkj@6&`MC`lQ0+Y6iv?pTUw+)_Lk@iIF z`#IedinJ$UKR|b{BJGLT53=m)i+xe-_CuINjHcr5iEux>36YO1(w>OTFQOWyBJGLT zPcfU*i?kel~#iMC=QN z%rFPgo``*s_)IfTdm^^7Cqh}~%kfmQx{|D!K7%l|7MA0&6uqk`g0N^-f#a6X_0U zPah-pL~OAqBFmF8z)bM5dD;`Pl|7M#fUff}NoFR=&Y z`NGHMX-~vf_C$EE+!c?i4K~pv+oO@EJrP^k6X^&1Adkk#)1HW}?1@YPv?ajMo`|jN ziL3&2U4Z!uI=ZdwiJT1R-T*U-c~JI5E(i3Q0P`8UuCgccZ9u>4V+PWmh%NR+o(1qF z50PZq8UuUH16J&bybsLpeXPnC?TOgRo=C{WdK{0+yJ~v0Ct@pmB6UCw@X_pz?596W+nDSY-LY`C2F1r%8NZ}WlzM` z_C#(5_&Xj-btWlbu_t0{dm=vo!B0FQWlzLb_C!c){u(HX7fY&*p0p=oD|;e>j#OY? zz@suHr6=}8Y-LYGXc~ZT^k|el5nJ06nG7&*rB!fATu<5)v6VfMWz1k3@HG0OQqV|y zBDS(8vJcS9JWP_KxMb33dVmdB*%N633tmp&EkOSnD6#hHsLN3aEG_ zVvRcmiINoqgd2tG0Z@G3qf+}vITEp^9}$p7h4fvJedv*@BN1ysD2Ub;DhFkm!=uUz zeYE^Y#QOPc98c*4I6^MNSye%REu0B#$P`GZen;japwX!q4|e86T{2N^{wC& zXLP;A6oT9GEdYu%h2YMn(?rOr5#l0oC*At#DUP5>q2#qd9nnG|l&|O`m zDFk=porpGPjG!q5ch6JsjG$ow_w=I??FgDeaQ7|%xiONtTn*r;k#K11%kCKuFx5@2 zGKGM?JG#legkNJ;DZW&tn5Gci{VK&Yh2S0tgVZU~6oPvh-RUAtA-I>*ohzP0_Z8gW z7m756;9kkF^~J|92D%67?ypmP)yYhzr16G%&?R{RUY2?Yj)FaFON?D*DkKksW2l08*n0OMnlgJ6%uf%N33MZgZ{} zBYY6q6pA!=P%)SV+p9<^$ciDn8ms3fwPF~ZG^Gm2t30a|adENa7g1#oR%~Od1j?(%eBs3-f9esi#;mt3aY6%^g(CmNOWmNOK1j zV;GxJq`8BNu}rE{q`8BNadanDmYbR7bdlx`DoTtkSERXviU}%fGiaE@{^dik2RLtE5n${xC9aPL40QVC`nmedCnr@mqSdTap zOm*4mR1C@&5SyVwTE-~B*|nZ2dvjd+%|Y-PE|r$jZ}Xf}Vcr>+ey4?)n8VY^W`}2^ z&Eih*I8Y5*F^6YfiHix4KWYClhewq$XAi)m(;4GYyhV{42b3?utrWT8VMlX}@y`H8 zcx5>Y214Azh(~J84i7?`9lB%Ub}154Su?r@OWJQuK)IQfLnbh>#zZP|SAOL11K@@= ziHh8nA4^Cma_31~sT8@#=dtv|Q%NRCsW{e>k*5KuN~OrX2KcQWjXv(7B6p=yu>rBdYn z0?>bY7#$%SNu^Tcu0&3{<55{+X&IBL$X%%vxd-?tW*NVj!!ze8F^5NDiKFqC0{1cg$H-f%?=Mkn;p7i;*L2y z>uPp*^42VFG52Iv)lIC$)|^NqPXka@$^g{I;CPrZ5N+gX0IEtEfQkZ;!6O)5MLZ#> zQU;)U1J%z%85_X6;Heas=u#L_(Bcx~tlV7y zkF)Z;c#6qv-7Hq4rm=7F&S*Nof53Z&h`7B6S4{3Xnw_ICInDe%!dba)$TFT5YLbgX zG}VEJE*(P5iUWBYRt0}KwFDS;`SOp3cW6E^%kj)64_s6#+Q&EJLg=)TP%Zaq_k!eW z<+O8nfn|2Lt_JXCJbwJfQ9`!`mvfp+gU{s|5dM^07>Y5@nw&`x)CDWn@Ym*G5Kdsx_8Gp0-o9A1Yv^NAIN*IF_UXYV=Pcd;qm#m z_+>PU!5UCJpJ}FN`Al~Jb1I(M3@*h(+FB%F=jM`7E%#|}0OrxF7D0DZUOV+<0uR_lDL!OOL2Rei_=5x(DeY>K4nOzw_^Uyt@ zJL$->6on34y?4RaxpZH^XhH|B*t_60%(b3(|K5e??kF*^F&0x4f5&V?GuTEh)`8L@ zdmG-{PeaQN9e8x_qT3jD$6ks+5^~R8W8v;yB|)Mk$dBlI75YK)krCiLgp(1#G3Ij(UUPCuh<{?q3%ULlC_chd zRu798h_v9($qc3@7K}y%vVP8WxOHIeg5#NspDz>KtVPoiz4ZneP%=p3{F@hN*jO?N zL4TvWF?PxFGY>7gb}Q(sSun9s_=X7r9?9Enjy00rv=Q$E_tJ;Zm+--&>lF>Iq|M%` zszfMN3zd&bJB>-y>SZJn%>bcTtBp`2-Ww@!6W1Q8hMCAim?k7?M>WOeDwxRE2Q#YZ%@!rrYSWxiMe43S;BN#Xr?VX) z%Y0U&`K45&R+7)$0I3q+jce%cJ{;*#@FV=3`lLttR1rl}7-*n0e0C7`2#SD7s;fet znfabwb;bzo6=Vy`Uanz^2(X&h=ytJ<3C=3)V-o$Tjjjc{StjQM{W;s5rH z(DDa@?$R}}s$riUjLz9#HPEeSdxH~W^J@h^fCI=-^pk->^WB;X@Qvl*S&7-X?o|P@ z$>TUH(H%?_0{16DS5%1@tP+7EG%vtV3`{BkLpw*{p@wDqsGDdssf|QOKXilr*s98v;)Ii#SLnRAj+(2^>x}55!YpbqOeHq`t z8C1m{Iletwcl8n(dOF<{D|HKj8c8|Glxo95#Y0Y}oHAf}h2ypc0N&nQQC9Q$V~WH6gxi|AJ* zVqsCu3MQY~9m$EG;{n^xA4hp3``ln;<4`uwTU29@AZ6~?$$W28SdcYUsVodC4f_>u z{#jI3_A)0fE(1h3NiHeRvnmR#{Yk|R#+kz~mT}RnR@BSOhw~NQK#xO!ubdrLd6P$L z`81(t7JNEQO+6gMSC(kEEaBTQwdR z_9JgsqX)W_H~y;8x}tpCO9vsb!|{ghN^j_f;djLt`x-Bp;*#~4vT;^}OWB^MYx@?L zE8o-QgFRhMu&1jH_H;NHUH9@mU9i*9qcJ9opc63_h0g7f;2z%aswNFtFti_D zdwRobFQ1_dPrb{B*P<>d6e{*U-tbxvhrKE2W7zV zIG9Yz#^VlCiI?nl6Nws;F_Czq*BHOx^>8>g7!I+x3`YIVBX4s#y5q=;l_$fh!8};Y zmf8=N6TBgDqBkT?3d#-3Om9e>QkH!g5~r2{WJqi`fp|mWbS`3o2|_PV^rXO1$y?R5 z_*sz^3u|nazp@YzP6>U0UTWY2g5Dg7(?@SXHCI@*TOiHzx$6!@{zv;jnfO(En(qUJ zQmxVTSh#?_i6h@a46(Y;(|b&Ln06r+m5=+2y^&j{kMd1}9=Vr#C0_%WN5r%H2LL+TEcYc)eu3>mJ2SC==v z-ozrsIzCSjCKr#1j;t+!=!iCa#WrVSr|Ab%O?h56(;IAKws=^Ma_U%Xt2bYjAA>MI z|MnOpn5O=_nMqAbF*PZ{q@8!N#-^1hA3bpH)_(r*<|wpcoVs}vPlY$}q|2w53^?hg z#_0{`Z-~cV&{UOAFI|G^B^yjH)#VdO*I=w+GIQk(HyEGu-mFnmjxS%7*Lt%?H=m&l zqTS19jU$2)0`rwOYZL+~Gt|SIM1mPgPYP;*R<^ZiKXLW))28W}q26VKyvzngZ#L)? zjA|sTFC&zcH~1AOUVPckYtc+)Kb>gQm_8&a%LQhGV74lo4LZzLDnG$Ni5_$mIN1L9 zU>uNmQ^a7M8b5k{K*9kuC>7`~dxQBfZ!jMoWE*pqH<*tsOT7%{qsjm>nCn9j6@fRH zkKtfG)*C#$_2f8jq`?iH9tWghcR2aboxJ3YaT7c~-q4~6CVK2RY)tCZ{U>+s;8VV; zgMZaIXV9m^YPA{hmU!%lQMKZ<{e~b7$k8PuMUSPZw?2)x@6u%*9^KvR(yrH~{beZI zUWFPt(rV=RU%!L5Ti5-+)6L8KzPHLMwgHR&>z zvI9;XM*6$z>t0Xq)Va%N=#Cv2mrJzC(F&Q+sD%Io_T?T3i6eI(}!c4&R!q-X4QH)h_r!S>1fGQX}dDyVC+ zYH!r&>ZOOGPFQ;4t}JNdYPniALwhUfuew3=7tW|LX1Kc#z_>=h5&k@`Hz7xQeM9E! z;83H7NR(kt6laTE%5Q45PVS|-QpZ_itX80gS zOk%J{1&e?|UvDAPuYBdwKd3@VhRQ#v2^Rs`+SK`LeUw z8!*SCGaDtge2yrPB;xS#@2BiC0^RpJT~_!cdMKERF-os;IeJX%G&10}LLEAl4-x-& z7xCq@eEEprlvjc(F>hI4j`2EJBIrEc0Fo@Pv2GkPf@0EHOtl||E86Ec9nkAC%jiKB zway}`^iJ)nf~W}ZG7tsh539Iy?^JYOasB>p3p2>F&z8+4)IR;Pf?|P2f^pJYK?Un9 zr&DUm>#ySw-$@`MU=%4^ugkhD>MiVTap1xm#uO>45UkMDkeN`eJE>M%_~xz}ahau5 zFhr<>=!)`K21`6LxCg^uMwL$c;jhvg{;Gnq>p1*%5tKjcbR7P&AXU z%?c%HXA%%og11zdSXNZBt(;T_kZomfH{~}-_0d?P?7Dhvo+IcqZ)Tg$8E8f@1L5#6 zSirV$R8kl5v)Zp^^)L#%`RXDbmq_jJL5^xquZQWm!MKc@q+nF`Z}yM&V&v$H(?W0b z^%uuDCG-|`Bw6SU+{d&Z&=<8I#}_Ly_QEBd2F<1Zfc-tnv>9K=ziIw0<>KFj+n~R3 z*9kisH*8(AdDq%?jcfY#YaC{@1MMC;eAV!w12%8ix@-4<xk_>^z}8p@eN* zyKeQa;}l}^hSiP7ty$C9iNi22zOQ2N-!WddduKaxSPeRM!`6Xown6p~b}}GUkNB7) zq+`wTTi0(mZXoOeLb8wvf)hg6Yff6zb}a0Q83w4=u3HZ%MBCSFK7P%yo7WM%ZO1x* zH*8(Eb`?xQ1C5@$b=^s;j@?X}oyYG0C<@T7E$en{ShH&9j$=^@3Z~+R8#iQQSMS=e zdFOx)Tbr3QU^X1D5E8#~?%c3topPz@l^gSrb$_=KgW&^Xrt^i>r>bctzItVv%j2xV z7g=ThwhAY0+qQ7Qx)a(L*8jgMcHvH>9|eNE9=mhZnsu8u@7jFqj%~-Ev~GuBI@CET zxxCI%(O#Xic2%8&#;X~T4WXbk`~Yyn>1M-#_Q=MUC|DrcS5yUL1r=odY7 zh3WhVCL_(L^IFuxXcqD)Ce|wkxpJHB`OfJZIHa z&HkVMAM3oY@_%PEw9t9Y`nuWm|KiDxbrxGaD^-t^!hYXNVokfeP3@#D4+;h2e*QvYbbH2es97rwM(-zivaC&_uMcxAw_Fdt{yJ(mv7JCm*G|lgO z@h%P@HahL$s}!?$c5(QK5*%*4m?-@!FW$xB!7*tMzgjU@*)9$*7>mPA)h0^6){A#> zc;U%u5ARUSk-Lk-i^t(`6XA){*Ld+R4lg++?cp~l=61M?!^e)t;ikPNN?+^6yEuH@ zsc8>ir;&78h5~bhl#k)A%osjnMTNQJT+{NJ&C*p9EOB1Ev=Eb`>eDb8U zhes82#^1%^QzqkZ(=#MWztf9%arm^-w1@vxF?Wf(IQ+CJINWrdiPG=(;$0j*bE_tJMYryDP?>)V#G-Ae@%7et<{aq^)#tv-qPAu(SpAdVv(hhhO`p|-xxl1Y9Nz{ zOml$$*CrRKhNYPFKTf1&MT$?VBjv4a&5@Ro4UyKC#>yp;)}+^}o6GAX%Nm=PjI3;| zucuceBs`hiGhu#`%5L%U$jAk4k+ulkmRVaDnO5FVRmU?68ayYzhq#gm(s-9g(DbSa z|FBx8QKejMr?WN^rcjvO*f6QFX+?R3s+>eqp^Ea#B~pOSx_bFX;QJ&;;1pCCfs;&P z1WsdT9f9+qW`<;@V)QoL+J?paXUedgM#}cEe7`iqa$>D3nj$d6g0pOh0_5qi9lTW^eSTj^tUF%-(pvnLJWy^f#YJ15aG&?}nE0rrMB}KL)zF#hMp@ED1Vos8O~~JjVvcb6)x_h zzv=k&^<3ka&wkmlnMeT1-mUad8nN(5pXL~oXL)vKb9x~dRrrpRbw%zKtMdAj3pwpsyknHiOh~`}zCzC0tgP(g`(+m=4$)ss$hpfLGCZ+k z;vCrdfY~uJv15(ycrq*NcS&0xS3Hc;YjR4}y9{a$VLXOT*9`v8Q`|Qz_mmykC-l8N zcTMhU`kA4nxr>u?qG6}w;6T=n&AF%ecV4SIhtMxf9;u2SS9&7P_YxDcHxv)cdj0+# zxes_tDV~c`3bV40IW&7PtI8p#ZO}|k)4h(TX69~slF~lS`EJYI)O#$scYOcc(|YyF zIX?HFy>fES$vrK5cwd@RjqOKLIlZ$d9cs2q<(T_&AMc$#;-KtP4&ndC9+5rb;OxS@ z?2<$1=WeDPk=s9a&8(FF#$mFw57}~|+ISn)2F{E5I^{PfIX%&x{iyOAdu8Qrrg@#2 zXY!t%y60NnBi7L@_JqFtUt%`eJ`X;jA716ovRCiyL=c+_>^0vbV8S?;l2f+)yxK08 zQA|f<=UZ)z;L`K$dbKRI-$-P3`6ErQU^IS<)iXNCVdUB(WG=BB>SPu5C8^ymIl|w;`1)DtIp|#E zq!LM-Y)@#`4xBXcdeN3ei0kiVWj#*I#U?%Pdp6+rsg-R?W|bkzk0qS@Vsb}~?)Wb6 z_?_(FoD$Y%GbAf}c>nCuezS64A5SWep+8phe=Bp_@>k}rJT-UoEN+m;_C1wJa-UhI zF_O8fXXZY6YVM9xcd+=3+?8}3Nxsg9vIaSJ<*A#^9ulFWHqXj^!t5}|aB0NXBvx}; zd*{4$Y3^+~cV}f!&GIeS^dj3g=t+5U4fE%fTe)eg@;^FRJ62~8IV^W9_dO;jbMC4* z2VPxCztFNd_x0@W_RBt=lP~Z5Sa-hVP*(0sdq?!!kvz8HTs@Yu*o@rwkjb)7I<$9o zQUC1W2UBs`2dJ{k&x7=4y7shR_AyzxXJt?6`$SUR!668|Y0~BGk_g$3({#^Yd$Apy zFS85!_RbxbJoph6*+K`eF}#ghV74=x{>?DtPfc)kM%;t!wd(|B@@676$sc=~;6#g+ z#0h?z#5ZAnNJnrJ%UdGJBuD8WG43Nz`coG**F@@~#G~nsTDE2}I>bs)v@~RL5)cihJxP_amw(VsAdy8V!I*UAI~9Su$WN5g?0j#O`m|_*B6o0tdPSq{NJ=da zyiVz1CI3G{1`A)Bz6GiX7yxMv5d)Ez>tEYNQ91i&~i?C=sU=GMS=@YIYZ)K+%)F`!S=fs<6xZoq^dW z9GX3quS*Q=yEOMT%0_fK;W!>?X7{EP8p$5k_ln#n##7foAu*o++B`FN^LPv-xdXbn z!evEHjwgvT-&o-?rZ?Xu2a=rJU#oB#J2}_vlaj=F|NKhqf3~+jiSy3C>dsaBrRH50 zSW<7_qjrw~*9) zyjvIczC|PWw(SWQj=h5($|rPY_8^GIgLK*$SyBAz$V&b+BP;&Xlh~|~*5pa)Pm?Fb zu?_+0PaOi%pWY!Lef0*urxlTz{zjI@ZnI`W$II}{=we&xBUQ`7SdBJ~IS2CU3oo&QAcYFw^fNWRQ=9-=mxA;vwi+{1WGjzN+g zH&)FOt1JszYwMEPlx(3Yl;lW3m{p30lKGpnx0+sj1srS=(ICn7plYMMI88_3|8NQuM zHfB4c|Ceu_`U<*{p}eJqE}Q#&!DpyHk91h>PR!to>D;rO4)RZi8lxPPbohj_>FMf$ z)+oKHBPk*YEX{B+k?Z7-M8-2}dKeiQmTj#f_RcU;v?Nb3=^8s0%lO6x$%>v)q)?kW?xD97UbGCxy{B@92&y&r<{sRH1xV8CUYjVVx8Wk|xI-uKJ3+oa1Rc$<3#C_IEwYmHJjZ zvs;%d^(A*XGzOKMD$FQF-%-bH`&b#2WKWgtletydL;GDpGu;z;eayFth7l~yTWNyD z|9#i|JBy+di{B&L zR@3Ms`S0z%zfb6wd;8+tD;8%TH!yccPT$ky0GeQD)1LQa&tcg!`_9UC`|^KNJ^!8D zH@mcN_R0OT$I{@fZ+1cd+-kbFNQe z)`w~u+nSvV+8SFa12wlcE~|7xq59ee`nPiV^89?30~hb#?Tk^J#=aH2A47B2|&f+WPXkP*WqHW#iIFb9G%K-NM$qSiC|}hx{QIS@?hkb~tU9SJU-J+EV0I z(YCd*!dVRldThXd!=A*3i&# z=A4NWW`;s7Z55&Eq2i*VQAMF(h;KIJW1DF7*ILa-)$>sya)PPY2${k0K(6KUX$rMO znnD#TLM=_@l@VuTO=EpzWO+mDlJd4-{>aMO#@3PCI}dMc8JXx4E0Os|E|@)i{`}H; z^XH8$Z>9hIm+G9*qS<34W~en46ox|nThl^Rd}MK?d3tSW5jDH=<)sb<0C_gV_cV%; zvI5GIQT#FP$;- zN#2zy&4O!(N@}a4@=cUbO5li(8t))qH;cI)DLGNsytaw{d07P5{!95J=dM*2>F z6a{PP^5vwvva!u%f~BURnlhIlKxl7z7mXv!$8+46nS<6FwNh$4Ee(<{sv6rUQ8?VN zBMp^QpVGLE`E8W-DEF81I`Oa(+Hl zBh?nAGy2BC)nFn{jHK+A49S*ArDGBq-{wj_XsD!`hN+axAV@o?u1KYbP-s*qGBK;C zkxZp#RJx4a8mV`t&R!6hbka$Iq7j87f`NiyesQokI3_T>zO}6(a?0XJ1K$rzU%3UH zLd!41iwgt87YBw{H#Ij_(^cu=w4;T-@qDtiO#;dK{5jekYrdocW=X5R%uR!j-W`Ve>s&>vv9ciggiqbGwKPMYoaNX5)Ap0 z#%Q5B8r0Q==97{0YN#<%Qz8Q!sQprP7MJuyXJeDmC!5J@PW;M#>UxoGvVDdUR?MKB>)o zREB15H%|5F?$)cfN%rXc)4I_FY>&=AO@5lr*{-fG(rhYa@3bTh-*4;IM9a%i4e3KG zQ?}hLw`7WVUvIFx)o$gh-O72M&>1~yPb;01s3a;*>pg1FG)yxs(1c5m(v#hW6OE}y zL6=OD$rGSV`E5fjKbY*q(0lagBH)u z{pF|(b??bk#;-lA(_N%|(@FQN13`os*O;ezdgL41!>PX6i}A0SXLp;VjA2Iir0%r= zne$2$jy+SBzUEA{^ehBCUE`iNZR6ISm7k_-N@OWx&|c^-(T0k9G%DkGv?mHyLf^w- z8s}ghEcUGC(aIzXe*5f@i1^|j1+6DMdY)gboV|x9OTn%4ns1Q}t*R>8tyHE1n%znh zlXiTZ~#b3sSCaYvRBy zltJ0lxpNkjg(l(Q=ComMis(t}N;ALpG&M@YyPX)*bml$kwCvdOrS@;{5ou*~siC&9 zxwe&7t7#pfM-47rk7pvmUX^a8++!Xh>8byvKlLw?S>wDOsic@q)?sT+tyzlQv-K(T zsJkBx+IIHV>XaI^`>k1X)$X=t&6s<0{O#$>Gfe(HGaG3T7%qML20=rB^5&|>WeqaU z+KbC!TqivVRJ&y*gO(cU?hQ?LyU$3QZ8Tx;mF~H*a-Iplj=C~53qG6F<<^XAVwyd6 zZ}^L&dvIntLf?zILeo#rhDMpfTn*f#ULv*fdo~rcjq|mbJzf5{lxI~PrjZXR=9^(?<$?m1g#XSxP@0`td#bVFWk?El_ zEaQ2GW!$oMf1IqN(w>>>?czD+v^{={nWpx;JuA>o)!J?{xTj~`a}O`Uq+h2o)v$a0 zyBTZH-NJP9S7mabM&GCj(5*Ohw~JhTD?QW*#6nmL93Z7 z^vFH-M4!7T^W_UL@jzCu+k zjiDOzo~E8|B^pytwA$pR5Zp7ZJeSubbj}|F7=?A-P3z2r%Fdoi4? z4AY||;kyZl9scc4Mq_R-o{9F6h5U3%i9TpJeah0MrKQE?t#rG74c~H6K=+c5&Zhkk!F%%wUWh6k@T1oJt)EtWjOq7S9R@jdL*H> zvW6ZE3WZu5>CReua^Zr+`FMR>oAhnjy!?>7x-Dg8%9H)cJxx{gtN?2(mIqPu=~|e+ zyN{fGep!vPjIQ}cs41J_W|}&hJuj5+@oH&l`8?FEeQM@8A9|jPo`I7GZR8$d%X#^Q zbhedCLY4JZbgB(i;>Ut~9`UAJpYSw9OHBz~uZc7_H#V16u!TjFBTH*5Bc)8{(*s^VIkhd+n#=_#>-3AN>)Kjs zIKCqEv{M^ZUw&~$t!7Y2@l_S6Yb{UM?1|cZ6NB(4-CI^&SH8F6z$B*!mx=mfb6s6ftIBBJtxpY&%7CDhnAHuiL~((a2L>HcZ(a!>l`|~ zneSZdZy^rTlpspr6;6v@vCmR35K zYR5qj*U&d1GjaEdY$!(?5l_1DKNRQ{yD^%r?L`hZT z63zJX9I8{zZ~de$hMpzk=k$_2fHw~oi)nP)989AYH#JG~;iD;zsgckV0!yWC6KRI3 z&D@?%*`9g_Q?04Bmrs#dm+U~aeyx+Xv$AxZp@wDjV-t~PkIi;w62a;kembz0>W`iy zPBdQjaE9P67@fX}nA}2M(6)O@qL!>+N^~2Z0l+xvmBx-u_DbUu$9v+Yz?72o2}QPf z5PntIQK*k{HRPg{f)Ye>yrfG=r(Z)6r?*uw@=^EB_w*+sn;rmxpVbMp&5w9UdAc6!&1a0ZBKEn_Oo=Hx0Ce*L?Nq8HoDT9 z^kV=|OQPyoLIbnRr52g?P?|0l%me#0Y(jNO%coAOf`0DC%zmtKtY>_fp*8t3YrgFO zGg&p^K|Q6U?WOcM^@#cDhDe@NPBPA=p5~P}Su46_R7In6>Gr8L@EC<-#kn-u5*>OD zmmghD%}}G*wnRrnnLJcUUA!mf_y+mu#-2Kg9K|yPe&{}JG4$Ff3bAS#Oj3?XV~T0c z-mbjN9w4OloC!VNR--kNrZXw2s-@@iX^>t@LqB*U)uU!io?*AniF`82a2}Hwcyec* zD8nNl{U(j_$OInjl~9Z1N{~*3hE3d;NHUGo(-03y#Dr&kgr1PEs%~o_&D5UFO_UYo z+)*!@J;Nk7>tqVK>r3zM{K`7Ia4*G@1O_=WQ`$v~mVgU#WjB?3rfc4UX?j!CTGQ6B zgp#W9bB3lfYE=4!#qOXa!_U>S?V+Wu74&+GRvJZ^u_)@zTjkOdE}Ct%Ucre$0ePG5 znx}agj}G_*nj^_b^s37*U=u1hU-Gc4!kJ5hU6cPjO>!I$rN)k(LW56vtvB^|^h~;B zQjF-@8cfb@rj?rJ22^n(-BLJLoKJ5Sr}+f6*NlURQQW8Ry6qI1)^Fz2+z7c9a>tb+ z$%HDJ8_TOIc_i#kmd4XIb}MK&dI#AqqV+?TXixEp&5&Nur6K z%xj*RETwjRK~o$iR+YRSB|btkO%otv(lloZGD-Qo>X2GUzGn}{j3wgMvG2|H;n_&gj01bl3wWdb3ACSQC#hcxa@{9^=dMOrPN!nguhEg1!vJA)#OUCvU z(&S|QDt(Vft1BdAUdN=Gt<%wQht!){zoLd_Cc=sKp6Eg(VJB_NFZ9dM32<}b)e4$K z^D3si(3nE=y?gugf21G?Ef8(p7RRH%kXR=rK;@^iTh#aa4&WAaF4yw>IBl)v7ib>CN(Q+7^h)kzTw*4l-PeO1fjzsI(`_9gdlnQzD_`DtY!m{XEYx@?|qhHifb&qAMb_@?)Zv zmf$=&$`dZhQt3)Xa-EZxIL%5bwNUDh>E(gRrCb#=?>{3)m>ijU7DZ-)#wRFAvL*3~ z&T&f{YpaF~9dCvsX?g=XHSZ-8Bc>A#q(kavt1W$$97!eFks*&{nn`(rpN!>NGAG7= zcxKwWP+U-yAwgAFlfwK$U2mm=s>t)^Ivu?LG3{c5NdnTtQj6pXE%|pTmW9%%E=jr> zPg~}9=#x^@BE~ozTa>tIfHs}ln3={=jVC(GG(Ag^S=OVp%JW=$6C5pD)V0;i5Yz5f zC?3sp(z~wdRLivuY8tBsKvF69`1Y87ZrX^bHH%PY za2HB@wJ+bh2wj(4g-#ZhpN~OtN}unMp<#hJO}acIsg;(U=*5Pud@Ve6$Y@5R$(Ufz zqzIL0vZB3aEh!;mwR5R;Gcb#IuMQJwquE2Kny>vQ4o=!UhAYz~0iLGFh%T`n@A#+q zX%5dX@Q$2miO9qi7VaEf8_=Z)?zF1urL*QzZ$g{*OlY8%STn;_grtX@@=AU+E4>)H zbsjIbFO^#l(2RH;%5Eic6NKa*^LufLLOmWZ!+owf^09C2!}Lnt4kEuu6TL1F{?A@K zO@a9|^tXFlsr)oKI74gB&o?7b=|D=$D(M}fp+#wW0P-h=khvBana<+8gL^F4^1xk1=m1mu$&d%K(;1sDi+o0)ROXkQq)n!g%M9s#l0S+g-8|gEYZ2<1GHzu2%Gi{4 zXhy$^Et5UU*y@C`88p4rQg}{l#zcW3Cl2Ltk?QjIXI3gNHN_?elj@0#<6XP5@<+>C z)lCD}N=;TU%}yy*siRU34w@BII9FaKZ+^XCq(5ZLLZSwl?<8?&0KJH~js^$(de^G- zL6lm*k+kE`eC2d{;kLQbPVe+h8f=cUV!K3RiQYP^6~i^= zvpKY=VOc!|f>w}K*{1NxrBfy>m}y?LI)D1C(m4y}Clzu$`4rNiRqG95wd*=JlaquC zXep20?~F?%(hyRrG?T5QNydKu`bvl=b0D|6o^+*Y@8rpc8j%Y~ly!p$PlUY63m zMd_-I*5cs7l&Kz7QcBdO3;EEZs=BhJ^d?wcq0uFOtHBxHYt82udG1A9$fcm!MI!EU+}&KSE%3C;cLeo&`Zmt;xFuCD6gsFwcBN8*N6TWKk<=1N9{7^s{5r zmrPd-lDBc81@6ig)+E!E6bI!O^Kd1pj_zfn8qJukGT1XpOHZ45(){`s|CogDm_&r9 zSjbJnszUXwH%jR;3pWYADN%R(8*SQQrlji(sYT|l-Yi<0xN*@$fbV*YWsIlESpAim zlhA0K)O+qwvJTJKd(nA%R9n4QZKk9qr_vM0_}Z0aT>9ZbYJVc7CcNwKQDvt%16SYE z^!#+XX-i9thEgsb`yG@fU1bdJG-EmP0^grXj!U!C)DaKrcp*9&b)FTtUER--Xp$az zy`JcexhaXMxF_Z^o`bAYdR4M-WvrUAPgX2xsemU+nNLDjSVQIpkfc3nPuX)%5~{Pf zx{4PSQoAcN#Y^Xg619iymV?t4<-NZ(5!${}*L!8t7NRvL&dD#~*+}AgYp9KWWhuXe z2RVF|v4UP`+Dxz1r~ALpFRQFImvYk{QCP$GYx5QVM!re#)8dy5is2fK@2Vp&tzlRnm1)o^@;C zx{qx^^O~L3;xTECVzXPz=$1{^Vsbi-)Tp1J)g+#bXN9lHiY0G5sik zMdue)^Zou+jr4;HZRAq+Z!N1d74L~ibzx>j>`b|yrxjI6lSX+CG;Oueb>f7{RIIp& z-r*+qq@`?$sjul+x%@l)$ z{)SgtL)No*e2(Vz;Ywu)GB}LJ5cUApYi-hmkj_lK zyBEx!x1g+S&fNK>)(K6XJhyb-ywLR7p#}3wedl%NoCPx{hbGRPGiip8)A>%2qp&Pz zo&%u!E$u3%bvnM)(^pltrg@~jbp9^9mKa>fV21up{_fm_`LrOBm=>5&Fk@-?=?3cP z%r9FdV$dHn3B_JFO`bNXEHq`p^qC9h`kmo%@60*#JO=xfW{TKgC}WIr98R4#D>NZA zwZh!;mvn|-cY)l;tS!pFGoLyf-%W$*#e9p3cB|m{%;2md8bw4}X}`}|)DqQK8IBu8 zOSE(ppW}l0b0^FWO>dKP(X3eLka+)Xd zufrvztynR48hfwf)S4P9l`5J&F+|f}zWLPWCu;VyN@vZPdsb3y%Bfo+nzBC;MjQ|* z?#yIy+7wDBg}6mbZ=5e?M5vpvSJF~+=chR(8Pg|~N+08M@SGV=-cc_9`lIvE39|hKwtvR;rn)MM+Ien zA+~F+?aBGFe;l?yz;+e3A6nb%3PipG+dpIbHn!tO$$s5#!S}7$jx3b@L2TDp+tEd` zzXaQr*j|C{&|=wtBDUYRwkM62{ll)7US(}Zj*6W?W9Sve=@dFYg;;5_D{j~PHQ{0RQ6B9_NUf%`V`rJ z8n$;^+Zj`3|4eK*VCz^P<-IO`&tba_+wIs+m@UUo#CEN< z-GT2rv7Imn^4PA%b`7?VTibogM7}q+=VE&vw!==B{kpvt-*x*de19C<*Rg#A+v2%$ zylz+E`-RxvgzY+PAHnufYxL|(W1o-N;XI|Sc# zyBObVu)PP{4cPt`+vl;}g6&pp%g+)071(}+?Z?#qwQ$ zg<5}jTDM!U-yGDFe{!5GrzBgHdymVZ-}IiJmghLFX?ZVaU0S}6GcCt;>`#u<+xdL| zbbMdu;)B!iTqls1j?*uIACivm?*tA_#}9B~ho|FxoOoJ(pwl@ho%}&gEG<9Snfbj5 zj{V7T@|^ax{19j1AJWMm>a6=P9q;Sxtet49r(aU<=PbXbA`S2F#MAP_ob74(;ZAp2 zKEUa|E}i}(9H%24ALux1((yr#`&K%BWQy$!a-5?w@b6^cM`z%H4190~eoP9_BGSwG z$A9e|eF$VZss1F-P%Apf>9*oz5P0xNm;OqAM$n%u-(>O0#Iu}1&bmK~-`EcR%%lIa zoYeZgkT~nt*Q4yWXY09EVz(`FueCvi^X@dy!$xgBBkI?t-gl zPX%wX__^Rwi(d)eW$}B!of}+Z-)ZJw$9WmN%;Nu0{TA<^E%tX?d?fKKXP{H^ruaV> z`d#oL7M}|qw0IaiVDV+(c^1C`y!(v`Q=*pp0C=t?|04M3mi#B++bw=jj-1y3OV4m{ z$KrE|oA|udHTKlN4-Memw+WYjsriG)A%6+vH-dNmL?l(uTj0Ul{d#)!LcBr0>Is5} zp{ES`%fO?MSH2Xy=@!vH8S)+AG4Sc&_k-ub{`ug~gSX!ydNzaq9lQzl-vNH)K4O3D zry~DX@LAwxcM4ZM7lH?(!d1_M;PJbJtDg74qw9s=>&WMj-coMa-F`k1ybJp8g8X9e z0Q5f&ejT`TkLbA{{9)ppmj?W&!VrzmZQ$|Gg%5%J5&MdKt|dPlJkR12h^Na-6~s9X z-TTF!0nmRHco_Uj@P{(!c^UF$n?=tVkl&U;{$M&mF1K@w$ghU{vBcRA3%~IDVH~(? z@k($9dHp|Eszg>?XQ5G(s|;<=`%OKk%Euo50Cz^Ldy! z$J>x^{O7eDydCGY0rG=rfWr0%`-+|U;FE}Rzc%enzn=4mr}Jk!^mLC9Jrri<(`ob! zaynp-*6(j1?~D|AN>k?ZF?gQE2OTJO2Ea!`egbhm-x&0FQTyc2Ldcgv{%pa{CE%Ul zA@FtJc|oz~T=0jW--UkdFW!WF6XezYuff|bKKLN9zr*5Fz@y-F`sQ;!cqh2V)urGu z@b5x?HF&qB|4wix-|y!~!1KTlg`UmeF8IaN@ABuEgVWdhbmAO89aBaB2_o*?0UiS< zwdRwZmtN2Q#92>QSoFxhjxz{6P%dO9^b7-U0@r*#4&12_`MV)M6}%HX0zO~$SBiWa zc#ZNU!pEcGwGrodTi3hNNNSv42Hs)utDq-*ndoVP{u_v=YezqUo+!ri^woTRPJgg} zoTFUxUHS7yexT!GJ~c$domYvc)BmxNALPV8^tbCihsb$#fvf%k@F=+IZvt-z*M9aP z@Fq*oN8qld=XeS{_GiG-69Uh(^sE7oe<1d&J^u$D16TX|^cDRB{^~#967Y7&m%wk$ z;7yjE7`SVddlbb5+aI*#o4^BBxsNHgf4=L%yTJ8)KLsCRl{@?} z(I2zqSAcg~{2B0etK5Evi=HM+J_H`L%DoLdY{`EFUS{zz6i6l>ta8_a=UMU}fR|Y1 z25ExLdK^psO7QM&;!pM4>)~MW(Qx4vSv|9=6JT z1-#6XKbn?8SkE-8+%ULn$v+4lwD>+p!9P~H=Yw~@@AuDd!ON_2`+Z0B#4Y&?z`HE| zJa`mb{e0rlqNm-GzXE)rRqiX`O_uzKfaq~8{VT!qz$t9Z=MC`qd;a!SFj(|-f~)-1 z;O&{Ra5Zvl^6Jbwi2U+dR@5qQ|*zXgw4 zeE*T6CvNdM;DMX``fmmgTl_unsKrkTLchf?01vG5>wgYBZ1KbMMNib?5%9Rh9|jNn z*sp*80?`w;csY2~;tzwzExykv(G$4YuYWFh*y6W?M=ib$JZ|xkh0uSCU;kC$VT->9 z9<}(%MWQEe@zvmgTmAY!0uNifv{>{+Eq*h2+~S{t2Y%w$KV!7$30r(Uc+}$imB4iUw>dM?6-J5c+}$0fyXW0=VZ|ni2C(M zz{3`Q5%9C+B`ho1ufSiBWHZt-7(2k!LiKX^R+WAR1cQHwta z9=G^s;DNjR`X`(U{TBZbc+}#51CLw$IO=Xp{{N|8{|fN1#a{xCT72jP(G$1$GVs89 zzy627!xsMlJZkZiCPKf(&jSzK?bp8!JZ$k-z@rxLGYR@FJ_|f>k6-_fz{3`Q2s~=> zmx-raXZXm-)41ys(I0T+(`Pc3_z@rxLQz~|LSUd>c4z6~d3+{X*=amKfuK~{mSNR9Q^DOy4fj3#@{tG;8@gt{* zoi4cgb1Hbyl5Yhc0i|V)d;WJ^6#jC+%7Jn4nx!0%B7Vk9&_FH@ec+BDp!JSUO{>#B#i$AFP zE&i73x42U#_Bapu^$!MjEj}B(-QvyQF^k`%`hVfq|CH*t_!iY~@qJGhJ7X3f4(>ec z*MB;=Yw>3Ac8gz6JY7F{w~-&@ton!O&qX_Z6ujNyFMv0J=Ry8`@UX?T--&)A`t5#a z1Gtu}{Z6MPzt3FuPo7irV;ZQ?rx(gS%J4x>nN@Bz_%zG@)!;#J%|D&s0ZaaE@BtRj zoyYbJa`G%*2%c;43UJ5bQSk0=@sIj*3wRt{{d35CDfbPFj{@(q_?h6FEdE3An8hCh z-)Qme;GGsfbb;8j!Q$h2FT>AK?AXGw`aLAkoF7)QPu0)7$c;qlDPi$s15cnkE$Ag}iP z0`jjyUim+a{6NQfMEt4xbzL!L@!;8PKgmDpm#+nPExsPS-Qs@(k6FCmIne)@U;j98 z*Wy*+?G|4J9<%s^s(+(j|GTQ+;{DGRd)h5t0v@w?J-G8Lzy9mNU5h`X`Yrx<)o<~B z=fOXZ`}Lm!?pnMGyxrn!!DAMGO7%bC*S}TuTRblW|5*GK@R-HV2X~(I>t74*TKq}X zZ}AUQzs387;h(4c`p1L27GDhBZt>ONF^fN;`k(ge|5)`~d|)~JWAT~bF^e~WJJ0y_ zuK{;09#j1m&!NM)oyIIa0o;lC^*4gM7QY3&-Qq8R$1J`B+n_zs27po^HJQjgcSZY_!Hv1yyW6T?e;#HTVXL|AaW_ z=Xqh*_(AjSUyVG?H=py{-#-HX{MOH>gST7!65{FX*YS2PR|I{ue_3tx&~?Ut`t?5w z9<}(J;2q$qC#PEcu*%|v;O!P)1iswjmxDK1{5kL%i+=(hw)l4!i#-c19tL;8bv*C` z@Bnzgc*$|@1$Qj@ICwYeSL<<5jg;F3uKLdek6H21L7d~^hZU|VQT04${0r5;*{?saM9K|Y{B-cB#V-PnTl_Zg!0-I}H9v$c{u`1{*S>U}c7xTvbe%S8 zab2hF0M~lgb=r1|>pE?d#dV!FY;j$uEwi|;(@q1=MLfK2{4mIIE&dgFiN$q(od=!; zJ-V(tz>?Sbb-3fAXTwe@SL5Vu@TkQPX^?tcXYm=}9TvX=JOJK=avuTD zwd6kpcPyUYDCK@`#Yqczx5YPrZ@2i{;Bku|LWXhw{)WY8fp=N_2jH75{v3GB;$ITy zc>eqOuJJ$~{4nJLiO;|v{q=qcc--QTt9+MVekXX?;=yLoAGJ8WrPGWL;}-uhc;IEf z{y%_+EuPl`{T4qHJZ|x;!2_@O^*;q3w)nqPzr};Cu;1eJLUwarfmi+d?;xJ8T|8>! zX6yKF{fO zoA6$UpC3U_4fJUHeGuFQ9|HNU-~sRe_yJ4B&hCHv?JNM_4zBtafyXVr61*Ke4E>LQ zyWlSPN2=#vQtmYH!of9`(c7 z%Oy_Q|K#Uu!DAMG7TkHwFaK|F*WyE0K)=Q3g2ya=A-MCpU;iE8uEjU0ev5yt`Yk^A zLb1nr!>_*-+_gBnJ6(IJHS&i#-L(_pdD$#8JoPzW-kVO(N|L9C(^H=BUTgHEK4*Qq zk?)uCymlwJ{e1UtjGiM>p1*#R_+VP+4__ng$YnF=bL2&ibEy33`*)<_^n4JW+>eqVVnayXxtzT9Fk^c+s|T#qGJh@Jsivg4O0h`hcOXg%bsNuKQqZg&ki z4*Ux6*nfoY2Y$cG&k+5`gTIP$hx}CdLEv*vlXCSXG2_ACgP!gyTtl+K54cS1$$MY8 zp6>+k_zS}OK>pJOBLC8v!nNMdB6;>h?0&JQ4Du(>7x}s~ME)r7X2?%lE%Mr4evNXS zbA%rP`J8q+FMavUso(>Nb38chA|C}mfjRlPdz)*>KH&3+b3NYd3SSStmN?6YKM=0| z`8{!#cMzYdXB%;IzK=<{eI5CH1Np!^t^w+|Bfcm4JNk?KXCm%Q19vuw{K4Q2;ANe{ zr+{Av9-J$Bw0%7V9^WbQYUlS36Z`e0XBE)%GUVNxME)4?x4}CO68-9jf2;m=B2Vep ze8yfb=hgm+aLsRLg2%2B-aAX=uO!ZX3!~m=3U>Yk`Mg&|{#wZIvr_asXfG#0ekgbh z&y5ZSpQ`*l(bFH?Jx2VXFCo)YoX-hIOQw!7rh|zFW9dyNmKh*s=O7q8^H5k6nj+u_u!qs z5Ki5P`Fsc-v--8ZS4ut%|E0pnl|X(W__}`x*SxWsxXHKs%lRG)`6It0{NtltLneVg z3;FK*g=>9%0N#0zaMgdz_oW_V-w0Pfk0oyMD*Uhy^jCq$kA?qHk9R8nT=a~D{4?O4 zn}y#GK5?j&t1nYK2Ye^wV^({4;S90o;)S9|{qP6!1LqTc8Q*&7Ip7BpC*4o`<75bN zKCiC%!qpGc!Go~>4(MqF?|xs(Rrw9H4#0Z!rA#M6{w~Nnmi^DFo_9r$=C^-Xw zJpo1RkFw`n6r33m&{u4u zp3N%%oXBgve*pOy?4c2@`SiX@>Agtw>&xDjfUhQbW9LS(Q}gZJ(9?vx zaU|q7QDC#3`jXN0;D3aC{2tek=fL;5TE?ZHTjS)r4;TC2{*K5`g8Y#r&+RU-MtC)N z5qNmJ@Jqle!8@)JJ_39#aXzo`&-~|g*<`U_Uy67Z7@(+)1Q|?QDP8um5c550(iZ2KiNx-~N>F1Hpd` z`S#O=7l6MF-sA}12mGJJ`F!)xUb4Zr*2{VATkRU6?d#VIgx`9m@F3(5yjJY*#JF1H zXE<@LN9XS%KNa$`!K04}e*?S$ybJTqf#6rEe5c4i2!0oMz{w5VAT#+ZU&1WjOGhX;B z;48qR@4JR*d%O$0<8k3fWyt}5V$SOom7?cZ@OOywdByJ$uJ!mCc;rPy;Qhp=G&*i9czB^C3p<=qIv!% z#GAg1n1&zb)Bne?b06{BgW#utx1TSZs@r_Zz&osV)CykqpljqxMBKSS^`Lzn3jT=7 zBcE$Men6c2_qf%+?|ZY50By@hK0oTYKCgRQp@Hobq zTJ8(r;a`e8xz~K&2Y0R#elGZtKaqYRhU<@-|ECe>dJG&WcB=js@EFFWv!Lez;(T5) zwD&>a1L3!W;J2f|e-Ay*XRaaIzr>Yq7p{Kpb(`3ecd*}{rx1r-4I)1@%cye(K|cN; z;cEZCXyV54aC3!lwWmnszY(te+N%_hEU!OKaE>FN8IaePk&gvmMx6c7iS=Zy$5oK; zMt;`wEe?o&{jrAi(DUhJ;rh~h_45Yki6L(+fqVs>7uVMb6|Nxx^RMGP1^M{9t|59} zZxQG73WFbE_Bzhj;GOr1{3-C~akqAq38=JN=63~{CQ zw178l5qWJdKLZagka}0YZBY(ArH*|1M5Wx$St3u((|neJcfa78?>c|kfxP$E8NxLl zRvUS`95Fz+If(vQA7%ZipN)poJmONseX#H-UEa#;^ zqH!+D_ygpt!mc5|1TUcgFnRuH;cEX!kdOabxaRXO!NbF)UWP!=(G(c0r|Sxl&jvpi zyc6>^_2)(4PN&FgySNoR59>uIK+gflZ(GYnUj6?pxtkN}%UE zcZ;2ID~}a|x1%0aPc?CFzb^VUjpy$}KKiNH(+K^yfd?KD9t1BxLFz?+Wab?3MyJ!my_}En($fn>|6s`Pgr3f=!Y>35+#}=0<<_{dm^jy$`;o|NyI2n1 zg*ZPMdhQ1=J5lUB4*d7v-57Uiy}w7?^n;xuul3cBPLSK3{#exv=;^(I?4kS?!#w56 zEZH%LImtJ5xCT5A`9j0-#j}|K-f89SI^taJYZb1Mz68ho2>Rn^ikcVfL4U8G zi9Kb1ca7X^^RMF!BW~hkmFUs?2gXofu>JSfiu`cMFDH4nryJuOjkmR`2iFj2hiheCci@__y*-38!Bvpk(|#~RlV9nX{y=ktvspQ!zF4X5`{B7PP^&&Owqp60Ve z&q?4{K!13XaMk}aEf?!@2SNUMl-smH{Hgua{drkrXX@{#9JiUvP5rzLJ>B>C_590} zn<{_H8Djq#3thAG1c)5?fbigg~~?@{}cG*(?q^xrfZ1S%L2d;1p`8^umCy>u85j`J3KJXyw5&3Nl__@SQfBlJM z63qi4w2Q0IE;Mgk1UyI%~w`e|3k{ zmo>i)d`R+Vht(x4#0g*a@P4c9s-;@Grz~F7hpT(0ooJen>X0 zZ{vN}0r1g~k6G>RsRlW(vua%(?)QGa$oKKiQgugqS@89<4P_1uQ|QTabWK7f2X8uA|y=lZqpBO3a!=&|pEngZ?| zApX>T`C-`k*GjSH8tAVw^7!J}tRT*D+YuE#>i-*|zw<%SGabiFqd)k(T4xH^^Sbp! zv0s0TQ2X(}EfKCiMyCFM4Elp;kJ>-}1@`1&J)GQVKA#ikam6Mp4iEaJ*gp;JUEAI1 z#M#bH#Iv^FTEn5#vne=Q?9?CKoPm9pK~H$AYse(mP8V=-2bT8+yt<5PLMA{0;K$zY+N%u&0>@ zoE&fZBb+*p8blSrTz`C1`A+C>dPww#pl86NVt*9<$bR5K!yPAhgvbLslOW%X>tZ{x z<3jK*tdrjb{vdd)Q0!j?{(Iu=ho%>W_XmHUINNVu@BUKtSl966 zYQ5Y59(+#pXg>TUc56ADnN$$Ho5m3&J%|jwH_ZG$GHZ zJ*PoF?-`Ll!knGsEQWk%AK}{1u4GQ*>h{ILwf{N-{o2rKv0vNoP0$m!&g)i;+x5pr zSEAgPAn#%wCLjF3C*aTHrQBa+$&T5?xqi1>`L;pje+3$^9B*Z~ z4x)S$V~K(ecAugCtJ$N0&7}_kL1%nH6t?iL?Dpmi;XY<$U93iJcm6 zB_yvlz!bBYOPuZR!aPOoZ!z*z?+=I`9cTUoyd8P?Bq)0vdV+`tjh{ClABUbA$nO9T zJT3YU06+LCu|EpG<$&iCH|;tm^{DF=J0^*LV(70m9wtIh@Eg%T3VI^o-G3K86?`4^ zJGd@C4ZP+^v1h~4B2UGc&sOLO|4#Tl;Qc898awY5JGI@NMBKFN%S8S@$Zw$m1Lp_* zG30Z=&o+8!e296Xwu=?eV_ye+8a(eS(SI!T{2y_SlP)VxPDZ@xkAO>-bDUyw2-|7T zM?Qr9Zj5`izOtVY`EL06aFlx@_<(Y;=U(tq;>JJLJg6P=!ObGCv3etTQ=a(q2hj6> z7>~`ID)Q>L_0Zq`gvhUge7zaZ;EQK-@f7jD{&@09*!L*PjgJ>SZ)C}iZO~t{PWU>= z_lk)hIxtSqeqji>-M^e|I1ct~8X+J5$ThS8`__Ql?Cg5(SgEyL;h~mqyFgiQQ!yvTIB6^aXfg}PAM@P@?*d|KM;Nb zcmr{^vmO1lj>i_0VcdQ@hKhUzhJkdvo)VjRKMk)+~-8T{kN`>D;IHR2yynmbC>9+st4x33GlValc7eZV?W0P_EWd=U9|F!)`QMZf;|{Cx1fzlEQ>T|?+J z&FAOTaj<_TPjbz7&6A@b-~O`j4zt&B>cKnFE{+EO9(djY@$(}n^)wS_ zKe+FT9v!b<1NlzGx#pP-kiX#+kzWt}pFlo#g>cnB;03YM#r>QYLH=y;=q&M%#?_CB zvpsiC_UqpY`Hn4q{fBOn_&){n8qEX866bau{k6#Jd5r=O=1aM~9r>IGJ|LXru8Or@DaM#D(x`BJ%Mf8clG=Q2DOp!HQmoc-Jm`_<3$iE}-+ zza#p!-(L#(u7`xLLb*4o9$aUi3ciB|POK+BLgXvJABTJZ&!zT9y*Mw5o!#g+bv*16 zH+r^<9`(<8#7+M16y6W|FNGc#<0Xx&>mc8BqsUX*F`p-hbNh8Mp6mtw4)i#fR}KN+ z_a(7sV})yo_ID-3O@E4ckovidxbgFuQt!i{=K=8UlZ79I6Z;I@zCS1D_o63?e(HAU z`2^#WnzO~8Q^ALkJlj)qyXY?gKMi`qzYzJ^;5FdRJds!ZPe70R3*lkNzeb$v#qJkA zgM7!8BCqvW`UkPUYo_oH=(!v`*6kXidH#zNME`hKxaRpgA@9B?T>GOZi1Yb&+OqK8RN3pZ}Ly^~bo&nyupV+T)7$VNsP28_5jNV*P?_3J` zpd<2{AEL}@-5`wX?1w=9Q6rBpp3P?Bd|q9ck85201^UZ&xJFt^cbsoB==pI(&da|4 zWMG%@@W-M@&-YiKGe5wI9WLAyLjO#Ld;se?$7095bRft14bw#av>e%S%P~@q!7;+M z9&f_5q1qmgXc9i-eBr}!%-ygv?@Qt1!MB08KP9{# zywA(x=eV_gbv$v?ez%A`PRp4`oa4WHxIZ51A#Y!wx*FW>$D`oR2clp5oyUpu{aW_( zn9oDrJwVE>hW+mo=QwdT2@im0y(0E^TK!9aIj>(K4mJN55$AZGX2tV7=qY<#>^uef z1JuE>AME?n>YzVbDfVc6U8H(G6FqaF=R3>9&S@72e`R0U@gU^G&k66BCHytzF9|5LCeHQS`5)ohe$N88*M*iskG)=Z19A3$^hP<~VwBsj zRLY$=NA&CY{sH>KKNo%w&g-!MV|!9RV~Df)g#P3IB;|Jh*fnGY&i72>tlxb{ zcpu2uL%!p`!Vd?(6};;-(XajWGvG}a|ICK`JH*+}@Z%y+EyR3w8hQG2peq3X_I^$5 zj3KW6j0WF4P58i>BCq}a4THsgdma9|CXv7Ge31`A|2d?e&)2@+xIgmYriCJZEaZPi z@;p8XTkBoF0pDoxKNB}`h;g;H>(7aEoOfZIb~W@L^t#y7eV>%8^2ZWqJqv#*ev`e9 zQ%#)p1aO^2{eL}pY_Q00hyK@?Q=W;2g{vR78F>hKHuVcc|I9O`L`pB_^Cii%J?_s% zPZ{{ZZ-~5|-$oGUJXU7i&oD>juW*e9&9@gDd3rCF<oN|*l%A)C?wAD8Gcyw{B|<--3e~5C%jFZ z&o_$eeI=0pT;+GVhM@a$O5PTGT-}9;0WFvmNCwgr2t{-`+>s`#|ulzlt8mYA;6+H|-Stui8J4 zINP&koRq76z7u+4!$g07=#N2u;t-La0sc?otl!1`LL0$z{wDTBKN0!m;1h|n{2P`% zS3$nxHIaV{es~Prd0zNR=sAlFWBYF&CS2_=nk+mzOStwIuR~AxS>fu3ZNyp6Z4>=^ zhQ{GfjIX}y$Y&b3d!uWBjuWmU&gT`!^^VbIujBlVIQLTntaY%RkZ;HOgW7ZOJBSDL zd5F~41!k|~%re|@+<_tw?35E{J7eobz5_chBhKw8{#At` znjd}&`5^2(1oFQk&T;F^5Iudsw}RW(9lip0zjBSF=Dm$`Mb9|ox1*rvuy@7I(=a~K z_CAz2m)o?jlv|iB2UHQ~dTg@tc00Iz|L1+s)Ab{qOd*52rys>nR-Sm)}P6{2m_r{SrIXp5KamIrJY-iI?@*@6YM? zo}AYZ+~=wOKLfn;9y#BH-=>J3^U6g3AE3Vm@-fUiYQTR8zWw{C-z?ejB60RxV1V#D z!SB70&x`W>VU^Gzn*-h#`L26h12q0iO2wWvm^YDo%_l&fb-2IN&`GaiPv9(d`IsSZ+KLPRwY!mK`5&50qlfc{mE%Fb7U*9J7KYp?B zq2QO1Jlh|>Ui3@?e;#_u&JeC~m9-uIMEt-^=S1bJL_eiX^NA2={T=X+_RE)m$F1wC zH$qR@pG40$(DO3n^B}L|-sg@(y^It2^^pIFex zG|0E(df7hMR|g*3U+PhL2XWKy{8>Cu0{IwmuCIW#KK~;0*zYm;96UN(^pAj^3;T+n zx1Q)4qJF;aBRQ|w4&jR+|6Ao(3jZ1Sj{>6S#A4x^$Np~QA>`Tom$=D?$ir}(a~nCF z`Sy{bX9kWL^Rd`tzi;6J;w*39hqemx&eNiY(x&+=IdP6d2lF@`5B~=8 zO^9dBC!ebR--;fM^S+;oJ@$HgA-Mg1k{>M<`2qE!XCoX`3HiJag%>#TSxubn%*A{A zwf}k&^4$yNe1|~(ux`=se&W|N8a!yt$7c{{{ZU*u(RoL$k%v;x=2Gaf-%oY!R4MnB zsZwqP$J`8g`~KLC;2l2`d99ai#Mzz>!IPc1!r`vGqM{s?i z+GwNulK(082ayL30-s2n{nL&0nZv=)1rKBVukmmR^mINf_Gliy5xg7iQRDe8mB;-6 z`$7L_%8`FA03Wym@pFyD;Q+*Q1##~0?E8V2gEv|Bbb#CM9esp2*Ngq!Up5U$4uuWg z%`q8xk>OOoPq;?B76;8I&iXs<6|VL5#T4PibA{`;Wx2{12-iISl=2bchXv5zPz67P zMgCauzrY^*{`^Bf6Ztaa0cuv}GXuQy7}0+m{Cp8{w%>k#(M`m8{ApiLxr;c*PZ!#| z#!vByqQ|~oF!fBa=i`O0u|wx^PeV@_{kZCxfPQe|NReM}j&ht|pCt7f@SkEI|Lk*43w=gL3+V9UJc|NbtuND7j9JUi@{r3BTJBhO%`@Oz7 z{}w&YD$ygQIL>LrSx<*G&Z!1(e@r9~gZ-C*$F2V84siRq=4Xks{V|M_CqvKJ!D8pI z(V}1dw%_MskNv)#!Qk$*B7ZpaWh9{jbdzJ;y-)M(BxS z9Zb*nLE`M6XuIgw{QnH(U91b~dfhiDw+Zbo2l{(Y7d>aplyWuRj{lEvcav~!`&Xl1 z_#XO&H<0M3KtB4J$Zv!GTfv)piJe=)HyMsEp3P<&K=L@&#dxL{_PwQgUUCiDA3XaD z$GL<2-2G$GKLEUlIQ#z=%tJMwPbJR&x5tfZh_gT4siKFPr};bpdHcPozk__ozg#0n z-JW=O=XDqKtcCtE+{cm!eh+c>f8amT(si70#C$1t_8G2`)Hrzw`W?iH+WAlD z?}8t+UIu(6cK+f7(K8g~28r`|1<>DV|2P}G9qXuS&qd(D>2hATXNjVFh;zNSKO;N< z{v71H*GRboQSKMuWmgJs1Rwmh*c0s({vh~R@OI3jwZ7WHonMOl0?6MCZvT$JM(}Qo zLv+5d1w3zy=;;eReQDyXZ4k(8nvWNM+V|bvOu`%w{~RiMv|ku*^w9O_kA-W0SC&D4 zCFFzeiM;y%2IB1JX}GUD;K-*lgPxb5r{gfGm#a`O`~Nrnc^#dBk2Rd^Un}-#o^-*x ztosn=f|o6la(@InKL*dkx~uwjpu^97r+$Lqfk9HPN}O&u*>j2TMcB~+?o5+%Pr&&; z1l}}DxVF2`h_gS-kmr^6&SHCL9QA_e*Y-6CybD~%Q9bC&)oKBqeyZ1@CW#CoB zIZo{L@Oz*q`ZFnaAISd&Jn(?<$>6=Rv&{T-l{G&dM4a{8zpv4|O4^tGeyy`0AN-H# z-w*n~Pn`YGj{H9s{2ArjM7}@xHt^_8!Zl95B+h<_;XbY*knfuV{f~*f_Oru?v;7y& z6@C=t7pnYR@#kpp8;F~A80-BKe>3tB@@#fMPu!X(4(%o7M*pAMz640JjNJ7Ot-rk```P{}DSrjGDwW;@fp%GdnZG%AKdkki|6X@p zzoYe^RsQ=mI-mb#%5O;hJuUxE0Fda<(`pBPu9m;%1xinTe~nAbK3+jN?fY94pI>;7 zG#F|5;NMIAkL$wTr{(9qPR9M;QoZ!cTK=pjr~Px#d797TUS8tg)cQ~Vk@RoY^*^=T zmy=(HiBUgKdUW+6l+*nExY=7;eqQ_kHl62twEQupKOfWeehB5XU(f!Ctjox&zoF%& zU(|A~|7R#Ce15{?chCJo>IeFZ!vA3%_w^`0uYcPgH&IUWAAEL=iw!=!Tgx9)dB&W_ zUqm^b3*YbapS1kRb?N6H=^(H9B3ai{e^=+P<$aV>KYkwd??E}ur}XF2kD;F*;Bswj zef+xCKlck#-`E3xPs^Y6o4-!o8JB|HG93qSQC%1h4ZlTvQ_d5_kA=H*iUoA=1TZ77~J&j+r^xP}k@3$6dj zFLe9=ZIn}e-#+sqYy_|Ojna=57xM6v);o4>F2lhr2O0X*HY=KvZ6Sy^L$t`)Tw;crs9Y_%faU-@7jJ`OL1=U)S=NLJ+0%b^cRQ{!Lo`dM$tE zugQE2eYlBo8uz<(T!a7rK+FC25k7$OAI5wh|NGL9na|H+L#ZF%zx<~qr z`u>PFpq%Nd+Tow8^RH|9lPcdDIrcl@n4tPs_GGMA_#l^SCF|pNwEmjPGiD!O@+As4Eq}hY`Hz@bXxt60|LpItaZN){ z_O<-!HJSgV=SfH3k8-A0YA-VM>Zi5-w(9jbCj9RYsT}<4Ddk^xb%4*HoZ$aH5B@Ly zQknnuH5vCyw4b-2oW?CF{u_Dnty;eJb5h^vS%0YK;*lF`+=HQS@6`VN{87(b5%~P} zH%k3C>$pFN`UE%sJ&s>P`FX8lfBXlX&oht9e9XSz7zlpeQGEgIhW~x!Wm3NT>NWmu z&hOVk0497sr}W&w`C%>h?XF{#(>(q7tM{6I)c#=b;a9jE`J7)VLgpI_DbZ`l?2Ct7~*D+E6Nd#tZTIl=iUrITNw_5V7`SufE1X`A%dBhR8f?U#Qa^J`xz^LhGPr2iLdKQ~ZLaC`a( zq}LNfq9ccM~(SEkSUh03omcQ^-GM~YH zQf}zXuRJX0#g`vmtM#9HNa}x$_VXSsfBF~JxWw%5rvO))k8j`phg#o%AK_QITsyTs z7C|UzAD{5f(eG+MkJn{Bh7R2O<+3iHZ@yZ~7hWRu@9G#gwEUS5u5roxwftMP{OJ!! z`Mb3IUD#+^m(Nc>0EDMz}H}ijy)HnP4pS7RIlwKKrRDHF;$A91Ls+RljNWRn5f0OhN^B4d7D9UL*{<~Mt z`wGSLFOd3%zI`~Aef0CXteX0NA#gBs@{Pbl+V>B>Ny^Rnx~ug|%1_5KozfF1r}_Bz z1V4-l)X!fkeSVGB|2PN&l`ouk$Ng#T=h;t4x#647pq%#Q$q&i8zDoP~G|H(T-~RkK z4l>Qhzo-Ag^9r92OaFgU;aO@9$D{FNfB!99WT z)|;JvFCC#qt6x9p^!FN_dTZPtj_Qrcol>*k9dy!h+Pbj3xUv|oRNrs++V#e8*tlCy zd*k8V(*Cf~P3x^mw|f^&tZ#MH96MDz?Y%nwTOSN=?4~39_PVQSw?DkQnKo`c)EM^K zy@Tz}a|=B*O6ZE+THhaxhYZ%T!ZRybB`9X!l4WPcrdhe- z6!Y*|oAN^Tqe48=OfV|@aW!j}gW2nODXU`dWj^v^_PezM+0T{4`B{e7ZOST@lWy9r zcYvLByS4y-HTave)#c@I9e0ajwepRwEQb4WX3evzRHoJR#;q3X3Mduj7h=EL$0o_= z<{#6gtbO31<`Z>~YNd?Blr~zU#(rAQIw*j@x^P@IXD2Ev$5wZNGed)Xf2vEz_Fmko zYIVj&-ozHCHnTUdn#@qu-pg`u9p1K=3&~rmA0-jV1?$dHYdX&`1V$MJFAWv zVymd@jtUqE|NA!Lz zj5k|7Kx?bKur=v)ZuD;T`nP-8aLJMml$F%{F;3Vryz!2-v^?mydqCyg#$G4g=(W;2 z#MPHa>9_;=Pj-1LsnWa&X{7B+yEhs)dd-w33W-g=pfa#{wyNQoU1yAlw9h!?m7j# zX=B*Jwq}LbC%tRElv;1}bkf_yels170#$ZWmN8RPg9OQ!byw5zVZTK(CnHk% z+GIRxx43%@)Jumf96K9h_NC5nDbL$vD_LMr>;Mp*qyo^(UW{0t^_gC&(myMy}PWFKg!$XcoT{aon}Z@EobSg$Pm6(4G}$J_0eTerR4ZWpGu+3y`Z z&>grnc|yyCFZJ{e)E1pup)t^>*mk$w#euup?%<$#-O^7&#l0VhlT~BC)>c}LaZ0}y zCUE82Ankd5`LMXM4U{^r&U&XmN{_45nT!s-IvXQ!BCl+Fmu0rAlW}@y9iqS(^R|jM z`^{TU!Hpgmx?6M^pda?>;BQu|_cfdTns7Aa0ABPC*tU(__(HXWw&@q3BJezb!@@R6 z`81LNQ>(3Vx%kT_NNBQv?d@%+!*;(_+YZ&*>bKIQg4WcjRJ6r{m14h@@R4q(Dw(W{T>}(9PZL+(lvi_ z4LU=mZUdTpb1;BefC?8bP(i7F-{!ST7dPwm(PXc_QD0hItSr_SpyShTT(K?{8{>Kt z^lH*+39wj0yEPa~?z?{N z#&+FUC+-{eCxeT-^>v-YHqBuX+;lQ<$C$nK%2+weNjvbDH~Y|+J;2P-a>1Q#rNY4S zAyb!gUnfZW)2yr<+eBE?f*c0w!y9zQ9%ST4Hjf!`gXEk}2Z(Fo$_xv`29CxgFSxT? z68tHEglg9drOiG@A5KUU2|{aWF$}HQdOHS?XVAHU@yWXig8y_tjO@%}G7l`Fc@paR z=)1Udf=-Uvhm-edz(02nL8zYyKrvvK=YrGzei+)zC+X!laG$)>4Bm5h5eE2)fE0oF zd}ju{s}82xg^&`2{Co%6@9mf!ID^j3PMo}};EtRQh_Rii&V$7SOO|n9Y(7dm;oVt1 zZI8$8(Af--?b4~b3-8pafg0JZ#ko2jrnFx{PBGV-^L~!mnZ?s|Yxd(LodkE`q`->6 zekmf_g~grzz?_s(;|LCd7%f|lNU8Jndd$9@;UH$0PTys4&&~$Ou^pU`GhzpaX)|qO z`(P=9E*(5d%k%NcaHq%Z-?xjShY|jC&#-52 z&S!J({P~_yuijiwPkM+Y@{#i=e3o5%vpy*|@~3#>e*F2IhF2FRb*j$1nJvvFZ}mr8mpP`S_)p z41CC)uor(W^D!-*OAu0vr|8O`)k!Q^1pu9>6MrTrHiH$WbMl_NInAfL`<7RKUZ?EM zpW9r=#h+UcujaFSguC=+IfK>P2h%J~{81uGp5-(MF8CNbelBph<5d&5m&nuH3{42C<)Ff2T;J1vrQ^AAswbO79?;f}M^*S5VB6b!;>Bae02QnVUUwlEu|8 zz!`P|V9wVr_c2Mkhz@RTx+UY!+{7E@Y|jMG;w-xKXE_&h_fM`5rc)9sZ*FsY5<crp^xB{>0Db;Kkq_(HQ1Cf2>LR^FBjb zGzH>kLO=YepOn%^fP5;}SeV;sSYsTJCtb2Xz0+H$BS1VO(W)@txxh(cr5`rJ$R7vn z=>bxh@~PzN7m)1nCw4jmQUq@EoiN|Vbq0qv*kv4&rvriy(iyDc5xC82 zmo1DKkv1&*>M`74hB^C#p6KELi=%V2^pw5XTb_Kj*c-X^mxcDvIce`|2)91=`U%$x zUSeU9*S`YeUw^6Mnsh5!xYF*V_rtT%NiF4QflU6z3c2MaT%kI;+iPYp2-jI^j~e5# zcL|~}RCSD-GspEbOmE}%-!ZioJEJtcRqI%;n!wT)_h*=Tb-$DLju|c~lR&|jr*I3a zwud`u0?5tE;yyrq$e@OU2^W|~hqyjoKWcO)X`SzFrNdfYznu8>$8DT2T%gxm0F0C-EyTj@k$9er;=~zOs(XK6{Pkt&J;3N41&**m6Q~YhNoGm#fQiB&6``JIQ)?_U@b=&IkU=e-?>>X zOmeJwa$hs7I$qBLp*6AT`x#!$^fvyaBXB|@o#4SBw2q)5PdnD#2~Nqh{$@M3(|V{x zPJWDvOzkT|phJ{xT0i9(DD2es#}oKz&0_>Q#Al}UBb7X< zK3r?b(-6Y7TwNnv$JbiIwOsutT*t?I!69q?jPVzDMJF4wB<`thz1v;NvX;rPtFFwC-DJ7M5 zuL;((FZxtKjd06-Rh$3O`ip+{!Z-zOs9Y&;ntI3Q-|V2VaF&f zLf$MmRB67Q24%0IJRVc0TcxZZQ)?_uI6uqOI?1Y30z}7?VQ+?U6Oc-dfFC2TO@A`3 zJvt3b66Av76hag;Z(7(VMpSYO2FXBjGS&P2z3Ed=n#giAoMp-jqg(Ak9hu!4-P)tm zHqoxwnO>7Kuk780*j3v;EUMi0inuC*Rmlvo-Rw?-7r=#tE=T}2ed!h210)G-cab1w zSet&NsV??lP#-ri{`B+D7+5(N3}yl=_I7}-kui_@owlykHnQLV$wq^z3zKR{>e`*Y zrd5)0CP-L2?&nLJhE}UO)&4Q#H@mHTK~pegRZ{cNMitFj*4~$;p4t5AKuQu#_%j1m zt;kIM_4p*EoMa@Wl^(U5=?we2xKH__0{fIWs*1?0Xxm*};7z6bzZNnQJZ8;5}qK!Ocjn>0CvXMGk&pJraI_{aw ztId4cXKiB9l)On!UOh_1RpzCDp?-_RHB>7`u7h=>j387yz+HmXLfk4?vB>>G)sm@f zHPj-&ujADm?jNd_Ea*Hvfg)HpCaDA~vnwbd0|hHbgsV{9qPP~Sl_U`fFjyHtfC%VI zmf@zFbetWD`<18R1-ZdiQ}*A1HmLUn_jC@20ATScfR;#YIq zN4O(T$n~e>{p_(T#~MW4iMhz~gk5TkQkJbeyOMhR7rm-U=O$ISp!Ree0Vqmnmy?B}t%Ce}DhSJPzqTs`*2xAYZHbtoDc;!R^3%PhnCYEtyb2e#HZ4f)ZF zPt+gGJLmC+u@%lTXaum)rqebu+Q`C?XdM^X@@li3f?)r%G{m5WV(^H8Z7iP9Sj}W+ zY7pzer#rEFE)|Q_iW0|IgCgCH)${=#fSaPf7rNy$c4d5)mnj+vWz{*>U7DY5JA|Y< zYQN13$6~U#wBN#0JfOn9P{h{Z=$RMpYfa1TpJ6vc|K2f=PdM+;u5&CbxLF*|CKLFL zal2zNdf2;GD7YlcR$iZ=!e+8?nBEZq#tr2Q)lODm=!L^;aJSBy8F(H1K+Q40>X_(* zZ5OHS5O2UBqne$+)Ea9f3;r01=xu2x z*su)SJJQLI>+QkO5>|I?1H?vBx{m%>9|S@hhnjJkNLT`yFMafPGKV~>- zOa_8&V>8GJQ@GjjtB#L(9I)dpkKf{W+bK9TrBM`l<87v#l4zru4`;lGxu`_6n`8=w ziZ_bT!FU4_tfo-hc*6+pWJEsRatcq0H=4%8m_s%|g+c$xC*+7X_K(0Jq+M!sV&^(s zS5IK@N6W;(k9askXW`=&!```$CAL`-l2?ZVQxS7h-rl)NkM#^Mwa0HC4^=jN2NH*FsF z`kns4-5La~DC3HZ7{v)bl95KIpJvY8Vna*^;qfnH ze_blvfBAZ;e)&yX7q4!tqn`5^bjvN^K%ne6T)T2*r-tCgi|S=y(I zXlrZtZEjpzua_^BFW_zKN46d;FRb^wUEJl`Z1>WO!vjPGQP3m#X0~CgY#gLpc-flB z)FZnaGu)J`%WMz@^990i9Ip1V6qLNDU#tGGdkk(v#WF~>dBD$}E< zdVuJqTj!D4@Jo8!cOuXGGC-@F8YK(*ldSAW4CY%W4Qn#H8)ukQh9_VF#XL!vR9f=N zy*&LFc?fX(2<8`%A1`K{(Nfqq(O<5zN=MOqM=)7BY>Y0YX-{8aO!-FcBU`7)9dTKY zgng>ZW!@{@8Ak9Lp8jkRN#w&R=+4tzB7%2C1Kw!L!l51kPAu(!Ld#pX^3WqUSYD^+ zj%(Hy>UuYOKahJ`+yP0$yU7#0W=U88Y}`(4+~8Uc z6HN0b9$m)$+(A^OeG+#LMDY{n??)AD3n)Bi~=QT zu%2|}TmUSB*)%O#YRYTZ1P>v44hk37%ui&?u4fpmQbz2=mq~WLuhZYlxRiO`UeCGr zqIY)0E#gyN06g(_^#MSF*KS*F2w%8R0t^?(TSsR_%sKV}t>G9F&5BUg5S=ly)3Im~ zlADtX!83a_N8~Js>oGx$*AU>cOLBWj!DNABk&&1fl#R9MrcBp%lumfh%Eu*)a6S-2 z$%9Y)CaZ|`?l*H@!c2oXOtQG%$9vkqRdbk#QCUxY>rOayWoL%f6-w@4|s;#p~ew1kuB8ST1&zVHVzd}4wVM~Ex zMrL3%7FmE4z%8Vh2OROHv_;re84l~h*?zg2R#FAMW4znyuQ!mkgY~X@{b-*L3oh>2 ztfO)PZ&O1sm`{nv;c^~Jp*;}mljTLu_B|kyrHsSpASM{8300Hb7)GlCw0=fLftyEbhns5vLNT{%CO%B0>f@kJGKmxI_h^) zB8?&k(_BN8fnS6Vi1JWSEE3GEEq-lwOEiInnaNL?CUiYL0Fn;xnsXVLZO#D~bC#iM zfe{91PDzLrE3<>^r69zv;H`s zSW?>#RU_V!&<<0zZGOXT7QirDVWn935HLWb1VG?FC|F*l); zhz3~ebZ9D|G*vngIVw@Nagw>ns__1POaqR$EH{Qly;)TmB5wI9Ge;XUsV+7LF#eL% zgrHlJ-!dy^{WfqO&-_v-E;Mo0{*Zagz&ARPrE-w!U+lGZNz32g_a}nmv?2B!erjIQ zm?bXe;eG{04T+3!=`P#514JAV7iNB52XxltGD1Mp-#i6sUWa z**ddaCRH#~+bsY~=7Y`aBnMOwOJFpCg0;~z8#sg!=CDRfi0Wv!zXLFCroDslVeR@( z9WhFPj+pMqgTRnVDt!2jxKCv_!zu*<&)Ev-YD&J@ei2z@UGIL`ho3T-&_UsPBQ(_v%o+n}=&_>kmJC@zO>;xlo}U z-TycUALtx zpr>#tu|7G(t-Ju%tqM9MpLE^ zEw)FsW~V(E8Q&LhMvl5%<43v$a0ns=aOw>4S8j+?ea$1ow!1CWN$+xBcG?3J`O7k#5Mi3?3Ghdh%Ckp= zhLi!v#>=@&v?0TIo09eTlI{|)O1uE%UZCGyvr$6QBsFLL$ArS0ALX5y&W-P*3XL(e z_^wg&$RjNHOhcZXl9UPKw&{zGAh}r?K(rQ_Zp7JVOc5^Qnx>oAiTtt1L?OJX(F{B) zIH$QKNCdOx*%AufUZhotd?7e=!VKlcnqz5yj(>(B>8eWGArXc^U5*kgvx><1S#6JQ zro%l=t~y0TPL|Utf@iKWfI+erxPUm_(uuz&B`Jp#0jP*Il?A$Sb4|54vWu+uhr1W|BiNK`TK z4SaUI+Ut)GhyB}i4&FGuvCAAOPcR|>0G$lWp{wMk$8)6R5mI<3>nUbXfN5~pcAyih#bS<=@WqiuGO;8rQb*V zn7X?|M$~e}4ss!&8t*q4lXZR>Xl2%VbWLV&rqHqszlvr!K^xd!X-H!!=AEDdA{6WZ zDyZHqon6xP5oSq2_&tq<-ZvOxL)t3g)3tpzmF?agAi^pT6}mCnYDm;g@C?t7 z8mb1(Xi;^PO96(Ws$mON+JxM^tr7>oKPAA)D6*P55OGJ zO9tQBLntJqqtsLX$s<*8 zvOUyjkGI<#1z4cKlqmKcy!#l^KdoWSXf2#r0U zy3hjRTtP?I?vCo@esXltUkehYx@9BmcX2YpT?gj6hyXg99VClxh%^&%m@aO)nxaUb z>^=o~5nfw}3?{-8F)EZ`7`UT>&pr(_Cv+n=Q497hz`? z2_M^(^cWt>;gxpUX&GNoz_>zN9f%*Mtqy9sWf)l7DpBWhy~71mSHCd^?3gkYMXt!q ztMFj4C?^7~nKr?2=cJE{@=CmvrYrl0xkm~1tU8+R$ag$l*}g)Y~~E&qeeuS)S!pr6U0`6De?wSc5YdLm`hU zC#&Lc+a7X^&he%j-&zjY1F|{qY0>9o^eaz2CRfr`#KRgosZy@s7(pZ`W8U1^68TC7 zD@O3EzT{avv)m{+KQ^N%3!@Mhu*D`KJYpk)QAS7{LXpM9$c|g^DsLo?V#*sBrWE8B zC+}KgyiRfS)_KF7g@Q|ulrnowgfl)xkpR`ujR(U4PI`_rrN@FQ@eadp#fj)BdPIOm zA}}14ZbQHrv|ELf2S^8zo44KZ_={%9_e6-ti)uLays@B;T{2d9-^=J@_myp2K;vzl zk0klzfadN55TtJvzt3nq+z)e{DT+x_X34+af6N^~<<31y2M{7M#ZZDBYbsae>#>2f~0$RVo`q_7js z!QC8{6AIFei36)(s$`pMTCqOPNq22dOXRYlxw6rToW}kckB_Bi6ee2hSQv{5HFIO* zj7;dcJ+wF?@Ul_N5)#CTY>Q;+(nI$No~>FUeMxGyjjWd#tnd|_57zhG#! zn#Borg+h`NT^(j=;ua>hVauCV11?FLx^ z)8~ttDuDQu^}cYB#YXRHyVGeCf5j>0E5YQMmVSY{Vv7#xy|$Qv)^yy1PH+ZrLBXY~ zMw5YP=&-+v^^8nsp}_7UbL6w(3knwzbxn$~#9OeIoO6RRr$_+yOyTJ~RR_J3RlTZg zQx$W+H6-6>hqjzuMLRSL|2i!KP1)T@Z+U zDU)E~x(sdVrY4GP#m28>sUIeaC1`u$Hz5TBui^R|2n_)+lMhKiS3$?hxWL&tV%e-2D4Y_8*kx7b58ehe%25+QKG=pEBj_X&KPFgs28MaF>aedlNm#W~>l#O$umMA9X-2ed3Ppsavg~6K6rbWv zOSM~suf`VeZJzk2>2UQTukMEn1caXtO~kTOM&yToTfkfskj&*C>2mbAYeSL~49&H+ z+}NKW=To+XLeN6!2y-YJ;ueC=MUr}mQi^ow2nqH5JFwvuqa=e&+EAVdI6w?xaxmU` zTt_D=o>OGZz{Uul(lIHInnDZ>@aXSK+H3jdM;cXJC75q$l#nHhVpQ2ABIoni$Pf~) z=JQ?e@8_XXyw-3WhY=PXu1eZJ{-?eJv^H`}7B4&{+z{jVaD#|%;&?z( zgZ`vS8K!2&(ms?=dgQ2et)~|l1U$y>tdT|?-D0`-~g6u>44d}geOIBo|{*alAiD$8Ld+0a?~v`1FVAkzaSy{c{t%=o|ENTb zV~S*i1x*V$92mcY2QBKKELZ>xHbg9FMozPlB`?cQgl#9O?_OOu>2yiX=6&TvusG+= zH6U6UNQLDn%I>H0+QK$v8Q;dg+&b@w^+_@&l;WWcQroKJprbTU`WmL}<)V>o<3O^? zK@ZAEOw@#HvE$h~3^jL+tT5LHhmk8UuKEoNS);HWNMMh}mmwpY zF6Fl%3Z{ODC`U=i1y;zYM7ZsQ!kBG$P0dM#V@07nbSAjCZ>(kVjSooRPMq&544!L9 z%xwEbCs@D3V@jm-6~OM~sVgsw_2zPWA1~3QNN9KwHY1Y>!WYH6l)HW@uPY`sX2fR_ z7Rrah*Eq8*tA%)8M6%Gk7qs%7m?4K@%M?=;3=ZevQrkspVmIc@B<|ZDsNaaH#aCVJ zKqwZ7Y&HNZ0l$7xyp@lPO2jZjb{93RrNaY$#;61wO?xIBKg(qfFOTaDr-?=kdKm(H zRyBlcW~brbATiha)#3EPDB?Cxt=bhlHVi0IW}Du=N+|K zE+?CcBwUAdWbqz|UI<|19EwTk);J_nKb2Vi>Nv=X5C3H3ZGi8#IFYmzx$V~xb3KRj_B6H=O)d2()+et-jowNv4V{x=)5HHh9z$I?1=#CH~ z>%!fL0ZT}&b{XV#ecfDoDMs$h!;6WPxTh2#bNshT1e_^}xfxR5l<*+l1<|xP8*b5p zS0l>45-2D9w~3Tz?k`+K#}v7VkG$bTJq6pK?h7cL?Z=i$Fs;g|ps~v<}XB&-I}89aeyB3oX|_dHAVr zgOR23&?RH|mH?(G$xd*ydB&i7;{7M|b^8J$_$+PmM(?7R6Bv+Y)g|C-&j@9$1hJ^YxTG*_20KV)1;@8bmmzlks?taGsca-zIEROt?D%8+W9aFQu^sYAknW?pqRlobzl6RYkS#1jFKXcO$hF9_{&$Bupd zwC0;RTZxDsm|!G7$J9p{%vL>ktTQ87q^o1T~BI4N1lVuPU&&m-D z$&2L5fDNKx5~Y1`951X6dBHJ`iEthlu?-5NLNh2h^*B^4PDGxcaQ3H#ZKOytY3?yt z(f`JwM9Z+{iSm-zF=5!Fi|WV$4tt0Z@rn{GLXOTP6LHY%MtP#e>oV=a zBm9nvFht5OIqqBDqOv@VC&xf6Y6x57n?F~{nVNa}q=qOq5Ov7cCDq}tMLzG?h52>n zFFCEVGn62!(~U7GEzjC@fPvLO65(H2#-`bGDt|fbQ@5y!I0CW;DJ*fd!oIzFwLM}l zu{qaKr!9tz+-{9fN|%<*?s+VPH7&AWgcn&5**^|z~cp?PMC8(X zA@?TxMff_)Vll=S9IrI?By*^59$DDy_dAwtH9$lY@`WPOmV^!0e^3;{S=i4E-Xic> z3V;!@Y;KmU*j_o!?^txog}6_7RWkHinYee)e3gj(DX;1)|6<+_DR`%ocVy3JaXy`#xW8{YE!(+-ZVc_5iR zXkj{pCl3&(fOxtMiW#oej;=qrTd!6615Oiz7q(sV=2>LcH$**jB#h)O-U62pn%`{2 zr6TEcX_Im@98DSD;@SbQ$ruxWf{qP}k)=vKSe{a~9R&?e*{oc<`?8(oM7A=(gJ2l5 zhzXDF5Rhbv%qzWv%+#ZSm;R$Rtdw|fQ15OWYw-&$*6dE0;baWgB3A4+BZ!HXU<7IT z#zO>z|Ag{liSBY4Pu_#v9dT$b9tML1ZX!6XC>rjl!0PCQDf``}0F0yFq=&m5`_hnm zE`P1)E?t_8y>iv;t)3#dwtXa8edxd;_i&?mn6@^?qxA-CZtXEY z%3g1edX1iM(5fHYxkJL=sE@lys98T+@Zx8p5rAr!uv2yiPi0_^k}FRxX&-afq(b%| zX1y9i4raUC?_ZrX4>@3rS)L)UmQHUINt|&J+U!E3w*(~<-1W&W%-t+9j#FGQ%Z__2 zh=4;6bF4DvC|!ZeHI^H6e`beShu(bX7G1jh1Ot)PlZ9d!#%BUXWFR`v0`A}q5=Wj$ zRwVuy2>(#_0G*F3J7vllT_HlRw8is&IB)3TutJ`7-$lqQZFZ~yvl9nu*a0J~&l0PU zE#KNOvng`l>zG$w<`HLu!hG%?X*8QiKk3mlcDv?mxkA%X2x{6fJU~Nfh9;Czie8CQ zTynz@Gmh_wNi1+!RG3uV!p<32-PRQAP6=bXDxV$y4kH$MS9$?}BB6 zyRsXe?Ip2-gZ0f5VgXAq?1#ASW{9~E9O&uM`!`k>azg9_S_R)AM^r}naV^2TxSXn> zWCU6Qc9^L~y-fwTJZ=?_#+Ujn<^gcTT9Y$ajL@f9?%49>SK`=a0MQOXcAqW6@681O94WfoxMV2cPfMzS?JW4bj`;(&or54QqB z)|+4m3!+x01dy21=-;b`n@S=bn1uPBC-S{N&>hh1cIJy#^761K(Zi|>2&FO`KS$$> z3IT@}sBLcHpoy6~xBjzI>;UnWi#QeY-ZX_N?!w_&YjWuE^w|G02^d@boQsak1vHTZ ziopv?A?CFa2kA9og01eYu_%(~GkHBVHy*&xMdsFlnEMLsG3U1 z*RHnOfC}fyGA6@`V@=AhAUV1ru_xLIXYZE4{4^wIqo-^LXP8tmVr~Q<(IJY$t{(xE zOpv~KB?|$vUbtyA-#Tdz{TFTubeEnq-b9MEi!I5xTYUcp6oj%9Jpf~?XzH{chSKWA zUAdb+B(6+%!E8nOdN4gq8xUcD1Ot1*38!2-fcZB%Gmsjoq8+-tOQ}AQ{6V&VL|L6{!@6N z70P+>&atX9W`e%>jkhM&5uYmht2v9gRBh-q90L@I?`X)%_=H^2guK2BvdeYRL3zV$ zRV&loEqO6n$;oLf_S=$&i&{A7ajT^wB#a`P_Uk2)+$NY9#Ir(Db(*ixAnP#cmO9M; z__wFT8OorncN^_uE`^ZtUakUB$<|K_l5CBJC}IL3`U-_|hA)|mNmLqU%m0Za7ArZS~E=|2(e2Xc&e;f^UCo zYwrm!NjarU!Xs7Xj62DVEEsI+K0r8)i(b6jL920ws@6X1?(OcJU0NkZ6yNHU5pbJE zhBhk%`ViX9^p-E}zL+>p90QgEjSh{NC?QA)f8zrZXKcxmHx)Ih!+^d=YfChbn^b$D#`0)3-5 ztVi7-Mx;ChR{x!f`2p2dI@B;q4aDbQTE`WRD|JhP- zVc4f@zoiT5VSS%orK}&e(24nm-kZ&O%914(Muto7tll8otn^|2ezb{(7`V}GH_@&? zrU6mH-6K}FbfMYrcGDh}rF)YDv}^PZkoZi$w(;tx`Ma^VH%yPrw+?QIn!f=>^QSg1 zo$}u+(f%I%_Z;nKS7ao4*;yeBQ$E|IccF{@fb3IDbwWJ}VzQf0~M! zzZRF?hCis>^jCVxn*8(<`8cl=_TgvN{~f4C?Jr67()pLJ@n7d(Dg{q!L;83*{xjp7 z_TP;%8iL?U|DOKRHT~p|(ktX6`+pkC{`VeyvD-hZ?VtTpsr8KRqiLgHDVfjj_u4=8 z$~CU~6derwGxL>i#qU3eAMEj;*7i?p`}d>@K<&VcYx?_9ul?pbF7i*C?~rz1U@GdT zzy2TB_GbSc)Ao;P``_AhJ6LnSmVU}>|M16T{D(g#KEKa}}jd6nD3{Z=ZiM%sUjscNZo?Q6|Q^69s~FVgeQl+ow^{Sm?Vj@Q8Z%D5|# twp*7test_AT_CellularPower_constructor(); +} + +TEST(AT_CellularPower, test_AT_CellularPower_on) +{ + unit->test_AT_CellularPower_on(); +} + +TEST(AT_CellularPower, test_AT_CellularPower_off) +{ + unit->test_AT_CellularPower_off(); +} + +TEST(AT_CellularPower, test_AT_CellularPower_set_at_mode) +{ + unit->test_AT_CellularPower_set_at_mode(); +} + +TEST(AT_CellularPower, test_AT_CellularPower_set_power_level) +{ + unit->test_AT_CellularPower_set_power_level(); +} + +TEST(AT_CellularPower, test_AT_CellularPower_reset) +{ + unit->test_AT_CellularPower_reset(); +} + +TEST(AT_CellularPower, test_AT_CellularPower_opt_power_save_mode) +{ + unit->test_AT_CellularPower_opt_power_save_mode(); +} + +TEST(AT_CellularPower, test_AT_CellularPower_opt_receive_period) +{ + unit->test_AT_CellularPower_opt_receive_period(); +} + diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/cpputest_AT_CellularPower.xml b/features/cellular/UNITTESTS/at/at_cellularpower/cpputest_AT_CellularPower.xml new file mode 100644 index 0000000000..020008081f --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularpower/cpputest_AT_CellularPower.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/gcov/AT_CellularPower.cpp.gcov b/features/cellular/UNITTESTS/at/at_cellularpower/gcov/AT_CellularPower.cpp.gcov new file mode 100644 index 0000000000..80b2c61f1c --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularpower/gcov/AT_CellularPower.cpp.gcov @@ -0,0 +1,237 @@ + -: 0:Source:../../../framework/AT/AT_CellularPower.cpp + -: 0:Graph:objs/AT_CellularPower_unit/AT_CellularPower.gcno + -: 0:Data:objs/AT_CellularPower_unit/AT_CellularPower.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* + -: 2: * Copyright (c) 2017, Arm Limited and affiliates. + -: 3: * SPDX-License-Identifier: Apache-2.0 + -: 4: * + -: 5: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 6: * you may not use this file except in compliance with the License. + -: 7: * You may obtain a copy of the License at + -: 8: * + -: 9: * http://www.apache.org/licenses/LICENSE-2.0 + -: 10: * + -: 11: * Unless required by applicable law or agreed to in writing, software + -: 12: * distributed under the License is distributed on an "AS IS" BASIS, + -: 13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 14: * See the License for the specific language governing permissions and + -: 15: * limitations under the License. + -: 16: */ + -: 17: + -: 18:#include "AT_CellularPower.h" + -: 19:#include "CellularUtil.h" + -: 20:#include "CellularLog.h" + -: 21: + -: 22:static const int PSMTimerBits = 5; + -: 23: + -: 24:using namespace mbed_cellular_util; + -: 25:using namespace mbed; + -: 26: + 1: 27:AT_CellularPower::AT_CellularPower(ATHandler &at) : AT_CellularBase(at) + -: 28:{ + 1: 29:} + -: 30: + 2: 31:AT_CellularPower::~AT_CellularPower() + -: 32:{ + 2: 33:} + -: 34: + #####: 35:nsapi_error_t AT_CellularPower::on() + -: 36:{ + #####: 37: return NSAPI_ERROR_UNSUPPORTED; + -: 38:} + -: 39: + #####: 40:nsapi_error_t AT_CellularPower::off() + -: 41:{ + #####: 42: return NSAPI_ERROR_UNSUPPORTED; + -: 43:} + -: 44: + #####: 45:nsapi_error_t AT_CellularPower::set_at_mode() + -: 46:{ + #####: 47: _at.lock(); + #####: 48: _at.flush(); + #####: 49: _at.cmd_start("ATE0"); // echo off + #####: 50: _at.cmd_stop(); + #####: 51: _at.resp_start(); + #####: 52: _at.resp_stop(); + -: 53: + #####: 54: _at.cmd_start("AT+CMEE=1"); // verbose responses + #####: 55: _at.cmd_stop(); + #####: 56: _at.resp_start(); + #####: 57: _at.resp_stop(); + #####: 58: return _at.unlock_return_error(); + -: 59:} + -: 60: + #####: 61:nsapi_error_t AT_CellularPower::set_power_level(int func_level) + -: 62:{ + #####: 63: _at.lock(); + #####: 64: _at.cmd_start("AT+CFUN="); + #####: 65: _at.write_int(func_level); + #####: 66: _at.cmd_stop(); + #####: 67: _at.resp_start(); + #####: 68: _at.resp_stop(); + #####: 69: return _at.unlock_return_error(); + -: 70:} + -: 71: + #####: 72:nsapi_error_t AT_CellularPower::reset() + -: 73:{ + #####: 74: _at.lock(); + #####: 75: _at.cmd_start("AT+CFUN=");// reset to full power levels + #####: 76: _at.write_int(1); + #####: 77: _at.write_int(1); + #####: 78: _at.cmd_stop(); + #####: 79: _at.resp_start(); + #####: 80: _at.resp_stop(); + #####: 81: return _at.unlock_return_error(); + -: 82:} + -: 83: + #####: 84:nsapi_error_t AT_CellularPower::opt_power_save_mode(int periodic_time, int active_time) + -: 85:{ + #####: 86: _at.lock(); + -: 87: + #####: 88: if (periodic_time == 0 && active_time == 0) { + -: 89: // disable PSM + #####: 90: _at.cmd_start("AT+CPSMS="); + #####: 91: _at.write_int(0); + #####: 92: _at.cmd_stop(); + #####: 93: _at.resp_start(); + #####: 94: _at.resp_stop(); + -: 95: } else { + -: 96: /** + -: 97: Table 10.5.163a/3GPP TS 24.008: GPRS Timer 3 information element + -: 98: + -: 99: Bits 5 to 1 represent the binary coded timer value. + -: 100: + -: 101: Bits 6 to 8 defines the timer value unit for the GPRS timer as follows: + -: 102: 8 7 6 + -: 103: 0 0 0 value is incremented in multiples of 10 minutes + -: 104: 0 0 1 value is incremented in multiples of 1 hour + -: 105: 0 1 0 value is incremented in multiples of 10 hours + -: 106: 0 1 1 value is incremented in multiples of 2 seconds + -: 107: 1 0 0 value is incremented in multiples of 30 seconds + -: 108: 1 0 1 value is incremented in multiples of 1 minute + -: 109: 1 1 0 value is incremented in multiples of 320 hours (NOTE 1) + -: 110: 1 1 1 value indicates that the timer is deactivated (NOTE 2). + -: 111: */ + -: 112: char pt[8+1];// timer value encoded as 3GPP IE + #####: 113: const int ie_value_max = 0x1f; + #####: 114: uint32_t periodic_timer = 0; + #####: 115: if (periodic_time <= 2*ie_value_max) { // multiples of 2 seconds + #####: 116: periodic_timer = periodic_time/2; + #####: 117: strcpy(pt, "01100000"); + -: 118: } else { + #####: 119: if (periodic_time <= 30*ie_value_max) { // multiples of 30 seconds + #####: 120: periodic_timer = periodic_time/30; + #####: 121: strcpy(pt, "10000000"); + -: 122: } else { + #####: 123: if (periodic_time <= 60*ie_value_max) { // multiples of 1 minute + #####: 124: periodic_timer = periodic_time/60; + #####: 125: strcpy(pt, "10100000"); + -: 126: } else { + #####: 127: if (periodic_time <= 10*60*ie_value_max) { // multiples of 10 minutes + #####: 128: periodic_timer = periodic_time/(10*60); + #####: 129: strcpy(pt, "00000000"); + -: 130: } else { + #####: 131: if (periodic_time <= 60*60*ie_value_max) { // multiples of 1 hour + #####: 132: periodic_timer = periodic_time/(60*60); + #####: 133: strcpy(pt, "00100000"); + -: 134: } else { + #####: 135: if (periodic_time <= 10*60*60*ie_value_max) { // multiples of 10 hours + #####: 136: periodic_timer = periodic_time/(10*60*60); + #####: 137: strcpy(pt, "01000000"); + -: 138: } else { // multiples of 320 hours + #####: 139: int t = periodic_time / (320*60*60); + #####: 140: if (t > ie_value_max) { + #####: 141: t = ie_value_max; + -: 142: } + #####: 143: periodic_timer = t; + #####: 144: strcpy(pt, "11000000"); + -: 145: } + -: 146: } + -: 147: } + -: 148: } + -: 149: } + -: 150: } + -: 151: + #####: 152: uint_to_binary_str(periodic_timer, &pt[3], sizeof(pt)-3, PSMTimerBits); + #####: 153: pt[8] = '\0'; + -: 154: + -: 155: /** + -: 156: Table 10.5.172/3GPP TS 24.008: GPRS Timer information element + -: 157: + -: 158: Bits 5 to 1 represent the binary coded timer value. + -: 159: + -: 160: Bits 6 to 8 defines the timer value unit for the GPRS timer as follows: + -: 161: + -: 162: 8 7 6 + -: 163: 0 0 0 value is incremented in multiples of 2 seconds + -: 164: 0 0 1 value is incremented in multiples of 1 minute + -: 165: 0 1 0 value is incremented in multiples of decihours + -: 166: 1 1 1 value indicates that the timer is deactivated. + -: 167: + -: 168: Other values shall be interpreted as multiples of 1 minute in this version of the protocol. + -: 169: */ + -: 170: char at[8+1]; + -: 171: uint32_t active_timer; // timer value encoded as 3GPP IE + #####: 172: if (active_time <= 2*ie_value_max) { // multiples of 2 seconds + #####: 173: active_timer = active_time/2; + #####: 174: strcpy(at, "00000000"); + -: 175: } else { + #####: 176: if (active_time <= 60*ie_value_max) { // multiples of 1 minute + #####: 177: active_timer = (1<<5) | (active_time/60); + #####: 178: strcpy(at, "00100000"); + -: 179: } else { // multiples of decihours + #####: 180: int t = active_time / (6*60); + #####: 181: if (t > ie_value_max) { + #####: 182: t = ie_value_max; + -: 183: } + #####: 184: active_timer = t; + #####: 185: strcpy(at, "01000000"); + -: 186: } + -: 187: } + -: 188: + #####: 189: uint_to_binary_str(active_timer, &at[3], sizeof(at)-3, PSMTimerBits); + #####: 190: pt[8] = '\0'; + -: 191: + -: 192: // request for both GPRS and LTE + #####: 193: _at.cmd_start("AT+CPSMS="); + #####: 194: _at.write_int(1); + #####: 195: _at.write_string(pt); + #####: 196: _at.write_string(at); + #####: 197: _at.write_string(pt); + #####: 198: _at.write_string(at); + #####: 199: _at.cmd_stop(); + #####: 200: _at.resp_start(); + #####: 201: _at.resp_stop(); + -: 202: + -: 203: + #####: 204: if (_at.get_last_error() != NSAPI_ERROR_OK) { + -: 205: log_warn("Power save mode not enabled!"); + -: 206: } else { + -: 207: // network may not agree with power save options but + -: 208: // that should be fine as timeout is not longer than requested + -: 209: } + -: 210: } + -: 211: + #####: 212: return _at.unlock_return_error(); + -: 213:} + -: 214: + #####: 215:nsapi_error_t AT_CellularPower::opt_receive_period(int mode, EDRXAccessTechnology act_type, uint8_t edrx_value) + -: 216:{ + -: 217: char edrx[5]; + #####: 218: uint_to_binary_str(edrx_value, edrx, 5, 4); + #####: 219: edrx[4] = '\0'; + -: 220: + #####: 221: _at.lock(); + -: 222: + #####: 223: _at.cmd_start("AT+CEDRXS="); + #####: 224: _at.write_int(mode); + #####: 225: _at.write_int(act_type); + #####: 226: _at.write_string(edrx); + #####: 227: _at.cmd_stop(); + #####: 228: _at.resp_start(); + #####: 229: _at.resp_stop(); + -: 230: + #####: 231: return _at.unlock_return_error(); + -: 232:} diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/gcov/CellularPower.h.gcov b/features/cellular/UNITTESTS/at/at_cellularpower/gcov/CellularPower.h.gcov new file mode 100644 index 0000000000..1648f7ae25 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularpower/gcov/CellularPower.h.gcov @@ -0,0 +1,135 @@ + -: 0:Source:../../../framework/API/CellularPower.h + -: 0:Graph:objs/AT_CellularPower_unit/AT_CellularPower.gcno + -: 0:Data:objs/AT_CellularPower_unit/AT_CellularPower.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* + -: 2: * Copyright (c) 2017, Arm Limited and affiliates. + -: 3: * SPDX-License-Identifier: Apache-2.0 + -: 4: * + -: 5: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 6: * you may not use this file except in compliance with the License. + -: 7: * You may obtain a copy of the License at + -: 8: * + -: 9: * http://www.apache.org/licenses/LICENSE-2.0 + -: 10: * + -: 11: * Unless required by applicable law or agreed to in writing, software + -: 12: * distributed under the License is distributed on an "AS IS" BASIS, + -: 13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 14: * See the License for the specific language governing permissions and + -: 15: * limitations under the License. + -: 16: */ + -: 17:#ifndef CELLULAR_API_CELLULARPOWER_H_ + -: 18:#define CELLULAR_API_CELLULARPOWER_H_ + -: 19: + -: 20:#include "nsapi_types.h" + -: 21: + -: 22:namespace mbed { + -: 23: + -: 24:/** + -: 25: * Class CellularPower + -: 26: * + -: 27: * An abstract interface for connecting to a network and getting information from it. + -: 28: */ + 1: 29:class CellularPower + -: 30:{ + -: 31:protected: + -: 32: // friend of CellularDevice so that it's the only way to close/delete this class. + -: 33: friend class CellularDevice; + -: 34: + -: 35: /** + -: 36: * virtual Destructor + -: 37: */ + 1: 38: virtual ~CellularPower() {} + -: 39: + -: 40:public: + -: 41: /* Access technology used in method opt_receive_period */ + -: 42: enum EDRXAccessTechnology { + -: 43: EDRXGSM_EC_GSM_IoT_mode = 1, + -: 44: EDRXGSM_A_Gb_mode, + -: 45: EDRXUTRAN_Iu_mode, + -: 46: EDRXEUTRAN_WB_S1_mode, + -: 47: EDRXEUTRAN_NB_S1_mode + -: 48: }; + -: 49: + -: 50: /** Set cellular device power on. Default implementation is empty. + -: 51: * Device power on/off is modem/board specific behavior and must be done on inherited class if needed. + -: 52: * Power on is done by toggling power pin/button. + -: 53: * + -: 54: * @remark set_at_mode must be called to initialise modem + -: 55: * + -: 56: * @remark Should not be called if MUX is enabled and started. If called then start-up sequence must be done again. + -: 57: * @return zero on success + -: 58: */ + -: 59: virtual nsapi_error_t on() = 0; + -: 60: + -: 61: /** Set cellular device power off. Default implementation is empty. + -: 62: * Device power on/off is modem/board specific behavior and must be done on inherited class if needed. + -: 63: * Power off is done by toggling power pin/button. + -: 64: * + -: 65: * @remark Should not be called if MUX is enabled and started. If called then start-up sequence must be done again. + -: 66: * + -: 67: * @return zero on success + -: 68: */ + -: 69: virtual nsapi_error_t off() = 0; + -: 70: + -: 71: /** Set AT command mode. Blocking until success or failure. + -: 72: * + -: 73: * @remark must be called after power on to prepare correct AT mode + -: 74: * + -: 75: * @return zero on success + -: 76: */ + -: 77: virtual nsapi_error_t set_at_mode() = 0; + -: 78: + -: 79: /** Set cellular device power level by enabling/disabling functionality. + -: 80: * + -: 81: * @param func_level: + -: 82: * 0 minimum functionality + -: 83: * 1 full functionality. Enable (turn on) the transmit and receive RF circuits for all supported radio access technologies. + -: 84: * For MTs supporting +CSRA, this equals the RATs indicated by the response of +CSRA=?. Current +CSRA setting is ignored. + -: 85: * It is not required that the MT transmit and receive RF circuits are in a disabled state for this setting to have effect. + -: 86: * 2 disable (turn off) MT transmit RF circuits only + -: 87: * 3 disable (turn off) MT receive RF circuits only + -: 88: * 4 disable (turn off) both MT transmit and receive RF circuits + -: 89: * + -: 90: * @remark See 3GPP TS 27.007 CFUN for more details + -: 91: * @remark Should not be called if MUX is enabled and started. If called then start-up sequence must be done again. + -: 92: * + -: 93: * @return zero on success + -: 94: */ + -: 95: virtual nsapi_error_t set_power_level(int func_level) = 0; + -: 96: + -: 97: /** Reset and wake-up cellular device. + -: 98: * + -: 99: * @remark Should not be called if MUX is enabled and started. If called then start-up sequence must be done again. + -: 100: * + -: 101: * @return zero on success + -: 102: */ + -: 103: virtual nsapi_error_t reset() = 0; + -: 104: + -: 105: /** Opt for power save setting on cellular device. If both parameters are zero then disables PSM. + -: 106: * + -: 107: * @remark See 3GPP TS 27.007 PSM for details + -: 108: * + -: 109: * @param periodic_time Timeout in seconds IoT subsystem is not expecting messaging + -: 110: * @param active_time Timeout in seconds IoT subsystem waits for response + -: 111: * @return zero on success + -: 112: */ + -: 113: virtual nsapi_error_t opt_power_save_mode(int periodic_time, int active_time) = 0; + -: 114: + -: 115: /** Opt for discontinuous reception on cellular device. + -: 116: * + -: 117: * @remark See 3GPP TS 27.007 eDRX for details. + -: 118: * + -: 119: * @param mode disable or enable the use of eDRX + -: 120: * @param act_type type of access technology + -: 121: * @param edrx_value requested edxr value. Extended DRX parameters information element. + -: 122: * + -: 123: * @return zero on success + -: 124: */ + -: 125: virtual nsapi_error_t opt_receive_period(int mode, EDRXAccessTechnology act_type, uint8_t edrx_value) = 0; + -: 126:}; + -: 127: + -: 128:} // namespace mbed + -: 129: + -: 130:#endif /* CELLULAR_API_CELLULARPOWER_H_ */ diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/gcov/gcov_error.txt b/features/cellular/UNITTESTS/at/at_cellularpower/gcov/gcov_error.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/gcov/gcov_output.txt b/features/cellular/UNITTESTS/at/at_cellularpower/gcov/gcov_output.txt new file mode 100644 index 0000000000..51f166e6d1 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularpower/gcov/gcov_output.txt @@ -0,0 +1,8 @@ +File '../../../framework/AT/AT_CellularPower.cpp' +Lines executed:3.70% of 108 +Creating 'AT_CellularPower.cpp.gcov' + +File '../../../framework/API/CellularPower.h' +Lines executed:100.00% of 2 +Creating 'CellularPower.h.gcov' + diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/gcov/gcov_report.txt b/features/cellular/UNITTESTS/at/at_cellularpower/gcov/gcov_report.txt new file mode 100644 index 0000000000..35ca96d012 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularpower/gcov/gcov_report.txt @@ -0,0 +1,2 @@ +100.00% ../framework/API/CellularPower.h + 3.70% ../framework/AT/AT_CellularPower.cpp diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/gcov/gcov_report.txt.html b/features/cellular/UNITTESTS/at/at_cellularpower/gcov/gcov_report.txt.html new file mode 100644 index 0000000000..d0c680b9f1 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularpower/gcov/gcov_report.txt.html @@ -0,0 +1,5 @@ + + + + +
CoverageFile
100.00% ../framework/API/CellularPower.h
3.70% ../framework/AT/AT_CellularPower.cpp
diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/lib/libAT_CellularPower_unit.a b/features/cellular/UNITTESTS/at/at_cellularpower/lib/libAT_CellularPower_unit.a new file mode 100644 index 0000000000000000000000000000000000000000..29a8d0063c1b3cae3d083f6d07919a6e24e13e5b GIT binary patch literal 59802 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/main.cpp b/features/cellular/UNITTESTS/at/at_cellularpower/main.cpp new file mode 100644 index 0000000000..1f5e448971 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularpower/main.cpp @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2015 ARM. All rights reserved. + */ + +#include "CppUTest/CommandLineTestRunner.h" +#include "CppUTest/TestPlugin.h" +#include "CppUTest/TestRegistry.h" +#include "CppUTestExt/MockSupportPlugin.h" +int main(int ac, char** av) +{ + return CommandLineTestRunner::RunAllTests(ac, av); +} + +IMPORT_TEST_GROUP(AT_CellularPower); + diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/ATHandler_stub.d b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/ATHandler_stub.d new file mode 100644 index 0000000000..c8d81e09fb --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/ATHandler_stub.d @@ -0,0 +1,78 @@ +objs/AT_CellularPower_unit/ATHandler_stub.o: \ + ../../stubs/ATHandler_stub.cpp \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../platform/Callback.h ../../stubs/ATHandler_stub.h \ + ../../stubs/FileHandle_stub.h ../../../../../platform/FileHandle.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_poll.h \ + ../../../../../platform/platform.h ../../target_h/device.h \ + ../../target_h/PinNames.h ../../target_h/PeripheralNames.h \ + ../../../framework/common/CellularLog.h \ + ../../../../../hal/us_ticker_api.h ../../../../../hal/ticker_api.h \ + ../../../../../platform/mbed_debug.h + +../../../../../features/netsocket/nsapi_types.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../platform/Callback.h: + +../../stubs/ATHandler_stub.h: + +../../stubs/FileHandle_stub.h: + +../../../../../platform/FileHandle.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_poll.h: + +../../../../../platform/platform.h: + +../../target_h/device.h: + +../../target_h/PinNames.h: + +../../target_h/PeripheralNames.h: + +../../../framework/common/CellularLog.h: + +../../../../../hal/us_ticker_api.h: + +../../../../../hal/ticker_api.h: + +../../../../../platform/mbed_debug.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/ATHandler_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/ATHandler_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..1cb2dd0b9a9802ca24fd25084c0c7e6c0d68680d GIT binary patch literal 2300 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/ATHandler_stub.o b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/ATHandler_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..4dc7d35fc02785f6631b202fdc0ad2455d85cf96 GIT binary patch literal 82352 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 WAtvEMn-7-kXf{{^GY94lkbwZs7aJ1* literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularBase_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularBase_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..0de5817e45a6fd993049031ba6b2b53d32d1324f GIT binary patch literal 824 zcmd1LOHS7^F);1>yt0jffq_v5NHAowmX|z<7JTtC_BIcY8z1H8ZIYXmnqp|`7!vQC znv+wSlUU@GSe$BTmY!M?pORXZnVcG*T2z!@74@#U-Ul#rkNP;z6Q% z$pr-INs7R!~+^AB!!7AG)!RW0qzP0)HH&e Z9zb!AoF0ULd~(tQ$ZmNcRsdoc001hZmP-Ht literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularBase_stub.o b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularBase_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..1507ad8e38f7496ec97ce89918733d4cf25098ad GIT binary patch literal 29840 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularPower.d b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularPower.d new file mode 100644 index 0000000000..62dba05b67 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularPower.d @@ -0,0 +1,72 @@ +objs/AT_CellularPower_unit/AT_CellularPower.o: \ + ../../../framework/AT/AT_CellularPower.cpp \ + ../../../framework/AT/AT_CellularPower.h \ + ../../../framework/API/CellularPower.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../platform/Callback.h \ + ../../../framework/common/CellularUtil.h \ + ../../../framework/common/CellularLog.h ../../target_h/PinNames.h \ + ../../../../../hal/us_ticker_api.h ../../../../../hal/ticker_api.h \ + ../../target_h/device.h ../../../../../platform/mbed_debug.h + +../../../framework/AT/AT_CellularPower.h: + +../../../framework/API/CellularPower.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../platform/Callback.h: + +../../../framework/common/CellularUtil.h: + +../../../framework/common/CellularLog.h: + +../../target_h/PinNames.h: + +../../../../../hal/us_ticker_api.h: + +../../../../../hal/ticker_api.h: + +../../target_h/device.h: + +../../../../../platform/mbed_debug.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularPower.gcda b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularPower.gcda new file mode 100644 index 0000000000000000000000000000000000000000..e44b7f6ed8aabbfd955aa3221dfa5db3d41d5327 GIT binary patch literal 1436 zcmYdHNlw=?F)$VUy0VRdfnl)%kl;+!sanm%z`zJ(_kai>;Dk_cni(n%6~>^ZW07YC ziot|IY!KiFVwl>?YxAPYbIy%W@)!xkl7N{F`JMnV7tErGgX~+Tz~b&%h=l>yMe_4G61XL&Ety? zG77E1r=~=|R4qh--Qm`pEuTT=umMehl>z89ND7qi*RtnJ^>WDmi7X3#3(~`ZMGsI2 z9f0)~Br(glnRs66xh|mq(#r)@g~cAQUYIzNL0~iDY8I(QcwTtBquF2y%cN28$s33&|XGCRmSGxMS=wP0tlhOKe)u!vb9chz|h7_*H`d literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularPower.gcno b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularPower.gcno new file mode 100644 index 0000000000000000000000000000000000000000..764bc9ff361386be2e33a86ed81c70a970910437 GIT binary patch literal 12420 zcmds-Ym6Ml5yxlj1fK&2^NcYVY{14ga4*{gBM@HBi!cvk>?0VAIUVOUK5@Q1_Ri-( z96~q*2+3B&Ga~uGr$F){e4u|_UAwcZp2IbF zC?Tcmn(3OV|5SHZS9i~Cb$H;$rOP{49QoA~cO^-ZE_Uq0S7)_7y6X19qgFgH{l~7} zckSBc+i$3B={mdA+t*VW8rm_`Ut3q*S*dlMQym%Wt5pUngX5LHkxFf_x}`k0c0*s+ zvL?Om&hqN@8%qNNmC@1O%D}ea>QME@Tguy#D?6*Tn>tFp?yvb> z?E@ntN%DcyPm)r4guhOP^`z5-`80R^fxqubXSgf%!+kwT(BWC?is*|D_o~D5m<}@4 z`C*O@a@9E`M+dp;;9u-r$W^B;M+dp;%*@e2t~x);(Lt^{j9<(j;73)(m3tX^>VaSU0nV1DGSj0MH z#rm6=1uj@%Kvt~J#Y}m6lDqr&LysMIYu6#wnV+BZ3Ug+H9KDhpJwm$f8|`;#dV6(C zr93!j_oLT)P)fVhlkfdCz6LPg$S>rC*1Sa>IrE!Bd}yxX88W@LK0_YM@hXqycAg=R z<#e7QkL7ZnAwSC%d}`#+o|I?!MjUca9@aL{Hsr^rfkGxeM9rixx&v7NI zj~toy4}C^Gi@}&t?{o#4>k3%lps)Rk`~+8ccA_iU_aI;3ioQp6<~bSnYFx zPId+T`L1O3kt0)l{Gz@fBcmPEwH>E~XQ{htJJ3O{I;ZC7AXlB!a&(ZZ&cYlWYVBB8MACZ)8EK-PHPNNZ+9i8 zkG#W`>=;uAm!fl+_cq=&xjh!^#7}{)ldOLdFZOk3V;zSZ!J@4Yxyo{WxYk=K6Re_p zqD>0puY$!~fUJI9CuV^Q7P%d=Vr>?)zy*u70J36TFJ^(4Q*tY72V}*%+1b=w8O69x z5^G>VR?IPHv%^~|llHQvK~}t-Vivgg#`*?Xv3}-kZt<4N#5dMP$cp!KF$-LLV=aZO zSi79fFTABP@ojdfTJdgE7=IPtShpc7*6q&bml)Pbd}Gartax{bS>WOuaSU0p?sPW4 z@|McPH})5h74O$#7P$Dvegv{&{l?kc?JboF9(x(cig%B*+3hWrNn6?fKvujxVivgg z#=Z%%V%_U(?(>$)#5eX_kQMKKF$-LLV{Zmou^w=rJ0UCHv(Dx@Z>db$%3c++;yo{Bfs1eRL(Piy zg0p)u*vdtGTTl@1r4}sm8~bR;>f6iC=8xV|nfS(@8?xfPB4&XL7JGBZiuJ0P1uj?% zL(PiyrwA5%eaMRSnwSMHesLy%tXTWREO5c%>;PG@UKg{#1&cEVWX1Zkm<29aoJAlj z)*E6LxL}4UVx~MLZ@+x#zfOPe;p;Z7J23BD_P+Vw$5zxTqm{Ap zxc$8s`!|+S-D|1?2Y3DUZ%>@r8fP;34#OD=dF&Z7&PB0j$T{c4o+0Pl5_^WcE$10> z`Zi{VoO1&2&9(vmku%2F>G_j7dKAuhcjc|?WGhu8~y*}i&#$3 ze38uw4oW!7941_(=qd_=c?egLA|zaES@sD_F5sMzEMa zkQM7(F;ni(SYK|KcI#WEXa4f{e{4QL-{t4rW!0@)Ibqq~yV$?6lb13BRaf*S_c2D0b)M+=VzHjwI^8-xoEt}On113#%h$ZS`-3_2Cq6g!beGq=U&O8~ z^3`_p;$FrR8)7InPmnjpcyi;Z|2uJz zjs%N$Le|(|{2C-!+IA~evtLQd|HiK0_3)yNYu@?dg*!SQp>OMJK=Y5HU0{s+Z(*_D zFRWYB(ew-I_H9WbewXUMTW+)=KIV)m^M^6eIW;@T+@-*~vGU~Gx%akB{U@gzjv=>C z&`zJ&*$*9TI~Vy^{C9JD(S8!&rIQ@@{dCFIrOo@6ta<#xN6x!*qJFZ*!&LQ?&RxyX Sy2h!Ty6&M=HraT}_R}{N3oMub literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularPower.o b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/AT_CellularPower.o new file mode 100644 index 0000000000000000000000000000000000000000..03b82fa3f882530d1c2d5f0d7eb88332b2f121a7 GIT binary patch literal 58608 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/CellularUtil_stub.o b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/CellularUtil_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..b3ef4e9505f8814adc1d0a189ab864017aadc386 GIT binary patch literal 18352 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 aAk{y9@92S_?jOfQG5@YPN`FU*@%O(%&AH$J literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/EventQueue_stub.d b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/EventQueue_stub.d new file mode 100644 index 0000000000..1c49e17b7c --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/EventQueue_stub.d @@ -0,0 +1,32 @@ +objs/AT_CellularPower_unit/EventQueue_stub.o: \ + ../../stubs/EventQueue_stub.cpp ../../../../../events/EventQueue.h \ + ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h ../../../../../platform/Callback.h + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/Callback.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/EventQueue_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/EventQueue_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..fa0437195d6f88ac46e0cd290801edeed4fd4854 GIT binary patch literal 908 zcmYdHNlw=?F);n|d1V^|1H)nkAiy s3r3^+`<70D$O^0FJU!PX6wu8;*MrUnSqDnb+uH84ZYv0%fWyxW069Q*l>h($ literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/EventQueue_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/EventQueue_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..fe10c804965f61354b89e44ea1de403d27b953ef GIT binary patch literal 5532 zcmdT|U1(fI6rNj+S{t>tjoQ|qh%Jh>`x7@YilnaFTL^)${*-8`EO+nTX4mZA-R@tg z6=ZFR1jWW$D_U#?6`LnPYEgU%^g+QVL6BOZ^hFdgAf~<*Jm1XD-h0=(c5V^^4tsxQ z?#wyoJKvczGh4LH@dsm({)NA0rx;_}ophUe;)C`3_0Lv+c_{MnO;k_q8I2XvR%S3^ zAe$)6AQ#1YHg zRPQj42gfbjDjU^S6hA%kY>K)o^D@nK$F=`c9N$X#g60h1JWAKw9$$<66Ev2Ok&Jgd za+r1-+4SAU1JCJoee;>;-)g|09XQ+Br>p0gCwWp>9)4i5JD0#lh?n@?-?>^>zQH&F zS>!V*2k|fGkIXk>?Ba4e@Fs)+E*WbC@{Md#%{M#c04_zyfXyhXGIn`nFzt34d*u7q zb~L6IR$YFyVBbLX4jd=?bS$ary58gg9oHlmu=C%=yOsz%V!e=g%Hav4MSs9>+C_iK zHJ)vTJO>pTgNj2r24Z?x#Wwbyb{9^Fa1mSzlAU2%f>X&c78Cog6 z7x-}9Z)T00P3a(lg&8?R@Lj3a(v`3i6Dc%=%up3NS8@ZCD#c)t=p>vZ99KCXUTQ9_W&)h%V_v>#jTF>i)b&W9hPG zOr$coO3A32S&^?)e6WryTv?8xb3NDFy7B$WeZ608F{UrR^xrvZumzHiR7!CSE>?P; zLMQ$&a1{+4?|$Tgp4UU$v+Van^UZy?PaYO4t_puRZvh+nUcGo@TE;KzKupVhhKz0Z zUJKu3JI1-c$#y6H#l8(=ut&tRy+7KaR}^6v>P|mhyP4`i)&=2+Zma)R-wr%15ux(8;*5F2{{kJ1H5FEPsa-WsJ9WI<%5WjN1 MT+N18`51Bg2Onu!761SM literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/EventQueue_stub.o b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/EventQueue_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..511aae8934a1e0b4664fee87287e8886fd2475b7 GIT binary patch literal 31576 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/FileHandle_stub.d b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/FileHandle_stub.d new file mode 100644 index 0000000000..7cc11eade5 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/FileHandle_stub.d @@ -0,0 +1,42 @@ +objs/AT_CellularPower_unit/FileHandle_stub.o: \ + ../../stubs/FileHandle_stub.cpp ../../stubs/FileHandle_stub.h \ + ../../../../../platform/FileHandle.h ../../../../../platform/Callback.h \ + ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_poll.h ../../../../../platform/platform.h \ + ../../target_h/platform/mbed_retarget.h ../../target_h/device.h \ + ../../target_h/PinNames.h ../../target_h/PeripheralNames.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h + +../../stubs/FileHandle_stub.h: + +../../../../../platform/FileHandle.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_poll.h: + +../../../../../platform/platform.h: + +../../target_h/platform/mbed_retarget.h: + +../../target_h/device.h: + +../../target_h/PinNames.h: + +../../target_h/PeripheralNames.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/FileHandle_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/FileHandle_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..71294901c8861132a8ffa6d24223dec6b2b0dca1 GIT binary patch literal 624 zcmYdHNlw=?F)(fTva*eVfnl)%kl;+!sanm%z`zJ(_kai>;Dk_cni(n%6~>^ZW07YC ziot|IY!KiFVwl>qvF2h#mm^+3=9hyflfjOU^Q!_HTNEhnQCc+fT2}H6XiK zkX?*mgWayC6~J2KwPyk`Y6TJ$CB?3vIY^A!e?3z}in>pow%fG(03kP|I*73~Y;T-F cjJcZ@GO|}}HpT1zlNAf3Vn1AZg(Hj@0Kke{%K!iX literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/FileHandle_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/FileHandle_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..832dbf2c34cc2443cf6965322daa5a01bb245906 GIT binary patch literal 3348 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/at_cellularpowertest.o b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/at_cellularpowertest.o new file mode 100644 index 0000000000000000000000000000000000000000..063645cc725926a1af9d64758f5e2754d7732bd3 GIT binary patch literal 202560 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

!6QmsL03S+qc}t z*@yVYkCrs^pJ@Dj`>)lL{{T<^s{{J+vt52TjozMheESwQ4)y0>4*yj3|2mL=!rpAb zEL{I%J^2?0^lPAxX(*D7wX6TyfPYh(`8ODUU;P(*@*m{MKjSce{bI!~Wn4xG=3f%< zFMxll`k!O`efc+e^3V0;|LcH$3G_#9&)jXq)$^?Z|GG5u|2&X?)`0f?C(o1rNRyDk z?am(>p+8LJYs}j$iw*Gk$0j?oRQ12o`1|T#;>rI6PyVk3^yAQ%_m9h_egDtx?a#kF z&HQtWzc2rKPyQo4`7a9S*FYbau_gVOX>OZkQ^0>in)$zA{C)Yic=8{$OZ)S$>^}bb zHA6qYO}6dpzcApRJ;gbu>Oa-S-S7{{>7gB z?YWH3f3G9_^=pLw&=mO>1^ipn%>Q)b@2h{EC;u}&`L7D-$Io?%=cmYjYrwx8{<5DX zjMPt_e;&wxvnPLh|1t6%?RO8RmfPZ6}`QK#xef7_=H`_8x0UBz@&&i(r zpAG0YL;ooF%PKA#Snt-)-~P-WIs>VbxJmuw`L}`mt3COj>&bs`KtBO}^Y&`9#M?ZJ z#mWQzN^AV_a-(PNkzxjAbn?>{m zz7)tmBggfh92naEWAFbY{*wPk$Y0{gx)J(+9VEo9O^7zj`vLtt=*LDlbE|LfzohkB z1Nt}BI=|s|=g^|{_sn+vmrRnI&n|VOHidr|GTWD=M(K>^=EtZ2L<$Bx!w7dn9n!!VnVc8jtS@&)HwZmYXA8j{gKd@ zekQ?()w``*)d5)aWj!w7|NK9lf35_?TKr@^5&p_7*7Y4t+;j1hS7*WBwN|L(~Q5b|Fm4~A}&My?f$DUf8sCiKlAaQcJF;Fv3QB|uQu^{(fQlwI(KWI qZ9lAFmclV^U1bdISGu%*H}mpt&ZNy_wY^wimgA;Dk_cni(n%6~>^ZW07YC wiot|IY!KiFVwl>)* z2_hIA8Ck(JHo}<^qz42*=CFWS&S3Q*K1dFvml4WlV1TFxiG$R_)Wi57bs)^Z;L6Aa TBtd3?07xF>Mr3z^`~d?1@@W(& literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/main.o b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/main.o new file mode 100644 index 0000000000000000000000000000000000000000..22bdd942bb5f278fabd4af9a5cbbec9a0dffc30e GIT binary patch literal 16272 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 Y8KIbg!Ie<}$Oegl04eseL$rWN0F>S=#Q*>R literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/mbed_assert_stub.o b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/mbed_assert_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..569ae210b8276c33813f5fb18545dffab30560cb GIT binary patch literal 4448 zcmb_f-EUMy6ra1>(qf?&sz`&HH9;)m-rdS}RlZy(*sTyC&>Bo6w|BSG-Ie`l?gthX zB#?lO4?;-%NYDpjH2wwhpb;f8zL*%F{0A^T_@IUd5=ro!nRD9NyO$W1lkS~!e&=)M z&Y8J=YtOzH5|$;HEU`l@NsJ0H-M7RS6k8B$#e-t1xNxJmaPn4hA^d$|>bK%M-KZ>{ zy=D~`6no+5b+q{!;a~A_^g2GHbmPz6`O{aP_~z=_>?f#;t0C%x@{_sjsEOac`T03h zzSsOe)s?BX8ZzTHgJW)(9m$kytsv7V$(eM^&&*0U2tDa%%CcS$>#moX+CMQlx##fY z;fx!=pTml|)@#zsv`Vk~nVpl)7?~eL)Crq49nx`qUwVP#2Vu#slxJLV1!mi&X56dl z)V#3-IfG9iZ!MavCzW+M1TLwS$R;jU+oWld&MVz3qO11|aNX82bXoQWJbJpiYt2CP zBEU32jCEO9tE|WS2m6x!>-tw&t9u3>f*iK>{7|xgOW)Q$gbHil-!)_nLK)pcqZ5OP zwJ^8)MPJ_p;N9zi*#RLS;|7694R$;@)grK{mThO?57*om0^e-gYbejn>8-n5r-KM9z z>Qc!0Ij=1+tflmtZe7%CO)2i-1{2Qsz5}~lV5pUr2VOQjn@*p%BVvMIe<8AR7BSGUhUn@{I+sdOcko}Ker zIJq<^d=LZa2kCO_xb)nL1lbSV^071+1+pBpytE&9t!71t@v*Tjso|+o*bG9QG@TEX zG;(SrZ)bCMZeyevSaGBW^dPL)4+(32z*@JWr}qN9zlQdan)A_`H>k@z5>C|8|sc!60C3Ty{;OgXT!`Fahi6xwyYct>p&~W>5 zpP_S7sGdZ2ksRPGBk%B{2JJbj0Ro#8%i95xlESzY42z^#VMt4CQb51PP*SgShbAdj zcVGx41vGpNCB>=^^ie=o8|%;O^d{iuTCwBXcfs2_Qk}Ti>W))^U7WRJJLcbXmk#9I zC6LPE)ZpN!j7~#(73sJ$Gh8>X6dpTW@Vk9S(<5XM#WxauAB=dQ7f7~gM0;Fijzh3o zNz*<>3cdf?N{Ax{Ztk9G1Lqz^=&FHZ{A(ohi1F3MLpTqJW3BvNdB@|t%-zX55^>yx z-@*@xcMRhi74T)FiSa!o<86Y(d9@^jxt=Q-gpt>i<7^@w-#pPcdr8ms8%TaRfBK_ zz%9WTczUcd=gGQj2Xa0Twqj@8z!i4M_esV^aa_-HPXN%;T5TvxVFmhVwk7Nt#k-}F zCy#R+4S8;}A~}{eQ#UWUKo!C+w;Bxz-#B&?t}Gj_MYyuy3Zp=>>dbm>L-Hj5$Cv_N zTua{99I8MJ?<2<1)}(bHbiuD+g1~>@qk(C{_5A`LPb9?rI^o^J9)^{t?2W`HM7Bwx=+Q{w!|=2K)WL`scwnuKuf(nAZvG$9Kf_ zFg^|#mTK;K5XC{N|0D_qu|GqTz>q0JYW#t~PutK=+XJAFtN%wz#C2f(cusSEu74V^ zxcoj%$OpYiQCrkUF|_}M{IjNWjBOLJxcXCc7_mRrk7sz zfG#foLCVkTg!yrwMf2miiZQuPU=`IV|41Yui#&b|)^YwHVNpPB|NMf?ems6=U}(?u z6Zx~uBm1%ZB`}CZ_wUc-e}oNbNnVod5s; literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/test_at_cellularpower.d b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/test_at_cellularpower.d new file mode 100644 index 0000000000..ac9823d9d3 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/test_at_cellularpower.d @@ -0,0 +1,112 @@ +objs/AT_CellularPower_unit/test_at_cellularpower.o: \ + test_at_cellularpower.cpp test_at_cellularpower.h \ + ../../../framework/AT/AT_CellularNetwork.h \ + ../../../framework/API/CellularNetwork.h \ + ../../../../../features/netsocket/CellularInterface.h \ + ../../../../../features/netsocket/NetworkInterface.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../features/netsocket/SocketAddress.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../features/netsocket/NetworkInterface.h \ + ../../../framework/common/CellularList.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../platform/Callback.h \ + ../../../../../features/netsocket/NetworkStack.h \ + ../../../framework/AT/ATHandler.h \ + ../../../framework/AT/AT_CellularPower.h \ + ../../../framework/API/CellularPower.h ../../stubs/FileHandle_stub.h \ + ../../../../../platform/FileHandle.h ../../../../../platform/Callback.h \ + ../../../../../platform/mbed_poll.h ../../../../../platform/platform.h \ + ../../target_h/device.h ../../target_h/PinNames.h \ + ../../target_h/PeripheralNames.h + +test_at_cellularpower.h: + +../../../framework/AT/AT_CellularNetwork.h: + +../../../framework/API/CellularNetwork.h: + +../../../../../features/netsocket/CellularInterface.h: + +../../../../../features/netsocket/NetworkInterface.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../features/netsocket/SocketAddress.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../features/netsocket/NetworkInterface.h: + +../../../framework/common/CellularList.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../platform/Callback.h: + +../../../../../features/netsocket/NetworkStack.h: + +../../../framework/AT/ATHandler.h: + +../../../framework/AT/AT_CellularPower.h: + +../../../framework/API/CellularPower.h: + +../../stubs/FileHandle_stub.h: + +../../../../../platform/FileHandle.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_poll.h: + +../../../../../platform/platform.h: + +../../target_h/device.h: + +../../target_h/PinNames.h: + +../../target_h/PeripheralNames.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/test_at_cellularpower.gcda b/features/cellular/UNITTESTS/at/at_cellularpower/objs/AT_CellularPower_unit/test_at_cellularpower.gcda new file mode 100644 index 0000000000000000000000000000000000000000..673ee4225d3015f26ecf5b31a917e2a75fb2a77d GIT binary patch literal 1844 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 aA4RLrj~9LV#h*L=W_b?auGYq1um1=5`LMYF literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/test_at_cellularpower.cpp b/features/cellular/UNITTESTS/at/at_cellularpower/test_at_cellularpower.cpp new file mode 100644 index 0000000000..3bbc536fc3 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularpower/test_at_cellularpower.cpp @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2018 ARM. All rights reserved. + */ +#include "CppUTest/TestHarness.h" +#include "test_at_cellularpower.h" +#include +#include "AT_CellularNetwork.h" +#include "EventQueue.h" +#include "ATHandler.h" +#include "AT_CellularPower.h" +#include "FileHandle_stub.h" + +using namespace mbed; +using namespace events; + +Test_AT_CellularPower::Test_AT_CellularPower() +{ + +} + +Test_AT_CellularPower::~Test_AT_CellularPower() +{ +} + +void Test_AT_CellularPower::test_AT_CellularPower_constructor() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularPower *pow = new AT_CellularPower(at); + + delete pow; +} + +void Test_AT_CellularPower::test_AT_CellularPower_on() +{ + +} + +void Test_AT_CellularPower::test_AT_CellularPower_off() +{ + +} + +void Test_AT_CellularPower::test_AT_CellularPower_set_at_mode() +{ + +} + +void Test_AT_CellularPower::test_AT_CellularPower_set_power_level() +{ + +} + +void Test_AT_CellularPower::test_AT_CellularPower_reset() +{ + +} + +void Test_AT_CellularPower::test_AT_CellularPower_opt_power_save_mode() +{ + +} + +void Test_AT_CellularPower::test_AT_CellularPower_opt_receive_period() +{ + +} diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/test_at_cellularpower.h b/features/cellular/UNITTESTS/at/at_cellularpower/test_at_cellularpower.h new file mode 100644 index 0000000000..84892090ff --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularpower/test_at_cellularpower.h @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2018 ARM. All rights reserved. + */ +#ifndef TEST_AT_CELLULARPOWER_H +#define TEST_AT_CELLULARPOWER_H + +class Test_AT_CellularPower +{ +public: + Test_AT_CellularPower(); + + virtual ~Test_AT_CellularPower(); + + void test_AT_CellularPower_constructor(); + + void test_AT_CellularPower_on(); + + void test_AT_CellularPower_off(); + + void test_AT_CellularPower_set_at_mode(); + + void test_AT_CellularPower_set_power_level(); + + void test_AT_CellularPower_reset(); + + void test_AT_CellularPower_opt_power_save_mode(); + + void test_AT_CellularPower_opt_receive_period(); +}; + +#endif // TEST_AT_CELLULARPOWER_H + diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/AT_CellularSIM_unit_tests b/features/cellular/UNITTESTS/at/at_cellularsim/AT_CellularSIM_unit_tests new file mode 100755 index 0000000000000000000000000000000000000000..94f6db15bd622f214904bce57507c678c02dd72e GIT binary patch literal 410992 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 z|LJeb{D0~Ar+=)test_AT_CellularSIM_constructor(); +} + +TEST(AT_CellularSIM, test_AT_CellularSIM_set_pin) +{ + unit->test_AT_CellularSIM_set_pin(); +} + +TEST(AT_CellularSIM, test_AT_CellularSIM_change_pin) +{ + unit->test_AT_CellularSIM_change_pin(); +} + +TEST(AT_CellularSIM, test_AT_CellularSIM_set_pin_query) +{ + unit->test_AT_CellularSIM_set_pin_query(); +} + +TEST(AT_CellularSIM, test_AT_CellularSIM_get_sim_state) +{ + unit->test_AT_CellularSIM_get_sim_state(); +} + diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/cpputest_AT_CellularSIM.xml b/features/cellular/UNITTESTS/at/at_cellularsim/cpputest_AT_CellularSIM.xml new file mode 100644 index 0000000000..7797022eb6 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsim/cpputest_AT_CellularSIM.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/gcov/AT_CellularSIM.cpp.gcov b/features/cellular/UNITTESTS/at/at_cellularsim/gcov/AT_CellularSIM.cpp.gcov new file mode 100644 index 0000000000..ba5b9a5c7c --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsim/gcov/AT_CellularSIM.cpp.gcov @@ -0,0 +1,119 @@ + -: 0:Source:../../../framework/AT/AT_CellularSIM.cpp + -: 0:Graph:objs/AT_CellularSIM_unit/AT_CellularSIM.gcno + -: 0:Data:objs/AT_CellularSIM_unit/AT_CellularSIM.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* + -: 2: * Copyright (c) 2017, Arm Limited and affiliates. + -: 3: * SPDX-License-Identifier: Apache-2.0 + -: 4: * + -: 5: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 6: * you may not use this file except in compliance with the License. + -: 7: * You may obtain a copy of the License at + -: 8: * + -: 9: * http://www.apache.org/licenses/LICENSE-2.0 + -: 10: * + -: 11: * Unless required by applicable law or agreed to in writing, software + -: 12: * distributed under the License is distributed on an "AS IS" BASIS, + -: 13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 14: * See the License for the specific language governing permissions and + -: 15: * limitations under the License. + -: 16: */ + -: 17: + -: 18:#include "AT_CellularSIM.h" + -: 19:#include "CellularLog.h" + -: 20: + -: 21:using namespace mbed; + -: 22: + 1: 23:AT_CellularSIM::AT_CellularSIM(ATHandler &at) : AT_CellularBase(at) + -: 24:{ + 1: 25:} + -: 26: + 2: 27:AT_CellularSIM::~AT_CellularSIM() + -: 28:{ + 2: 29:} + -: 30: + #####: 31:nsapi_error_t AT_CellularSIM::get_sim_state(SimState &state) + -: 32:{ + -: 33: char simstr[16]; + #####: 34: _at.lock(); + #####: 35: _at.flush(); + #####: 36: _at.cmd_start("AT+CPIN?"); + #####: 37: _at.cmd_stop(); + #####: 38: _at.resp_start("+CPIN:"); + #####: 39: ssize_t len = _at.read_string(simstr, sizeof (simstr)); + #####: 40: if (len != -1) { + #####: 41: if (len >= 5 && memcmp(simstr, "READY", 5) == 0) { + #####: 42: state = SimStateReady; + #####: 43: } else if (len >= 6 && memcmp(simstr, "SIM PIN", 6) == 0) { + #####: 44: state = SimStatePinNeeded; + #####: 45: } else if (len >= 6 && memcmp(simstr, "SIM PUK", 6) == 0) { + #####: 46: state = SimStatePukNeeded; + -: 47: } else { + #####: 48: simstr[len] = '\0'; + #####: 49: log_error("Unknown SIM state %s", simstr); + #####: 50: state = SimStateUnknown; + -: 51: } + -: 52: } else { + -: 53: log_warn("SIM not readable."); + #####: 54: state = SimStateUnknown; // SIM may not be ready yet or +CPIN may be unsupported command + -: 55: } + #####: 56: _at.resp_stop(); + #####: 57: return _at.unlock_return_error(); + -: 58:} + -: 59: + #####: 60:nsapi_error_t AT_CellularSIM::set_pin(const char *sim_pin) + -: 61:{ + -: 62: // if SIM is already in ready state then settings the PIN + -: 63: // will return error so let's check the state before settings the pin. + -: 64: SimState state; + #####: 65: if (get_sim_state(state) == NSAPI_ERROR_OK && state == SimStateReady) { + #####: 66: return NSAPI_ERROR_OK; + -: 67: } + -: 68: + #####: 69: _at.lock(); + #####: 70: _at.cmd_start("AT+CPIN="); + #####: 71: _at.write_string(sim_pin); + #####: 72: _at.cmd_stop(); + #####: 73: _at.resp_start(); + #####: 74: _at.resp_stop(); + #####: 75: return _at.unlock_return_error(); + -: 76:} + -: 77: + #####: 78:nsapi_error_t AT_CellularSIM::change_pin(const char *sim_pin, const char *new_pin) + -: 79:{ + #####: 80: _at.lock(); + #####: 81: _at.cmd_start("AT+CPWD="); + #####: 82: _at.write_string("SC"); + #####: 83: _at.write_string(sim_pin); + #####: 84: _at.write_string(new_pin); + #####: 85: _at.cmd_stop(); + #####: 86: _at.resp_start(); + #####: 87: _at.resp_stop(); + #####: 88: return _at.unlock_return_error(); + -: 89:} + -: 90: + #####: 91:nsapi_error_t AT_CellularSIM::set_pin_query(const char *sim_pin, bool query_pin) + -: 92:{ + #####: 93: _at.lock(); + #####: 94: if (query_pin) { + -: 95: /* use the SIM locked */ + #####: 96: _at.cmd_start("AT+CLCK="); + #####: 97: _at.write_string("SC"); + #####: 98: _at.write_int(1); + #####: 99: _at.write_string(sim_pin); + #####: 100: _at.cmd_stop(); + #####: 101: _at.resp_start(); + #####: 102: _at.resp_stop(); + -: 103: } else { + -: 104: /* use the SIM unlocked */ + #####: 105: _at.cmd_start("AT+CLCK="); + #####: 106: _at.write_string("SC"); + #####: 107: _at.write_int(0); + #####: 108: _at.write_string(sim_pin); + #####: 109: _at.cmd_stop(); + #####: 110: _at.resp_start(); + #####: 111: _at.resp_stop(); + -: 112: } + #####: 113: return _at.unlock_return_error(); + -: 114:} diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/gcov/CellularSIM.h.gcov b/features/cellular/UNITTESTS/at/at_cellularsim/gcov/CellularSIM.h.gcov new file mode 100644 index 0000000000..27fcd704b6 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsim/gcov/CellularSIM.h.gcov @@ -0,0 +1,90 @@ + -: 0:Source:../../../framework/API/CellularSIM.h + -: 0:Graph:objs/AT_CellularSIM_unit/AT_CellularSIM.gcno + -: 0:Data:objs/AT_CellularSIM_unit/AT_CellularSIM.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* + -: 2: * Copyright (c) 2017, Arm Limited and affiliates. + -: 3: * SPDX-License-Identifier: Apache-2.0 + -: 4: * + -: 5: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 6: * you may not use this file except in compliance with the License. + -: 7: * You may obtain a copy of the License at + -: 8: * + -: 9: * http://www.apache.org/licenses/LICENSE-2.0 + -: 10: * + -: 11: * Unless required by applicable law or agreed to in writing, software + -: 12: * distributed under the License is distributed on an "AS IS" BASIS, + -: 13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 14: * See the License for the specific language governing permissions and + -: 15: * limitations under the License. + -: 16: */ + -: 17: + -: 18:#ifndef CELLULAR_SIM_H_ + -: 19:#define CELLULAR_SIM_H_ + -: 20: + -: 21:#include "nsapi_types.h" + -: 22: + -: 23:namespace mbed { + -: 24: + -: 25:const int MAX_SIM_READY_WAITING_TIME = 30; + -: 26: + -: 27:/** + -: 28: * Class CellularSIM + -: 29: * + -: 30: * An abstract interface for SIM card handling. + -: 31: */ + 1: 32:class CellularSIM + -: 33:{ + -: 34:protected: + -: 35: // friend of CellularDevice so that it's the only way to close/delete this class. + -: 36: friend class CellularDevice; + -: 37: + -: 38: /** + -: 39: * virtual Destructor + -: 40: */ + 1: 41: virtual ~CellularSIM() {}; + -: 42: + -: 43:public: + -: 44: /* enumeration for possible SIM states */ + -: 45: enum SimState { + -: 46: SimStateReady = 0, + -: 47: SimStatePinNeeded, + -: 48: SimStatePukNeeded, + -: 49: SimStateUnknown + -: 50: }; + -: 51: + -: 52: /** Open the SIM card by setting the pin code for SIM. + -: 53: * + -: 54: * @param sim_pin PIN for the SIM card + -: 55: * @return zero on success + -: 56: */ + -: 57: virtual nsapi_error_t set_pin(const char *sim_pin) = 0; + -: 58: + -: 59: /**Change sim pin code. + -: 60: * + -: 61: * @param sim_pin Current PIN for sim + -: 62: * @param new_pin New PIN for sim + -: 63: * @return zero on success + -: 64: */ + -: 65: virtual nsapi_error_t change_pin(const char *sim_pin, const char *new_pin) = 0; + -: 66: + -: 67: /** Change is pin query needed after boot + -: 68: * + -: 69: * @param sim_pin Valid PIN for SIM card + -: 70: * @param query_pin False is PIN query not needed, True if PIN query needed after boot. + -: 71: * @return zero on success + -: 72: */ + -: 73: virtual nsapi_error_t set_pin_query(const char *sim_pin, bool query_pin) = 0; + -: 74: + -: 75: /** Get sim card's state + -: 76: * + -: 77: * @param state current state of SIM + -: 78: * @return zero on success + -: 79: */ + -: 80: virtual nsapi_error_t get_sim_state(SimState &state) = 0; + -: 81:}; + -: 82: + -: 83:} // namespace mbed + -: 84: + -: 85:#endif // CELLULAR_SIM_H_ diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/gcov/gcov_error.txt b/features/cellular/UNITTESTS/at/at_cellularsim/gcov/gcov_error.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/gcov/gcov_output.txt b/features/cellular/UNITTESTS/at/at_cellularsim/gcov/gcov_output.txt new file mode 100644 index 0000000000..5bcc3845ce --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsim/gcov/gcov_output.txt @@ -0,0 +1,12 @@ +File '../../../framework/AT/AT_CellularSIM.cpp' +Lines executed:6.45% of 62 +Creating 'AT_CellularSIM.cpp.gcov' + +File '../../../framework/API/CellularSIM.h' +Lines executed:100.00% of 2 +Creating 'CellularSIM.h.gcov' + +File '../../../../../platform/mbed_debug.h' +Lines executed:0.00% of 2 +Creating 'mbed_debug.h.gcov' + diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/gcov/gcov_report.txt b/features/cellular/UNITTESTS/at/at_cellularsim/gcov/gcov_report.txt new file mode 100644 index 0000000000..d2de0153db --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsim/gcov/gcov_report.txt @@ -0,0 +1,3 @@ + 0.00% ../platform/mbed_debug.h +100.00% ../framework/API/CellularSIM.h + 6.45% ../framework/AT/AT_CellularSIM.cpp diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/gcov/gcov_report.txt.html b/features/cellular/UNITTESTS/at/at_cellularsim/gcov/gcov_report.txt.html new file mode 100644 index 0000000000..e947071c36 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsim/gcov/gcov_report.txt.html @@ -0,0 +1,6 @@ + + + + + +
CoverageFile
0.00% ../platform/mbed_debug.h
100.00% ../framework/API/CellularSIM.h
6.45% ../framework/AT/AT_CellularSIM.cpp
diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/gcov/mbed_debug.h.gcov b/features/cellular/UNITTESTS/at/at_cellularsim/gcov/mbed_debug.h.gcov new file mode 100644 index 0000000000..0a5fd00fff --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsim/gcov/mbed_debug.h.gcov @@ -0,0 +1,84 @@ + -: 0:Source:../../../../../platform/mbed_debug.h + -: 0:Graph:objs/AT_CellularSIM_unit/AT_CellularSIM.gcno + -: 0:Data:objs/AT_CellularSIM_unit/AT_CellularSIM.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1: + -: 2:/** \addtogroup platform */ + -: 3:/** @{*/ + -: 4:/** + -: 5: * \defgroup platform_debug Debug functions + -: 6: * @{ + -: 7: */ + -: 8: + -: 9:/* mbed Microcontroller Library + -: 10: * Copyright (c) 2006-2013 ARM Limited + -: 11: * + -: 12: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 13: * you may not use this file except in compliance with the License. + -: 14: * You may obtain a copy of the License at + -: 15: * + -: 16: * http://www.apache.org/licenses/LICENSE-2.0 + -: 17: * + -: 18: * Unless required by applicable law or agreed to in writing, software + -: 19: * distributed under the License is distributed on an "AS IS" BASIS, + -: 20: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 21: * See the License for the specific language governing permissions and + -: 22: * limitations under the License. + -: 23: */ + -: 24:#ifndef MBED_DEBUG_H + -: 25:#define MBED_DEBUG_H + -: 26:#if DEVICE_STDIO_MESSAGES + -: 27:#include + -: 28:#include + -: 29:#endif + -: 30: + -: 31:#ifdef __cplusplus + -: 32:extern "C" { + -: 33:#endif + -: 34: + -: 35: + -: 36:/** Output a debug message + -: 37: * + -: 38: * @param format printf-style format string, followed by variables + -: 39: */ + #####: 40:static inline void debug(const char *format, ...) { + -: 41:#if DEVICE_STDIO_MESSAGES && !defined(NDEBUG) + -: 42: va_list args; + -: 43: va_start(args, format); + -: 44: vfprintf(stderr, format, args); + -: 45: va_end(args); + -: 46:#endif + #####: 47:} + -: 48: + -: 49: + -: 50:/** Conditionally output a debug message + -: 51: * + -: 52: * NOTE: If the condition is constant false (== 0) and the compiler optimization + -: 53: * level is greater than 0, then the whole function will be compiled away. + -: 54: * + -: 55: * @param condition output only if condition is true (!= 0) + -: 56: * @param format printf-style format string, followed by variables + -: 57: */ + -: 58:static inline void debug_if(int condition, const char *format, ...) { + -: 59:#if DEVICE_STDIO_MESSAGES && !defined(NDEBUG) + -: 60: if (condition) { + -: 61: va_list args; + -: 62: va_start(args, format); + -: 63: vfprintf(stderr, format, args); + -: 64: va_end(args); + -: 65: } + -: 66:#endif + -: 67:} + -: 68: + -: 69: + -: 70:#ifdef __cplusplus + -: 71:} + -: 72:#endif + -: 73: + -: 74:#endif + -: 75: + -: 76:/**@}*/ + -: 77: + -: 78:/**@}*/ + -: 79: diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/lib/libAT_CellularSIM_unit.a b/features/cellular/UNITTESTS/at/at_cellularsim/lib/libAT_CellularSIM_unit.a new file mode 100644 index 0000000000000000000000000000000000000000..e433cfb5ce9892450e6ab13883676348c8e11be5 GIT binary patch literal 55044 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
r4Ar-FTDSvXzf;OOx#Th@^(|g0)12GD6w;F& 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/main.cpp b/features/cellular/UNITTESTS/at/at_cellularsim/main.cpp new file mode 100644 index 0000000000..0381b70389 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsim/main.cpp @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2015 ARM. All rights reserved. + */ + +#include "CppUTest/CommandLineTestRunner.h" +#include "CppUTest/TestPlugin.h" +#include "CppUTest/TestRegistry.h" +#include "CppUTestExt/MockSupportPlugin.h" +int main(int ac, char** av) +{ + return CommandLineTestRunner::RunAllTests(ac, av); +} + +IMPORT_TEST_GROUP(AT_CellularSIM); + diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/ATHandler_stub.d b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/ATHandler_stub.d new file mode 100644 index 0000000000..5826c4e342 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/ATHandler_stub.d @@ -0,0 +1,77 @@ +objs/AT_CellularSIM_unit/ATHandler_stub.o: ../../stubs/ATHandler_stub.cpp \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../platform/Callback.h ../../stubs/ATHandler_stub.h \ + ../../stubs/FileHandle_stub.h ../../../../../platform/FileHandle.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_poll.h \ + ../../../../../platform/platform.h ../../target_h/device.h \ + ../../target_h/PinNames.h ../../target_h/PeripheralNames.h \ + ../../../framework/common/CellularLog.h \ + ../../../../../hal/us_ticker_api.h ../../../../../hal/ticker_api.h \ + ../../../../../platform/mbed_debug.h + +../../../../../features/netsocket/nsapi_types.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../platform/Callback.h: + +../../stubs/ATHandler_stub.h: + +../../stubs/FileHandle_stub.h: + +../../../../../platform/FileHandle.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_poll.h: + +../../../../../platform/platform.h: + +../../target_h/device.h: + +../../target_h/PinNames.h: + +../../target_h/PeripheralNames.h: + +../../../framework/common/CellularLog.h: + +../../../../../hal/us_ticker_api.h: + +../../../../../hal/ticker_api.h: + +../../../../../platform/mbed_debug.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/ATHandler_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/ATHandler_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..4dc3a4774181fb9bd07a4c87a9bcfeb6a8a1061f GIT binary patch literal 2300 zcmYdHNlw=?F);n{ePtU11H)nkAmO&)j-Wjg0|O(FtpFl`fDJ;yX=f-O7nKFohb(^# z$bkui*dV|U#4xj?z#?FRkr_x8Nq1UH1z%>c+qC-t1H(c_7N8hRKa2(mfz)1{9Fy%C zkbmfyuZ1Q^Ef*HGFg@rr%nXGkrB>1F^?&YYHdq2O0~iFz0Bnz>mrI?Y?6V_Miqj8+ z)WF=1tPqI})^lU3X~N5D-EGMJKvDx^g4OQx{i77bnE99#^JlfqNS*%n&$D2bBCwkT zU?x&VgWdD#(qn!>)7ToPB{nU@`uBfEr}~+acl}!;CpLogZ~)x_3v)b90^8?&@tO8V z-B81?mbrQ8_F*vttSA2LV}qofQ7e$+4M{CnjrTJKZwApfbMdKps~M!|ljt3dtOm)w zU~>vz*Vh~>sM_=5W$bN``>>@Ez2kj3Di@^W@R@VVxwopXMdu4XbFN#8NL)U#_5(h1 z-sQ2{ZTd3x9zHd_QntoV3Il%NQ}cT=C)b^4@dEhNyw$zN!8tMFEW7>1DW7A$H}$ zYkX=rC4!6g&hI>p&#vZDKGCIp72^2RENt7Va`eRmM|^7b-ES`1=iS(f&pkIn*~DW) zvvu*Q$#DJ0VH!Sz2cMcM1(uSgj61XNshQOOE3d7)uBls|KxWUYU(V!w9 zR4;F^{atjUVMhxwYL|#fa8~q&o+UqBLgf#;IZ<%(O literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/ATHandler_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/ATHandler_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..d312561a8ddc0276ebbe3fb934ad4d3cd540ba34 GIT binary patch literal 15212 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

ZusY(TWCdIS{)LPDhXmY{z6vklj3@!hQpkU2rbN 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

Cgioa`tI3-mX{?p($ z{pvddH~Wq5G;c*YY#S7mY2cFyFw<{;=A>&Hj+r6PT~rAMP^vk;d!O zJp$)-3kh+AWQuN*}w3UviRHUvGR}LmqaN~F1eGJ{0&d| zMPB@gP#5`vQwv;KR1}Id7DcM-LSW?bh?m?W&tCt8=r8AAuppOMk5q?f3T1L_e^B_S zf2{PEm2>^2(<3ly=Gc<@%A&fms>)DNL3#Nstc%>-hWy#CH7;tzNL*3X5OES8ee&YE zs+wqW(i?w)HB?YjQ?QnR;z(ir%1~KlNtKnZ!v%$fH4#>opqhfpl@V@P8gqfl%PJ!* z1)8aqUQ|_45vhb0T3J;WNk4VoqEWSV1x2eV>qu#+q^6((lB}$$s^_(W(M=t7@Dmuf zXzL>;Z4Si(bUhWWJK>~Z!nt~-=f2QP|J$QTpHKOk>9-w4`o%8kuRejMS8AVv;5Z`Mfyg{zYATl{;ofY^cPY(GyfZoBK_r*-pv2mqe##5Z!>?~FFsQL zYo`3o^dB8X`kgN6zdDNayIj)$`zX@yc1eH0C4CSuochyr07Cj`p)2pZP*lyKIgHnS zaH36f;53i?M|Er%EvnFeQs88JrV;Z9xMKb^{Uy}0!nAn1w3`E|Krl9H4TZQ{{*CA? zaAZ(=%)bYmGXG4%Wd7DMK!77(5P}Mg{=qq?vL8;m%!ASoHZcg(GRr~7LC8)2oo{HC z4B|xn@fNSte;#0N`46W22T*#x$oyvk!7cy2F8QNKnSUW*Zu#?jU*=pIb&zH{8!)&0 z18*XC^!F68{C(h*`CkZ_TmBbQ`F|<@3n0B){!K3Vqp!>SZ>Riaxn89FQNDR_dd7Ya z0XO~gsDbdl67$P^cudS;2D%<5{Z0SDTL_##x4#bobIZTv2=jj*(!1Gj*jri=Gyfn! zGXK7ixm*4hQvU0-80W7ne<~z)%YQND-$E(Te+I%S^T+S^yXEggXM9{F#7M<)nVIxIi-1+x5ad*sjW zjjg8ie3ALT=8^wl%6}&%#QgCVugpIc#&@^!Z=w6Vvj3I&<9?!>{hR-xGdBCbESLPx zfb_|Li)n_nlk%7T#`Ky&T^|HcFJpA4tWf2UXeOE48YCrkU6Iu>8ozw*d`=U|IiJE6I`q;IM)Z}-&)26s(vP@M^Jm8YNsn{jvVADR6pjf4Fx7BI1tH5jy=>f++RJ pxYQkmm2S}@`Fjv~5Zwu<%)b+0A`6u;e22PNU-i~k{wwqUe*g)UXT<;j literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularBase_stub.d b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularBase_stub.d new file mode 100644 index 0000000000..73fca9907e --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularBase_stub.d @@ -0,0 +1,53 @@ +objs/AT_CellularSIM_unit/AT_CellularBase_stub.o: \ + ../../stubs/AT_CellularBase_stub.cpp \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../platform/Callback.h ../../stubs/AT_CellularBase_stub.h \ + ../../../framework/AT/ATHandler.h + +../../../../../features/netsocket/nsapi_types.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../platform/Callback.h: + +../../stubs/AT_CellularBase_stub.h: + +../../../framework/AT/ATHandler.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularBase_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularBase_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..77cabee0a8411348f5b8493de5c60625cdbc5b0f GIT binary patch literal 260 zcmYdHNlw=?F)%Irv9gVUfnl)%kZ@aYN6?;$fq@aoRsaz|zy_hXNyq@KMu;UPpI^*R0H2yU WAtvEMn-7-kXf{{^GY94lkbwYwupC1G literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularBase_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularBase_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..23a1ed08d4af46fcc05afaa1fdaa450d6c04049a GIT binary patch literal 824 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 LxLSp9S^xh4$Umfk literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularSIM.d b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularSIM.d new file mode 100644 index 0000000000..93c109fdbb --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularSIM.d @@ -0,0 +1,69 @@ +objs/AT_CellularSIM_unit/AT_CellularSIM.o: \ + ../../../framework/AT/AT_CellularSIM.cpp \ + ../../../framework/AT/AT_CellularSIM.h \ + ../../../framework/API/CellularSIM.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../platform/Callback.h \ + ../../../framework/common/CellularLog.h ../../target_h/PinNames.h \ + ../../../../../hal/us_ticker_api.h ../../../../../hal/ticker_api.h \ + ../../target_h/device.h ../../../../../platform/mbed_debug.h + +../../../framework/AT/AT_CellularSIM.h: + +../../../framework/API/CellularSIM.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../platform/Callback.h: + +../../../framework/common/CellularLog.h: + +../../target_h/PinNames.h: + +../../../../../hal/us_ticker_api.h: + +../../../../../hal/ticker_api.h: + +../../target_h/device.h: + +../../../../../platform/mbed_debug.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularSIM.gcda b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/AT_CellularSIM.gcda new file mode 100644 index 0000000000000000000000000000000000000000..d51efe53e75b83ad63c86838a9ff701338894f09 GIT binary patch literal 1220 zcmYdHNlw=?F)&s5wX%(Yfnl)%kZ@aYN6?;$fq@aoRsaz|zy_hxGFU83Z=tyl|eob^J!n9nA(yKxP1o1GpI= zCdiEe=4O>X8?QbRhjJmJxO}jJW83G>FTP# zU)5FJ8_&;;PqlV;>}&ab^|c@f!d-@)J@sYZN3T!3+_~}Rl^aaCaCE49cC0j!>CTQ8 z`b*{Va=BQ^4?dRZS}ZLU7G~xOCzeZ8yf;SQ{oy9_rc52*q5Td5sY8w~4`ULNI%L@J zuD3&ebwVBT%?WkLuSuvwer-Y>^6L`nkZ(<>V@#~CYYfP5OsGSCQ$ii`n-l7gZ%L>_ zeoI0f@}w~!-)5fr^<(Xj-)bJl$C@Ie%zE(zK`z7|AAr*M?Q>#kc`l@{v;+C#JuhaK z3zqcVAL|7N7IOso_NypnmP^0zW5^dP3J_vyxM1P;kT2G_m{~4Z>=VcrYeLK{7cBM_ zX84Ray#oopWy`Uhw_)>CN&GNv?t8onWWEH8`Gu+rwfCmdL5bKjE=thBlBDF;^C-1l@1RuJB9$~#tH+WPVI=3hS? zfAa#kNwKNNUQLKg!1%6vA4cX*!g+E1$sM!s1o8cD258xsz$;qW0?>I=SmDd)gS8xtOJV9_7Qw_k_E%yJnc{ssAB4TzcLf~98~ zU#vj~7XAwPVjUJU%cWmw&%;M*u!8U|Q~qjSYo+P^=H8yS-oA+6C&lAT*Od9KXmMt? zu((uQD&&&Jz9&YnO&UI!L(u;`y+p+l@jrmRvXn8@Rp$SChHkM8s8&eE_H0|Hg6@`;?ebC5cD01Np|b-C}0BV99v=vF>(YF>jD>zwQw;%cWoJ zJ;)d9UNN&=uvlZr7i*80SuR*<&jiHMcaDN9aHQPZ^_V-hSykJbCiZfpgESDx5L>za}(uKCFkG1?CorH#-{(t`@Ecw zvB7^_`pB#6+t^xaY%`FC1dBEy-?bzrRY|aP?7mpF{R%?LUvHZ`^ibi<-p^j?IL+Ly z`9=JGXqT{1!8xWY zXuDm;qdZ!_4O`v`K0W`%D)}mL{cN(T8EfosLtN`8=feLsPo-V|+B2>A`47FP`pRd& m+kWtL->b>< zwrVyH*fm>KcE{6??!dYlpt6xQThG~Fv$bzuI$O=Q5Kx}nuS%y0QPl1AemL%{+4@Ay z*57$B-mA-_to*m<)@*(BpljN?*HL5hVY3Y(u97$9M!BLuKD;$$)dWu2w}KRP1C-*Ye{ISe})0E&8_aKvk5D2r>sN0|W zDTFv>4saTmid{Pbqj7q@Z;v^UAfTms{)lwXe>Rw$*;zTr)LC4bMdR z+eI$Iho@ugeae=}XcFLX{8dK${+ewV)+gX$d+i4`+m=I&eHJ3|7tevO1=3rzE%X5p z2H%U`^Y-BsCgtp~<=2TJiuBeq=%H@W04h#~8rOb$;($d{hJ|bS3l3NwY`#x5LN!+h zcULj<4lITufNRmr0~Y;?@d(}hKeXVMuT<2{CwIK<=HS!Q^^ne6`1a^8byS*}&`)7r z?R&3gD>$8-kHEZ~^bv246j$(OQ@#BadBHp0liuMi8MyZ!1UI>ix4d-E@aE+p@Z}tC z{k-+L)VQJgW9xGlhTi#dd7I98$I9DM?B(OC^S+|F52kA#gbI@rueaMATo3*~>XWx7 z{XaJsSnK~=bHVhP5(B(k7$b^W7O1K4^hdGH$@J9rCuiTft@*st%>8Q-9iAi|FgK~J zq}*f(d~(AD=K242eyE4Qia(4$^VokKIsMPQt)q}-hzFk+eE1C;hu_vV_`U0+-})Q! zjPPRgz@I6f)HCw?qbsKGxcFbla)bw;7d&-z{i%C?yR7}?-M9Y}d2p?EFzK(Qi(1zG zPtA*`tZh*GXC6#p;Qf4{BQpK+tl&kz8yUc&YPEuyub6&S&~@Uh@XsdRy}9HXEP?^( zU{d|`Y3r8!?8SZmX?b7%F6)kckKFK|+V7Q$?Xx?c+I#4NYi8q$;Gpe)Fl{{;-lKqd ze&g{~^$Y9fS?Vy;S{9mLeTvnvur>gwJ}zHOLPN`zEnOBkEgI|S=O4(z~Z)eXRJ8Vl~@z$D+v}y z+vADi&Zb!Nlz4A(ODvM;>xuOib8W@T>lQXPh8h|hiX#d53p1g&y|XypbY^ey{Kjw< zsRp`)`?}f_0xN2bHb-HnXI+_!XaU z|H-g!&CGf>)7qVNumk;IocF)v#S3LlW*#x0UsLMJ&>Mqgsg4!mVrfU>4;o(R%?zc9 zzub_&AkrI4D^m>vRmWVv3VojO*JtB)gN`qmV`o9u=Tm*4B7Ww$T0k;0v)a27&_;t$ z(t@nEYPMz#_N&5!;XjF+`b|VK72@-&gOZSmLbJwB0nJq9mLfgbrVdZ&!{hq!m_9tJ z50B`>!}>6w4-e_XgZl7*KHRSl_vypE`f!gv+^r9H>BF6ETHCBj)QZ&f`^hfZ{yNZd z$b9&h?LP(n4{e5jIe39-4TFzmAATY11?OVcZwKOl4}fpv;dv%D-=1RM0HAKC`mYV{ zQ~3-Fx1_8roStpmS60c!%joCfGyG5>$fR$%Z} zUjaDtnEb)(GA{$}BM}{ZcIJ&BLg&Ap`Gk{SpZN={3TIF2X#6+$oXj>TMJF3F(V_AK z@$Ozi&d= zWfuZ%GSjtvG<~V2&j;EPrknCl)AR_?Ivl!^e+&v9yZ}Hj4peBL57`~5Ji3lr#baL! zhg*OGM{+)TOW0eZsifj*seo-S-iynP~brqUv z2(|z-(0Pj=gy9E$H`BKan00^6@+H6(bbhvPo0Fg8+lek>^xa(FaTv#RN6z!fzB|G9 zG!z&)1=>EIV3H4j3TN2x&la7Ib_{mL0$4rfOSNLuIfd>LqmzpR>`r~#ja7{`?S}lLK zeJ+OFNgc5+%l|bSr!&8DZGVrA8suBYD?NL5BAcyGeu6gf`}E1pyMU7K(<PQ=byp+={o=O1;DdfH*U3kJqT^qCrzr^{raR?oov!4oi=vJh5BTz zGVTt2(yvag*C%JIlL39Q-o6_|@6{(8?fKB~efs2FWzpC4$!2x(x;{Byo%~6kd_!rl zU!QzaDf-@IP~GxxQ*4&4&n{ADwyg$%zYaNUA8a*@fzNR4t{m){obTg5bU8g|Ywo3r zy979AF}EHvYE1Z-BNxk6}Xg^a_RYVRe*%txnJ4_}@R8f8e=uHkq zSJ;jewLEzYD9<=lt!=j|_bQ<8GDS5e2M2>5#{Pas!l0qhR`?8m5E?+#4M;`5vyTJH zB!{ZypNCX?E}+#&QLe5j7bwa~K+kX}TH}k5f@ZbX0%g5J)#WZ$<#qtNhbcK50n0&u zBx~$aJhub=Ugjan_Y~z>Kwl7)s}yBFpzjLG4;96i18xEzvkliP${0Y85tJVz#WxMm z*$!n2V*Xq4|55-?WkL@2j-{!$A+-}I{SMV=*NaHCF9Omohpd*D+BCmc1|tDJdL%rCg8*@=zrtbjS9*2GnRIi-CItDrYhbtyT z?R$XfX@@bXtY$1sGQJK>A32N|FjcFxaWwaM#f=uV^Wn;8{%4 zgGqIvW}2ay>Ve^8W+JVX6)fbn<3Q>Yt8mD3v5CwXoK`rXV!#yeS8 z{!4)OGRbVQ910@@%bmncdrpq+xUOHs}R^c#Y5g`#{9&>u4;2WJRVpWTWFt@bGJ{Knx^j<4Ld zSn0jT;d>i+-e*2bQ-9!4v-9C96h6A+H5E2*AYmQjfl|s;-7%WwdWU5ZkWY13lp0u) z40NO7>jL@)7alF^CyECRe;M%XWr_ z$Z9AiyQ>6k?fhl@b6~k8D5J7b$cUYHfGfl0Cp%8>#uLAP8e@bx#l;XuHJD<7V-2>%S2jtaaOxm9T5-12Tz7tN~14`{hpv!nT(Zkv|bNw#K(NTltf)dv&+vACLJg%`yeK zwL$WWFrPoZC)Q%+7f*-0Hb{OD#b|@%m!e_y1z7&n1~AkFyqwH0$7~7s)lWf@Y(EN8 z<1pXOpE(Bxwf4&VP#g%l;uBQF()kmS#jlx0<}cdgFfCStNi!{JKqj59Rl6l5X%^N- z`Prx{G0nle_Q?FX*ks+;`IT53HEq7pv;`)eT6=_T#?cJU{MY&QtlJxN)bqr?UOHJ2i9w0rgM$f3_bt6|?=f06Z&y zxb=59s+cr*eP+f;kjW>FkoQ}a9|Iln;id>I1a&JxxcN2Dk6V`W{Fu*H`C(AnDj3}f zbH{wlme>VT7of6M6`mHn?Vp2f@l~s{cT~xIThBxV^ANOqpw{!SW)za6Iu3hD&k6-f zjC~o+V~71p^KkkvuQ+YJKWsf+f4`${CNYo7;9!qZ51gnLz1< zPc6#u?QBcuRo)By_U_Ao|3$g>g zKLGJB@Nu-YPC|Y&sr@|w?A=4gfWyM47E7Uii*VUy6#`TaA0-1b%V33>arjKgSwnD5 zr!2h$OPc8cI*0i_o{wJ6EAb7k!$b*#4*;kwT{7tSt$k0W1Yltq_dF*9wZ6MOev zKpB8fEf!bCl)S4P-ai4$J0@=fF5@`8pP_U1?xC=iUkx7|T&l@n%#F&n8Al_YvGbOV z%aN8*h&zG4o%JW<7HGzJydL-Mtg(jRLazZ=s+_J@6E|A74Fv2og@Yxu?Ah3FAWVy{ zM3?mKY_=M38O!P00AjLt-vTmTN|n>5< zlBcD}ISr>}-_BLm3YLLKxR_GO-o3H|#AlNY0kaRW$L1Cc&B#3>clqIm*!d7%e8*Ws zht35EEO(fdkvntftf32`R3_mt+_Ez5jNGAsBFzTcpb5Y@W+>bWQ5l$a{COY+s=@=7 z9x~3t!_Y%*(YlTIC2wP8P};bGSWpD5$MYj>IP82{Im404KAdZAT~33NS0+K!i;F!3zeVF zECiXwAYfL3?rvqy*~(mwb?3kcQPxE{b7xv;=#h|}mrvuW@=#m5{rqINz*ML8g=L;$ zPNjae0c2r&LS~D#$G}<#qKI|kp`>XItbVM8IFfPj!Q5J8pI8tWs_R{x1@_PbZb^|H zEa=KT#2!Ala%6MCWeb!y)n-}20$fto713zd47)UWDVEp%gG}`(8&6sONvT4q6fC^h z>mY_>8BuE^tA#?Ba~CaCiku9mE`TwnBekSUR&kES~r@6!6zm0PdeC(p4V*S_B6X}ed74KP7 zJimUS<-j`A-4RK&#CtlExWV3N75DY_6t{OpJNlYqNfwgJ&*yc;620;0npi@!ceFPZ zw??DI{T0)~)5@lFw0HIOPigJyD=v2=nPSuVn%Wb+va;CPSXZLAIQF%^SYIqft@QHI z%C)*m0cXr0RU;rf_A1rD^JL23Xm>YW`NLHt zJW>T5&>vmBk?!_zVqJHv7XS!qb@8sMc=x(UQ%6k8sETxSG)1CoSYl12tGOfA1E(O$ zr~n@YO9Qc1#Rzpa$66o{R|Q-ftjST8IG~_OccQH)7HKw!+J0f~bzlQO*PzaW?V|Cn zmUe7yHf$X<^|f~-rnGm>MGp>PC!B;m0MsEcc*%Kc`x3E!fWSO#za?>$0PzOa1bRS0 zE@Oi2e+r%;^9}NiAMSq&9&G||6=WZLf!Bsd7z}v4?Q0vAnUT@9$am~;UHn9Syx-sK zn>b<%h?+D42=*ZVmHwv&&GbLxn|tU#{2%y^De%oI@Kvh+p#nUeR-pOL8|2^lW-{yl zr;-2QcfLghzJ-VRf9k6!@Qo|*oe0AI1q`5f8CIML56@+0;lIKDmO+dCH&ZPTM4&pT zXqKwQx3pl8@A%<^&O#Yb_xJ+eZb~4%x@&e3YPW860r3gPPBK%;(dwGnN3!>Bhs4)$9j6K zaJaiCw$?(Hsjc1Jh{b!X-uAO&;e-_|BPR-jTQmc}(&aOe)ny@&0fo@pK<1kEu4XIN zg-)-BkJSnlz>~UR^@K3{rX#jD5$_J;0}N2XV)fKz1rL*jC#-D`h03BZYC`QGx|ekO zUwe4iX_R5IsXei?pb6oozLu6)53~)&_ta7_05+qg9a`0sc47UmS%lp^lTLtttyGTij3*b{LXs&OkA}(Rg<(R0kY0 z8Zg@kJ%AFyRBIDW9pUaoj|xZD1|t%=2n&|7f5{n97g*=^#O-zc9j$0>nplU*4siGtg-#<1(r1P!HO3qy1mAIOD) zr~@{h#d^9T9pR4lUc|vqqHR5DY^b4;wCW5ss+0pj6WD=*Mn^BKo2DnvU`aB5heDAC zbgHS~RDIphoiJp%uz1*cI`#;uYt=Qt8X~N|1rV-V8g6J$OQN~F<3CA zn}SnQrqht(cY4?AjCFRvBFiaks%{t%>R`8}7!;OT3DZuCBodKmTd2Mv=oVq7^>tyr zAh#pl)f!NKiqEye7c-J>Zi<8f$0EVOz`qmihT1`45(;cE1GTjGhgCyhoTc~A46IK@ zSZ)!liXC1%qX1!{o#U#jBNbgm9X}P+1pOS?k2Q<$j}Md=l@*l) zN=t&%N~V>}2u$fr^mWDNw8pw(J?&9Ajr2s@=D^~1%Cxe;l-9tMmhPT7Myx47=!H{o znZ%T692_yy8iR9)P|-D0fGH7+CgMF)dJ{chNmNzOb4E`pU3p@Tqa#De?dy&8^g;%{ zVFNL^8?=ang*qesVPzB8eSk*oT`h4nmqJrg2NX0ueWEDUBNU9;-qo5qe|mVMa`3(`v*oasfXJ4V zpW>a>rC@)I9l8!ss|Clmx*|w%!KD9%8yD7wmM(9!D5jc@y1cGod42uTWsM=XkO_0I zQ&Xru3SqI+!(w3lGwa)Ua2rbwZ4lL?X1(*PtCxiu8o~?f!pj@nCgyTAJ)p0pSy{z? zSd?KnFA0}JE}T#^w^_l8rOTI8hZihaTD91`)R~gZLIBP0}+Ls<`G7;4d2Z*MprZ?a&~t3y9V0VTF}{>m_ZIZVaz@QV2h8yD7{ zs5;Kl3)L`O2hyCUS7#9UAcFO_H^HTBs~S0x4q3B~jw(btE~a8-noZS`P3Z(qZ_LxP zRX6m`oSB?jw9%XaWf~nPUod#6QK{P36Q$*7j}!iv!LnkVixFq20iKBT=$_Q$&xJ1- zH0HoieOo6Ea$eYmm9kDLxy(^Rhx;#ensW?@O{+@|aAbYKp$10!6%tIl`U)v^dNg9wlBEre zmY!%KmMNchTtQU>P2d<%Q_2W(x;{BG1xvYKaqL6DP+bGV7-y=USTxqY)^)j2h7HxT z3gjSkP-mtOaNInDTW;*T$*O1Q;R8VcwA5o8Y-qv218X?^!q@ex92QOK@=D8bhQ!L+ z<6Ua%hdDRKOCq#za?uOd@96@9rRL>$2(CA&H{r@P(bnE;MWP8X2bOek{a{%WT&S!G zJ8Ouw7R>MQC|o);)0USWPRX{(s8Cg!wr+q`OMFeNOO0n|IK!+A`v^`8OcQ~ZrFbJG zy&aJz%jtLJ=eRP|16NymZDSu5a z++BON9EJv7jjA06XX%Akp5~>DxGJoMi%D3rMZt$SXej?ky;`b^Tbfu?Gb@gc6 zPl0_#_H153PM8Q+b!L5VRSYXe<--)!Qa#jC7d{YsVA-q&4P9u$Wa(nT3cd_Se}Kra z7Q01{TZcP!CKLXUbWCRx23F~@L|eRB`No$l3-lhHah=kJ8z1H3S|tST6K_f`Sd-x< zW%H)vOlNgA?^1IS3ot5Cn~KI787FoaU80H*tZrZ@j;{82Hk!RQ-rhU`X7P!0 ztq?>eHA8g8&eEY;1&Z#t+kmX#OOH^K*GO(UQ|*{zo8?wOY0z;(b6PhHlr}cfugX&# zu^~)rLAd_pEu#ANF51~#29{J!Q~RN~KE$0z+!+W?Go}HjxCrU@XFM1+R7|aGM#L z0v89c{qO3ZDX|Z(QENlBOP8JETtwjV$fb*e#=wKkk4{&nG9LP{!ckiic*_LUqRTa5 z({k1K&=S2&z>8>{*LktRTBP_)Q28{j!*ER(!_{g@xPk`@%)R06mM+|!Fji?vD^{RI zFfL)GX|qzW9Ld;AbR7p=y>0QHgx*q3&2Zp3ws zo|5qLOx=WnizT>FbA*ers^#cwCHE`QwN218JsfFGhnI1Vyp%=;UGB_;qkTO+YALEb zKXpog`M{-@gU03)`a!tstO(va>(x<6U3I$@gIQkT}MX*F9>DOY^YW=jIEf)B!}pCuLm?P6Q4k7tOfSUsVgc)X80%lt49qd1H-vos#ZN zxZ9w-$z61V#o-oqlhi#Z<#xm?T zB>hHjhgj-vG6s>f)wK%O%_(=8zwBn2zS(3hd8$JvFRTjbyOlVh=}VHHl&)X87#@79 zs+t*?u)GO&zWVgtpDEM&)LC#ta9UAGSy9o2g&MLvH7|A7x=1%4f3r94o#a)W!1A|4t<3~=V!{+AfH2Tap>!*yn5D*>CKAl z)NP+#zeH&^SUm%r!TRCX2k?XG0r>X96#1 zNTKU?1OQWC41*&+%AHbA#yc4(1bJ?O4<>vfJC)~$KI9n#H2pPT%TiBUvmP1Ww3&Vp z*d3F4irS$+;FQ0K=<4ZcrY}~_&;?!oW06ej{V!Zd@T``4yeW;8p}#uhg6E}S2+&KT zQfTN`w(}e}*@QSUk}r>P%FI&yc~(GmGkq1r;fH59MLHeMZG5ej;Qt2TKBHaA_W;{S z{O{4TT;|h}8Tu_yz>!SbA&c_&3;vr4A0T`}vIwZ6zU*Qkmi0RE?;-vGQ3pfEp!`jQ z!(*K)O(uK~_4QuD`w53aD(xX0ze0_2_`II*mzbZa&9El9v4b4-9jr83hW;kK3tp0jA&_B}df-#j z@MBd_C1V=YISMBu7&vA#^q1HLig>yl&F>|Lj432#=twV6ln>9$x}*$z(A6bnSn$-V zOUl4!TU}BHKG^D#GVqaBk*eVQ7$e@Qxg4++V7EeJyjM~=d}WzArU^jYVDU*dt^;er3g z1OLba9|NxGW}jm{@KO(asR!QWfnV-{V?0HBeg^tt;%~a$;K7gY_CWq?Xvpw4+Fm2P zjE06&!+v-@rIZv$WFwFyBt>mb8_bEP}_tz`@ z7)J!lyuw4yLyEu9;pY*xSK-GwID9!or4K#i;0sf^E~gM?Qn%04*97=tX-Vlc?`KeO zlc^OR9xEwg_LOTq{b0obIq=3D%ixX514vZ+q|EQsDem^U-nkV*MG<#RC6lSFSLFwD z0sLhRNx8lCWz4QyLelo4MeYxp{P%acRJGxxQ+%arzpRkkme-e*aWUY5w8A~ll>JoC ztqa{5-m=st7$M;zb3}RYyK8Dn6pu$4w_mHvu>rIhoHFvO zG^O!m*H=u3Pi^kNXV~3JRtG(0DoVJuzdsC*Y4*n9iSzcvy71bPq@c8CKV6>TIMq=~ zcqIh0`J;SK-cwe3BLK6s`Q zcu%ei!tH;!u@-4+UmGk9!dF;2+x7D~>N_mzZjO@L@D*y5-m40xRuP;I)#2km9^!@4 zr#5oEF0ys(Y=>VR;2;Ed>fp;Bk>+Mv9GpT&T+YH$+j@uAwM>`zCc%F{@o)3McNzEz zkpB#RT@urk29EVUMsjZOzy}O`5#(9UlLn4*ULZNY_P~EfI4&O-!-v;OczuA0+xrWW z^Pz^*a2wX4n2>Egd{`g9fulaZCpiTk_)!MF#E_$3kC@bFH_53s_)$LN3kjF)T4nIh zH{?eR9OYa?^1D3n4FbQ3__uoCml`-;v$B2kYY3C=!uPUcy3XK7eHhno(o6EMC;q1d zKjSYLIKH2P>wU$*QT`T^^JfqI9|msf|8E0FITw)}_=2cPcrfwF0_XNm_rOmy@MR#2 z^~Ya|#DoWw&wIzGc;M{@-T?e8r^moi&h6Bmb3E{^0>7X5FY&;yCLH|`FZHkvOg9+( z_zn@)=T-wp-p5G(10ML(0{;c^^SDPc%3=HsgMYbEFTUI#6Z5m*eC&Z|W~B1}p6bo> zzzYdyJMh=_CmQ@GgGjam?mJ>)ecmAXb3E{c0)L128$IwI17894aJ}C&aJ1V8B^^zDeM#h+qFkVY0s%|DM5*dyZW1 zH3p9Lc95K#J@BUm-c0;2c;J5!_%$@H_j};)8MwJ_`Ov`eo*wIe6zs!cLN!qT&+r7& zL=SwKz;j5S(>?IB1U`cJ&-1`{349Fk|G)#k)xgbp`91^3b{$7@p76kbE%3?2{|68J zuY~jXLYrdxhrw^or=J=)>QhGY2f=c6!XBc=G}E4-DLlKc5>o)|((Xe%dGJ{$+fGz}FN1(H?lQft&HC!oacKi%3qD2VN`iEyTal z1CI#&65{Xhz%LMZCh_m|z^^cHGhSV3;AXtK&%m+0yWxZB2@m|Y25!cOKNvX5xkgEW zm%w`99}>>vy@mKcH~7u*o=LY3x!-Rh{yY!7kZ_hCC;o{Bzd5c;3>@{po%m;Y;42K= zlyioGqn!ImPP+$wzJZ%^E;4YG^BBq5<$+&k;AY(Tsez-MUyz)8Jn-KbxETjtHgJ^l z0?B#P1OL##&2jyifuo$?lbpfWQINQQ89&^>R{@>laKOM(&Kp=5((xYn5`nXv6&`r2 zft!AgKhuJV^~Aa{ZT7%-5RM02GV~xbq{|I{)6cImaFjhlaa-1n9{Bx);{oNfpW|=8 zU_w1jzxug>qx><*1nIXP_}d2F1bl3_e;7E*ISz$D`rHE_MUQMreF6rKawaP&(2pMY zECVw&i#xasFz299!Olbm%P_*Mfq{TzR<1{3>9wLZ1J=Yd}*@Eqd5 z)dPQsa5T5+S5F%JreEPN;9z2XmgrOKB@g^)k`={76-ro(Mp4^rZ7j12^rk+Q5~3I^SgACjTA-NB&J{Ku7}y zZu0Lla3!DkRYyTNB%AyJq9cy{19V<#;3ofS14n*-esq(8oBVqW9QpbA)ByuG`S%$( z@+)PHW19Y07!vCrpz}%tr>x?u5%_>Y;Z2DGR|0{yQs9+X5v0`u-$c0jkx`(to&$t; z3x12**)Q-)!Z!(g6X6#Me1PyB0=MWqPidPRr(+1`eLgIXc4qu&;>Yp306u&_Xd2H(43MP$jE~b~C8rwlT<;VE$M*96b%h6x zWierOrv8f+n$#12`W6$$a7?T}<22nl_#34EVVXS+KZ0;+f4baJeibDiJaGS@n=Li) zk(5Wg-oOI}eujZhF!0p|&ij`rCt~1iH^fgea8u7_0}oIh`C|rd)@$Nsy(VtfYvL>t z<>NIX+r`wUm6_mZ+Q-z>)Thnh=Pb%^hmV{5GnvUa9*BR9!N*zTM;GDeziInQJ^9K$ zjJ!0>Dm)116|@fmzt^A=`VZpj$28!0s6yd6Kf>RlbAEmf@nXX8FqZO&b6+4d*}zf$ zSTZo?F|quU$LMqQT3Q3YksKVy6ei|hfenX*_hK+HzLE^U>pRASR4?`gCdQAX>qdA} zuu6gr`o%-Ok zYa6wTpBr}CMSOF@7?LL98%GAJL1io>&2Hq9; z_l9ZULxGPY`+O$w&jT9BAiv=Do=c8AMBpc7X@33N%t?P3Lj68c@Z0cf3Yd--c#P~k zPT(12pCWLQ2+9MNX93O(0nrl{~~JdJb@P;srmW&0hWWmT8k+z_`e`M@s018 znE!HpYF#Dpu@ny<7WlPT5YkfuzlrL7LE!IFdtVm#g{05B0v}E19|(Le=`)P_ne}J+ z1p-e{oac2M^KYm4%=hsb|Afk~5^_#BT(_6+%QJtRCbSKLzmnn}->+x>Z4{q(3I0-& zvs>U_C;z!Y;MbEr_X#{g{`^aU-%WAg1%cl~_Wzr}ng0WUKTq}?M)8%~wV&jS5IEnT zo+9wW$j{3JK9cmW6*%)Z3VbY$i%x-a|0V=}EzN^`|DE-}ko@6t!T*r%cI#&X#~-4^ zbhp5tCqI8);ESledj&p^=9l*bK9}O*M*<%pKN&@Fi1j~(;y{tW**|9roc;3zfwO<| zeRh`5{<%`{vwy|}&i={w*;x+z=T^bb{`PHwKS<-~dVw?lPX+!s+2KinvwuD-@J}ed z{6*mGZ|@5H-{dEQ$xpdm%%3apHFQ2+;Ow780)L9e>0*JifAW2HuJ<*Xe_I4U`)8-X zTggAq6*&9ng#v${#`_+DvwvPE@WUuxJSOn~7vq$2C093-1a3 ze^Z>yrt1v056jOJ__G1j2ELyuaHn4czKr7bN`be~eAg!MLOSmf_&a0=zCX@-o=$P# zY{Bm%{9J)&l6|%ddTmBML?Osx=rAp(e(v>&j}Ojc_hWppG%zl>UDwN z7*NHnzYF|avL}DVlI53E+#5vWjPX5Wha7>QO7q}wf!{#^;J;C@H)Gvn!d^D~1__~?- z52H9gN$@Wq{ih3j4f#p6z!#C6lLS7I;xOL_=X&!%lF4wP8E%p z?+E_eD6U;4@Z-pyHwk zILpEBFJn3q0Z5D=R;bU975KX}US}dD1+IGweoa{5#bh78AIs_(zlchXuZx#@CAix9R*9fuBi!!u`qhev{(u zhk`$w;$AjgKQaGMvRj_O^>58v*0BO#LUC`Rz>h+Kkmd;d5L!P}34A;0cbdR&BRwMm zUlUN`t#txFp89vAz=zTK2o;w3)^88 zogXFet7&}A7WiZ24?M539QBLWVBr;l|4j1dGXx%?__kKycadM6Bk=9iFW(h-g7~i% z`0M27_XvEOb^~ib;Dcx#@{+(Wrt^IQ|BU9Nj|IM*`sE9OzfAM&7#e46x5L<<1>QpQ z?@WO&rStg$uLaWuTK9%(868M`Gw>ciLp2yNSy-@JKL+$;xz-M4VNH+=m zJo3xi1U@OC*sT`?KAQaY6@mBDIQoacdH?9&0)LhC&!>LocKw0;@Nj{DLj5;Y;L}L| znF4=|>~NaEdB31Z;H9MBMuGo=^t?de{5_xV3;brX+cg4zoaEmn@RKOcJSgy8v<`V* z;Jm)sEAT#wOCJh+y6#5nGlAo8dt(|!*Kisx5*z)6?iT2 zM+E*u!Z!;Xeo$B?UPrK=x6^pMRq(H*xOBh3A142K(F1=);5B524+Q>e^0!X}zMt$n zocfLR{E+&6q`>=WT$c)b3+Y+!fj0`A@9T65oaOWi{Ey@(7YRH>{req(pP|if-6C+l zk8`KMr_*)ND+1^HIIjtO3(b#1$sgHnd>`i!f%EhH@I#?0G5_VH=X`9bGZv&p{i z3cQ=@{Yc;slb>hMxM6!9M}C+m@GB@@9U<`F()HJPf%ErFrV4xuwQHWhkEb}WSl~BM z99SXnY8pq)0*{b=;sSq|#_8Dt-%IoIWda{W=hq0lmh`_v;B2>t1-_En^-F=_YwHm&PA1pYTV?-zJB`S%uqpF-{3A#lDvze?cG()l$4ucL8sv%t?F z`S%I@ClqggE$}?j^HqW07|@3JtH4)~J$jgf8{P{wGZz29m1ip{P%hduugz%pTd6;Kj7w2n(F$#035{`PF8D&nNqD6?lmH{RaXcMD4m>;2AWZJ}mG)T8BI-@RxYK zB=AqjKVK7gCHs}Y+0Q=}_y}rO0rfN6zlh@1D1q-H{YwSTepn&!V`!a!lE7D!Kdcb= zXlmDY1kWPqq4@U*{wA{9j|_fVaw+}?1V8UR*E<4#pZfPbLp}{fCI1-Gm+i)Kss(;7 z*{z0fv;*qdp`=*Wd4iwiY!f)!`3ixrp>gzmA)nvV`nce)CI5d~@bmjy`MCqull>uw z{6)5Rl)(9UvIzpeh2l>g;VhrubJ{NW*$#aIznlDgv%tCD%Y=M>FY3<(Kg)kW;4J^= z0*}(X@~V)}?^pe|;Ai<+G>+MBEWbeD&yqiLJY)WwXgxiS_}Om!9QZr~rzuu>7A-r} zeZa}&Yj_}cRNogc$4h{CP`)`%OAOo`kCg^)jthd*q#YhNaI@au8@OptAI+;M$E-I%^&qd=-bw>E z<*znyQ~o9cH|77BaP*&rl*hvWo|~-J*|e zoa>2oM2g^t!V^}J%Br6+DQbcr7%l3F>l241`9fFoJ%j4~pt>;1@nFJt=YAQJdUt72 zYcv{;^+#jf_+wd39Wg4VwE^kg@9)&|(-}=|LuukXUj|7Az$*DQifJ#5lvT1YS*0?i zDM>P5HzYM@G3l>uG?-W^HzpK^uXYSadU_)3sLkqiueW!9|}*-(X0FtD$ns7%aY1ZF*5akmt^`lN-)&A>U%Aa`<<+r$$Z##(c7rB&Q<5E5V7=~P4 zcR*I9OX$e+J)Np~g7bL9Wj5NR5` zTrLO!W}xFZIJ(sz_@-vy@AYE+C{orRBurFeRnnlW5QG5mn+fHj{y4vxiOYXvf{^F> z8LonivcC{eLF;{9KQX^xv*rT9t^J#}>kW_WK<+=a<2AEs@`@drS z`=PvB{qIrz{XoZr_2X8AtRLU|>sCL1FRKCz8;Q#^lnaI3>TlbjIaU)R);|V5T%OxM z-J|~1BXmLLBQYs!WyDr{l<%kV=Gq$hxqi%JI?Y4>r%3-2&8F;!m(pCG^*Yz1{vA|5 zZKsly)U`f>_+DZ7vwYJ3zM}p=@X-Hb7yXZcdZhlp@Th-)>Zi+NR8=Ku&woLA++q`9 z*4jtqxjriH)X(Sdd+0x5r{-WgqyLPB56feGFxU-5q^12-e+^xyGlS$sySw>sCDk7& z(j~F}@$ixL7kJcPGF6ugn41Ft$@<56l&`PQmwVK|m+Bv&f@r_V@R9Y`dem>t&;|MXbtERue)zn=LxrK}&{PmOKjaZc>kh&eh}Qpkuta{Kv+?=5vJUwww=$2Gf|xEvolJ=(vH%9~{| z&*d0DkIKU#C2gYe{2p>9a{Kul->dCrzmEqr$0n)}?T0SS<$3(!nnaF$EZP4E{S{e$N}2Y`Pzxn%x_$x#pLYaNx6RzUjTd zqzP{4@u^uKIZwq+j%y`8H3dy;G;VGGuoIt}r6G3{^;K^2;B&KjN0#f{1f#U0yFRyo z!bb)&O%$U#h$yW7j|d1nNV$spJMbuLEAXN~wwce&iMoRC49ObAy^&tA>#?Z&^3fn4zIz`qiUGzCJvqM(v?NE<{6K ztwuVFR4i-KzMlVE*_6FPiLRsn8@Mhqw9zNyM25Dlie)+W0M(%fx)Oihk|CPg_fzeI zO+WNMd3NGq#N$?Kw~dEaq|nr((2c5Y(O*E-$?ou?td|F%sUJt6+(U7JKS$Z8nA!JH z^{;d9j(_YQ-thVBBOk7&cDuNYH-bupnB;>>EpvMltId$D+a}yT31B_hq&nGhPEHGQaG~ADjLjb6)P~Zh+lF(->;J2R_>Ub8dL>r&XQuU}h$$6x>2Jaw`owUeQ_M z%JSeow%t2<5dOIAQ_MIIZhUjrdGDpsnQy=N^XPJUaMY_-=KV0zNdYLPYv2(!Imz$l z*m~D0OV^n`tKuJL5UfkoaW=tu#8T@La-6r5XBO18F7!}GLEJF*M%C7RXy2q{E9pOp z4>@ESA2?_url|K(N$NumJ6a$9K?k~8rhP$fM;-nrF(Aiz2z}Z|wDCTK9?s9nKD3c9 zfqw@TjRhUZkw?%6x$JL=3FNm?fnIAL;wuTy=k{y=^gl~!M22XbI(JCLD`m?dS1U+Y@Yu@^tC?wbeuW{66Y92;?$ zSex&^;U)mp92?I-{5QuKr7>Hmj8SQl_=9y0GR+5%in`*0f&Bn7#TXZL#RUWV2V{!z zn5Zi*7#IsO#n>w9iVFtzCCC)x-(rfr4l>1<6m`WN8+!@+9b}5JjdZ7|I8>&oG)d-# zd;l`VdrH(57YwXlkSWH~qOQ1LAisc2F`f~1#RUU<0Az}>UDOqq{frocOfhzl?z22X zGw}sE4rGe6Q`8j~4CF+RDMnV*6&DQTP>?CcZc$fUFpz6OrWkufU2(xcP6nA`JTK~s z3kGsG$Q0uRQCD0rkn2IF7)$qz#pj*Z>^F1Y9o8wJ7-S# zvx$9*8OP+*nZ0w1?$_VpTLkaYHs2ztHg{9SB8@S9CJ(ad?tg#4?jYNa8GnEL7%rwS zto!8EPT$}eTvdjCxjOIj-4uO)ctA3pH@};%C($XV0QzR y1o1OJK9JgW`PlJ`9iKVo?Nw`Z6FEm;;n)>4^@y&a%sHNq4FrOhBSB zQK6S%h0)rzG^;o=>x|`dAE@YRW*lEzJ2T8<-Hgt-sahT5$~eqO?P`hR{{K1u-+gns zFU@4F{VRR%Ip6<0&wI|f7j6rzzsg}4g2@n9h(eB0A)a1YNc&~dFJ_8!#O7e`{a~)= z(_n7%NbZf6T=wMNz=`0#@hB4PA2fnFnLM!V6_(7M*c&)$E0OCt70hK%gW80_yE64@EWZa&O8KxSWHD42VF z1Wo4xCtnZ9)a!xcrG4!S9KS4ZvS%yYgVAGB**I2xL@ak_r}qa&jAAeSJtGyjPAkSg zn%N&XUPAt(0o17etK-l_`DjjHG_M6d07M3+!l>T=PasqrO7)#T1My;)`=HtKK_8t2 zGB2TBE`BiggJPZBvAu!cR38a^(0{_HK5}edU?doQLza8L&j{`h{3iF)VD1kuVSi#f z)z1zZfsx*x4@71*$nW1^K*uRKeob78CHZJNTuYQ6iUWNrSE`5Y3!Lm9F)j-nufFqP z^jFjq{$C3ytAe}0Yo)>|-M}BN_~Vyf7RL^C`e`hvM}~f*-GG;h6%)`EY_mrWNa-kCd&x( zbh7!=+%;d_WKzcI%Q$dk8*O_9lSp$j)wld^S@%05A8vaG^Ef8Xgckbh8?AD$eD=M& ztog4xU2S9V+YA1!`pV~*E&5aAXLJAa_I*pgYxcUH>#skI*qN4}^=p<)UHo9`uexB;_r|K<)%W-% zZ$EqD`LXJMXVb64p1Hp~d#v?0fA99d-!?b2yn6JLJFrcwxM9!meyj0b&$JcCKOU?9 z$Dh5ieNX87Z;ZA4Z>9G5-kb5n?y>6MU*lc%`GNb7k5&H+tLZBjtM@i6@ijL6+0tbz zSFOG>a1}f7v?V)DPdJfj4`=JWo@hLo@pMMaSY0yhX)(i@Y|2b~qGm@&wj-SKY`%8w zrcHs3n>KpF8Tbn^BOUMbBqQ6?o|T(It4Vm{+G|4DL_FhRU~?wk5lUyW5qE1e7Ulrx ze(PC6jFV}noKjTUBIJ_mPX#!fGE;#$$IuGAIzb<9#sqnDNdCBSr-@U~$@`5FeB~WHM z)SxV-^hMF8k%RI1kSmLdIpSg~O70DLZoVQY&K?xG1=)rAL<_3WlaOol;T6G0ip@-v z^*I?Oj6HZo2WMkqoU2o|JtQmNM1W`^-Hm~1&=hi#G-hE%Iu5o`4sAFN#;Vh)s4!+> zsT>ElRAXB9uY=8^^0#CKZ*wSZ3|tKsmDUAh5w$K*S}{?HU5e?FycQOrI+5)Z#vH5! z$H9*3bS4EkWusX|H3xfGK1RxIh5iqf0!73=$y84XW8gCx5E`4WiqTfxVJ0BQMT}%y zAg3H{QI6(gJPs&i4fbEAA?XHcdEgG10IK6%!dR@-f>Wf)25cdywJBZ6v@n*a+?FYE zVfa*f>r}Rddn=?`ycnw$yLn1P7+0#Q`g6qzs7P*r;^8o1lH&_C2VTTbWL<5e`c_5Q zMzM%W97RlZlrRR)he=3DMo3Qz&yn`02 z1ImztmQfCfM-GSw4sZ}NEue%k@KbOgW8OZh;Ms9lM-K~&;!XDW2wi7-K{ zZkSMAt)p7@j)d|6ogSwErg@Yw23CTes+BbLG0JTM5$F)25+?_yLLKcvf3oqqNA=C_ zQGK&pdEX)`aS~xFcz*}2$idSyYVh<>)GC%96$=e;%54>uIP)+SMvVt14i#D7sL1+8 zMb<}=DGz--YNp{V#dIMhjDd3)!h1~~o{rBjoTz3Tl=y^gke>PXU}7SSLLy^|adB1c zeA(o+FlxpT4v&lR)gXe{gn0sQXDu_7 zoBz+aa6jEHMJO@f9Bt; zk`}AR=S3Vdp-Lg^RDoi)rXc^OfxQmGI`+fFw+M*s4VcQt6E4tQn`+Wbrq8bA+ZGpi$gpEDZ}`@suHg9 zEDun_?e@SQuA9=rlTD{Q9r1{#H5&DFFKr4n`RY32iEMXWYa;7u^u!a_Sa-2~H z;M$T3cbeZwrrJHxWM^kGAw==gEZPNgt`O-=EM~U2+prLjhGi6_p|4mK0FkS-iTSQr zG0SkwuU+B%_Z5zdYyHl3&VKLF_nrMWzyA$bRT&eUeG~efmpgBAW+CfXP%+t=c__PM zo#bUEyx>?^>sVIn@YS|DZ)^jpZ#zFxd6ce5I_4M^=Q!#N=gm(z4|+j(h5XF}e?u#t z09Ve7;Ntk&v=!1ZIIq9jaW>Rs=%#DEOL0w`U#^C-uoU$!%|fw4nPeyuPlQuDVQHEQ zY~K)#$Az7Sug&a6F;oKGz=n0vxUjTOiKQ;qXF9&i3}r;x>FjggfI=;D)-Asf?iD$ffwo7V4rSnP_#%OE!^?wO*#|vlOF@CcB^|+o2NCZ(sxXSr?58Y-(>4G(vGdu#LP? zi##87u^*A_gxc#c!!S}>L%YmWQWR~tMpd>=85+EnPEzO}P>hZBp-%kSMti!_7dN(@ z|0aunt&>`Vut*i66zMkTx2{p;l$|*(x>9C~nS!ppqe(=P$qv~bqlcbt!5UlQiC8F> z%!J?p95Jy?<8nx4c6ONp9LSDo8JXN{_7<@LQ)Xv!hsnJpDq?0jW2@n{6af6ImdFYyrMvV>07po+y^iwZ8Z zt|`Qt)vGUcU9vfnO=Pkvy1J&U%z1D1Ho5D4Zr=heYPAfQMymm1*Vl#7U1OYg_F2vY z@F1QIIR20p;$>x3&0UVwl@m-5fGqNsBMvkNFU;Ro;BQ47NNxt1A1&~AE4GkpQ|7l9 z_yfe3yEEoj{M>;Ovw`;_@#o{6`H_PDuZS;K<;-s@@K2TD&xU$Hk{c7&j}`Qn6W_M{ z#Fy)N)(;o-cN5<(zJW6OFB0Fb{(eP#xlU*QHx>M!BEDR(Gk=}ptCAOAQDvO?{g=fY zJl-OM8nZ$jd}%1k!#=MBRS4MjXau_guwKBY5dU(Ck5{itAkE9(orDj=9f|QLA#H%) zA&D075yFpY_(f18ly4@yi|$`1JgCX6OwKPG&shS$I%7VXP61Rlp3Ap8%W`}V6E2Ndg;P2hM5Y%qqe{bKyoUSj7dIgAagt6oS#DiM+jd}d2YuO zgl7on@w5O;qy58#^GV+oP@mR5Ol%Rb!Pnd1H>9%7QM+?J+)j9q@Ok9-2;m9B+3z0+e?XI84F1sX_X+2Eixd8P!uhNR zPjE`rTiga8wR2Z*VQ_0|vvyqXt;ZFY+K~lBDAWpzqIve~34gVp@M{MvN7Q6{$xn1tI;27tXWaoYx{3Q)vPV#Ts z;2&wYkL3T`2A_sO0AYP%axrFrF0{d$G<>cS7b|V>n>Bnk$+y_xdo_F-$=_pxKc(Sk zll)N|{9O&FtoYCd|3bsL9o3g+g?eNB95{bKnglF3mXIoag^u% zwcmnU<(n-y$}fcGf46qba@m2+M?lp!kaa`m+&?XA0)g>!v(cdw}$%(@73^L!g+o}vskV{!VhTj zk_r6#G~7>>aY(~^3IDE!4-)>gh6~Dr3rQFchQjB^aLg$Q=dt`4f;7*sh%bWQ&uL!c zlS9Tsz(e9Mj~IVV!2-UMk;Hx}tKQ{62IUtr2zMTrZ07-L7hFpqF@C$s=I21h9aIl% ziO)Em4+=hXXJOkhVLOe zypCi0zaTpgYx3`qoqy2q^;BN@Ph5ba30$2B)nqlUjv@m!|i4^li^G@RS_FEm_P7h<=D^M0>S!&|7Fhc)~WGW3{+ z5A(Rt@WW*1pEZ03_W;K=d^^?Wxl~VVXCcLTorbR`ypM2huhkUi z0S%u|_`@2``;Esm`x&y&`vtZiqqzU5$sZ>9tEv7t{$1pk*ZFLR-?#91V*DwR&uMm8 z{z<}F{u!z_e*eLK`Mu4MCeQndPc;13R34s(*#0US*K^1Z+voQ`%Lr$Aw!cZk*?yOX zv;BU}KEFqLRFh{ruV^^ic}ugy{jG}1!SVAt>0-h;{tW3a(eTBDU!~dM_f+51aDGqq zvSx?-C%z{|V!zx!hc!Fgt{1`kDXTp9Lm%N>E`Hy&Mw5RY1%TFR^1PneX~C(eQl7$* zan6^By3|mb{W9w%8{9=W4j&pq67g&JLdrL5IFI*U4d-!sNW%|Peo(`C91UwYj~BTB z2Oh`C{oFodLyFuhFy z5`*NwkLE$dkaXGW04wExDfu5EhvZ$SRdoZy{sPp9>8>)sQEJa->NaStmp&TQvNrPe{LuAkNrgV ze-B`2ljDS>r1NMa-L4I6_Rn|xCv2tk@4|r%#QSBHE0mS>9|Z=dSqASfkiHeev@VP1 z=!og#XOQ&qI~pr-`5D7~N~!v5qx$P5hgg5uB&^T%isume*aJw6`0)z=kBYkGuX_BY hVn^Yj^OZ`F>L0&%^uSN|k7J^gf7e{4zpKpn`(L->wo3p2 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/EventQueue_stub.d b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/EventQueue_stub.d new file mode 100644 index 0000000000..a0173a86a7 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/EventQueue_stub.d @@ -0,0 +1,32 @@ +objs/AT_CellularSIM_unit/EventQueue_stub.o: \ + ../../stubs/EventQueue_stub.cpp ../../../../../events/EventQueue.h \ + ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h ../../../../../platform/Callback.h + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/Callback.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/EventQueue_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/EventQueue_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..3344911221f3618c0a2a4aca71c90464efee6d96 GIT binary patch literal 908 zcmYdHNlw=?F))4qV`Uoy1H)nkAmO&)j-Wjg0|O(FtpFl`fDJ;yX=f-O7nKFohb(^# z$bkui*dV|U#4xj?z#?FRkr_y}Im{I1{zft%oe8$D|6;p+W7`*|ua>!a=>EZC23Su^`CkK80q%#$;e@0X ztY$)tocD=$U*6$U^Ot9~-HNTpRgl#nITCEnytj?I;m@i?@TqALsxMrb5n6*!jp}Vj zg)QoxMlW8*-Uj&-Tilkg#@O6ksmg%Q9A$-_Dv6!kc-{OCWEU5f v_<)5Mj7InOEu8|96;{i6dag?-pqqiN2b~YH4wRm^wcTgkRuDb`ho2b$EmC*b literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/EventQueue_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/EventQueue_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..c8ee2eb728045bc9e2b3984f51a31d184ef7913b GIT binary patch literal 5532 zcmdT|U1(fI6rNj+S{t>tjoQ|qh%Jh>`x7@YilnaFTL^)${*-8`EO+nTX4mZA-R@tg z6=ZFR1jWW$6)m=cip`TCwJ5#>`k>&GAV{rH`XZKML}iXa3`s13{41q!V5H)wa!l#lWjB|4YesC?;zp(2AuTk1Yl6(35U&&wg_rwv) z-Bj-|j|ays+bSE?Run%y@@$H_EAukVb;q^;Qykw)_=4sP;5z`hCyob$#Q>=ih3;pB*^c-lwbQnJ0NtSQ>s{vOAZ+Mu?aA-QT%dSH8hG z0a@fTDF^W{=a0-cV(h|lJMboi04^D81oDk+Qq4EpK!;v^yyeq)pfne13IorE@0=si+3#%c*J@k^OVCAMvMM{;k1kX zl50HM^BVdtHm?ECAvsA&-a>ht@sT0oP~EqOePjsVsmnOxk-@aP2+_gGE0M0%tIoIY zwW86{qMay~_8IBCH9R_C)h)YPiAHohpQ>3kOV@c4AQ?B(<=$w~duy-dl7j6PJ5JY9 z?ze*L<_6%#@z3nOd*r+MOY;lCPZNaiHG|l2l&fF5{bq384u0fwILF6+ zZ)_d=b^khGgiL>o(Fl$f1%x72O>-oVouk4-8?tB^8 zVY@%}0n@NeE3fC2@U7=c78k=oxrNRRE^ze9@ohdE?>%|{bl-0mUO3wsU#yxlC-`Jl z;jgEOPv&T^TL1M6>l0!XPchC}x7_PcP~5Nu`!ZM2;EQV4?#Iu}Zf4+h71jNDjmFYt z%a}-Ia+Q)%HM1gLsrX9>_AM*eTIx} z_g)L%WIM*WzsYtd{>8oxW3WfWv%Npsp;r`P7wS$wUAvj;LDmJ~i>650i(|Z;+bX`q zx!x&ay!466c&~nuw|;)8wC==XpLM_S(;dB#;Xi+Ahw)-E3*9PuuzrJc$A7%R=jP8h zFu8M>4$zohpsZU`>KQ zQ@iZR0{txstl?Uv9M0KhzLv4V=9Vqt{;+LLGS=WmsQtGiI1n7V`Es9?z#T4}SrET+ NzFf_QSNRxm`v)InSrz~Q literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/EventQueue_stub.o b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/EventQueue_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..07afde8a56c908139338f654524096fb31b421fe GIT binary patch literal 31576 zcmdUX3w)H-nfIAX!UPZk0S%yZxJeL_OdtstAp~M12x1hdDB8(nGD${~nUI-;OO*z3 ztx;5{)+?*n?dRg^*V?Yzdg<0!+dwyyg;=RD6lXP$XS z0=vK8{`UMbIp_SJ>v_)Yeb4*Oe5rBm#a@rcrzm+;o$_$S%1gU5m3m#QSBq7x<}HRg z%9Kz(k@9mWpG5f-%FmJmQ$#^I|Eux(|H?H$NWiJDJPB&$I>Uu0%)rS@*yX9yuKg zgMBAH+e%YD4s68p=z<;q*B-{=DbmgLe_pb+@tZ|Y?+JY!S>49Cn~DpnLp3)3|2}@~ zX1o4hT^^T5;o+fsmM^M%qjvJNdv$Z237dys!d<&RsQ$+*_YKv3`?(>cc_qUs>L2~` zcg;Wl;=~naYX3)*c5G_wZ=CYfRr`0NDgP<#N%Ecl_sh$7-+a>h(cOa5~7-q%Zm$bP!=-?{l01>fnpa^IQ8Zx}BA zx3KVjV%F+LSkZC!hrRj-uvhEiwTD0b)Km2Nf}}d+fv90+UO`kn%#~(uyV{Kvz4zzc zdxk^ZbG%r~>wN=!`Lm(E3z}|g{P@`*Xg}4pz{1?ksOk2N(4fYTn+9KV_R*ZJd*3UE zjc;r{heNBlt-cieNpE(sf)z^LUWqU8!H28yDxGA&8qbK>2?kD!p zbzjXFC~W=@pAUdybGZeLmstFJ54Te)%F>J1wj*Kb%~8A-!mmV(g4dDi2UcdU%a9<*x zu59d&CDNDo#rk65RJyOVq9fWCQC(wrFAeA=Iq$ye^|z7{RG42vVn z3N|Cx72veiP*!kF2+Bso7f>;k!waG4H+T!;0aI>8e6%UIBVKIEook^y!Ia}zKHHS9 zdjiU(Y83oe1vlVCF~wczf+>FKY9x-n4*s%l|23mmdVSzuv}_9ySo!q22J^^C|hRA_h5M*`F8IP$IbgjfvoZP z{wYv|p3))Ijw7HQujCFiQGcKt($|l2gn$}h{2V0}Y#oJWT1$%+nbZOCC zEEgD-a?NeZ6<97F*BfhBMU_D)n_v}Hp&ApcqWKu~nTCG>Hmz)2v{e<=U@-(OychDK z04f@fwu?PQOU{S+p?xbZYTV@bcJWrE8%3*-C199Ji!K>-nATvkiD~UpWHJJmcA{<~ zT!_}FycAs}re#<*qqV3Gn{38GQ9W9trme7=wi1<^co$uSIzz@-(*h_jGUavHfF@IJ z-VHiiO!@LUC=Z$P6<9t7QNT_ai(c#QFV@4gC@>Fzl2p14hEoR=CjgTg`R2rtZ(a&D z-JK&}#F?(n)|7wV?J&JHapYUQP%{+&qyrFDE$**62YEfdd!~Z|z2f^GM8x~o!2S$; zG%rye)|8(BdXy=Xv~NZb=dAJ`2h#7ET>LfczsX4OJ%|4fLESqRY)yub)@@j(Y)~sO z2!(fn=()%l^bdOP0q*mP{X6`vz&#aF|4#oi0Gjd_{r}{YulN59$_h^@R1p99Z}3-x z6jgTlJE2@WE!mS&rT*Ri?*J(Xi1Od)KUf60sqFE82Py$mxyi3*Ad&vek3C;nxEmy= zgMjki0lfvW`)2@-!DrG`pckWeM8DtAKLJ_*mTW`UGr-8N#L=fb=K-yZ=_a0rewm>! z16mW)ZT*`K{aT=PI&`gn1}gTigitDV0eI!v4fMU)JjMnN9iTq~v?q{`BiD>KL*HQN zF97Yw*>q#$YE8$<=6MI`?=g>>iF*A#MtlSW#Tv@9G;L7RrUR)QK2t7M7&;TAhO>a< ze9d*g=DIAyQG7r2ka5v)Jfu0cS{$7qso6-!Uucdy1P7Y@24JdiHuMn8Ivjel12_?8 z>+)E1h$kO%j{PYD`X5b69G69b=K&s5JWBmLq)D?&$R2XNHS4q&-Rm-TcWJ^6ZQ_Z-w7@{C?^0XnPZVs-R;f%9=Bc<1TbaV=Tw z@#;xAdO3og-C%V;T1F+sxO5fcT4v_;=myR6zkvQE^H}qGv~H{CMIil@$tEhs!Zlj@ zUx4&3lSyw>Q$7LI2WGWxvlfij=acA$X9`fJIaH(Z1}#?uXgyPGgLi831|WqUvhKoi zB#b_&$w`NVO@>qyzy)Taw*Z&Lv3d|?Mp9AWVc@DL3JgLv7S{kXT#*ALABC(Em3VgJ z|4#fzX(r{K10MrZXfr7H?(eJ$hkJk-8NK^k)ckHR?JZJ)kucTavjBy#P>ls|5k`WF zx?2j-=NeRKr>CgmInWHEaro4tLht@fwc~WYq4r#zH>vs9+1}A=2h{h%$1$i2*Q25u zRA8sasp2{CO`tptpIQ_L^=cuG3-4Iw4mzA~0K zjPU2MM{y`Dc^F5?IAEFrAKe{TP=&ZBUx>nX%7m){C~M(Ui=q%^wFGx(@6}N2hL58t z)4>-ayPY!1_5tO7_|&4fR`xQq&HI;7`&;;E9avb3;;_%@O|203w;B|)lb)*pcn-V+ zl;6Rp7S({#+9!1mO~&2N>xVV{9QZiOGoIF3elrw zxUF!y-4RIx{SbU;N73U88w1jH?aDvsM#ag9LTkr39_0}~Fgdfc)&ZJ~naKpETtl4Esk%KwnQEJ0~d^$@9Q zQ7dpajPi|{GG^mB<2=Q1vFDwsMvbZi z2u3Ouph3!1oQCNWb&!cAR%2aA}0WyBB1e{w6I)fP$8#E0X6wsm4GSeN41-3^sY}j^W zrcFTq(2H3%$c;Kb8$`a@#nfA66FsKob98fbc;Qmr<1WdzrwSs1p6;I%DA-v=wnQmz(ss! zOx9F*s!9@LjMBD}dyLxJ0#&8eE@VB-Kz0|gIyAO8qY$f0P=@VZn6010my(3;*Ja4h z`pJPhV8Ag845)H>HB}SPhUJqGs?SJ~%!&*`W>!`}ORFat-M|IG{2qMZ+8Po}QY+OM z&_QN8B~#!vgJD_cRh#L&;Bx(TE>O>T8QtM(570tWgyemGFnhdnqa#1pfDQMbhob-fop8wtZ1;xVE~y zE1u}vUfz-Dt89&@Q--B0-dfoajaKHc)UZ)$B8Df7smj<^JY>wWlU2#psGT>a9e+*1 zs8lKu+lFnHXPD8R9vqG9l8J_7&yGlISFEBFpY1h7y1H5;(JiLdlkV(|McUFkdSWR+ zV1I=(i?&!hl;I-7xEtp900jV2TA@eZiM1X$YI7w<}!#}oRL zBjX)VVGoAQ$e9(s-5$@gFz-AbIJ(QglfCDU_pT}l#JqD#`U9`QMTxi2J9E6w1Frx) zujHn{b9I6JYxe~9)M4qBwSiaaE`cj)(B!i;`5y3i0{gta9Q>gS?zj1GFYtW0-&=Ne zV2O9u1S6M4f1%I=9=z_IJ;6H*m1YrdDf0M=ywg2_tGpMNJm(^PUy Vc;FFH%Ii( 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 Ng0z7JOf@Hd{{aY+f};Qc literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/FileHandle_stub.d b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/FileHandle_stub.d new file mode 100644 index 0000000000..e6041997f6 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/FileHandle_stub.d @@ -0,0 +1,42 @@ +objs/AT_CellularSIM_unit/FileHandle_stub.o: \ + ../../stubs/FileHandle_stub.cpp ../../stubs/FileHandle_stub.h \ + ../../../../../platform/FileHandle.h ../../../../../platform/Callback.h \ + ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_poll.h ../../../../../platform/platform.h \ + ../../target_h/platform/mbed_retarget.h ../../target_h/device.h \ + ../../target_h/PinNames.h ../../target_h/PeripheralNames.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h + +../../stubs/FileHandle_stub.h: + +../../../../../platform/FileHandle.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_poll.h: + +../../../../../platform/platform.h: + +../../target_h/platform/mbed_retarget.h: + +../../target_h/device.h: + +../../target_h/PinNames.h: + +../../target_h/PeripheralNames.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/FileHandle_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/FileHandle_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..cb79c2e1753391bc4cbc0027b073cdb1bb2b425e GIT binary patch literal 624 zcmYdHNlw=?F)&U0xw4Icfnl)%kZ@aYN6?;$fq@aoRsaz|zy_h>qvF2h#mm^+3=9hyflfjOU^Q!_HTNEhnQCc+fT2}H6XiK zkX?*mgWayC6~J2KwPyk`Y6TJ$CB?3vIY^A!e?3z}in>pow%fG(03kP|I*73~Y;T-F cjJcZ@GO|}}HpT1zlNAf3Vn1AZg(Hj@02{Gf`2YX_ literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/FileHandle_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/FileHandle_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..94d0ec9c44b69ebd560247cdc00bc19ca217e19b GIT binary patch literal 3348 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 K5eQ#e|NjN@(hb)D literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/at_cellularsimtest.d b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/at_cellularsimtest.d new file mode 100644 index 0000000000..26649926e4 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/at_cellularsimtest.d @@ -0,0 +1,4 @@ +objs/AT_CellularSIM_unit/at_cellularsimtest.o: at_cellularsimtest.cpp \ + test_at_cellularsim.h + +test_at_cellularsim.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/at_cellularsimtest.gcda b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/at_cellularsimtest.gcda new file mode 100644 index 0000000000000000000000000000000000000000..013496f5acc37eb19b69c2216c91966ad418a860 GIT binary patch literal 3484 zcmYdHNlw=?F)-c!ZDkt+1H)nkAmO&)j-Wjg0|O(FtpFl`fDJ;yX=f-O7nKFohb(^# z$bkui*dV|U#4xj?z#?FRkr_yp@M>@}1n4^0ZQ6Z+fngyd3s4NEA4Y?OKx&KSc3TBr zXwu@bPxt^*YlcNFOwUlKVSesjq-xc7;`+l|bGCd2`56|DKzVEc98N)9_H5w~&c<3T zi@Ofe!v$0c3lEqkbUsWRq!bj^6^t4sZHHGD5+|4QsXMv1-2{Jom&Q+-5`?M3$|j1TkgF7@f6_x6UZpu}G7 zn}1{D8`Z8N+l%f=BtF=`pFTcMY+GrQNr}BP?@!2EaPX}Yvb`|>q0=z`I(+X6s(ktV zA0_shc6H@&I3_D1+l%BsbSBupZx&4mxR_ZvmlAt@w8EXMc1ai@+l%f`7$4@}sZ750 zizhMlP-5@=I2{$!VuMM@_M&?di4XR#TbY@}n`kXPO6+~B>A)M9x7-`qUYP&TX_$Xa z7^4h3-1dH_#NIF4f0d;+c4{Eoi{w9aCfL8a^B;KaSvh$MCH5}PDCWxAaPld#z3Bdg z@nQb0a>z8>JmYdCCHAIT=0$(tY_ub${<7S{Y`CJSAfFhu^S`c0@W0?ZOZCvoWb`r| z$sgeGMCZf&mzUk;yL_|3B4X_O)>r6Nc<0e+V$=r3UQPZ{aPlfKYE4(}tL@HT{+JSf zC}{2Unv)yHLyUd*^v+2iHec|X7_~n-i?xqB%}OIi?a>K$O2y~i$fLv`jhgFNw(opc zPK0UPVv(BEbbk^tYG*Fl6u#E|#eGWr5ppL}Gxv}PD>3$U-~66j z!P9R;jM^QlTxlc9ZyN#scBn-iLsA0V1eA8TJ6}HOP^MP z@*^K8lYw&|CJhzFkcWwbw1V1LZVT_!I-k~CMvVPOT8xuxZ|D4_#J^jaE*dK`E}Tt_ zeJKgdj&2qu^~mKZlKat_VE^p(kgT0AkarllJVkG>qVtgq0-Lci`4?Nab*}}o8)152 zG*Ay%twP3cgWvB;Eu5Cvw7}ZNFg55jOixdHI^#s$s!u)FB@|%gDi*b1XTik590&on sH%jwqOt8tiYshXyPYXchV71+8Dn^&D#vR(xY_J4mAF#^>PZuB~0fy$3_5c6? literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/at_cellularsimtest.gcno b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/at_cellularsimtest.gcno new file mode 100644 index 0000000000000000000000000000000000000000..a9a61e726f63620dba71bcda6e4532da36eaaef3 GIT binary patch literal 19764 zcmd^H3vg7`8QvQR3JpqItWhi7SfV6IvUzNblp@JCpp=&+loo}{cC(Oele^14kfdfD z(9xQpMOxcxbpl9*%(P5LaqvZ}_!uA4j@F@6nh|ZsS}Hn<4;&dfJ>NZhvS-iU$Jx6E zva@IA-rW7qIrpCXo$q}AdEJDyz}m`sk9XgvgSWa|E~S*5;uEKhcP*JQXZAx+JXJz| ztMe8tZf;tjsD*G>uOwCfE3lIM|frwaZ1*!wwq`m#alV znUNmBzAQ8yIqUBpoASiWYhT$^S#s6t5A=6mQC~w|JnoN&0%}ML#Y6tiP!IVP)>OaN zuC|jmizWj4Z%-&B@w_JG;^9Z0?h845zYZ|;qEYM_?!aD*gAMf~)(dPnfWJ{3>}Q$8 z!G5+$9PHyw;$WX(5(oR2OyXciT^p4X_K7BOu%BZR2m84uaj;J^iG%&iCULNT#Uu{) zubRZcKG`G=_VY~QVE>v)9PHl1Zo`RidK5z)ZDqlHGl04IV-~xhGzDk-T zd8YYLrwCU0s%etsndU>?AXw$2{(`0>XI-QFca+b(^Myli9lmexM^vL1)it!Ww6>|~ zzDV^&gZ_9>g{x}qAl~RZo|g4C&!hF%r2CxVr>0%VX(;#x{=r8<2YC(UKlQ7cQdSj9mR#>h&BkDQCnwe zS$fG;M=2Eq<)%`$OOze1^JWQC*DYf<|GVU6}o!%9E`C9n=}eWutPprAVvey);M_YZ&boWSWbhPyRKioQ zp+A=4sf3TtXO04|$1nTUd2j6h-fnO-cf9QVHp8n>`8oadQ!CYtmmcK#d4-YRHsWV2 z7*``9EgKDWlRCy62l^w%!MJ~f^k(xMh-3XFqrMNbW!r~zrx#G4n>haAJN{b-XN7ov z=75*2e$p~DDTTmK5pRrv?m4nW+xGN(&EO}-ZqUzKC;XJqPKI?pauZn1InlSY`{;@P zft$HuWv`nIt3u=@`cmG$zRt6o0%d&v(<95vK!;yj8#Izm%RYZOd2YUFCoQX9V4U>+ z=dm4Imb@D3zMt=Z=7yO)PZ?%~z*7-(^rse7F8B33Uh3ifyVoI4Wyb3a@8aRA7cWMS ze>cMG?xKY^J+QTCGw$Z~1}20QMJUH5M|#rN$G`H+r-Y-pO)~?aATFXK?xc4-UcJh)qdQ!aM#109pEcllgdE@bgG`| zw(pduXuqG{xo-Ztp?|*2wO@Hn%p9{zYa$y9QC^UOq=oGH2+rXEPbjZi6j@C~SuQ6> zD#&Z%j8rCE>ErpOD-Q-fi@bP{!&F`qGclFc#M6PPEZ4;GV;KR*JNU=m{_w7UInqQE zT(Z$bhEE}DqF68Jx4SDJn}1)|suD+GAQ;jtHP-E?Ft&oAfujVQy;G?udbatnCi_dPowTK@Za|2e{Gpw~Gb zf&h~H%V1N;8i+dJf`WZVZ9}1ot^<>c!O@)d9ZC3TxBl?a@r@)ci(Vj{^l@DO>n8#m zN`5vASg`p*$NPP=&_K42btL=8vVB361->yAIX-ve(1Z)tnbjW43|Q|H`>qMQWxm`N9QSMHok#JTabEpL7J^FXBZT+ zE{oXXJIqIlUac!rw*Lmall=}eNjb~5!SEi9oJ0F-Up=O2Ze#o=?5|+$jjmnITe^7J z64e)pEW_HM!M`i9-Ah3=AV2o}Fufv>An4!9@4xzj-hoNlGuTU!EjD)hCKxutbLrF5 z&c?cge9#%D&(I;!ABesQzj;4`^stHfa4(jYrH2jA;(ZG+k0`-#TpowIIXIxqR|r0e64wuf)f?AGe(|FOuu z?J;h!z6awOv*S17n4R~9vg1LN6>B1?K>aAIKdZXN7@7+T`XZZeTdUkPqv!bML#1w% z0e(~xUoTmDNwou)s}rND=-sCfJO*7`kvgI=KTLh7{EvnU+x@^`{L zwFRSHAp1;urq;f8aMgiFZ}#j2Zsgr->J8pn=KiyBSHfM&H~mNQWXx5hL;3l3o$Wi(XVS;~ EAGS8X?EnA( literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/at_cellularsimtest.o b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/at_cellularsimtest.o new file mode 100644 index 0000000000000000000000000000000000000000..b302ede0e18e9c7252ca6a4342bf335e145e8e7b GIT binary patch literal 144528 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 TBtd3?07xF>Mr3z^`~d?1{%jOA literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/main.o b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/main.o new file mode 100644 index 0000000000000000000000000000000000000000..e967765c71d15f5c029bdd9f48928e0874eaa506 GIT binary patch literal 16256 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/mbed_assert_stub.d b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/mbed_assert_stub.d new file mode 100644 index 0000000000..7d76214de7 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/mbed_assert_stub.d @@ -0,0 +1,7 @@ +objs/AT_CellularSIM_unit/mbed_assert_stub.o: \ + ../../stubs/mbed_assert_stub.cpp ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/mbed_assert_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/mbed_assert_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..882379a4d23c75c2e5d466d842f318d222a6b2d8 GIT binary patch literal 188 zcmYdHNlw=?F)$VSwX%(Yfnl)%kZ@aYN6?;$fq@aoRsaz|zy_hOesVEuSfqY%N3+2a28M-&|ZMX4QVVZCbOjwUsu}3YN+2=4P{YKf=sx zN&Tp$h1TGM5y2u9ABrfx`J@E}BL%78gMWii@WBTaABqa~oO{nn?#@mTwTGR#=lss+ z+_~r8**6aydM066g2@tl#Hz%o5XXB~`MhHDVo2O8rV5KU3X5;tEG#yES)BU0@OCFE z3+I=u!lGiAPFzEquMz$UZzrzdJxVuz+n+mo<&kf$p3i)Qy0{vmJ}5t$&5WA(z#pGp zFy%YV|5IJ*xkgQJm)s+6&=p?f zRioyO$Ilvk0(oo2WD}{Z%T3^tT8V7p-MJQNnxu7;pRq1w~x9R*GvVoEB(4x6>?$TZz*C$bH~=8s8;Gyl;%8N zj31t|$F^;=N1d#bu^-QjF+Mi7!`?DgY}Ui3PMXR! zl{9i@BeHRjA>({to z02u0ap%O@~SJofYdaY@{W3P3HUvIT*u#r?JwyBc3#bR)^W47QMK(fRt&W*Jl@C0bM zb-BmTIVn^>BD+E^aF&sG%Zdi=IjR8yn-ptX0g{r!I1CJnq*!N2t87w0uf|YP&vct6 zDF)gw1d;-pJ%*B^zYTp5kO5=bfH>C5@0C|PK9{*Vc|{_Q zt8f`EBwjI$YgE7&jV8vcB;!ef#Cf$OggKw<8HADNljFQdIzDxxaSoE6?eP>sdPxt0 z@rOu;Em9HVpObthf`3W!I}v;{$?ws~^~B95=3wI9VSC2+6BEU4!tq_<#gr$8an388 z;B+nYiZF)09_N_zWz};+xey9Ru`^!i38xqYBx9qvp6`370cdEgHk8F?8Tx3pA)Fb- zd&QzJPjMU#`Ch#&IhHn4=O4L16~ZYsYBdSpH%=W6EC&unII!RVqd;=bo%Ow%i>)q^E_ew z_>Q<9#>WA}Qq46FqIjO_KaGMx?9b37Fl5S*8owj(;}*2t_6X?X>c38jxDKoz_i4`0 z^-lv9m%l*|6oB5Os4eQF7~20x{u$Fb#V3|8L>ask9&Ny{);g&0TKhWAYMSh zplGe2x|Fh8!dXnx#RF(%gutRnq?N{DnMA&WeI2-b1_m#`?HmOs59vmcM2 z7#P|!eNX-@^T>WIe+3L;(e?WS`5$LP8u|Gd{sNe|`J0Y;e}iDl{yeXEK1X{OV=s~a pw(l^Ng{(!2l&1in?iMaeW?VlfDFoUA`{{~G0ugw4e literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/test_at_cellularsim.d b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/test_at_cellularsim.d new file mode 100644 index 0000000000..58ac98e519 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/test_at_cellularsim.d @@ -0,0 +1,120 @@ +objs/AT_CellularSIM_unit/test_at_cellularsim.o: test_at_cellularsim.cpp \ + test_at_cellularsim.h ../../../framework/AT/AT_CellularNetwork.h \ + ../../../framework/API/CellularNetwork.h \ + ../../../../../features/netsocket/CellularInterface.h \ + ../../../../../features/netsocket/NetworkInterface.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../features/netsocket/SocketAddress.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../features/netsocket/NetworkInterface.h \ + ../../../framework/common/CellularList.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../../../platform/Callback.h \ + ../../../../../features/netsocket/NetworkStack.h \ + ../../../framework/AT/ATHandler.h ../../../framework/AT/AT_CellularSIM.h \ + ../../../framework/API/CellularSIM.h ../../stubs/FileHandle_stub.h \ + ../../../../../platform/FileHandle.h ../../../../../platform/Callback.h \ + ../../../../../platform/mbed_poll.h ../../../../../platform/platform.h \ + ../../target_h/device.h ../../target_h/PinNames.h \ + ../../target_h/PeripheralNames.h ../../../framework/common/CellularLog.h \ + ../../../../../hal/us_ticker_api.h ../../../../../hal/ticker_api.h \ + ../../../../../platform/mbed_debug.h + +test_at_cellularsim.h: + +../../../framework/AT/AT_CellularNetwork.h: + +../../../framework/API/CellularNetwork.h: + +../../../../../features/netsocket/CellularInterface.h: + +../../../../../features/netsocket/NetworkInterface.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../features/netsocket/SocketAddress.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../features/netsocket/NetworkInterface.h: + +../../../framework/common/CellularList.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../../../platform/Callback.h: + +../../../../../features/netsocket/NetworkStack.h: + +../../../framework/AT/ATHandler.h: + +../../../framework/AT/AT_CellularSIM.h: + +../../../framework/API/CellularSIM.h: + +../../stubs/FileHandle_stub.h: + +../../../../../platform/FileHandle.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_poll.h: + +../../../../../platform/platform.h: + +../../target_h/device.h: + +../../target_h/PinNames.h: + +../../target_h/PeripheralNames.h: + +../../../framework/common/CellularLog.h: + +../../../../../hal/us_ticker_api.h: + +../../../../../hal/ticker_api.h: + +../../../../../platform/mbed_debug.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/test_at_cellularsim.gcda b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/test_at_cellularsim.gcda new file mode 100644 index 0000000000000000000000000000000000000000..cec447d5d330ed1538a51a96af4fee80e97d6063 GIT binary patch literal 1736 zcmYdHNlw=?F)(%bzOs#hfnl)%kZ@aYN6?;$fq@aoRsaz|zy_h+JK=Hf;l$!GWXz4->36*qd3b!Q0%( zZqx1qAiXTuHGtJN-AK1FR>+r?@z*^^&vG5}OuK zc!1Qw)Z((oA$*bOgsK8^W!aQ-u7|HI-FMguj1)hg#1sr$b-)FDQ#-SR31v8vDve11#x zjNuUTieUTcwYi2+c&cdyu-16(nLvzMfdoZKvFm3J5~KEC&(x5j?o+3c{e&J+F#o4I zh_N+nZ=6AlxtkU;vR7<2#q0l*6$_+dKU{i+FO1&ho=y;U_i#kcD_GnI69UJRx$DK4 ZQ~5!EBg=x{g2EM4_QK*4M#D59(*Q&n+}HpB literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/test_at_cellularsim.gcno b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/test_at_cellularsim.gcno new file mode 100644 index 0000000000000000000000000000000000000000..d16d96fdc82e97a2eb9082e00d538e9588814aa6 GIT binary patch literal 10868 zcmdT~Ym5{{5Z)0FP*gx*<)yqKBHoL;1B}r-m*sT`D2EXOE_-`(cME&F=RS@{h>?d% zL?balAR560QGXZ&pNItThfy#w@CT#DACeHDnP0h{@J;MwK2XwgJ>6)sp zuCJ@Bt9wW#V@+c#N-L|+zW00}5YU368uj_$LB-Wu`u_07M`yZ=c4Wb!R26yaouIZ zVUXx;&G${o3AyJMf3~)CM-S09V`15>R5FxmT@kHM=+kG-jg*zDfpo z-Xb=~XjYdC12IQ(MzfKaAuc$IW38=$Dyh0-wqsvqx4o3ENm8F#X|Q*}hN8QV_F3}c z<=LAN_O`~8k*9Nddc`H}Et9G{$6n~FFin*Y(yxbXD|xIgc%U5iB33%iZ>eg2W6jZI zlMa(%tQ+3rq{_~*6}n2KKC{vWipSG|0l8%Z7oLQz$bFn_EuWyW)tFmhsGFT*q{_~* z6S~GqeP$)+v}$+FqIscUQSXvTf4k0Unaa*sDw)ZqbFpkHeFv;YpU^r&NgwLh<0xWe$d$#=104a13&0&7xSat&w(Fwwh{cW3GF=2VQrXbd)Y^5 z4JdO8>*1QJfgUb zb2zaWHH{N~hT-nciib=? zOvD+oqj*#|ZS4Ncg|GG^_j1ES9u$Q}H~&Mt@95dkt3A+_-z%hInPWB1IWlki*xS$J zJ^+20=V1GtU}YxW6i&+VuB|^9~-+_3d zJ4W^kFIbir$kV-6d+m@O=l7x~uKT2}j-7-2`X%W!jg)@b zYtzS7TSvWJf9mw2A6@OM$msgga3U_mz1VlJVISjfYLyR#>k|IM{>A=Ca#vEfDr%`!Fzyb01=~b5UaeEEoe`XB3C> zSTLP2yBcc}HViKqy#F;hLdcJ_^#Pw{pYVd^=mL3KlMjv`n1!~Mqkt)&6S@R z%;!PTg;D&^H}ZhOyAJ;`m~z|v7?9rs0~9ZFh+Gr*(R}WN9Pb6Z9=-Hq&*5R)slDwB z|2nkoq~#ljdM_}NG%tGS9CCf-FMKwV&+MM0Ov0p6AYckPvIKlH2{C$7zrADo^pkJjI^!=_z!vROB7$L+`8% z1Xs>$#(r6_Z&+|BE5}`EeIgZG8c#Nb>mlw(?|!Mzn@`Z%AiJ%Y@ZJDitXSag=yI^Y zm=4HsnU(a5==6o%gEOA&dTz#ttDO9zqA{W40^AP`NSXuLMRI z^KLnAvy!>S=&^H(R?YZgBQQctP_3QH#>|Rj3||TS`N|Hd>c+weW8NvpZB`PeUW-n@pElosIAP3NO^D=!#Oc46Hr1s!96oZ+8U`!1P41RApvbfLGX*IahcEW(~ zv;AOzyBwUKX^smOQ_Fu|h`xBQhkx1g0;Yj(|35+g$1XcTCF9D3@X>{bQ;+{UzisYs rjyM_j-2Qd>yJw)aRe1Nuwo@FXcUG)`9pOUnzz>>T4l>MpC2{;80fIB; literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/test_at_cellularsim.o b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/test_at_cellularsim.o new file mode 100644 index 0000000000000000000000000000000000000000..b15df41eea5b564dd3d852d835e14ad00ccfd160 GIT binary patch literal 87816 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 CDhu=g literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/us_ticker_stub.d b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/us_ticker_stub.d new file mode 100644 index 0000000000..11a67f5785 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/us_ticker_stub.d @@ -0,0 +1,9 @@ +objs/AT_CellularSIM_unit/us_ticker_stub.o: ../../stubs/us_ticker_stub.cpp \ + ../../../../../hal/us_ticker_api.h ../../../../../hal/ticker_api.h \ + ../../target_h/device.h + +../../../../../hal/us_ticker_api.h: + +../../../../../hal/ticker_api.h: + +../../target_h/device.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/us_ticker_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularsim/objs/AT_CellularSIM_unit/us_ticker_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..1fcab1aedfc02ea4deab3543dd4b24209d160a04 GIT binary patch literal 440 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 +#include "AT_CellularNetwork.h" +#include "EventQueue.h" +#include "ATHandler.h" +#include "AT_CellularSIM.h" +#include "FileHandle_stub.h" +#include "CellularLog.h" + +using namespace mbed; +using namespace events; + +uint32_t mbed::cellular_log_time = 0; + +Test_AT_CellularSIM::Test_AT_CellularSIM() +{ + +} + +Test_AT_CellularSIM::~Test_AT_CellularSIM() +{ +} + +void Test_AT_CellularSIM::test_AT_CellularSIM_constructor() +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0); + + AT_CellularSIM *sim = new AT_CellularSIM(at); + + delete sim; +} + +void Test_AT_CellularSIM::test_AT_CellularSIM_set_pin() +{ + +} + +void Test_AT_CellularSIM::test_AT_CellularSIM_change_pin() +{ + +} + +void Test_AT_CellularSIM::test_AT_CellularSIM_set_pin_query() +{ + +} + +void Test_AT_CellularSIM::test_AT_CellularSIM_get_sim_state() +{ + +} diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/test_at_cellularsim.h b/features/cellular/UNITTESTS/at/at_cellularsim/test_at_cellularsim.h new file mode 100644 index 0000000000..8824ada0d4 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsim/test_at_cellularsim.h @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2018 ARM. All rights reserved. + */ +#ifndef TEST_AT_CELLULARSIM_H +#define TEST_AT_CELLULARSIM_H + +class Test_AT_CellularSIM +{ +public: + Test_AT_CellularSIM(); + + virtual ~Test_AT_CellularSIM(); + + void test_AT_CellularSIM_constructor(); + + void test_AT_CellularSIM_set_pin(); + + void test_AT_CellularSIM_change_pin(); + + void test_AT_CellularSIM_set_pin_query(); + + void test_AT_CellularSIM_get_sim_state(); +}; + +#endif // TEST_AT_CELLULARSIM_H + diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/AT_CellularSMS_unit_tests b/features/cellular/UNITTESTS/at/at_cellularsms/AT_CellularSMS_unit_tests new file mode 100755 index 0000000000000000000000000000000000000000..14eab1a6fd51713a07831a69417ac0a1e993fbde GIT binary patch literal 508600 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[^zezz)`d)!AN&V)2)ZU+Bn4R$8P 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

qNF9M3atQdfiktsu^#ty=}PRE5>#pJZ~Nage$ zYyt}_3~sC`n)^@uMyJnd=Ccd-`r29W0BKCLPfQfSRSD`vTJ~5U=3K#^;k2N=HwgvN zIu*=kkdIuQA-f?hN5p?n4u%`WX&P`Fjhat0lZ0%C0dplP#1-R?xu=Ci5~3|DvXks- z#dX43;!-WzINTp_pQ#W7pgxlNLF2p7BDsMuMn?_gZ(yU%pO1*6B)RI%i(jub4im&* za;Cg=gqyhC0es377fNt+_L1}{BV1~XgDDmu@hx);V_%{*QTFJ8lzDmCDdb~`8`y># zPow(m?!X<;Jr+on?OOPUVigFFxPS-%V`96*4?YpDJm^1$RRY&S@$3=ZM&t`CYZ$>a z?lN~1472#Az7>pz46=*)n42kcT9MM(VPWhONd#{LSNjD0Hlwc9SaV_#ShIKB`G%Qu z9p0HSJzE)ixP{%Jgt4-RA_`?jZZC~BPh=eB3jGns;kjx(k8L*D#ye;vyr?yNek)NcsQq;UZsmj>csQvRhEU~?5^o7Tfn%HK97 zo zH$ws}hLE9n#nWp~c(`&vBth7U35HKbxQHA8L2@_O0CtgBvxl@Jj&inFXNEkXPm3!h z;t7#G#AJ$~sLy3CylKh{UjZcvwUj)?TZDQt&#^5;9vo%_V8k<34J80VTksMnQlA{2 zKhN}Qvf{0rOa}s`7xj&*otc*oFM@|eNm=e|Jb{!hOL=>d&1lrb^}Jp}kANg(NzaM5 z?es0)H6_>!+8IQG*R`lEWai^}=J1y2G5=LNaqTjeCB0^+kaxl>sK*tYC~_;1iX&L7 z0wz@M7=J6ISR+Xz-=qbj^t7hpH*T!6_u1whfHyHyot#)Pe>0nR;Id1!Ek;M6?0C>k zMS!F8X~CpiLtTVhPKIC=f8XGqq3!2_pn}YE} z)Iu5+t{@Yj-{PcPLBr_?`5ro>2`&-38vZOZVdkm!ggxX!jY%|12`MlE^#vlDvq0Lb z+AOIK?$%QzUxJNoil@j95Fn>m2KJn#1cwAuhdSw){Z57>fmGQ#;Wex+7FZX|{-Al9 z8CW1RS`Nt-r!eu70N~qY+Ij?MOnxOLd=N-}^lv+BM4=<>hNDGR=TcsLfI5^c%b$H#Adyil_w9@$!wXvj30g* zb9OKc9LRRoH85oa-K3d5$ot^vJ9-N})=gU}E&x;a-B!GfaW%}`43%@~2N8+!a(g*4 zo`;o-I=e;>e-MZQAkx_}1oNmWe>9Tinig&rZ9dHH&k{Qa_|&5^taD9>dywiU&5Kg$ z_V{UU(mca&T+HI%m-;WL)#+$hy4@d4(%ZXtY9F8m^68>Ky?r+AblV@mQxl zK$LLzh?gzhZVh_9v`=N}+4KVKn*9r;X;U9NcoA3s-8?%RrC0h>7gsd(-+-e2Q#CJL z_vbgGgXi$?dDYR@^E>?4mMZvsRjz+gUGwLQ@!{9vpKjlHeg~gQrG_fF#h>#3y(RyX z|BCQ`v;E}x9WI}!_V3|O`TyMZ`}pdAeCksJJ^sg@-{Hz1Qw2ZDpGu`)qkeye`mKK* z;g7fBpKf3Ov>pDc{%QQHw4)k)IzH0cb^FheuS*Z{o2u&eAAQ>nfAdl56hA-YOxT6r z*Q3s-jQM}%J9nsA=_}vKze=BwU)lWiIQsV^eE+LP`)8{CGu8f0)t=^0Q_=HR#ib9a za^2q>@7m$7-guYPxTPlS!cVXNTU7fyQoZ!-vv>HfXP+$vpF;!VhuVKG{^{{``;VZE zhEUZ?pYgdn_=I{?89$#Vzq0>3;4FO`zA@XcsrGBC{Vk_~0!vB%{tl;o{oOk}R{h=l zE1R!;%IB{?|0(=oj{mA^|Eg;LnSV(EP&Lrw>h|B`wD11ZE`QbiDQWkax}y5+ET{DS zs=eO7*H!!1Rr`kz><)J9kEI`W+W+(S$xiKe+g}Ar*!+DQ|*6l!S??XZ3*{v`)8{CGu2)bmh60>F8ydc z`WXH;$A9(LCePwvc1=Z`2F|(5=jN6QrBtVeB`w|D9Y`=@4ICDXa9^pmfnkB2?o-5|2a}zBKqnZ S|6?DN6IZ@#k7$1?mHr<)DPFMv literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/AT_CellularSMS_unit_tests.txt b/features/cellular/UNITTESTS/at/at_cellularsms/AT_CellularSMS_unit_tests.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/Makefile b/features/cellular/UNITTESTS/at/at_cellularsms/Makefile new file mode 100644 index 0000000000..dd7a07ce1b --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsms/Makefile @@ -0,0 +1,25 @@ +include ../../makefile_defines.txt + +COMPONENT_NAME = AT_CellularSMS_unit + +#This must be changed manually +SRC_FILES = \ + ../../../framework/AT/AT_CellularSMS.cpp + +TEST_SRC_FILES = \ + main.cpp \ + at_cellularsmstest.cpp \ + test_at_cellularsms.cpp \ + ../../stubs/ATHandler_stub.cpp \ + ../../stubs/AT_CellularBase_stub.cpp \ + ../../stubs/EventQueue_stub.cpp \ + ../../stubs/FileHandle_stub.cpp \ + ../../stubs/CellularUtil_stub.cpp \ + ../../stubs/us_ticker_stub.cpp \ + ../../stubs/mbed_assert_stub.cpp \ + ../../stubs/mbed_wait_api_stub.cpp \ + +include ../../MakefileWorker.mk + +CPPUTESTFLAGS += -DFEA_TRACE_SUPPORT + diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/at_cellularsmstest.cpp b/features/cellular/UNITTESTS/at/at_cellularsms/at_cellularsmstest.cpp new file mode 100644 index 0000000000..adec745ed5 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsms/at_cellularsmstest.cpp @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2015 ARM. All rights reserved. + */ +#include "CppUTest/TestHarness.h" +#include "test_at_cellularsms.h" + +TEST_GROUP(AT_CellularSMS) +{ + Test_AT_CellularSMS* unit; + + void setup() + { + unit = new Test_AT_CellularSMS(); + } + + void teardown() + { + delete unit; + } +}; + +TEST(AT_CellularSMS, Create) +{ + CHECK(unit != NULL); +} + +TEST(AT_CellularSMS, test_AT_CellularSMS_constructor) +{ + unit->test_AT_CellularSMS_constructor(); +} + +TEST(AT_CellularSMS, test_AT_CellularSMS_initialize) +{ + unit->test_AT_CellularSMS_initialize(); +} + +TEST(AT_CellularSMS, test_AT_CellularSMS_send_sms) +{ + unit->test_AT_CellularSMS_send_sms(); +} + +TEST(AT_CellularSMS, test_AT_CellularSMS_get_sms) +{ + unit->test_AT_CellularSMS_get_sms(); +} + +TEST(AT_CellularSMS, test_AT_CellularSMS_set_sms_callback) +{ + unit->test_AT_CellularSMS_set_sms_callback(); +} + +TEST(AT_CellularSMS, test_AT_CellularSMS_set_cpms) +{ + unit->test_AT_CellularSMS_set_cpms(); +} + +TEST(AT_CellularSMS, test_AT_CellularSMS_set_csca) +{ + unit->test_AT_CellularSMS_set_csca(); +} + +TEST(AT_CellularSMS, test_AT_CellularSMS_set_cscs) +{ + unit->test_AT_CellularSMS_set_cscs(); +} + +TEST(AT_CellularSMS, test_AT_CellularSMS_delete_all_messages) +{ + unit->test_AT_CellularSMS_delete_all_messages(); +} + +TEST(AT_CellularSMS, test_AT_CellularSMS_set_extra_sim_wait_time) +{ + unit->test_AT_CellularSMS_set_extra_sim_wait_time(); +} diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/cpputest_AT_CellularSMS.xml b/features/cellular/UNITTESTS/at/at_cellularsms/cpputest_AT_CellularSMS.xml new file mode 100644 index 0000000000..f5ebd5f2eb --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsms/cpputest_AT_CellularSMS.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/gcov/AT_CellularSMS.cpp.gcov b/features/cellular/UNITTESTS/at/at_cellularsms/gcov/AT_CellularSMS.cpp.gcov new file mode 100644 index 0000000000..8f0fd60cc4 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsms/gcov/AT_CellularSMS.cpp.gcov @@ -0,0 +1,1308 @@ + -: 0:Source:../../../framework/AT/AT_CellularSMS.cpp + -: 0:Graph:objs/AT_CellularSMS_unit/AT_CellularSMS.gcno + -: 0:Data:objs/AT_CellularSMS_unit/AT_CellularSMS.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* + -: 2: * Copyright (c) 2017, Arm Limited and affiliates. + -: 3: * SPDX-License-Identifier: Apache-2.0 + -: 4: * + -: 5: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 6: * you may not use this file except in compliance with the License. + -: 7: * You may obtain a copy of the License at + -: 8: * + -: 9: * http://www.apache.org/licenses/LICENSE-2.0 + -: 10: * + -: 11: * Unless required by applicable law or agreed to in writing, software + -: 12: * distributed under the License is distributed on an "AS IS" BASIS, + -: 13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 14: * See the License for the specific language governing permissions and + -: 15: * limitations under the License. + -: 16: */ + -: 17: + -: 18:#include + -: 19:#include + -: 20:#include "mbed_wait_api.h" + -: 21:#include "AT_CellularSMS.h" + -: 22:#include "CellularUtil.h" + -: 23:#include "CellularLog.h" + -: 24: + -: 25:using namespace mbed_cellular_util; + -: 26:using namespace mbed; + -: 27:using namespace std; + -: 28: + -: 29:#define CTRL_Z "\x1a" + -: 30:#define ESC "\x1b" + -: 31: + -: 32:const uint8_t SMS_STATUS_SIZE = 12 + 1; + -: 33:const uint8_t FIRST_OCTET_DELIVER_SUBMIT = 17; + -: 34:const uint8_t TP_VALIDITY_PERIOD_24_HOURS = 167; + -: 35:const uint8_t TP_PROTOCOL_IDENTIFIER = 0; + -: 36:const uint8_t SMS_DATA_CODING_SCHEME = 0; + -: 37: + -: 38:const uint8_t SMS_MAX_8BIT_CONCATENATED_SINGLE_SMS_SIZE = 134; + -: 39:const uint8_t SMS_MAX_GSM7_CONCATENATED_SINGLE_SMS_SIZE = 153; + -: 40:#define NVAM '?' // Not Valid ascii, ISO-8859-1 mark + -: 41: + -: 42:// mapping table from 7-bit GSM to ascii (ISO-8859-1) + -: 43:static const int gsm_to_ascii[] = { + -: 44: 64, // 0 + -: 45: 163, // 1 + -: 46: 36, // 2 + -: 47: 165, // 3 + -: 48: 232, // 4 + -: 49: 233, // 5 + -: 50: 249, // 6 + -: 51: 236, // 7 + -: 52: 242, // 8 + -: 53: 199, // 9 + -: 54: 10, // 10 + -: 55: 216, // 11 + -: 56: 248, // 12 + -: 57: 13, // 13 + -: 58: 197, // 14 + -: 59: 229, // 15 + -: 60: NVAM, // 16 + -: 61: 95, // 17 + -: 62: NVAM, // 18 + -: 63: NVAM, // 19 + -: 64: NVAM, // 20 + -: 65: NVAM, // 21 + -: 66: NVAM, // 22 + -: 67: NVAM, // 23 + -: 68: NVAM, // 24 + -: 69: NVAM, // 25 + -: 70: NVAM, // 26 + -: 71: 27, // 27 + -: 72: 198, // 28 + -: 73: 230, // 29 + -: 74: 223, // 30 + -: 75: 201, // 31 + -: 76: 32, // 32 + -: 77: 33, // 33 + -: 78: 34, // 34 + -: 79: 35, // 35 + -: 80: 164, // 36 + -: 81: 37, // 37 + -: 82: 38, // 38 + -: 83: 39, // 39 + -: 84: 40, // 40 + -: 85: 41, // 41 + -: 86: 42, // 42 + -: 87: 43, // 43 + -: 88: 44, // 44 + -: 89: 45, // 45 + -: 90: 46, // 46 + -: 91: 47, // 47 + -: 92: 48, // 48 + -: 93: 49, // 49 + -: 94: 50, // 50 + -: 95: 51, // 51 + -: 96: 52, // 52 + -: 97: 53, // 53 + -: 98: 54, // 54 + -: 99: 55, // 55 + -: 100: 56, // 56 + -: 101: 57, // 57 + -: 102: 58, // 58 + -: 103: 59, // 59 + -: 104: 60, // 60 + -: 105: 61, // 61 + -: 106: 62, // 62 + -: 107: 63, // 63 + -: 108: 161, // 64 + -: 109: 65, // 65 + -: 110: 66, // 66 + -: 111: 67, // 67 + -: 112: 68, // 68 + -: 113: 69, // 69 + -: 114: 70, // 70 + -: 115: 71, // 71 + -: 116: 72, // 72 + -: 117: 73, // 73 + -: 118: 74, // 74 + -: 119: 75, // 75 + -: 120: 76, // 76 + -: 121: 77, // 77 + -: 122: 78, // 78 + -: 123: 79, // 79 + -: 124: 80, // 80 + -: 125: 81, // 81 + -: 126: 82, // 82 + -: 127: 83, // 83 + -: 128: 84, // 84 + -: 129: 85, // 85 + -: 130: 86, // 86 + -: 131: 87, // 87 + -: 132: 88, // 88 + -: 133: 89, // 89 + -: 134: 90, // 90 + -: 135: 196, // 91 + -: 136: 214, // 92 + -: 137: 209, // 93 + -: 138: 220, // 94 + -: 139: 167, // 95 + -: 140: 191, // 96 + -: 141: 97, // 97 + -: 142: 98, // 98 + -: 143: 99, // 99 + -: 144: 100, // 100 + -: 145: 101, // 101 + -: 146: 102, // 102 + -: 147: 103, // 103 + -: 148: 104, // 104 + -: 149: 105, // 105 + -: 150: 106, // 106 + -: 151: 107, // 107 + -: 152: 108, // 108 + -: 153: 109, // 109 + -: 154: 110, // 110 + -: 155: 111, // 111 + -: 156: 112, // 112 + -: 157: 113, // 113 + -: 158: 114, // 114 + -: 159: 115, // 115 + -: 160: 116, // 116 + -: 161: 117, // 117 + -: 162: 118, // 118 + -: 163: 119, // 119 + -: 164: 120, // 120 + -: 165: 121, // 121 + -: 166: 122, // 122 + -: 167: 228, // 123 + -: 168: 246, // 124 + -: 169: 241, // 125 + -: 170: 252, // 126 + -: 171: 224 // 127 + -: 172:}; + -: 173: + -: 174:const int GSM_TO_ASCII_TABLE_SIZE = sizeof(gsm_to_ascii)/sizeof(gsm_to_ascii[0]); + -: 175: + 1: 176:AT_CellularSMS::AT_CellularSMS(ATHandler &at) : AT_CellularBase(at), _cb(0), _mode(CellularSMSMmodeText), + 1: 177: _use_8bit_encoding(false), _sim_wait_time(0), _sms_message_ref_number(1), _sms_info(NULL) + -: 178:{ + -: 179: /* URCs, handled out of band */ + 1: 180: _at.set_urc_handler("+CMTI: ", callback(this, &AT_CellularSMS::cmti_urc)); + 1: 181: _at.set_urc_handler("+CMT: ", callback(this, &AT_CellularSMS::cmt_urc)); + 1: 182:} + -: 183: + 2: 184:AT_CellularSMS::~AT_CellularSMS() + -: 185:{ + 2: 186:} + -: 187: + #####: 188:void AT_CellularSMS::cmt_urc() + -: 189:{ + -: 190: log_debug("CMT_URC called"); + -: 191: //+CMT: ,[],[,,,,,,,] + #####: 192: _at.consume_to_stop_tag(); + -: 193: // call user defined callback function + #####: 194: if (_cb) { + #####: 195: _cb(); + -: 196: } else { + -: 197: log_warn("cmt_urc, no user defined callback for receiving sms!"); + -: 198: } + #####: 199:} + -: 200: + #####: 201:void AT_CellularSMS::cmti_urc() + -: 202:{ + -: 203: //+CMTI: ,, + -: 204: log_debug("CMTI_URC called"); + -: 205: // call user defined callback function + #####: 206: if (_cb) { + #####: 207: _cb(); + -: 208: } else { + -: 209: log_warn("cmti_urc, no user defined callback for receiving sms!"); + -: 210: } + #####: 211:} + -: 212: + #####: 213:nsapi_error_t AT_CellularSMS::set_cnmi() + -: 214:{ + #####: 215: _at.lock(); + #####: 216: _at.cmd_start("AT+CNMI=2,1"); + #####: 217: _at.cmd_stop(); + #####: 218: _at.resp_start(); + #####: 219: _at.resp_stop(); + #####: 220: return _at.unlock_return_error(); + -: 221:} + -: 222: + #####: 223:nsapi_error_t AT_CellularSMS::set_cmgf(int msg_format) + -: 224:{ + #####: 225: _at.lock(); + #####: 226: _at.cmd_start("AT+CMGF="); + #####: 227: _at.write_int(msg_format); + #####: 228: _at.cmd_stop(); + #####: 229: _at.resp_start(); + #####: 230: _at.resp_stop(); + #####: 231: return _at.unlock_return_error(); + -: 232:} + -: 233: + #####: 234:nsapi_error_t AT_CellularSMS::set_csmp(int fo, int vp, int pid, int dcs) + -: 235:{ + #####: 236: _at.lock(); + #####: 237: _at.cmd_start("AT+CSMP="); + #####: 238: _at.write_int(fo); + #####: 239: _at.write_int(vp); + #####: 240: _at.write_int(pid); + #####: 241: _at.write_int(dcs); + #####: 242: _at.cmd_stop(); + #####: 243: _at.resp_start(); + #####: 244: _at.resp_stop(); + #####: 245: return _at.unlock_return_error(); + -: 246:} + -: 247: + #####: 248:nsapi_error_t AT_CellularSMS::set_csdh(int show_header) + -: 249:{ + #####: 250: _at.lock(); + #####: 251: _at.cmd_start("AT+CSDH="); + #####: 252: _at.write_int(show_header); + #####: 253: _at.cmd_stop(); + #####: 254: _at.resp_start(); + #####: 255: _at.resp_stop(); + #####: 256: return _at.unlock_return_error(); + -: 257:} + -: 258: + #####: 259:nsapi_error_t AT_CellularSMS::initialize(CellularSMSMmode mode) + -: 260:{ + #####: 261: _at.lock(); + #####: 262: set_cnmi(); //set new SMS indication + #####: 263: set_cmgf(mode); //set message format/PDU + -: 264: + #####: 265: if (mode == CellularSMSMmodeText) { + -: 266: set_csmp(FIRST_OCTET_DELIVER_SUBMIT, TP_VALIDITY_PERIOD_24_HOURS, TP_PROTOCOL_IDENTIFIER, + #####: 267: SMS_DATA_CODING_SCHEME); //set Set Text Mode Parameters(default values for SMS-SUBMIT and RECEIVE) + #####: 268: set_csdh(1);//set header extra info as it's needed + -: 269: } + -: 270: + #####: 271: _mode = mode; + -: 272: + #####: 273: return _at.unlock_return_error(); + -: 274:} + -: 275: + #####: 276:void AT_CellularSMS::set_extra_sim_wait_time(int sim_wait_time) + -: 277:{ + #####: 278: _sim_wait_time = sim_wait_time; + #####: 279:} + -: 280: + #####: 281:char* AT_CellularSMS::create_pdu(const char* phone_number, const char* message, uint8_t message_length, uint8_t msg_parts, + -: 282: uint8_t msg_part_number) + -: 283:{ + #####: 284: int totalPDULength = 0; + #####: 285: int number_len = strlen(phone_number); + -: 286: + #####: 287: totalPDULength += number_len; + #####: 288: if (number_len&0x01) {// if phone number length is not even length we must pad it and so +1 + #####: 289: totalPDULength += 1; + -: 290: } + -: 291: + #####: 292: totalPDULength += 16; // all other than phone number and message length + #####: 293: if (msg_parts > 1) {// add more space for UDH + #####: 294: totalPDULength += 12; + -: 295: } + -: 296: // there might be need for padding so some more space + #####: 297: totalPDULength +=2; + -: 298: + -: 299: // message 7-bit padded and it will be converted to hex so it will take twice as much space + #####: 300: totalPDULength += (message_length - (message_length/8))*2; + -: 301: + #####: 302: char* pdu = (char*)calloc(totalPDULength, sizeof(char)); + #####: 303: if (!pdu) { + #####: 304: return NULL; + -: 305: } + -: 306: + #####: 307: int x = 0; + -: 308: // See more how to create PDU from 3GPP specification 23040 + -: 309: // first two define that we use service center number which is set with +CSCA + #####: 310: pdu[x++] = '0'; + #####: 311: pdu[x++] = '0'; + -: 312: // First Octet of the TPDU. 41 means SMS SUBMIT, no validity period, no status report, use User Data Header. + -: 313: // 01 means SMS SUBMIT, no validity period, no status report, NO User Data Header. + #####: 314: if (msg_parts > 1) { // concatenated, must use UDH + #####: 315: pdu[x++] = '4'; + -: 316: } else { + #####: 317: pdu[x++] = '0'; + -: 318: } + #####: 319: pdu[x++] = '1'; + -: 320: // assign a message reference automatically. We have defined TP-RD bit as 0 so duplicates are not rejected. + #####: 321: pdu[x++] = '0'; + #####: 322: pdu[x++] = '0'; + -: 323: // [6] and [7] Length of the Destination Phone Number + #####: 324: int_to_hex_str(number_len, pdu+x); + #####: 325: x+=2; + -: 326: // Type of the Destination Phone Number + #####: 327: pdu[x++] = '8'; + #####: 328: pdu[x++] = '1'; + -: 329: + -: 330: // phone number as reverse nibble encoded + #####: 331: int i = 0; + #####: 332: for (; i < number_len; i += 2) { + #####: 333: if (i+1 == number_len) { + #####: 334: pdu[x++] = 'f'; + -: 335: } else { + #####: 336: pdu[x++] = phone_number[i+1]; + -: 337: } + #####: 338: pdu[x++] = phone_number[i]; + -: 339: } + -: 340: + -: 341: // Protocol Identifier + #####: 342: pdu[x++] = '0'; + #####: 343: pdu[x++] = '0'; + -: 344: // Data Coding Scheme, GSM 7-bit default alphabet = '00', 8-bit '04' + #####: 345: pdu[x++] = '0'; + -: 346: + #####: 347: if (_use_8bit_encoding) { + #####: 348: pdu[x++] = '4'; + -: 349: } else { + #####: 350: pdu[x++] = '0'; + -: 351: } + -: 352: + -: 353: // possible to use 16 bit identifier, can't be defined yet from outside + #####: 354: bool use_16_bit_identifier = false; + #####: 355: uint8_t udhlen = 0; + -: 356: // Length can be update after we have created PDU, store position for later use. + #####: 357: int lengthPos = x; + #####: 358: x +=2; + -: 359: + #####: 360: int paddingBits = 0; + #####: 361: if (msg_parts > 1) { // concatenated, must use UDH + -: 362: // user data header length in chars + #####: 363: pdu[x++] = '0'; + #####: 364: if (use_16_bit_identifier) { + #####: 365: udhlen = 7; // udh length in chars (6) + udhl length in chars + #####: 366: pdu[x++] = '6'; + -: 367: } else { + #####: 368: udhlen = 6; // udh length in chars (5) + udhl length in chars + #####: 369: pdu[x++] = '5'; + -: 370: } + -: 371: // Information element identifier + #####: 372: pdu[x++] = '0'; + #####: 373: if (use_16_bit_identifier) { + #####: 374: pdu[x++] = '8'; + -: 375: } else { + #####: 376: pdu[x++] = '0'; + -: 377: } + -: 378: // Information element data length + #####: 379: pdu[x++] = '0'; + #####: 380: if (use_16_bit_identifier) { + #####: 381: pdu[x++] = '4'; + -: 382: } else { + #####: 383: pdu[x++] = '3'; + -: 384: } + -: 385: // A reference number (must be the same for all parts of the same larger messages) + #####: 386: int_to_hex_str(_sms_message_ref_number&0xFF, pdu+x); + #####: 387: x +=2; + #####: 388: if (use_16_bit_identifier) { + #####: 389: int_to_hex_str((_sms_message_ref_number>>16)&0xFF, pdu+x); + #####: 390: x +=2; + -: 391: } + -: 392: // How many parts does this message have? + #####: 393: int_to_hex_str(msg_parts, pdu+x); + #####: 394: x +=2; + -: 395: // this is a part number + #####: 396: int_to_hex_str(msg_part_number, pdu+x); + #####: 397: x +=2; + -: 398: + -: 399: // if there is padding bits then udhlen is octet bigger as we need to keep septet boundary + #####: 400: paddingBits = (udhlen * 8 ) % 7; + #####: 401: if (paddingBits) { + #####: 402: paddingBits = 7 - paddingBits; + #####: 403: udhlen += 1; + -: 404: } + -: 405: } + -: 406: + #####: 407: if (_use_8bit_encoding) { + #####: 408: char_str_to_hex_str(message, message_length, pdu+x); + -: 409: } else { + -: 410: // we might need to send zero length sms + #####: 411: if (message_length) { + #####: 412: if (pack_7_bit_gsm_and_hex(message, message_length, pdu+x, paddingBits) == 0) { + #####: 413: free(pdu); + #####: 414: return NULL; + -: 415: } + -: 416: } + -: 417: } + -: 418: + -: 419: // now we know the correct length of the UDL (User Data Length) + #####: 420: int_to_hex_str(message_length + udhlen, pdu+lengthPos); + -: 421: + #####: 422: return pdu; + -: 423:} + -: 424: + #####: 425:nsapi_size_or_error_t AT_CellularSMS::send_sms(const char* phone_number, const char* message, int msg_len) + -: 426:{ + #####: 427: int single_sms_max_length = _use_8bit_encoding ? SMS_MAX_SIZE_8BIT_SINGLE_SMS_SIZE : + #####: 428: SMS_MAX_SIZE_GSM7_SINGLE_SMS_SIZE; + #####: 429: if ((_mode == CellularSMSMmodeText && msg_len > single_sms_max_length) || !phone_number) { + #####: 430: return NSAPI_ERROR_PARAMETER; + -: 431: } + -: 432: + #####: 433: _at.lock(); + -: 434: + #####: 435: int write_size = 0; + #####: 436: int remove_plus_sign = (phone_number[0] == '+') ? 1 : 0; + -: 437: + #####: 438: wait_ms(_sim_wait_time); + -: 439: + #####: 440: if (_mode == CellularSMSMmodeText) { + #####: 441: _at.cmd_start("AT+CMGS="); + #####: 442: _at.write_string(phone_number+remove_plus_sign); + #####: 443: _at.cmd_stop(); + -: 444: + #####: 445: wait_ms(_sim_wait_time); + #####: 446: _at.resp_start("> ", true); + -: 447: + #####: 448: if (_at.get_last_error() == NSAPI_ERROR_OK) { + #####: 449: write_size = _at.write_bytes((uint8_t*)message, msg_len); + #####: 450: if (write_size < msg_len) { + -: 451: // sending can be cancelled by giving character (IRA 27). + #####: 452: _at.cmd_start(ESC); + #####: 453: _at.cmd_stop(); + #####: 454: _at.unlock(); + #####: 455: return write_size; + -: 456: } + -: 457: // (IRA 26) must be used to indicate the ending of the message body. + #####: 458: _at.cmd_start(CTRL_Z); + #####: 459: _at.cmd_stop(); + #####: 460: _at.resp_start("+CMGS: "); + #####: 461: _at.resp_stop(); + -: 462: } + -: 463: } else { + -: 464: // supports uncompressed 8 bit data and GSM 7 bit default alphabet data. Current implementation uses only + -: 465: // GSM 7 bit default but support is done for 8 bit data. + -: 466: int sms_count; + #####: 467: int concatenated_sms_length = _use_8bit_encoding ? SMS_MAX_8BIT_CONCATENATED_SINGLE_SMS_SIZE : + #####: 468: SMS_MAX_GSM7_CONCATENATED_SINGLE_SMS_SIZE; + -: 469: + #####: 470: if (msg_len <= single_sms_max_length) { + -: 471: // single message + #####: 472: sms_count = 1; + -: 473: } else { + -: 474: // concatenated message + #####: 475: sms_count = msg_len/concatenated_sms_length; + #####: 476: if (msg_len%concatenated_sms_length != 0) { + #####: 477: sms_count++; + -: 478: } + -: 479: } + -: 480: + #####: 481: int remaining_len = msg_len; + -: 482: int pdu_len; + -: 483: char *pdu_str; + #####: 484: for (int i = 0; i< sms_count; i++) { + -: 485: + #####: 486: if (sms_count == 1) { + #####: 487: pdu_len = msg_len; + -: 488: } else { + #####: 489: pdu_len = remaining_len > concatenated_sms_length ? concatenated_sms_length : remaining_len; + -: 490: } + -: 491: + #####: 492: pdu_str = create_pdu(phone_number+remove_plus_sign, message + i*concatenated_sms_length, pdu_len, + #####: 493: sms_count, i+1); + #####: 494: if (!pdu_str) { + #####: 495: _at.unlock(); + #####: 496: return NSAPI_ERROR_NO_MEMORY; + -: 497: } + #####: 498: pdu_len = strlen(pdu_str); + -: 499: + -: 500: // specification says that service center number should not be included so we subtract -2 from pdu_len as we use '00' for automatic service center number + #####: 501: _at.cmd_start("AT+CMGS="); + #####: 502: _at.write_int((pdu_len-2)/2); + #####: 503: _at.cmd_stop(); + -: 504: + #####: 505: wait_ms(_sim_wait_time); + #####: 506: _at.resp_start("> ", true); + -: 507: + #####: 508: if (_at.get_last_error() == NSAPI_ERROR_OK) { + #####: 509: write_size = _at.write_bytes((uint8_t*)pdu_str, pdu_len); + #####: 510: if (write_size < pdu_len) { + -: 511: // sending can be cancelled by giving character (IRA 27). + #####: 512: _at.cmd_start(ESC); + #####: 513: _at.cmd_stop(); + #####: 514: _at.unlock(); + #####: 515: free(pdu_str); + #####: 516: return write_size; + -: 517: } + -: 518: + -: 519: // (IRA 26) must be used to indicate the ending of the message body. + #####: 520: _at.cmd_start(CTRL_Z); + #####: 521: _at.cmd_stop(); + #####: 522: _at.resp_start("+CMGS: "); + #####: 523: _at.resp_stop(); + -: 524: } + #####: 525: free(pdu_str); + #####: 526: remaining_len -= concatenated_sms_length; + #####: 527: if (_at.get_last_error() != NSAPI_ERROR_OK) { + #####: 528: return _at.unlock_return_error(); + -: 529: } + -: 530: } + -: 531: } + -: 532: + #####: 533: _sms_message_ref_number++; + #####: 534: nsapi_error_t ret = _at.get_last_error(); + #####: 535: _at.unlock(); + -: 536: + #####: 537: return (ret == NSAPI_ERROR_OK) ? write_size : ret; + -: 538:} + -: 539: + #####: 540:void AT_CellularSMS::set_sms_callback(Callback func) + -: 541:{ + #####: 542: _cb = func; + #####: 543:} + -: 544: + #####: 545:nsapi_error_t AT_CellularSMS::set_cpms(const char *memr, const char *memw, const char *mems) + -: 546:{ + #####: 547: _at.lock(); + #####: 548: _at.cmd_start("AT+CPMS="); + #####: 549: _at.write_string(memr); + #####: 550: _at.write_string(memw); + #####: 551: _at.write_string(mems); + #####: 552: _at.cmd_stop(); + #####: 553: _at.resp_start(); + #####: 554: _at.resp_stop(); + -: 555: + #####: 556: return _at.unlock_return_error(); + -: 557:} + -: 558: + #####: 559:nsapi_error_t AT_CellularSMS::set_csca(const char *sca, int type) + -: 560:{ + #####: 561: _at.lock(); + #####: 562: _at.cmd_start("AT+CSCA="); + #####: 563: _at.write_string(sca); + #####: 564: _at.write_int(type); + #####: 565: _at.cmd_stop(); + #####: 566: _at.resp_start(); + #####: 567: _at.resp_stop(); + -: 568: + #####: 569: return _at.unlock_return_error(); + -: 570:} + -: 571: + #####: 572:nsapi_size_or_error_t AT_CellularSMS::set_cscs(const char *chr_set) + -: 573:{ + #####: 574: _at.lock(); + #####: 575: _at.cmd_start("AT+CSCS="); + #####: 576: _at.write_string(chr_set); + #####: 577: _at.cmd_stop(); + #####: 578: _at.resp_start(); + #####: 579: _at.resp_stop(); + -: 580: + #####: 581: return _at.unlock_return_error(); + -: 582:} + -: 583: + #####: 584:nsapi_error_t AT_CellularSMS::set_csms(int msg_service) + -: 585:{ + #####: 586: _at.lock(); + #####: 587: _at.cmd_start("AT+CSMS="); + #####: 588: _at.write_int(msg_service); + #####: 589: _at.cmd_stop(); + #####: 590: _at.resp_start(); + #####: 591: _at.resp_stop(); + -: 592: + #####: 593: return _at.unlock_return_error(); + -: 594:} + -: 595: + #####: 596:nsapi_error_t AT_CellularSMS::delete_sms(sms_info_t* sms) + -: 597:{ + #####: 598: _at.lock(); + #####: 599: for (int i = 0; i < sms->parts; i++) { + #####: 600: _at.cmd_start("AT+CMGD="); + #####: 601: _at.write_int(sms->msg_index[i]); + #####: 602: _at.cmd_stop(); + #####: 603: _at.resp_start(); + #####: 604: _at.resp_stop(); + -: 605: } + -: 606: + #####: 607: return _at.unlock_return_error(); + -: 608:} + -: 609: + -: 610:// we need this as for example concatenated sms can get different sms reference numbers + -: 611:// if for example last part take much more time to arrive. This situation happened while testing. + -: 612:// What this means that after this we can't read another sms because we always read the oldest sms + -: 613:// that was corrupted. So we need to have delete all messages. + #####: 614:nsapi_error_t AT_CellularSMS::delete_all_messages() + -: 615:{ + #####: 616: _at.lock(); + #####: 617: _at.cmd_start("AT+CMGD=1,4"); + #####: 618: _at.cmd_stop(); + #####: 619: _at.resp_start(); + #####: 620: _at.resp_stop(); + #####: 621: return _at.unlock_return_error(); + -: 622:} + -: 623: + -: 624:// read msg in text mode + #####: 625:nsapi_size_or_error_t AT_CellularSMS::read_sms_from_index(int msg_index, char* buf, uint16_t len, char* phone_num, + -: 626: char* time_stamp) + -: 627:{ + -: 628: /* + -: 629: * +CMGR: ,,,[,,,,,,,]OK + -: 630: */ + #####: 631: wait_ms(_sim_wait_time); + #####: 632: _at.cmd_start("AT+CMGR="); + #####: 633: _at.write_int(msg_index); + #####: 634: _at.cmd_stop(); + -: 635: + -: 636: // TODO: NOTE: If the selected can contain different types of SMs (e.g. SMS-DELIVERs, SMS-SUBMITs, SMS-STATUS-REPORTs and SMS-COMMANDs), + -: 637: // the response may be a mix of the responses of different SM types. TE application can recognize the response format by examining the third response parameter. + -: 638: // for now we support sms reading of received messages + #####: 639: int buf_len = 0; + #####: 640: if (_at.get_last_error() == NSAPI_ERROR_OK) { + -: 641: char status[SMS_STATUS_SIZE]; + -: 642: // first we read msg status and with that we can decide how the rest of message format + #####: 643: _at.resp_start("+CMGR: "); + -: 644: + #####: 645: if (_at.info_resp()) { + #####: 646: _at.read_string(status, SMS_STATUS_SIZE); + #####: 647: uint16_t status_len = strlen(status); + #####: 648: if (((status_len == sizeof("REC READ") - 1) && memcmp("REC READ", status, status_len) == 0) + #####: 649: || ((status_len == sizeof("REC UNREAD") - 1) && memcmp("REC UNREAD", status, status_len) == 0)) { + -: 650: // Received message + #####: 651: if (phone_num) { + #####: 652: _at.read_string(phone_num, SMS_MAX_PHONE_NUMBER_SIZE); + -: 653: } + -: 654: else { + #####: 655: _at.skip_param(); // , + -: 656: } + #####: 657: _at.skip_param(); // + #####: 658: if (time_stamp) { + #####: 659: _at.read_string(time_stamp, SMS_MAX_TIME_STAMP_SIZE); + -: 660: } + #####: 661: (void)_at.consume_to_stop_tag(); // consume until + #####: 662: if (buf) { + #####: 663: _at.read_string(buf, len); + #####: 664: buf_len = strlen(buf); + -: 665: } + -: 666: } + -: 667: } + #####: 668: _at.resp_stop(); + -: 669: } + -: 670: + #####: 671: return (_at.get_last_error() == NSAPI_ERROR_OK) ? buf_len : _at.get_last_error(); + -: 672:} + -: 673: + -: 674:// read msg in PDU mode + #####: 675:nsapi_size_or_error_t AT_CellularSMS::read_sms(sms_info_t* sms, char* buf, char* phone_num, char* time_stamp) + -: 676:{ + -: 677: // +CMGR: ,[], + #####: 678: int index = -1; + #####: 679: if (sms->parts == sms->parts_added) { + -: 680: char *pdu; // we need a temp buffer as payload is hexencoded ---> can't use buf as it might be enough for message but not hexenconded pdu. + #####: 681: int status = -1; + #####: 682: int msg_len = 0; + #####: 683: index = 0; + #####: 684: int pduSize = 0; + -: 685: + #####: 686: for (int i = 0; i < sms->parts; i++) { + #####: 687: wait_ms(_sim_wait_time); + #####: 688: _at.cmd_start("AT+CMGR="); + #####: 689: _at.write_int(sms->msg_index[i]); + #####: 690: _at.cmd_stop(); + #####: 691: _at.resp_start("+CMGR: "); + -: 692: + #####: 693: if (_at.info_resp()) { + #####: 694: status = _at.read_int(); + #####: 695: _at.skip_param(); // + #####: 696: if ((_at.get_last_error() == NSAPI_ERROR_OK) && (status == 0 || status == 1)) { + #####: 697: msg_len = _at.read_int(); + #####: 698: if (msg_len > 0) { + #####: 699: pduSize = msg_len*2 + 20;// *2 as it's hex encoded and +20 as service center number is not included in size given by CMGR + #####: 700: pdu = (char*)calloc(pduSize, sizeof(char)); + #####: 701: if (!pdu) { + #####: 702: _at.resp_stop(); + #####: 703: return NSAPI_ERROR_NO_MEMORY; + -: 704: } + #####: 705: _at.read_string(pdu, pduSize, true); + #####: 706: if (_at.get_last_error() == NSAPI_ERROR_OK) { + #####: 707: msg_len = get_data_from_pdu(pdu, NULL, NULL, phone_num, buf+index); + #####: 708: if (msg_len >= 0) { // we need to allow zero length messages + #####: 709: index += msg_len; + -: 710: } else { + #####: 711: free(pdu); + #####: 712: _at.resp_stop(); + #####: 713: return -1; + -: 714: } + -: 715: } + #####: 716: free(pdu); + -: 717: } + -: 718: } + -: 719: } + #####: 720: _at.resp_stop(); + -: 721: } + -: 722: + #####: 723: if (_at.get_last_error() == NSAPI_ERROR_OK) { + #####: 724: if (time_stamp) { + #####: 725: strcpy(time_stamp, sms->date); + -: 726: } + #####: 727: buf[index] = '\0'; + -: 728: } + -: 729: } + -: 730: else { + -: 731: log_warn("NOT all concatenated parts were received..."); + #####: 732: index = SMS_ERROR_MULTIPART_ALL_PARTS_NOT_READ; + -: 733: } + -: 734: + #####: 735: return index; + -: 736:} + -: 737: + #####: 738:nsapi_size_or_error_t AT_CellularSMS::get_sms(char* buf, uint16_t len, char* phone_num, uint16_t phone_len, + -: 739: char* time_stamp, uint16_t time_len, int *buf_size) + -: 740:{ + -: 741: // validate buffer sizes already here to avoid any necessary function calls and locking of _at + #####: 742: if ((phone_num && phone_len < SMS_MAX_PHONE_NUMBER_SIZE) || (time_stamp && time_len < SMS_MAX_TIME_STAMP_SIZE) || + -: 743: buf == NULL) { + #####: 744: return NSAPI_ERROR_PARAMETER; + -: 745: } + -: 746: + #####: 747: _at.lock(); + -: 748: + #####: 749: nsapi_size_or_error_t err = list_messages(); + #####: 750: if (err == NSAPI_ERROR_OK) { + -: 751: // we return the oldest sms and delete it after successful read + #####: 752: sms_info_t* info = get_oldest_sms_index(); + -: 753: + #####: 754: if (info) { + #####: 755: if (info->msg_size+1 > len) { // +1 for '\0' + -: 756: log_warn("Given buf too small, len is: %d but is must be: %d", len, info->msg_size); + #####: 757: if (buf_size) { + #####: 758: *buf_size = info->msg_size; + -: 759: } + #####: 760: free_linked_list(); + #####: 761: _at.unlock(); + #####: 762: return NSAPI_ERROR_PARAMETER; + -: 763: } + -: 764: + #####: 765: if (_mode == CellularSMSMmodePDU) { + #####: 766: err = read_sms(info, buf, phone_num, time_stamp); + -: 767: } else { + #####: 768: err = read_sms_from_index(info->msg_index[0], buf, len, phone_num, time_stamp); + -: 769: } + -: 770: + #####: 771: if (err > 0) { + #####: 772: int delerr = delete_sms(info); + #####: 773: if (delerr) { + #####: 774: err = delerr; + -: 775: } + -: 776: } + -: 777: } else { + -: 778: // No messages were found, return -1 + #####: 779: err = -1; + -: 780: } + -: 781: } + -: 782: + #####: 783: free_linked_list(); + -: 784: + #####: 785: _at.unlock(); + -: 786: + -: 787: // update error only when there really was an error, otherwise we return the length + #####: 788: if (_at.get_last_error()) { + #####: 789: err = _at.get_last_error(); + -: 790: } + #####: 791: return err; + -: 792:} + -: 793: + #####: 794: nsapi_size_or_error_t AT_CellularSMS::get_data_from_pdu(const char* pdu, sms_info_t *info, int *part_number, + -: 795: char *phone_number, char *msg) + -: 796:{ + #####: 797: int index = 0; + -: 798: int tmp; + -: 799: bool userDataHeader; + -: 800: int oaLength; + -: 801: int dataScheme; + #####: 802: nsapi_size_or_error_t err = NSAPI_ERROR_OK; + -: 803: + -: 804: // read Length of the SMSC information + #####: 805: oaLength = hex_str_to_int(pdu, 2); + #####: 806: index += 2; // length we just read + #####: 807: index += oaLength*2; // skip service center number + -: 808: + -: 809: // read first the lower part of first octet as there is message type + #####: 810: index++; + #####: 811: tmp = hex_str_to_int(pdu+index, 1); + -: 812: //wait_ms(200); + #####: 813: if ((tmp & 0x03) == 0) {// SMS-DELIVER type, last two bits should be zero + -: 814: // UDH present? Check from first octets higher part + #####: 815: tmp = hex_str_to_int(pdu + (--index), 1); + #####: 816: userDataHeader = ((tmp & 0x04) == 0) ? false : true; + -: 817: + #####: 818: index +=2; // we just read the high bits of first octet so move +2 + -: 819: // originating address length + #####: 820: oaLength = hex_str_to_int(pdu+index, 2); + #####: 821: index +=2; // add index over address length + #####: 822: index +=2; // skip number type + #####: 823: if (phone_number) { + -: 824: // phone number as reverse nibble encoded + #####: 825: int a = 0; + #####: 826: for (; a < oaLength; a +=2) { + #####: 827: if (a+1 == oaLength) { + #####: 828: phone_number[a] = pdu[index+a+1]; + -: 829: } else { + #####: 830: phone_number[a] = pdu[index+a+1]; + #####: 831: phone_number[a+1] = pdu[index+a]; + -: 832: } + -: 833: } + #####: 834: phone_number[oaLength] = '\0'; + -: 835: } + -: 836: + #####: 837: index += oaLength; + #####: 838: if (oaLength&0x01) { // if phone number length is odd then it has padded F so skip that + #####: 839: index++; + -: 840: } + #####: 841: index +=2; // skip TP-Protocol identifier + -: 842: + #####: 843: dataScheme = hex_str_to_int(pdu+index, 2); + #####: 844: index +=2; // skip TP-Data-Coding-Scheme + -: 845: + -: 846: // next one is date, it's length is 7 octets according to 3GPP TS 23.040 + -: 847: // create time string + #####: 848: if (info) { + #####: 849: int i = 0; + -: 850: // year + #####: 851: info->date[i++] = pdu[index+1]; + #####: 852: info->date[i++] = pdu[index]; + #####: 853: index+=2; + #####: 854: info->date[i++] = '/'; + -: 855: // month + #####: 856: info->date[i++] = pdu[index+1]; + #####: 857: info->date[i++] = pdu[index]; + #####: 858: index+=2; + #####: 859: info->date[i++] = '/'; + -: 860: // Day + #####: 861: info->date[i++] = pdu[index+1]; + #####: 862: info->date[i++] = pdu[index]; + #####: 863: index+=2; + #####: 864: info->date[i++] = ','; + -: 865: // Hour + #####: 866: info->date[i++] = pdu[index+1]; + #####: 867: info->date[i++] = pdu[index]; + #####: 868: index+=2; + #####: 869: info->date[i++] = ':'; + -: 870: // Minute + #####: 871: info->date[i++] = pdu[index+1]; + #####: 872: info->date[i++] = pdu[index]; + #####: 873: index+=2; + #####: 874: info->date[i++] = ':'; + -: 875: // Second + #####: 876: info->date[i++] = pdu[index+1]; + #####: 877: info->date[i++] = pdu[index]; + #####: 878: index+=2; + -: 879: // timezone related to GMT. pdu[index+1] most significant bit indicates the sign related to gmt + #####: 880: tmp = hex_str_to_int(pdu+index+1, 1); + #####: 881: if (tmp&0x08) { + #####: 882: info->date[i++] = '-'; + -: 883: } else { + #####: 884: info->date[i++] = '+'; + -: 885: } + -: 886: + -: 887: // pdu[index+1 & 0x07 is the most significant bits of the timezone + -: 888: // pdu [index] is the least significant bits + #####: 889: info->date[i++] = '0' + (tmp & 0x07); + #####: 890: info->date[i++] = pdu[index]; + #####: 891: info->date[i] = '\0'; + #####: 892: index+=2; + -: 893: } else { + #####: 894: index+=14; + -: 895: } + -: 896: + #####: 897: index +=2; + #####: 898: int paddingBits = 0; + #####: 899: int parts = 1; + #####: 900: int partnro = 1; + #####: 901: if (userDataHeader) { + -: 902: // we need to read User Defined Header to know what part number this message is. + #####: 903: index += read_udh_from_pdu(pdu+index, info, partnro, parts, paddingBits); + -: 904: } + -: 905: + #####: 906: if (part_number) { + #####: 907: *part_number = partnro; + -: 908: } + -: 909: + #####: 910: if (msg) { + -: 911: // we are reading the message + #####: 912: err = read_pdu_payload(pdu+index, dataScheme, msg, paddingBits, partnro == parts); + -: 913: } + -: 914: else { + #####: 915: if (dataScheme == 0x00) { + -: 916: // when listing messages we need to calculated length. Other way would be unpacking the whole message. + #####: 917: err = strlen(pdu+index) >> 1; + #####: 918: err *= 8; + #####: 919: err /= 7; + #####: 920: } else if (dataScheme == 0x04) { + #####: 921: err = strlen(pdu+index) >> 1; + -: 922: } else { + #####: 923: return NSAPI_ERROR_UNSUPPORTED; + -: 924: } + -: 925: } + -: 926: + #####: 927: return err; + -: 928: } + -: 929: else { + -: 930: // message was not DELIVER so discard it + #####: 931: return NSAPI_ERROR_UNSUPPORTED; + -: 932: } + -: 933:} + -: 934: + -: 935: // read params from User DEfined Header + #####: 936:int AT_CellularSMS::read_udh_from_pdu(const char* pdu, sms_info_t *info, int &part_number, int &parts, + -: 937: int &padding_bits) { + -: 938: + #####: 939: int index = 0; + #####: 940: int udhLength = hex_str_to_int(pdu, 2); + #####: 941: index +=2; + -: 942: + -: 943: // if there is padding bits then udhlen is octet bigger as we need to keep septet boundary + #####: 944: padding_bits = ((udhLength+1) * 8 ) % 7; // +1 is for udhLength itself + #####: 945: if (padding_bits) { + #####: 946: padding_bits = 7 - padding_bits; + -: 947: } else { + #####: 948: padding_bits = 0; + -: 949: } + -: 950: + #####: 951: int tmp = hex_str_to_int(pdu+index, 2); + #####: 952: index +=4; + -: 953: + #####: 954: if (tmp == 0) { // 8-bit reference number + #####: 955: if (info) { + #####: 956: info->msg_ref_number = (uint16_t)hex_str_to_int(pdu+index, 2); + -: 957: } + #####: 958: index +=2; + -: 959: } else { // 16-bit reference number + #####: 960: if (info) { + #####: 961: info->msg_ref_number = (uint16_t)hex_str_to_int(pdu+index+2, 2); + #####: 962: tmp = hex_str_to_int(pdu+index, 2); + #####: 963: info->msg_ref_number |= (tmp << 8); + -: 964: } + #####: 965: index +=4; + -: 966: } + -: 967: + #####: 968: parts = hex_str_to_int(pdu+index, 2); + #####: 969: if (info) { + #####: 970: info->parts = parts; + -: 971: } + #####: 972: index +=2; + -: 973: + #####: 974: part_number = hex_str_to_int(pdu+index, 2); + #####: 975: index +=2; + -: 976: + #####: 977: return (udhLength*2 + 2); // udh in hex and udhl + -: 978:} + -: 979: + #####: 980:nsapi_size_or_error_t AT_CellularSMS::read_pdu_payload(const char* pdu, int scheme, char *msg, int padding_bits, + -: 981: bool last_part) + -: 982:{ + #####: 983: if (scheme == 0x00) { + -: 984: // 7 bit gsm encoding, must do the conversions from hex to 7-bit encoding and to ascii + #####: 985: return unpack_7_bit_gsm_to_str(pdu, strlen(pdu)/2, msg, padding_bits, last_part); + -: 986: + #####: 987: } else if (scheme == 0x04) { + -: 988: // 8bit scheme so just convert hexstring to charstring + #####: 989: return hex_str_to_char_str(pdu, strlen(pdu), msg); + -: 990: } else { + #####: 991: log_error("Received unsupported data coding scheme: 0x%02x", scheme); + #####: 992: return NSAPI_ERROR_UNSUPPORTED; + -: 993: } + -: 994:} + -: 995: + #####: 996:void AT_CellularSMS::free_linked_list() + -: 997:{ + #####: 998: sms_info_t* info = _sms_info; + -: 999: sms_info_t* old; + #####: 1000: while (info) { + #####: 1001: old = info; + #####: 1002: info = info->next_info; + #####: 1003: delete old; + -: 1004: } + #####: 1005: _sms_info = NULL; + #####: 1006:} + -: 1007: + #####: 1008:void AT_CellularSMS::add_info(sms_info_t* info, int index, int part_number) { + -: 1009: // check for same message reference id. If found, update it and delete the given info. + -: 1010: // if NOT found then add to the end of the list. + -: 1011: + #####: 1012: if (!_sms_info) { + #####: 1013: info->msg_index[part_number-1] = index; // part numbering starts from 1 so -1 to put to right index + #####: 1014: _sms_info = info; + #####: 1015: return; + -: 1016: } + #####: 1017: sms_info_t* current = _sms_info; + -: 1018: sms_info_t* prev; + #####: 1019: bool found_msg = false; + #####: 1020: while (current) { + #####: 1021: prev = current; + -: 1022: // sms messages can have same reference number so additional checks are needed. + -: 1023: // TODO: should we include phone number also? + #####: 1024: if (current->msg_ref_number == info->msg_ref_number && current->parts > current->parts_added && + #####: 1025: info->parts > info->parts_added) { + -: 1026: // multipart sms, update msg size and index + #####: 1027: current->msg_size += info->msg_size; + #####: 1028: current->msg_index[part_number-1] = index; // part numbering starts from 1 so -1 to put to right index + #####: 1029: current->parts_added++; + -: 1030: // update oldest part as date + #####: 1031: if (compare_time_strings(info->date, current->date) == -1) { + #####: 1032: strcpy(current->date, info->date); + -: 1033: } + #####: 1034: found_msg = true; + #####: 1035: break; + -: 1036: } + #####: 1037: current = current->next_info; + -: 1038: } + -: 1039: + #####: 1040: if (found_msg) { + -: 1041: // info was added to existing item in linked list, must be deleted + #####: 1042: delete info; + -: 1043: } else { + -: 1044: // message not found, add to linked list + #####: 1045: info->msg_index[part_number-1] = index; + #####: 1046: prev->next_info = info; + -: 1047: } + -: 1048:} + -: 1049: + -: 1050:// reads all the messages to the linked list AT_CellularSMS::_sms_info + #####: 1051:nsapi_error_t AT_CellularSMS::list_messages() + -: 1052:{ + -: 1053: // TODO: NOTE: If the selected can contain different types of SMs (e.g. SMS-DELIVERs, SMS-SUBMITs, SMS-STATUS-REPORTs and SMS-COMMANDs), + -: 1054: // the response may be a mix of the responses of different SM types. TE application can recognize the response format by examining the third response parameter. + -: 1055: // for now we assume that only SMS-DELIVER messages are read. + #####: 1056: if (_mode == CellularSMSMmodePDU) { + #####: 1057: _at.cmd_start("AT+CMGL=4"); + -: 1058: } else { + #####: 1059: _at.cmd_start("AT+CMGL=\"ALL\""); + -: 1060: } + #####: 1061: _at.cmd_stop(); + -: 1062: + #####: 1063: sms_info_t* info = NULL; + -: 1064: // init for 1 so that in text mode we will add to the correct place without any additional logic in addInfo() in text mode + #####: 1065: int part_number = 1; + #####: 1066: int index = 0; + #####: 1067: int length = 0; + #####: 1068: char *pdu = NULL; + -: 1069: + #####: 1070: _at.resp_start("+CMGL: "); + #####: 1071: while (_at.info_resp()) { + #####: 1072: info = new sms_info_t(); + #####: 1073: if (!info) { + #####: 1074: _at.resp_stop(); + #####: 1075: return NSAPI_ERROR_NO_MEMORY; + -: 1076: } + -: 1077: + #####: 1078: if (_mode == CellularSMSMmodePDU) { + -: 1079: //+CMGL: ,,[],[ + -: 1080: // +CMGL:,,[], + -: 1081: //[...]] + #####: 1082: index = _at.read_int(); + #####: 1083: _at.skip_param(2); // ,[] + #####: 1084: length = _at.read_int(); + #####: 1085: length = length*2 + 20;// *2 as it's hex encoded and +20 as service center number is not included in size given by CMGL + #####: 1086: pdu = (char*)calloc(length, sizeof(char)); + #####: 1087: if (!pdu) { + #####: 1088: delete info; + #####: 1089: _at.resp_stop(); + #####: 1090: return NSAPI_ERROR_NO_MEMORY; + -: 1091: } + #####: 1092: _at.read_string(pdu, length, true); + #####: 1093: if (_at.get_last_error() == NSAPI_ERROR_OK) { + #####: 1094: info->msg_size = get_data_from_pdu(pdu, info, &part_number); + -: 1095: } + -: 1096: } else { + -: 1097: // +CMGL: ,,,[],[][,,][ + -: 1098: // +CMGL: ,,,[],[][,,][...]] + #####: 1099: index = _at.read_int(); + #####: 1100: (void)_at.consume_to_stop_tag(); // consume until + #####: 1101: (void)_at.consume_to_stop_tag(); // consume until + -: 1102: } + -: 1103: + #####: 1104: if (index > 0) { + #####: 1105: add_info(info, index, part_number); + -: 1106: } else { + #####: 1107: delete info; + #####: 1108: info = NULL; + -: 1109: } + #####: 1110: free(pdu); + #####: 1111: pdu = NULL; + -: 1112: } + -: 1113: + -: 1114: + #####: 1115: _at.resp_stop(); + -: 1116: + #####: 1117: return _at.get_last_error(); + -: 1118:} + -: 1119: + #####: 1120:AT_CellularSMS::sms_info_t* AT_CellularSMS::get_oldest_sms_index() + -: 1121:{ + -: 1122: /* + -: 1123: * Different scenarios when finding the oldest concatenated sms + -: 1124: * + -: 1125: * 1. Find first parts first and it was received first + -: 1126: * 2. Find first parts first and it was NOT received first -> older timestamp might exist in some other part + -: 1127: * 3. Find other than first part first and it was received first + -: 1128: * 4. Find other than first part first and it was NOT received first -> older timestamp might exist in some other part + -: 1129: * + -: 1130: * So must take all message to a linked list and loop that for the oldest + -: 1131: */ + -: 1132: + -: 1133: // if text mode we need to read sms with +CMGR because time stamp is optional while looping with +CMGL + #####: 1134: sms_info_t* retVal = NULL; + #####: 1135: sms_info_t* current = _sms_info; + #####: 1136: nsapi_size_or_error_t err = 0; + #####: 1137: while (current) { + #####: 1138: if (_mode == CellularSMSMmodeText) { + #####: 1139: wait_ms(_sim_wait_time); + #####: 1140: err = read_sms_from_index(current->msg_index[0], NULL, 0, NULL, current->date); + #####: 1141: if (err != 0) { + #####: 1142: return NULL; + -: 1143: } + -: 1144: } + -: 1145: + #####: 1146: if (retVal == NULL) { + #####: 1147: retVal = current; + #####: 1148: } else if (compare_time_strings(current->date, retVal->date) == -1) { + -: 1149: // found older sms, update return value to oldest + #####: 1150: retVal = current; + -: 1151: } + #####: 1152: current = current->next_info; + -: 1153: } + -: 1154: + #####: 1155: return retVal; + -: 1156:} + -: 1157: + -: 1158:// if time_string_1 is greater (more fresh date) then return 1, same 0, smaller -1. Error -2 + #####: 1159:int AT_CellularSMS::compare_time_strings(const char* time_string_1, const char* time_string_2) + -: 1160:{ + -: 1161: time_t t1; + -: 1162: time_t t2; + -: 1163: + #####: 1164: bool success = create_time(time_string_1, &t1) && create_time(time_string_2, &t2); + #####: 1165: int retVal = -2; + -: 1166: + #####: 1167: if (success) { + #####: 1168: double diff = difftime(t1, t2); + -: 1169: + #####: 1170: if (diff > 0) { + #####: 1171: retVal = 1; + #####: 1172: } else if (diff == 0) { + #####: 1173: retVal = 0; + -: 1174: } else { + #####: 1175: retVal = -1; + -: 1176: } + -: 1177: } + -: 1178: + #####: 1179: return retVal; + -: 1180:} + -: 1181: + #####: 1182:bool AT_CellularSMS::create_time(const char* time_string, time_t* time) + -: 1183:{ + #####: 1184: const int kNumberOfElements = 8; + #####: 1185: tm time_struct = { 0 }; + #####: 1186: int gmt = 0; + -: 1187: char sign; + #####: 1188: bool retVal = false; + -: 1189: + #####: 1190: if (sscanf(time_string, "%d/%d/%d,%d:%d:%d%c%d", &time_struct.tm_year, &time_struct.tm_mon, &time_struct.tm_mday, + -: 1191: &time_struct.tm_hour, &time_struct.tm_min, &time_struct.tm_sec, &sign, &gmt) == kNumberOfElements) { + #####: 1192: *time = mktime(&time_struct); + -: 1193: // add timezone as seconds. gmt is in quarter of hours. + #####: 1194: int x = 60 * 60 * gmt * 0.25; + #####: 1195: if (sign == '+') { + #####: 1196: *time += x; + -: 1197: } else { + #####: 1198: *time -= x; + -: 1199: } + #####: 1200: retVal = true; + -: 1201: } + -: 1202: + #####: 1203: return retVal; + -: 1204:} + -: 1205: + #####: 1206:uint16_t AT_CellularSMS::pack_7_bit_gsm_and_hex(const char* str, uint16_t len, char *buf, + -: 1207: int number_of_padding_bit) + -: 1208:{ + #####: 1209: uint16_t strCnt = 0; + #####: 1210: uint16_t i = 0; + -: 1211: uint8_t shift; + -: 1212: char tmp; + -: 1213: + -: 1214: // convert to 7bit gsm first + #####: 1215: char* gsm_str = (char*)malloc(len); + #####: 1216: if (!gsm_str) { + #####: 1217: return 0; + -: 1218: } + #####: 1219: for (uint16_t y = 0; y < len; y++) { + #####: 1220: for (int x=0; x < GSM_TO_ASCII_TABLE_SIZE; x++) { + #####: 1221: if (gsm_to_ascii[x] == str[y]) { + #####: 1222: gsm_str[y] = x; + -: 1223: } + -: 1224: } + -: 1225: } + -: 1226: + -: 1227: // then packing and converting to hex + #####: 1228: if (number_of_padding_bit) { + #####: 1229: tmp = gsm_str[strCnt]<>shift); + -: 1244: } else { + #####: 1245: tmp = (gsm_str[strCnt]>>shift) | (gsm_str[strCnt+1] <<(7-shift)); + -: 1246: } + -: 1247: + #####: 1248: char_str_to_hex_str(&tmp, 1, buf+(i*2)); + -: 1249: + #####: 1250: if (shift == 6) { + #####: 1251: strCnt++; + -: 1252: } + #####: 1253: strCnt++; + #####: 1254: i++; + -: 1255: } + -: 1256: + #####: 1257: free(gsm_str); + -: 1258: + #####: 1259: return i; + -: 1260:} + -: 1261: + #####: 1262: uint16_t AT_CellularSMS::unpack_7_bit_gsm_to_str(const char* str, int len, char *buf, int padding_bits, + -: 1263: bool last_part) + -: 1264:{ + #####: 1265: int strCount = 0; + #####: 1266: uint16_t decodedCount = 0; + -: 1267: uint8_t shift; + -: 1268: char tmp; + -: 1269: char tmp1; + -: 1270: + #####: 1271: if (padding_bits) { + #####: 1272: hex_str_to_char_str(str, 2, &tmp); + #####: 1273: buf[decodedCount] = gsm_to_ascii[(tmp>>padding_bits) & 0x7F]; + #####: 1274: strCount++; + #####: 1275: decodedCount++; + -: 1276: } + -: 1277: + #####: 1278: while (strCount < len) { + #####: 1279: shift = (strCount-padding_bits)%7; + #####: 1280: hex_str_to_char_str(str + strCount*2, 2, &tmp); + #####: 1281: if (shift == 0) { + #####: 1282: buf[decodedCount] = gsm_to_ascii[tmp & 0x7F]; + #####: 1283: } else if (shift == 6) { + #####: 1284: hex_str_to_char_str(str + (strCount-1)*2, 2, &tmp1); + #####: 1285: buf[decodedCount] = gsm_to_ascii[(((tmp1>>2)) | (tmp << 6)) & 0x7F]; + -: 1286: // we are unpacking the last byte and so tmp is not complete as it's not completed by the next byte. + -: 1287: // unless this is a multipart message and not the last part. + #####: 1288: if (!((strCount+1 == len) && last_part)) { + #####: 1289: hex_str_to_char_str(str + strCount*2, 2, &tmp); + #####: 1290: decodedCount++; + #####: 1291: buf[decodedCount] = gsm_to_ascii[(tmp>>1) & 0x7F]; + -: 1292: } + -: 1293: } else { + #####: 1294: hex_str_to_char_str(str + (strCount-1)*2, 2, &tmp1); + #####: 1295: buf[decodedCount] = gsm_to_ascii[(((tmp1>>(8- shift))) | ((tmp << shift))) & 0x7F]; + -: 1296: } + -: 1297: + #####: 1298: strCount++; + #####: 1299: decodedCount++; + -: 1300: } + -: 1301: + #####: 1302: return decodedCount; + -: 1303:} diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/gcov/AT_CellularSMS.h.gcov b/features/cellular/UNITTESTS/at/at_cellularsms/gcov/AT_CellularSMS.h.gcov new file mode 100644 index 0000000000..9f07639c53 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsms/gcov/AT_CellularSMS.h.gcov @@ -0,0 +1,250 @@ + -: 0:Source:../../../framework/AT/AT_CellularSMS.h + -: 0:Graph:objs/AT_CellularSMS_unit/AT_CellularSMS.gcno + -: 0:Data:objs/AT_CellularSMS_unit/AT_CellularSMS.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* + -: 2: * Copyright (c) 2017, Arm Limited and affiliates. + -: 3: * SPDX-License-Identifier: Apache-2.0 + -: 4: * + -: 5: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 6: * you may not use this file except in compliance with the License. + -: 7: * You may obtain a copy of the License at + -: 8: * + -: 9: * http://www.apache.org/licenses/LICENSE-2.0 + -: 10: * + -: 11: * Unless required by applicable law or agreed to in writing, software + -: 12: * distributed under the License is distributed on an "AS IS" BASIS, + -: 13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 14: * See the License for the specific language governing permissions and + -: 15: * limitations under the License. + -: 16: */ + -: 17: + -: 18:#ifndef AT_CELLULAR_SMS_H_ + -: 19:#define AT_CELLULAR_SMS_H_ + -: 20: + -: 21:#include "CellularSMS.h" + -: 22:#include "AT_CellularBase.h" + -: 23:#include + -: 24:#include + -: 25: + -: 26:namespace mbed { + -: 27: + -: 28:class AT_CellularSMS: public CellularSMS, public AT_CellularBase + -: 29:{ + -: 30: + -: 31:public: + -: 32: AT_CellularSMS(ATHandler &atHandler); + -: 33: virtual ~AT_CellularSMS(); + -: 34: + -: 35:public: + -: 36: // from CellularSMS + -: 37: + -: 38: /** Does all the necessary initializations needed for receiving and sending sms. + -: 39: * + -: 40: * @param mode enumeration for choosing the correct mode: text/pdu + -: 41: * @return zero on success + -: 42: */ + -: 43: virtual nsapi_error_t initialize(CellularSMSMmode mode); + -: 44: + -: 45: /** Send the SMS with the given parameters + -: 46: * + -: 47: * @param phone_number Phone number where to send sms + -: 48: * @param message SMS message content + -: 49: * @param msg_len Length of the message + -: 50: * @return possible error code or length of the sent sms + -: 51: */ + -: 52: virtual nsapi_size_or_error_t send_sms(const char* phone_number, const char* message, int msg_len); + -: 53: + -: 54: /** Gets the oldest received sms. + -: 55: * + -: 56: * @param buf preallocated buffer for sms message content + -: 57: * @param buf_len length of allocated buf + -: 58: * @param phone_num preallocated buffer for phone number where sms was sent + -: 59: * @param phone_len length of allocated phone_num buffer + -: 60: * @param time_stamp preallocated buffer for TP-Service Centre Time Stamp (format: yy/MM/dd,hh:mm:ss-+zz). +-zz is timezone. + -: 61: * The unit of time zone is a quarter of an hour relative to GMT. For example +32 would be GMT+8. + -: 62: * @param time_len length of allocated time_stamp buffer + -: 63: * @param buf_size if method return error NSAPI_ERROR_NO_MEMORY because the given buf was not big enough this will + -: 64: * hold the size which is enough. Otherwise zero. + -: 65: * @return possible error code or size of buf. Will return SMS_ERROR_MULTIPART_ALL_PARTS_NOT_READ + -: 66: * if sms was multipart but not all parts are present/failed to read. + -: 67: */ + -: 68: virtual nsapi_size_or_error_t get_sms(char* buf, uint16_t buf_len, char* phone_num, uint16_t phone_len, + -: 69: char* time_stamp, uint16_t time_len, int *buf_size); + -: 70: + -: 71: /** Callback which is called when new sms is received. SMS can be fetched via method get_sms(). + -: 72: * + -: 73: * @remark In PDU mode there can be multipart sms and callback is called for every received part. + -: 74: * + -: 75: * @param func Callback function which is called when new sms is received. + -: 76: */ + -: 77: virtual void set_sms_callback(Callback func); + -: 78: + -: 79: /** CPMS preferred message storage + -: 80: * + -: 81: * @param memr memory from which messages are read and deleted + -: 82: * "SM" - SIM SMS memory storage (default) + -: 83: * "ME" - NVM SMS storage + -: 84: * @param memw memory to which writing and sending operations are made + -: 85: * "SM" - SIM SMS memory storage (default) + -: 86: * "ME" - NVM SMS storage + -: 87: * @param mems memory to which received SMs are preferred to be stored + -: 88: * "SM" - SIM SMS memory storage (default) + -: 89: * "ME" - NVM SMS storage + -: 90: * + -: 91: * @return zero for success + -: 92: */ + -: 93: virtual nsapi_error_t set_cpms(const char *memr, const char *memw, const char *mems); + -: 94: + -: 95: /** CSCA - set Service Center Address + -: 96: * + -: 97: * @param sca Service Center Address to be used for mobile originated SMS transmissions. + -: 98: * @param type 129 - national numbering scheme, 145 - international numbering scheme (contains the character "+") + -: 99: * + -: 100: * @return zero for success + -: 101: */ + -: 102: virtual nsapi_error_t set_csca(const char *sca, int type); + -: 103: + -: 104: /** Set command sets the current character set used by the device. "GSM", "IRA",.... + -: 105: * + -: 106: * @remark Current implementation support only ASCII so choose the correct character set. + -: 107: * + -: 108: * @param chr_set preferred character set list (comma separated). Modem might not support the wanted character set + -: 109: * so chr_set list is looped from start until supported set is found. Used character set index is returned. + -: 110: * See more from 3GPP TS 27.005. + -: 111: * @return Used character set index from the given list in case of success. Otherwise negative errorcode. + -: 112: */ + -: 113: virtual nsapi_size_or_error_t set_cscs(const char *chr_set); + -: 114: + -: 115: /** Deletes all messages from the currently set memory/SIM + -: 116: * + -: 117: * @return zero for success + -: 118: */ + -: 119: virtual nsapi_error_t delete_all_messages(); + -: 120: + -: 121: /** Some modems need extra time between AT commands and responses or there will be error -314, SIM busy. + -: 122: * If SIM busy errors are an issue this time should be increased. It can also be set to zero to make + -: 123: * operations faster and more energy efficient if no errors will follow. By default wait time is zero. + -: 124: * + -: 125: * @param sim_wait_time + -: 126: */ + -: 127: virtual void set_extra_sim_wait_time(int sim_wait_time); + -: 128: + -: 129:private: + -: 130: + -: 131: struct sms_info_t { + -: 132: char date[SMS_MAX_TIME_STAMP_SIZE]; + -: 133: uint16_t msg_index[50]; // can hold up to 50 concatenated msg parts, indexes are in correct order. So max sms size is 50*140 = 7kb + -: 134: uint16_t msg_size; + -: 135: uint8_t parts; + -: 136: uint8_t parts_added; + -: 137: uint16_t msg_ref_number; + -: 138: struct sms_info_t *next_info; + #####: 139: sms_info_t() : msg_size(0), parts(1), parts_added(1), msg_ref_number(0), next_info(0){}; + -: 140: }; + -: 141: + -: 142: // application callback function for received sms + -: 143: Callback _cb; + -: 144: CellularSMSMmode _mode; + -: 145: bool _use_8bit_encoding; + -: 146: uint32_t _sim_wait_time; + -: 147: uint16_t _sms_message_ref_number; + -: 148: sms_info_t *_sms_info; + -: 149: + -: 150: // SMS urc's + -: 151: void cmt_urc(); + -: 152: void cmti_urc(); + -: 153: + -: 154: /** Set command selects the format of messages used with send, list, read and write commands. + -: 155: * + -: 156: * @param msg_format 0 PDU mode, 1 text mode + -: 157: * @return zero for success + -: 158: */ + -: 159: nsapi_error_t set_cmgf(int msg_format); + -: 160: + -: 161: /** Select message service (AT+CSMS select message service) + -: 162: * + -: 163: * @param msg_service 0 or 1. See more from 3GPP TS 27.005 + -: 164: * + -: 165: * @return zero for success + -: 166: */ + -: 167: nsapi_error_t set_csms(int msg_service); + -: 168: + -: 169: /* Set how receiving of new messages from the network is indicated to the TE. + -: 170: * + -: 171: * @return zero for success + -: 172: */ + -: 173: nsapi_error_t set_cnmi(); + -: 174: + -: 175: /** Set Text Mode Parameters + -: 176: * + -: 177: * @param fo See more from 3GPP TS 27.005 for all params. + -: 178: * @param vp + -: 179: * @param pid + -: 180: * @param dcs + -: 181: * @return zero for success + -: 182: */ + -: 183: nsapi_error_t set_csmp(int fo, int vp, int pid, int dcs); + -: 184: + -: 185: /** CSDH - Set command controls whether detailed header information is shown in text mode (AT+CMGF=1) result codes. + -: 186: * + -: 187: * @param show_header 1 to show detailed header in text mode, 0 for not showing. + -: 188: * @return zero for success + -: 189: */ + -: 190: nsapi_error_t set_csdh(int show_header); + -: 191: + -: 192: /** Delete SMS in the given message position(s) in the storage + -: 193: * + -: 194: * @param sms struct containing index array to delete + -: 195: * @return zero for success + -: 196: */ + -: 197: nsapi_error_t delete_sms(sms_info_t* sms); + -: 198: + -: 199: /** + -: 200: * Internal helper methods + -: 201: */ + -: 202: nsapi_error_t list_messages(); + -: 203: int read_sms_params(char *, char *); + -: 204: void free_linked_list(); + -: 205: void add_info(sms_info_t* info, int index, int part_number); + -: 206: int read_udh_from_pdu(const char* pdu, sms_info_t *info, int &part_number, int &parts, int &padding_bits); + -: 207: nsapi_size_or_error_t get_data_from_pdu(const char* pdu, sms_info_t *info, int *part_number, + -: 208: char *phone_number = NULL, char *msg = NULL); + -: 209: nsapi_size_or_error_t read_pdu_payload(const char* pdu, int scheme, char *msg, int padding_bits, bool last_part); + -: 210: sms_info_t* get_oldest_sms_index(); + -: 211: bool create_time(const char* time_string, time_t* time); + -: 212: int compare_time_strings(const char* time_string_1, const char* time_string_2); + -: 213: char* create_pdu(const char* phone_number, const char* message, uint8_t message_length, uint8_t msg_parts, + -: 214: uint8_t msg_part_number); + -: 215: nsapi_size_or_error_t read_sms_from_index(int msg_index, char* buf, uint16_t len, char* phone_num, + -: 216: char* time_stamp); + -: 217: nsapi_size_or_error_t read_sms(sms_info_t* sms, char* buf, char* phone_num, char* time_stamp); + -: 218: + -: 219: /** Packs the given str from ascii to 7bit gsm format and converts it to hex to the given buf. + -: 220: * + -: 221: * @param str string which is to be converted + -: 222: * @param len length of the str buffer + -: 223: * @param buf preallocated buffer which holds the converted string in hex format after successful call + -: 224: * @param number_of_padding_bit padding bits needed to keep the octet boundary + -: 225: * @return length of buffer buf or zero on failure + -: 226: */ + -: 227: uint16_t pack_7_bit_gsm_and_hex(const char* str, uint16_t len, char *buf, int number_of_padding_bit); + -: 228: + -: 229: /** Unpacks the given hex- and 7-bit gsm encoded str to ascii string + -: 230: * + -: 231: * @param str string which converted to ascii string to buf + -: 232: * @param len length of the str divided by two as str is hexencoded + -: 233: * @param buf preallocated destination buffer + -: 234: * @param padding_bits number of padding bits which were needed to hold the octet boundary + -: 235: * @param last_part true is last part of the encoded message + -: 236: * @return length of the destination buffer buf + -: 237: * + -: 238: */ + -: 239: uint16_t unpack_7_bit_gsm_to_str(const char* str, int len, char *buf, int padding_bits, + -: 240: bool last_part); + -: 241:}; + -: 242: + -: 243:} // namespace mbed + -: 244: + -: 245:#endif // AT_CELLULAR_SMS_H_ diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/gcov/Callback.h.gcov b/features/cellular/UNITTESTS/at/at_cellularsms/gcov/Callback.h.gcov new file mode 100644 index 0000000000..3946a74e93 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsms/gcov/Callback.h.gcov @@ -0,0 +1,4557 @@ + -: 0:Source:../../../../../platform/Callback.h + -: 0:Graph:objs/AT_CellularSMS_unit/AT_CellularSMS.gcno + -: 0:Data:objs/AT_CellularSMS_unit/AT_CellularSMS.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* mbed Microcontroller Library + -: 2: * Copyright (c) 2006-2015 ARM Limited + -: 3: * + -: 4: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 5: * you may not use this file except in compliance with the License. + -: 6: * You may obtain a copy of the License at + -: 7: * + -: 8: * http://www.apache.org/licenses/LICENSE-2.0 + -: 9: * + -: 10: * Unless required by applicable law or agreed to in writing, software + -: 11: * distributed under the License is distributed on an "AS IS" BASIS, + -: 12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 13: * See the License for the specific language governing permissions and + -: 14: * limitations under the License. + -: 15: */ + -: 16:#ifndef MBED_CALLBACK_H + -: 17:#define MBED_CALLBACK_H + -: 18: + -: 19:#include + -: 20:#include + -: 21:#include + -: 22:#include "platform/mbed_assert.h" + -: 23:#include "platform/mbed_toolchain.h" + -: 24: + -: 25:namespace mbed { + -: 26:/** \addtogroup platform */ + -: 27:/** @{*/ + -: 28:/** + -: 29: * \defgroup platform_Callback Callback class + -: 30: * @{ + -: 31: */ + -: 32: + -: 33:/** Callback class based on template specialization + -: 34: * + -: 35: * @note Synchronization level: Not protected + -: 36: */ + -: 37:template + -: 38:class Callback; + -: 39: + -: 40:// Internal sfinae declarations + -: 41:// + -: 42:// These are used to eliminate overloads based on type attributes + -: 43:// 1. Does a function object have a call operator + -: 44:// 2. Does a function object fit in the available storage + -: 45:// + -: 46:// These eliminations are handled cleanly by the compiler and avoid + -: 47:// massive and misleading error messages when confronted with an + -: 48:// invalid type (or worse, runtime failures) + -: 49:namespace detail { + -: 50: struct nil {}; + -: 51: + -: 52: template + -: 53: struct enable_if { typedef R type; }; + -: 54: + -: 55: template + -: 56: struct enable_if {}; + -: 57: + -: 58: template + -: 59: struct is_type { + -: 60: static const bool value = true; + -: 61: }; + -: 62:} + -: 63: + -: 64:#define MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, M) \ + -: 65: typename detail::enable_if< \ + -: 66: detail::is_type::value && \ + -: 67: sizeof(F) <= sizeof(uintptr_t) \ + -: 68: >::type = detail::nil() + -: 69: + -: 70:/** Callback class based on template specialization + -: 71: * + -: 72: * @note Synchronization level: Not protected + -: 73: */ + -: 74:template + -: 75:class Callback { + -: 76:public: + -: 77: /** Create a Callback with a static function + -: 78: * @param func Static function to attach + -: 79: */ + #####: 80: Callback(R (*func)() = 0) { + #####: 81: if (!func) { + #####: 82: memset(this, 0, sizeof(Callback)); + -: 83: } else { + #####: 84: generate(func); + -: 85: } + #####: 86: } + -: 87: + -: 88: /** Attach a Callback + -: 89: * @param func The Callback to attach + -: 90: */ + #####: 91: Callback(const Callback &func) { + #####: 92: if (func._ops) { + #####: 93: func._ops->move(this, &func); + -: 94: } + #####: 95: _ops = func._ops; + #####: 96: } + -: 97: + -: 98: /** Create a Callback with a member function + -: 99: * @param obj Pointer to object to invoke member function on + -: 100: * @param method Member function to attach + -: 101: */ + -: 102: template + 2: 103: Callback(U *obj, R (T::*method)()) { + 2: 104: generate(method_context(obj, method)); + 2: 105: } + -: 106: + -: 107: /** Create a Callback with a member function + -: 108: * @param obj Pointer to object to invoke member function on + -: 109: * @param method Member function to attach + -: 110: */ + -: 111: template + -: 112: Callback(const U *obj, R (T::*method)() const) { + -: 113: generate(method_context(obj, method)); + -: 114: } + -: 115: + -: 116: /** Create a Callback with a member function + -: 117: * @param obj Pointer to object to invoke member function on + -: 118: * @param method Member function to attach + -: 119: */ + -: 120: template + -: 121: Callback(volatile U *obj, R (T::*method)() volatile) { + -: 122: generate(method_context(obj, method)); + -: 123: } + -: 124: + -: 125: /** Create a Callback with a member function + -: 126: * @param obj Pointer to object to invoke member function on + -: 127: * @param method Member function to attach + -: 128: */ + -: 129: template + -: 130: Callback(const volatile U *obj, R (T::*method)() const volatile) { + -: 131: generate(method_context(obj, method)); + -: 132: } + -: 133: + -: 134: /** Create a Callback with a static function and bound pointer + -: 135: * @param func Static function to attach + -: 136: * @param arg Pointer argument to function + -: 137: */ + -: 138: template + -: 139: Callback(R (*func)(T*), U *arg) { + -: 140: generate(function_context(func, arg)); + -: 141: } + -: 142: + -: 143: /** Create a Callback with a static function and bound pointer + -: 144: * @param func Static function to attach + -: 145: * @param arg Pointer argument to function + -: 146: */ + -: 147: template + -: 148: Callback(R (*func)(const T*), const U *arg) { + -: 149: generate(function_context(func, arg)); + -: 150: } + -: 151: + -: 152: /** Create a Callback with a static function and bound pointer + -: 153: * @param func Static function to attach + -: 154: * @param arg Pointer argument to function + -: 155: */ + -: 156: template + -: 157: Callback(R (*func)(volatile T*), volatile U *arg) { + -: 158: generate(function_context(func, arg)); + -: 159: } + -: 160: + -: 161: /** Create a Callback with a static function and bound pointer + -: 162: * @param func Static function to attach + -: 163: * @param arg Pointer argument to function + -: 164: */ + -: 165: template + -: 166: Callback(R (*func)(const volatile T*), const volatile U *arg) { + -: 167: generate(function_context(func, arg)); + -: 168: } + -: 169: + -: 170: /** Create a Callback with a function object + -: 171: * @param f Function object to attach + -: 172: * @note The function object is limited to a single word of storage + -: 173: */ + -: 174: template + -: 175: Callback(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)())) { + -: 176: generate(f); + -: 177: } + -: 178: + -: 179: /** Create a Callback with a function object + -: 180: * @param f Function object to attach + -: 181: * @note The function object is limited to a single word of storage + -: 182: */ + -: 183: template + -: 184: Callback(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)() const)) { + -: 185: generate(f); + -: 186: } + -: 187: + -: 188: /** Create a Callback with a function object + -: 189: * @param f Function object to attach + -: 190: * @note The function object is limited to a single word of storage + -: 191: */ + -: 192: template + -: 193: Callback(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)() volatile)) { + -: 194: generate(f); + -: 195: } + -: 196: + -: 197: /** Create a Callback with a function object + -: 198: * @param f Function object to attach + -: 199: * @note The function object is limited to a single word of storage + -: 200: */ + -: 201: template + -: 202: Callback(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)() const volatile)) { + -: 203: generate(f); + -: 204: } + -: 205: + -: 206: /** Create a Callback with a static function and bound pointer + -: 207: * @param obj Pointer to object to bind to function + -: 208: * @param func Static function to attach + -: 209: * @deprecated + -: 210: * Arguments to callback have been reordered to Callback(func, arg) + -: 211: */ + -: 212: template + -: 213: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 214: "Arguments to callback have been reordered to Callback(func, arg)") + -: 215: Callback(U *obj, R (*func)(T*)) { + -: 216: new (this) Callback(func, obj); + -: 217: } + -: 218: + -: 219: /** Create a Callback with a static function and bound pointer + -: 220: * @param obj Pointer to object to bind to function + -: 221: * @param func Static function to attach + -: 222: * @deprecated + -: 223: * Arguments to callback have been reordered to Callback(func, arg) + -: 224: */ + -: 225: template + -: 226: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 227: "Arguments to callback have been reordered to Callback(func, arg)") + -: 228: Callback(const U *obj, R (*func)(const T*)) { + -: 229: new (this) Callback(func, obj); + -: 230: } + -: 231: + -: 232: /** Create a Callback with a static function and bound pointer + -: 233: * @param obj Pointer to object to bind to function + -: 234: * @param func Static function to attach + -: 235: * @deprecated + -: 236: * Arguments to callback have been reordered to Callback(func, arg) + -: 237: */ + -: 238: template + -: 239: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 240: "Arguments to callback have been reordered to Callback(func, arg)") + -: 241: Callback(volatile U *obj, R (*func)(volatile T*)) { + -: 242: new (this) Callback(func, obj); + -: 243: } + -: 244: + -: 245: /** Create a Callback with a static function and bound pointer + -: 246: * @param obj Pointer to object to bind to function + -: 247: * @param func Static function to attach + -: 248: * @deprecated + -: 249: * Arguments to callback have been reordered to Callback(func, arg) + -: 250: */ + -: 251: template + -: 252: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 253: "Arguments to callback have been reordered to Callback(func, arg)") + -: 254: Callback(const volatile U *obj, R (*func)(const volatile T*)) { + -: 255: new (this) Callback(func, obj); + -: 256: } + -: 257: + -: 258: /** Destroy a callback + -: 259: */ + #####: 260: ~Callback() { + #####: 261: if (_ops) { + #####: 262: _ops->dtor(this); + -: 263: } + #####: 264: } + -: 265: + -: 266: /** Attach a static function + -: 267: * @param func Static function to attach + -: 268: * @deprecated + -: 269: * Replaced by simple assignment 'Callback cb = func' + -: 270: */ + -: 271: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 272: "Replaced by simple assignment 'Callback cb = func") + -: 273: void attach(R (*func)()) { + -: 274: this->~Callback(); + -: 275: new (this) Callback(func); + -: 276: } + -: 277: + -: 278: /** Attach a Callback + -: 279: * @param func The Callback to attach + -: 280: * @deprecated + -: 281: * Replaced by simple assignment 'Callback cb = func' + -: 282: */ + -: 283: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 284: "Replaced by simple assignment 'Callback cb = func") + -: 285: void attach(const Callback &func) { + -: 286: this->~Callback(); + -: 287: new (this) Callback(func); + -: 288: } + -: 289: + -: 290: /** Attach a member function + -: 291: * @param obj Pointer to object to invoke member function on + -: 292: * @param method Member function to attach + -: 293: * @deprecated + -: 294: * Replaced by simple assignment 'Callback cb = func' + -: 295: */ + -: 296: template + -: 297: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 298: "Replaced by simple assignment 'Callback cb = func") + -: 299: void attach(U *obj, R (T::*method)()) { + -: 300: this->~Callback(); + -: 301: new (this) Callback(obj, method); + -: 302: } + -: 303: + -: 304: /** Attach a member function + -: 305: * @param obj Pointer to object to invoke member function on + -: 306: * @param method Member function to attach + -: 307: * @deprecated + -: 308: * Replaced by simple assignment 'Callback cb = func' + -: 309: */ + -: 310: template + -: 311: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 312: "Replaced by simple assignment 'Callback cb = func") + -: 313: void attach(const U *obj, R (T::*method)() const) { + -: 314: this->~Callback(); + -: 315: new (this) Callback(obj, method); + -: 316: } + -: 317: + -: 318: /** Attach a member function + -: 319: * @param obj Pointer to object to invoke member function on + -: 320: * @param method Member function to attach + -: 321: * @deprecated + -: 322: * Replaced by simple assignment 'Callback cb = func' + -: 323: */ + -: 324: template + -: 325: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 326: "Replaced by simple assignment 'Callback cb = func") + -: 327: void attach(volatile U *obj, R (T::*method)() volatile) { + -: 328: this->~Callback(); + -: 329: new (this) Callback(obj, method); + -: 330: } + -: 331: + -: 332: /** Attach a member function + -: 333: * @param obj Pointer to object to invoke member function on + -: 334: * @param method Member function to attach + -: 335: * @deprecated + -: 336: * Replaced by simple assignment 'Callback cb = func' + -: 337: */ + -: 338: template + -: 339: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 340: "Replaced by simple assignment 'Callback cb = func") + -: 341: void attach(const volatile U *obj, R (T::*method)() const volatile) { + -: 342: this->~Callback(); + -: 343: new (this) Callback(obj, method); + -: 344: } + -: 345: + -: 346: /** Attach a static function with a bound pointer + -: 347: * @param func Static function to attach + -: 348: * @param arg Pointer argument to function + -: 349: * @deprecated + -: 350: * Replaced by simple assignment 'Callback cb = func' + -: 351: */ + -: 352: template + -: 353: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 354: "Replaced by simple assignment 'Callback cb = func") + -: 355: void attach(R (*func)(T*), U *arg) { + -: 356: this->~Callback(); + -: 357: new (this) Callback(func, arg); + -: 358: } + -: 359: + -: 360: /** Attach a static function with a bound pointer + -: 361: * @param func Static function to attach + -: 362: * @param arg Pointer argument to function + -: 363: * @deprecated + -: 364: * Replaced by simple assignment 'Callback cb = func' + -: 365: */ + -: 366: template + -: 367: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 368: "Replaced by simple assignment 'Callback cb = func") + -: 369: void attach(R (*func)(const T*), const U *arg) { + -: 370: this->~Callback(); + -: 371: new (this) Callback(func, arg); + -: 372: } + -: 373: + -: 374: /** Attach a static function with a bound pointer + -: 375: * @param func Static function to attach + -: 376: * @param arg Pointer argument to function + -: 377: * @deprecated + -: 378: * Replaced by simple assignment 'Callback cb = func' + -: 379: */ + -: 380: template + -: 381: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 382: "Replaced by simple assignment 'Callback cb = func") + -: 383: void attach(R (*func)(volatile T*), volatile U *arg) { + -: 384: this->~Callback(); + -: 385: new (this) Callback(func, arg); + -: 386: } + -: 387: + -: 388: /** Attach a static function with a bound pointer + -: 389: * @param func Static function to attach + -: 390: * @param arg Pointer argument to function + -: 391: * @deprecated + -: 392: * Replaced by simple assignment 'Callback cb = func' + -: 393: */ + -: 394: template + -: 395: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 396: "Replaced by simple assignment 'Callback cb = func") + -: 397: void attach(R (*func)(const volatile T*), const volatile U *arg) { + -: 398: this->~Callback(); + -: 399: new (this) Callback(func, arg); + -: 400: } + -: 401: + -: 402: /** Attach a function object + -: 403: * @param f Function object to attach + -: 404: * @note The function object is limited to a single word of storage + -: 405: * @deprecated + -: 406: * Replaced by simple assignment 'Callback cb = func' + -: 407: */ + -: 408: template + -: 409: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 410: "Replaced by simple assignment 'Callback cb = func") + -: 411: void attach(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)())) { + -: 412: this->~Callback(); + -: 413: new (this) Callback(f); + -: 414: } + -: 415: + -: 416: /** Attach a function object + -: 417: * @param f Function object to attach + -: 418: * @note The function object is limited to a single word of storage + -: 419: * @deprecated + -: 420: * Replaced by simple assignment 'Callback cb = func' + -: 421: */ + -: 422: template + -: 423: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 424: "Replaced by simple assignment 'Callback cb = func") + -: 425: void attach(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)() const)) { + -: 426: this->~Callback(); + -: 427: new (this) Callback(f); + -: 428: } + -: 429: + -: 430: /** Attach a function object + -: 431: * @param f Function object to attach + -: 432: * @note The function object is limited to a single word of storage + -: 433: * @deprecated + -: 434: * Replaced by simple assignment 'Callback cb = func' + -: 435: */ + -: 436: template + -: 437: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 438: "Replaced by simple assignment 'Callback cb = func") + -: 439: void attach(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)() volatile)) { + -: 440: this->~Callback(); + -: 441: new (this) Callback(f); + -: 442: } + -: 443: + -: 444: /** Attach a function object + -: 445: * @param f Function object to attach + -: 446: * @note The function object is limited to a single word of storage + -: 447: * @deprecated + -: 448: * Replaced by simple assignment 'Callback cb = func' + -: 449: */ + -: 450: template + -: 451: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 452: "Replaced by simple assignment 'Callback cb = func") + -: 453: void attach(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)() const volatile)) { + -: 454: this->~Callback(); + -: 455: new (this) Callback(f); + -: 456: } + -: 457: + -: 458: /** Attach a static function with a bound pointer + -: 459: * @param obj Pointer to object to bind to function + -: 460: * @param func Static function to attach + -: 461: * @deprecated + -: 462: * Arguments to callback have been reordered to attach(func, arg) + -: 463: */ + -: 464: template + -: 465: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 466: "Arguments to callback have been reordered to attach(func, arg)") + -: 467: void attach(U *obj, R (*func)(T*)) { + -: 468: this->~Callback(); + -: 469: new (this) Callback(func, obj); + -: 470: } + -: 471: + -: 472: /** Attach a static function with a bound pointer + -: 473: * @param obj Pointer to object to bind to function + -: 474: * @param func Static function to attach + -: 475: * @deprecated + -: 476: * Arguments to callback have been reordered to attach(func, arg) + -: 477: */ + -: 478: template + -: 479: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 480: "Arguments to callback have been reordered to attach(func, arg)") + -: 481: void attach(const U *obj, R (*func)(const T*)) { + -: 482: this->~Callback(); + -: 483: new (this) Callback(func, obj); + -: 484: } + -: 485: + -: 486: /** Attach a static function with a bound pointer + -: 487: * @param obj Pointer to object to bind to function + -: 488: * @param func Static function to attach + -: 489: * @deprecated + -: 490: * Arguments to callback have been reordered to attach(func, arg) + -: 491: */ + -: 492: template + -: 493: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 494: "Arguments to callback have been reordered to attach(func, arg)") + -: 495: void attach(volatile U *obj, R (*func)(volatile T*)) { + -: 496: this->~Callback(); + -: 497: new (this) Callback(func, obj); + -: 498: } + -: 499: + -: 500: /** Attach a static function with a bound pointer + -: 501: * @param obj Pointer to object to bind to function + -: 502: * @param func Static function to attach + -: 503: * @deprecated + -: 504: * Arguments to callback have been reordered to attach(func, arg) + -: 505: */ + -: 506: template + -: 507: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 508: "Arguments to callback have been reordered to attach(func, arg)") + -: 509: void attach(const volatile U *obj, R (*func)(const volatile T*)) { + -: 510: this->~Callback(); + -: 511: new (this) Callback(func, obj); + -: 512: } + -: 513: + -: 514: /** Assign a callback + -: 515: */ + #####: 516: Callback &operator=(const Callback &that) { + #####: 517: if (this != &that) { + #####: 518: this->~Callback(); + #####: 519: new (this) Callback(that); + -: 520: } + -: 521: + #####: 522: return *this; + -: 523: } + -: 524: + -: 525: /** Call the attached function + -: 526: */ + #####: 527: R call() const { + #####: 528: MBED_ASSERT(_ops); + #####: 529: return _ops->call(this); + -: 530: } + -: 531: + -: 532: /** Call the attached function + -: 533: */ + #####: 534: R operator()() const { + #####: 535: return call(); + -: 536: } + -: 537: + -: 538: /** Test if function has been attached + -: 539: */ + #####: 540: operator bool() const { + #####: 541: return _ops; + -: 542: } + -: 543: + -: 544: /** Test for equality + -: 545: */ + -: 546: friend bool operator==(const Callback &l, const Callback &r) { + -: 547: return memcmp(&l, &r, sizeof(Callback)) == 0; + -: 548: } + -: 549: + -: 550: /** Test for inequality + -: 551: */ + -: 552: friend bool operator!=(const Callback &l, const Callback &r) { + -: 553: return !(l == r); + -: 554: } + -: 555: + -: 556: /** Static thunk for passing as C-style function + -: 557: * @param func Callback to call passed as void pointer + -: 558: * @return the value as determined by func which is of + -: 559: * type and determined by the signiture of func + -: 560: */ + -: 561: static R thunk(void *func) { + -: 562: return static_cast(func)->call(); + -: 563: } + -: 564: + -: 565:private: + -: 566: // Stored as pointer to function and pointer to optional object + -: 567: // Function pointer is stored as union of possible function types + -: 568: // to garuntee proper size and alignment + -: 569: struct _class; + -: 570: union { + -: 571: void (*_staticfunc)(); + -: 572: void (*_boundfunc)(_class*); + -: 573: void (_class::*_methodfunc)(); + -: 574: } _func; + -: 575: void *_obj; + -: 576: + -: 577: // Dynamically dispatched operations + -: 578: const struct ops { + -: 579: R (*call)(const void*); + -: 580: void (*move)(void*, const void*); + -: 581: void (*dtor)(void*); + -: 582: } *_ops; + -: 583: + -: 584: // Generate operations for function object + -: 585: template + 2: 586: void generate(const F &f) { + -: 587: static const ops ops = { + -: 588: &Callback::function_call, + -: 589: &Callback::function_move, + -: 590: &Callback::function_dtor, + -: 591: }; + -: 592: + -: 593: MBED_STATIC_ASSERT(sizeof(Callback) - sizeof(_ops) >= sizeof(F), + -: 594: "Type F must not exceed the size of the Callback class"); + 2: 595: memset(this, 0, sizeof(Callback)); + 2: 596: new (this) F(f); + 2: 597: _ops = &ops; + 2: 598: } + -: 599: + -: 600: // Function attributes + -: 601: template + #####: 602: static R function_call(const void *p) { + #####: 603: return (*(F*)p)(); + -: 604: } + -: 605: + -: 606: template + 2: 607: static void function_move(void *d, const void *p) { + 2: 608: new (d) F(*(F*)p); + 2: 609: } + -: 610: + -: 611: template + 4: 612: static void function_dtor(void *p) { + -: 613: ((F*)p)->~F(); + 4: 614: } + -: 615: + -: 616: // Wrappers for functions with context + -: 617: template + -: 618: struct method_context { + -: 619: M method; + -: 620: O *obj; + -: 621: + 2: 622: method_context(O *obj, M method) + 2: 623: : method(method), obj(obj) {} + -: 624: + #####: 625: R operator()() const { + #####: 626: return (obj->*method)(); + -: 627: } + -: 628: }; + -: 629: + -: 630: template + -: 631: struct function_context { + -: 632: F func; + -: 633: A *arg; + -: 634: + -: 635: function_context(F func, A *arg) + -: 636: : func(func), arg(arg) {} + -: 637: + -: 638: R operator()() const { + -: 639: return func(arg); + -: 640: } + -: 641: }; + -: 642:}; + -: 643: + -: 644:/** Callback class based on template specialization + -: 645: * + -: 646: * @note Synchronization level: Not protected + -: 647: */ + -: 648:template + -: 649:class Callback { + -: 650:public: + -: 651: /** Create a Callback with a static function + -: 652: * @param func Static function to attach + -: 653: */ + -: 654: Callback(R (*func)(A0) = 0) { + -: 655: if (!func) { + -: 656: memset(this, 0, sizeof(Callback)); + -: 657: } else { + -: 658: generate(func); + -: 659: } + -: 660: } + -: 661: + -: 662: /** Attach a Callback + -: 663: * @param func The Callback to attach + -: 664: */ + -: 665: Callback(const Callback &func) { + -: 666: if (func._ops) { + -: 667: func._ops->move(this, &func); + -: 668: } + -: 669: _ops = func._ops; + -: 670: } + -: 671: + -: 672: /** Create a Callback with a member function + -: 673: * @param obj Pointer to object to invoke member function on + -: 674: * @param method Member function to attach + -: 675: */ + -: 676: template + -: 677: Callback(U *obj, R (T::*method)(A0)) { + -: 678: generate(method_context(obj, method)); + -: 679: } + -: 680: + -: 681: /** Create a Callback with a member function + -: 682: * @param obj Pointer to object to invoke member function on + -: 683: * @param method Member function to attach + -: 684: */ + -: 685: template + -: 686: Callback(const U *obj, R (T::*method)(A0) const) { + -: 687: generate(method_context(obj, method)); + -: 688: } + -: 689: + -: 690: /** Create a Callback with a member function + -: 691: * @param obj Pointer to object to invoke member function on + -: 692: * @param method Member function to attach + -: 693: */ + -: 694: template + -: 695: Callback(volatile U *obj, R (T::*method)(A0) volatile) { + -: 696: generate(method_context(obj, method)); + -: 697: } + -: 698: + -: 699: /** Create a Callback with a member function + -: 700: * @param obj Pointer to object to invoke member function on + -: 701: * @param method Member function to attach + -: 702: */ + -: 703: template + -: 704: Callback(const volatile U *obj, R (T::*method)(A0) const volatile) { + -: 705: generate(method_context(obj, method)); + -: 706: } + -: 707: + -: 708: /** Create a Callback with a static function and bound pointer + -: 709: * @param func Static function to attach + -: 710: * @param arg Pointer argument to function + -: 711: */ + -: 712: template + -: 713: Callback(R (*func)(T*, A0), U *arg) { + -: 714: generate(function_context(func, arg)); + -: 715: } + -: 716: + -: 717: /** Create a Callback with a static function and bound pointer + -: 718: * @param func Static function to attach + -: 719: * @param arg Pointer argument to function + -: 720: */ + -: 721: template + -: 722: Callback(R (*func)(const T*, A0), const U *arg) { + -: 723: generate(function_context(func, arg)); + -: 724: } + -: 725: + -: 726: /** Create a Callback with a static function and bound pointer + -: 727: * @param func Static function to attach + -: 728: * @param arg Pointer argument to function + -: 729: */ + -: 730: template + -: 731: Callback(R (*func)(volatile T*, A0), volatile U *arg) { + -: 732: generate(function_context(func, arg)); + -: 733: } + -: 734: + -: 735: /** Create a Callback with a static function and bound pointer + -: 736: * @param func Static function to attach + -: 737: * @param arg Pointer argument to function + -: 738: */ + -: 739: template + -: 740: Callback(R (*func)(const volatile T*, A0), const volatile U *arg) { + -: 741: generate(function_context(func, arg)); + -: 742: } + -: 743: + -: 744: /** Create a Callback with a function object + -: 745: * @param f Function object to attach + -: 746: * @note The function object is limited to a single word of storage + -: 747: */ + -: 748: template + -: 749: Callback(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0))) { + -: 750: generate(f); + -: 751: } + -: 752: + -: 753: /** Create a Callback with a function object + -: 754: * @param f Function object to attach + -: 755: * @note The function object is limited to a single word of storage + -: 756: */ + -: 757: template + -: 758: Callback(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0) const)) { + -: 759: generate(f); + -: 760: } + -: 761: + -: 762: /** Create a Callback with a function object + -: 763: * @param f Function object to attach + -: 764: * @note The function object is limited to a single word of storage + -: 765: */ + -: 766: template + -: 767: Callback(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0) volatile)) { + -: 768: generate(f); + -: 769: } + -: 770: + -: 771: /** Create a Callback with a function object + -: 772: * @param f Function object to attach + -: 773: * @note The function object is limited to a single word of storage + -: 774: */ + -: 775: template + -: 776: Callback(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0) const volatile)) { + -: 777: generate(f); + -: 778: } + -: 779: + -: 780: /** Create a Callback with a static function and bound pointer + -: 781: * @param obj Pointer to object to bind to function + -: 782: * @param func Static function to attach + -: 783: * @deprecated + -: 784: * Arguments to callback have been reordered to Callback(func, arg) + -: 785: */ + -: 786: template + -: 787: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 788: "Arguments to callback have been reordered to Callback(func, arg)") + -: 789: Callback(U *obj, R (*func)(T*, A0)) { + -: 790: new (this) Callback(func, obj); + -: 791: } + -: 792: + -: 793: /** Create a Callback with a static function and bound pointer + -: 794: * @param obj Pointer to object to bind to function + -: 795: * @param func Static function to attach + -: 796: * @deprecated + -: 797: * Arguments to callback have been reordered to Callback(func, arg) + -: 798: */ + -: 799: template + -: 800: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 801: "Arguments to callback have been reordered to Callback(func, arg)") + -: 802: Callback(const U *obj, R (*func)(const T*, A0)) { + -: 803: new (this) Callback(func, obj); + -: 804: } + -: 805: + -: 806: /** Create a Callback with a static function and bound pointer + -: 807: * @param obj Pointer to object to bind to function + -: 808: * @param func Static function to attach + -: 809: * @deprecated + -: 810: * Arguments to callback have been reordered to Callback(func, arg) + -: 811: */ + -: 812: template + -: 813: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 814: "Arguments to callback have been reordered to Callback(func, arg)") + -: 815: Callback(volatile U *obj, R (*func)(volatile T*, A0)) { + -: 816: new (this) Callback(func, obj); + -: 817: } + -: 818: + -: 819: /** Create a Callback with a static function and bound pointer + -: 820: * @param obj Pointer to object to bind to function + -: 821: * @param func Static function to attach + -: 822: * @deprecated + -: 823: * Arguments to callback have been reordered to Callback(func, arg) + -: 824: */ + -: 825: template + -: 826: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 827: "Arguments to callback have been reordered to Callback(func, arg)") + -: 828: Callback(const volatile U *obj, R (*func)(const volatile T*, A0)) { + -: 829: new (this) Callback(func, obj); + -: 830: } + -: 831: + -: 832: /** Destroy a callback + -: 833: */ + -: 834: ~Callback() { + -: 835: if (_ops) { + -: 836: _ops->dtor(this); + -: 837: } + -: 838: } + -: 839: + -: 840: /** Attach a static function + -: 841: * @param func Static function to attach + -: 842: * @deprecated + -: 843: * Replaced by simple assignment 'Callback cb = func' + -: 844: */ + -: 845: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 846: "Replaced by simple assignment 'Callback cb = func") + -: 847: void attach(R (*func)(A0)) { + -: 848: this->~Callback(); + -: 849: new (this) Callback(func); + -: 850: } + -: 851: + -: 852: /** Attach a Callback + -: 853: * @param func The Callback to attach + -: 854: * @deprecated + -: 855: * Replaced by simple assignment 'Callback cb = func' + -: 856: */ + -: 857: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 858: "Replaced by simple assignment 'Callback cb = func") + -: 859: void attach(const Callback &func) { + -: 860: this->~Callback(); + -: 861: new (this) Callback(func); + -: 862: } + -: 863: + -: 864: /** Attach a member function + -: 865: * @param obj Pointer to object to invoke member function on + -: 866: * @param method Member function to attach + -: 867: * @deprecated + -: 868: * Replaced by simple assignment 'Callback cb = func' + -: 869: */ + -: 870: template + -: 871: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 872: "Replaced by simple assignment 'Callback cb = func") + -: 873: void attach(U *obj, R (T::*method)(A0)) { + -: 874: this->~Callback(); + -: 875: new (this) Callback(obj, method); + -: 876: } + -: 877: + -: 878: /** Attach a member function + -: 879: * @param obj Pointer to object to invoke member function on + -: 880: * @param method Member function to attach + -: 881: * @deprecated + -: 882: * Replaced by simple assignment 'Callback cb = func' + -: 883: */ + -: 884: template + -: 885: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 886: "Replaced by simple assignment 'Callback cb = func") + -: 887: void attach(const U *obj, R (T::*method)(A0) const) { + -: 888: this->~Callback(); + -: 889: new (this) Callback(obj, method); + -: 890: } + -: 891: + -: 892: /** Attach a member function + -: 893: * @param obj Pointer to object to invoke member function on + -: 894: * @param method Member function to attach + -: 895: * @deprecated + -: 896: * Replaced by simple assignment 'Callback cb = func' + -: 897: */ + -: 898: template + -: 899: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 900: "Replaced by simple assignment 'Callback cb = func") + -: 901: void attach(volatile U *obj, R (T::*method)(A0) volatile) { + -: 902: this->~Callback(); + -: 903: new (this) Callback(obj, method); + -: 904: } + -: 905: + -: 906: /** Attach a member function + -: 907: * @param obj Pointer to object to invoke member function on + -: 908: * @param method Member function to attach + -: 909: * @deprecated + -: 910: * Replaced by simple assignment 'Callback cb = func' + -: 911: */ + -: 912: template + -: 913: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 914: "Replaced by simple assignment 'Callback cb = func") + -: 915: void attach(const volatile U *obj, R (T::*method)(A0) const volatile) { + -: 916: this->~Callback(); + -: 917: new (this) Callback(obj, method); + -: 918: } + -: 919: + -: 920: /** Attach a static function with a bound pointer + -: 921: * @param func Static function to attach + -: 922: * @param arg Pointer argument to function + -: 923: * @deprecated + -: 924: * Replaced by simple assignment 'Callback cb = func' + -: 925: */ + -: 926: template + -: 927: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 928: "Replaced by simple assignment 'Callback cb = func") + -: 929: void attach(R (*func)(T*, A0), U *arg) { + -: 930: this->~Callback(); + -: 931: new (this) Callback(func, arg); + -: 932: } + -: 933: + -: 934: /** Attach a static function with a bound pointer + -: 935: * @param func Static function to attach + -: 936: * @param arg Pointer argument to function + -: 937: * @deprecated + -: 938: * Replaced by simple assignment 'Callback cb = func' + -: 939: */ + -: 940: template + -: 941: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 942: "Replaced by simple assignment 'Callback cb = func") + -: 943: void attach(R (*func)(const T*, A0), const U *arg) { + -: 944: this->~Callback(); + -: 945: new (this) Callback(func, arg); + -: 946: } + -: 947: + -: 948: /** Attach a static function with a bound pointer + -: 949: * @param func Static function to attach + -: 950: * @param arg Pointer argument to function + -: 951: * @deprecated + -: 952: * Replaced by simple assignment 'Callback cb = func' + -: 953: */ + -: 954: template + -: 955: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 956: "Replaced by simple assignment 'Callback cb = func") + -: 957: void attach(R (*func)(volatile T*, A0), volatile U *arg) { + -: 958: this->~Callback(); + -: 959: new (this) Callback(func, arg); + -: 960: } + -: 961: + -: 962: /** Attach a static function with a bound pointer + -: 963: * @param func Static function to attach + -: 964: * @param arg Pointer argument to function + -: 965: * @deprecated + -: 966: * Replaced by simple assignment 'Callback cb = func' + -: 967: */ + -: 968: template + -: 969: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 970: "Replaced by simple assignment 'Callback cb = func") + -: 971: void attach(R (*func)(const volatile T*, A0), const volatile U *arg) { + -: 972: this->~Callback(); + -: 973: new (this) Callback(func, arg); + -: 974: } + -: 975: + -: 976: /** Attach a function object + -: 977: * @param f Function object to attach + -: 978: * @note The function object is limited to a single word of storage + -: 979: * @deprecated + -: 980: * Replaced by simple assignment 'Callback cb = func' + -: 981: */ + -: 982: template + -: 983: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 984: "Replaced by simple assignment 'Callback cb = func") + -: 985: void attach(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0))) { + -: 986: this->~Callback(); + -: 987: new (this) Callback(f); + -: 988: } + -: 989: + -: 990: /** Attach a function object + -: 991: * @param f Function object to attach + -: 992: * @note The function object is limited to a single word of storage + -: 993: * @deprecated + -: 994: * Replaced by simple assignment 'Callback cb = func' + -: 995: */ + -: 996: template + -: 997: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 998: "Replaced by simple assignment 'Callback cb = func") + -: 999: void attach(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0) const)) { + -: 1000: this->~Callback(); + -: 1001: new (this) Callback(f); + -: 1002: } + -: 1003: + -: 1004: /** Attach a function object + -: 1005: * @param f Function object to attach + -: 1006: * @note The function object is limited to a single word of storage + -: 1007: * @deprecated + -: 1008: * Replaced by simple assignment 'Callback cb = func' + -: 1009: */ + -: 1010: template + -: 1011: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1012: "Replaced by simple assignment 'Callback cb = func") + -: 1013: void attach(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0) volatile)) { + -: 1014: this->~Callback(); + -: 1015: new (this) Callback(f); + -: 1016: } + -: 1017: + -: 1018: /** Attach a function object + -: 1019: * @param f Function object to attach + -: 1020: * @note The function object is limited to a single word of storage + -: 1021: * @deprecated + -: 1022: * Replaced by simple assignment 'Callback cb = func' + -: 1023: */ + -: 1024: template + -: 1025: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1026: "Replaced by simple assignment 'Callback cb = func") + -: 1027: void attach(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0) const volatile)) { + -: 1028: this->~Callback(); + -: 1029: new (this) Callback(f); + -: 1030: } + -: 1031: + -: 1032: /** Attach a static function with a bound pointer + -: 1033: * @param obj Pointer to object to bind to function + -: 1034: * @param func Static function to attach + -: 1035: * @deprecated + -: 1036: * Arguments to callback have been reordered to attach(func, arg) + -: 1037: */ + -: 1038: template + -: 1039: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1040: "Arguments to callback have been reordered to attach(func, arg)") + -: 1041: void attach(U *obj, R (*func)(T*, A0)) { + -: 1042: this->~Callback(); + -: 1043: new (this) Callback(func, obj); + -: 1044: } + -: 1045: + -: 1046: /** Attach a static function with a bound pointer + -: 1047: * @param obj Pointer to object to bind to function + -: 1048: * @param func Static function to attach + -: 1049: * @deprecated + -: 1050: * Arguments to callback have been reordered to attach(func, arg) + -: 1051: */ + -: 1052: template + -: 1053: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1054: "Arguments to callback have been reordered to attach(func, arg)") + -: 1055: void attach(const U *obj, R (*func)(const T*, A0)) { + -: 1056: this->~Callback(); + -: 1057: new (this) Callback(func, obj); + -: 1058: } + -: 1059: + -: 1060: /** Attach a static function with a bound pointer + -: 1061: * @param obj Pointer to object to bind to function + -: 1062: * @param func Static function to attach + -: 1063: * @deprecated + -: 1064: * Arguments to callback have been reordered to attach(func, arg) + -: 1065: */ + -: 1066: template + -: 1067: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1068: "Arguments to callback have been reordered to attach(func, arg)") + -: 1069: void attach(volatile U *obj, R (*func)(volatile T*, A0)) { + -: 1070: this->~Callback(); + -: 1071: new (this) Callback(func, obj); + -: 1072: } + -: 1073: + -: 1074: /** Attach a static function with a bound pointer + -: 1075: * @param obj Pointer to object to bind to function + -: 1076: * @param func Static function to attach + -: 1077: * @deprecated + -: 1078: * Arguments to callback have been reordered to attach(func, arg) + -: 1079: */ + -: 1080: template + -: 1081: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1082: "Arguments to callback have been reordered to attach(func, arg)") + -: 1083: void attach(const volatile U *obj, R (*func)(const volatile T*, A0)) { + -: 1084: this->~Callback(); + -: 1085: new (this) Callback(func, obj); + -: 1086: } + -: 1087: + -: 1088: /** Assign a callback + -: 1089: */ + -: 1090: Callback &operator=(const Callback &that) { + -: 1091: if (this != &that) { + -: 1092: this->~Callback(); + -: 1093: new (this) Callback(that); + -: 1094: } + -: 1095: + -: 1096: return *this; + -: 1097: } + -: 1098: + -: 1099: /** Call the attached function + -: 1100: */ + -: 1101: R call(A0 a0) const { + -: 1102: MBED_ASSERT(_ops); + -: 1103: return _ops->call(this, a0); + -: 1104: } + -: 1105: + -: 1106: /** Call the attached function + -: 1107: */ + -: 1108: R operator()(A0 a0) const { + -: 1109: return call(a0); + -: 1110: } + -: 1111: + -: 1112: /** Test if function has been attached + -: 1113: */ + -: 1114: operator bool() const { + -: 1115: return _ops; + -: 1116: } + -: 1117: + -: 1118: /** Test for equality + -: 1119: */ + -: 1120: friend bool operator==(const Callback &l, const Callback &r) { + -: 1121: return memcmp(&l, &r, sizeof(Callback)) == 0; + -: 1122: } + -: 1123: + -: 1124: /** Test for inequality + -: 1125: */ + -: 1126: friend bool operator!=(const Callback &l, const Callback &r) { + -: 1127: return !(l == r); + -: 1128: } + -: 1129: + -: 1130: /** Static thunk for passing as C-style function + -: 1131: * @param func Callback to call passed as void pointer + -: 1132: * @param a0 An argument to be called with function func + -: 1133: * @return the value as determined by func which is of + -: 1134: * type and determined by the signiture of func + -: 1135: */ + -: 1136: static R thunk(void *func, A0 a0) { + -: 1137: return static_cast(func)->call(a0); + -: 1138: } + -: 1139: + -: 1140:private: + -: 1141: // Stored as pointer to function and pointer to optional object + -: 1142: // Function pointer is stored as union of possible function types + -: 1143: // to garuntee proper size and alignment + -: 1144: struct _class; + -: 1145: union { + -: 1146: void (*_staticfunc)(A0); + -: 1147: void (*_boundfunc)(_class*, A0); + -: 1148: void (_class::*_methodfunc)(A0); + -: 1149: } _func; + -: 1150: void *_obj; + -: 1151: + -: 1152: // Dynamically dispatched operations + -: 1153: const struct ops { + -: 1154: R (*call)(const void*, A0); + -: 1155: void (*move)(void*, const void*); + -: 1156: void (*dtor)(void*); + -: 1157: } *_ops; + -: 1158: + -: 1159: // Generate operations for function object + -: 1160: template + -: 1161: void generate(const F &f) { + -: 1162: static const ops ops = { + -: 1163: &Callback::function_call, + -: 1164: &Callback::function_move, + -: 1165: &Callback::function_dtor, + -: 1166: }; + -: 1167: + -: 1168: MBED_STATIC_ASSERT(sizeof(Callback) - sizeof(_ops) >= sizeof(F), + -: 1169: "Type F must not exceed the size of the Callback class"); + -: 1170: memset(this, 0, sizeof(Callback)); + -: 1171: new (this) F(f); + -: 1172: _ops = &ops; + -: 1173: } + -: 1174: + -: 1175: // Function attributes + -: 1176: template + -: 1177: static R function_call(const void *p, A0 a0) { + -: 1178: return (*(F*)p)(a0); + -: 1179: } + -: 1180: + -: 1181: template + -: 1182: static void function_move(void *d, const void *p) { + -: 1183: new (d) F(*(F*)p); + -: 1184: } + -: 1185: + -: 1186: template + -: 1187: static void function_dtor(void *p) { + -: 1188: ((F*)p)->~F(); + -: 1189: } + -: 1190: + -: 1191: // Wrappers for functions with context + -: 1192: template + -: 1193: struct method_context { + -: 1194: M method; + -: 1195: O *obj; + -: 1196: + -: 1197: method_context(O *obj, M method) + -: 1198: : method(method), obj(obj) {} + -: 1199: + -: 1200: R operator()(A0 a0) const { + -: 1201: return (obj->*method)(a0); + -: 1202: } + -: 1203: }; + -: 1204: + -: 1205: template + -: 1206: struct function_context { + -: 1207: F func; + -: 1208: A *arg; + -: 1209: + -: 1210: function_context(F func, A *arg) + -: 1211: : func(func), arg(arg) {} + -: 1212: + -: 1213: R operator()(A0 a0) const { + -: 1214: return func(arg, a0); + -: 1215: } + -: 1216: }; + -: 1217:}; + -: 1218: + -: 1219:/** Callback class based on template specialization + -: 1220: * + -: 1221: * @note Synchronization level: Not protected + -: 1222: */ + -: 1223:template + -: 1224:class Callback { + -: 1225:public: + -: 1226: /** Create a Callback with a static function + -: 1227: * @param func Static function to attach + -: 1228: */ + -: 1229: Callback(R (*func)(A0, A1) = 0) { + -: 1230: if (!func) { + -: 1231: memset(this, 0, sizeof(Callback)); + -: 1232: } else { + -: 1233: generate(func); + -: 1234: } + -: 1235: } + -: 1236: + -: 1237: /** Attach a Callback + -: 1238: * @param func The Callback to attach + -: 1239: */ + -: 1240: Callback(const Callback &func) { + -: 1241: if (func._ops) { + -: 1242: func._ops->move(this, &func); + -: 1243: } + -: 1244: _ops = func._ops; + -: 1245: } + -: 1246: + -: 1247: /** Create a Callback with a member function + -: 1248: * @param obj Pointer to object to invoke member function on + -: 1249: * @param method Member function to attach + -: 1250: */ + -: 1251: template + -: 1252: Callback(U *obj, R (T::*method)(A0, A1)) { + -: 1253: generate(method_context(obj, method)); + -: 1254: } + -: 1255: + -: 1256: /** Create a Callback with a member function + -: 1257: * @param obj Pointer to object to invoke member function on + -: 1258: * @param method Member function to attach + -: 1259: */ + -: 1260: template + -: 1261: Callback(const U *obj, R (T::*method)(A0, A1) const) { + -: 1262: generate(method_context(obj, method)); + -: 1263: } + -: 1264: + -: 1265: /** Create a Callback with a member function + -: 1266: * @param obj Pointer to object to invoke member function on + -: 1267: * @param method Member function to attach + -: 1268: */ + -: 1269: template + -: 1270: Callback(volatile U *obj, R (T::*method)(A0, A1) volatile) { + -: 1271: generate(method_context(obj, method)); + -: 1272: } + -: 1273: + -: 1274: /** Create a Callback with a member function + -: 1275: * @param obj Pointer to object to invoke member function on + -: 1276: * @param method Member function to attach + -: 1277: */ + -: 1278: template + -: 1279: Callback(const volatile U *obj, R (T::*method)(A0, A1) const volatile) { + -: 1280: generate(method_context(obj, method)); + -: 1281: } + -: 1282: + -: 1283: /** Create a Callback with a static function and bound pointer + -: 1284: * @param func Static function to attach + -: 1285: * @param arg Pointer argument to function + -: 1286: */ + -: 1287: template + -: 1288: Callback(R (*func)(T*, A0, A1), U *arg) { + -: 1289: generate(function_context(func, arg)); + -: 1290: } + -: 1291: + -: 1292: /** Create a Callback with a static function and bound pointer + -: 1293: * @param func Static function to attach + -: 1294: * @param arg Pointer argument to function + -: 1295: */ + -: 1296: template + -: 1297: Callback(R (*func)(const T*, A0, A1), const U *arg) { + -: 1298: generate(function_context(func, arg)); + -: 1299: } + -: 1300: + -: 1301: /** Create a Callback with a static function and bound pointer + -: 1302: * @param func Static function to attach + -: 1303: * @param arg Pointer argument to function + -: 1304: */ + -: 1305: template + -: 1306: Callback(R (*func)(volatile T*, A0, A1), volatile U *arg) { + -: 1307: generate(function_context(func, arg)); + -: 1308: } + -: 1309: + -: 1310: /** Create a Callback with a static function and bound pointer + -: 1311: * @param func Static function to attach + -: 1312: * @param arg Pointer argument to function + -: 1313: */ + -: 1314: template + -: 1315: Callback(R (*func)(const volatile T*, A0, A1), const volatile U *arg) { + -: 1316: generate(function_context(func, arg)); + -: 1317: } + -: 1318: + -: 1319: /** Create a Callback with a function object + -: 1320: * @param f Function object to attach + -: 1321: * @note The function object is limited to a single word of storage + -: 1322: */ + -: 1323: template + -: 1324: Callback(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1))) { + -: 1325: generate(f); + -: 1326: } + -: 1327: + -: 1328: /** Create a Callback with a function object + -: 1329: * @param f Function object to attach + -: 1330: * @note The function object is limited to a single word of storage + -: 1331: */ + -: 1332: template + -: 1333: Callback(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1) const)) { + -: 1334: generate(f); + -: 1335: } + -: 1336: + -: 1337: /** Create a Callback with a function object + -: 1338: * @param f Function object to attach + -: 1339: * @note The function object is limited to a single word of storage + -: 1340: */ + -: 1341: template + -: 1342: Callback(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1) volatile)) { + -: 1343: generate(f); + -: 1344: } + -: 1345: + -: 1346: /** Create a Callback with a function object + -: 1347: * @param f Function object to attach + -: 1348: * @note The function object is limited to a single word of storage + -: 1349: */ + -: 1350: template + -: 1351: Callback(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1) const volatile)) { + -: 1352: generate(f); + -: 1353: } + -: 1354: + -: 1355: /** Create a Callback with a static function and bound pointer + -: 1356: * @param obj Pointer to object to bind to function + -: 1357: * @param func Static function to attach + -: 1358: * @deprecated + -: 1359: * Arguments to callback have been reordered to Callback(func, arg) + -: 1360: */ + -: 1361: template + -: 1362: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1363: "Arguments to callback have been reordered to Callback(func, arg)") + -: 1364: Callback(U *obj, R (*func)(T*, A0, A1)) { + -: 1365: new (this) Callback(func, obj); + -: 1366: } + -: 1367: + -: 1368: /** Create a Callback with a static function and bound pointer + -: 1369: * @param obj Pointer to object to bind to function + -: 1370: * @param func Static function to attach + -: 1371: * @deprecated + -: 1372: * Arguments to callback have been reordered to Callback(func, arg) + -: 1373: */ + -: 1374: template + -: 1375: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1376: "Arguments to callback have been reordered to Callback(func, arg)") + -: 1377: Callback(const U *obj, R (*func)(const T*, A0, A1)) { + -: 1378: new (this) Callback(func, obj); + -: 1379: } + -: 1380: + -: 1381: /** Create a Callback with a static function and bound pointer + -: 1382: * @param obj Pointer to object to bind to function + -: 1383: * @param func Static function to attach + -: 1384: * @deprecated + -: 1385: * Arguments to callback have been reordered to Callback(func, arg) + -: 1386: */ + -: 1387: template + -: 1388: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1389: "Arguments to callback have been reordered to Callback(func, arg)") + -: 1390: Callback(volatile U *obj, R (*func)(volatile T*, A0, A1)) { + -: 1391: new (this) Callback(func, obj); + -: 1392: } + -: 1393: + -: 1394: /** Create a Callback with a static function and bound pointer + -: 1395: * @param obj Pointer to object to bind to function + -: 1396: * @param func Static function to attach + -: 1397: * @deprecated + -: 1398: * Arguments to callback have been reordered to Callback(func, arg) + -: 1399: */ + -: 1400: template + -: 1401: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1402: "Arguments to callback have been reordered to Callback(func, arg)") + -: 1403: Callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1)) { + -: 1404: new (this) Callback(func, obj); + -: 1405: } + -: 1406: + -: 1407: /** Destroy a callback + -: 1408: */ + -: 1409: ~Callback() { + -: 1410: if (_ops) { + -: 1411: _ops->dtor(this); + -: 1412: } + -: 1413: } + -: 1414: + -: 1415: /** Attach a static function + -: 1416: * @param func Static function to attach + -: 1417: * @deprecated + -: 1418: * Replaced by simple assignment 'Callback cb = func' + -: 1419: */ + -: 1420: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1421: "Replaced by simple assignment 'Callback cb = func") + -: 1422: void attach(R (*func)(A0, A1)) { + -: 1423: this->~Callback(); + -: 1424: new (this) Callback(func); + -: 1425: } + -: 1426: + -: 1427: /** Attach a Callback + -: 1428: * @param func The Callback to attach + -: 1429: * @deprecated + -: 1430: * Replaced by simple assignment 'Callback cb = func' + -: 1431: */ + -: 1432: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1433: "Replaced by simple assignment 'Callback cb = func") + -: 1434: void attach(const Callback &func) { + -: 1435: this->~Callback(); + -: 1436: new (this) Callback(func); + -: 1437: } + -: 1438: + -: 1439: /** Attach a member function + -: 1440: * @param obj Pointer to object to invoke member function on + -: 1441: * @param method Member function to attach + -: 1442: * @deprecated + -: 1443: * Replaced by simple assignment 'Callback cb = func' + -: 1444: */ + -: 1445: template + -: 1446: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1447: "Replaced by simple assignment 'Callback cb = func") + -: 1448: void attach(U *obj, R (T::*method)(A0, A1)) { + -: 1449: this->~Callback(); + -: 1450: new (this) Callback(obj, method); + -: 1451: } + -: 1452: + -: 1453: /** Attach a member function + -: 1454: * @param obj Pointer to object to invoke member function on + -: 1455: * @param method Member function to attach + -: 1456: * @deprecated + -: 1457: * Replaced by simple assignment 'Callback cb = func' + -: 1458: */ + -: 1459: template + -: 1460: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1461: "Replaced by simple assignment 'Callback cb = func") + -: 1462: void attach(const U *obj, R (T::*method)(A0, A1) const) { + -: 1463: this->~Callback(); + -: 1464: new (this) Callback(obj, method); + -: 1465: } + -: 1466: + -: 1467: /** Attach a member function + -: 1468: * @param obj Pointer to object to invoke member function on + -: 1469: * @param method Member function to attach + -: 1470: * @deprecated + -: 1471: * Replaced by simple assignment 'Callback cb = func' + -: 1472: */ + -: 1473: template + -: 1474: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1475: "Replaced by simple assignment 'Callback cb = func") + -: 1476: void attach(volatile U *obj, R (T::*method)(A0, A1) volatile) { + -: 1477: this->~Callback(); + -: 1478: new (this) Callback(obj, method); + -: 1479: } + -: 1480: + -: 1481: /** Attach a member function + -: 1482: * @param obj Pointer to object to invoke member function on + -: 1483: * @param method Member function to attach + -: 1484: * @deprecated + -: 1485: * Replaced by simple assignment 'Callback cb = func' + -: 1486: */ + -: 1487: template + -: 1488: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1489: "Replaced by simple assignment 'Callback cb = func") + -: 1490: void attach(const volatile U *obj, R (T::*method)(A0, A1) const volatile) { + -: 1491: this->~Callback(); + -: 1492: new (this) Callback(obj, method); + -: 1493: } + -: 1494: + -: 1495: /** Attach a static function with a bound pointer + -: 1496: * @param func Static function to attach + -: 1497: * @param arg Pointer argument to function + -: 1498: * @deprecated + -: 1499: * Replaced by simple assignment 'Callback cb = func' + -: 1500: */ + -: 1501: template + -: 1502: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1503: "Replaced by simple assignment 'Callback cb = func") + -: 1504: void attach(R (*func)(T*, A0, A1), U *arg) { + -: 1505: this->~Callback(); + -: 1506: new (this) Callback(func, arg); + -: 1507: } + -: 1508: + -: 1509: /** Attach a static function with a bound pointer + -: 1510: * @param func Static function to attach + -: 1511: * @param arg Pointer argument to function + -: 1512: * @deprecated + -: 1513: * Replaced by simple assignment 'Callback cb = func' + -: 1514: */ + -: 1515: template + -: 1516: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1517: "Replaced by simple assignment 'Callback cb = func") + -: 1518: void attach(R (*func)(const T*, A0, A1), const U *arg) { + -: 1519: this->~Callback(); + -: 1520: new (this) Callback(func, arg); + -: 1521: } + -: 1522: + -: 1523: /** Attach a static function with a bound pointer + -: 1524: * @param func Static function to attach + -: 1525: * @param arg Pointer argument to function + -: 1526: * @deprecated + -: 1527: * Replaced by simple assignment 'Callback cb = func' + -: 1528: */ + -: 1529: template + -: 1530: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1531: "Replaced by simple assignment 'Callback cb = func") + -: 1532: void attach(R (*func)(volatile T*, A0, A1), volatile U *arg) { + -: 1533: this->~Callback(); + -: 1534: new (this) Callback(func, arg); + -: 1535: } + -: 1536: + -: 1537: /** Attach a static function with a bound pointer + -: 1538: * @param func Static function to attach + -: 1539: * @param arg Pointer argument to function + -: 1540: * @deprecated + -: 1541: * Replaced by simple assignment 'Callback cb = func' + -: 1542: */ + -: 1543: template + -: 1544: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1545: "Replaced by simple assignment 'Callback cb = func") + -: 1546: void attach(R (*func)(const volatile T*, A0, A1), const volatile U *arg) { + -: 1547: this->~Callback(); + -: 1548: new (this) Callback(func, arg); + -: 1549: } + -: 1550: + -: 1551: /** Attach a function object + -: 1552: * @param f Function object to attach + -: 1553: * @note The function object is limited to a single word of storage + -: 1554: * @deprecated + -: 1555: * Replaced by simple assignment 'Callback cb = func' + -: 1556: */ + -: 1557: template + -: 1558: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1559: "Replaced by simple assignment 'Callback cb = func") + -: 1560: void attach(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1))) { + -: 1561: this->~Callback(); + -: 1562: new (this) Callback(f); + -: 1563: } + -: 1564: + -: 1565: /** Attach a function object + -: 1566: * @param f Function object to attach + -: 1567: * @note The function object is limited to a single word of storage + -: 1568: * @deprecated + -: 1569: * Replaced by simple assignment 'Callback cb = func' + -: 1570: */ + -: 1571: template + -: 1572: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1573: "Replaced by simple assignment 'Callback cb = func") + -: 1574: void attach(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1) const)) { + -: 1575: this->~Callback(); + -: 1576: new (this) Callback(f); + -: 1577: } + -: 1578: + -: 1579: /** Attach a function object + -: 1580: * @param f Function object to attach + -: 1581: * @note The function object is limited to a single word of storage + -: 1582: * @deprecated + -: 1583: * Replaced by simple assignment 'Callback cb = func' + -: 1584: */ + -: 1585: template + -: 1586: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1587: "Replaced by simple assignment 'Callback cb = func") + -: 1588: void attach(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1) volatile)) { + -: 1589: this->~Callback(); + -: 1590: new (this) Callback(f); + -: 1591: } + -: 1592: + -: 1593: /** Attach a function object + -: 1594: * @param f Function object to attach + -: 1595: * @note The function object is limited to a single word of storage + -: 1596: * @deprecated + -: 1597: * Replaced by simple assignment 'Callback cb = func' + -: 1598: */ + -: 1599: template + -: 1600: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1601: "Replaced by simple assignment 'Callback cb = func") + -: 1602: void attach(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1) const volatile)) { + -: 1603: this->~Callback(); + -: 1604: new (this) Callback(f); + -: 1605: } + -: 1606: + -: 1607: /** Attach a static function with a bound pointer + -: 1608: * @param obj Pointer to object to bind to function + -: 1609: * @param func Static function to attach + -: 1610: * @deprecated + -: 1611: * Arguments to callback have been reordered to attach(func, arg) + -: 1612: */ + -: 1613: template + -: 1614: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1615: "Arguments to callback have been reordered to attach(func, arg)") + -: 1616: void attach(U *obj, R (*func)(T*, A0, A1)) { + -: 1617: this->~Callback(); + -: 1618: new (this) Callback(func, obj); + -: 1619: } + -: 1620: + -: 1621: /** Attach a static function with a bound pointer + -: 1622: * @param obj Pointer to object to bind to function + -: 1623: * @param func Static function to attach + -: 1624: * @deprecated + -: 1625: * Arguments to callback have been reordered to attach(func, arg) + -: 1626: */ + -: 1627: template + -: 1628: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1629: "Arguments to callback have been reordered to attach(func, arg)") + -: 1630: void attach(const U *obj, R (*func)(const T*, A0, A1)) { + -: 1631: this->~Callback(); + -: 1632: new (this) Callback(func, obj); + -: 1633: } + -: 1634: + -: 1635: /** Attach a static function with a bound pointer + -: 1636: * @param obj Pointer to object to bind to function + -: 1637: * @param func Static function to attach + -: 1638: * @deprecated + -: 1639: * Arguments to callback have been reordered to attach(func, arg) + -: 1640: */ + -: 1641: template + -: 1642: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1643: "Arguments to callback have been reordered to attach(func, arg)") + -: 1644: void attach(volatile U *obj, R (*func)(volatile T*, A0, A1)) { + -: 1645: this->~Callback(); + -: 1646: new (this) Callback(func, obj); + -: 1647: } + -: 1648: + -: 1649: /** Attach a static function with a bound pointer + -: 1650: * @param obj Pointer to object to bind to function + -: 1651: * @param func Static function to attach + -: 1652: * @deprecated + -: 1653: * Arguments to callback have been reordered to attach(func, arg) + -: 1654: */ + -: 1655: template + -: 1656: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1657: "Arguments to callback have been reordered to attach(func, arg)") + -: 1658: void attach(const volatile U *obj, R (*func)(const volatile T*, A0, A1)) { + -: 1659: this->~Callback(); + -: 1660: new (this) Callback(func, obj); + -: 1661: } + -: 1662: + -: 1663: /** Assign a callback + -: 1664: */ + -: 1665: Callback &operator=(const Callback &that) { + -: 1666: if (this != &that) { + -: 1667: this->~Callback(); + -: 1668: new (this) Callback(that); + -: 1669: } + -: 1670: + -: 1671: return *this; + -: 1672: } + -: 1673: + -: 1674: /** Call the attached function + -: 1675: */ + -: 1676: R call(A0 a0, A1 a1) const { + -: 1677: MBED_ASSERT(_ops); + -: 1678: return _ops->call(this, a0, a1); + -: 1679: } + -: 1680: + -: 1681: /** Call the attached function + -: 1682: */ + -: 1683: R operator()(A0 a0, A1 a1) const { + -: 1684: return call(a0, a1); + -: 1685: } + -: 1686: + -: 1687: /** Test if function has been attached + -: 1688: */ + -: 1689: operator bool() const { + -: 1690: return _ops; + -: 1691: } + -: 1692: + -: 1693: /** Test for equality + -: 1694: */ + -: 1695: friend bool operator==(const Callback &l, const Callback &r) { + -: 1696: return memcmp(&l, &r, sizeof(Callback)) == 0; + -: 1697: } + -: 1698: + -: 1699: /** Test for inequality + -: 1700: */ + -: 1701: friend bool operator!=(const Callback &l, const Callback &r) { + -: 1702: return !(l == r); + -: 1703: } + -: 1704: + -: 1705: /** Static thunk for passing as C-style function + -: 1706: * @param func Callback to call passed as void pointer + -: 1707: * @param a0 An argument to be called with function func + -: 1708: * @param a1 An argument to be called with function func + -: 1709: * @return the value as determined by func which is of + -: 1710: * type and determined by the signiture of func + -: 1711: */ + -: 1712: static R thunk(void *func, A0 a0, A1 a1) { + -: 1713: return static_cast(func)->call(a0, a1); + -: 1714: } + -: 1715: + -: 1716:private: + -: 1717: // Stored as pointer to function and pointer to optional object + -: 1718: // Function pointer is stored as union of possible function types + -: 1719: // to garuntee proper size and alignment + -: 1720: struct _class; + -: 1721: union { + -: 1722: void (*_staticfunc)(A0, A1); + -: 1723: void (*_boundfunc)(_class*, A0, A1); + -: 1724: void (_class::*_methodfunc)(A0, A1); + -: 1725: } _func; + -: 1726: void *_obj; + -: 1727: + -: 1728: // Dynamically dispatched operations + -: 1729: const struct ops { + -: 1730: R (*call)(const void*, A0, A1); + -: 1731: void (*move)(void*, const void*); + -: 1732: void (*dtor)(void*); + -: 1733: } *_ops; + -: 1734: + -: 1735: // Generate operations for function object + -: 1736: template + -: 1737: void generate(const F &f) { + -: 1738: static const ops ops = { + -: 1739: &Callback::function_call, + -: 1740: &Callback::function_move, + -: 1741: &Callback::function_dtor, + -: 1742: }; + -: 1743: + -: 1744: MBED_STATIC_ASSERT(sizeof(Callback) - sizeof(_ops) >= sizeof(F), + -: 1745: "Type F must not exceed the size of the Callback class"); + -: 1746: memset(this, 0, sizeof(Callback)); + -: 1747: new (this) F(f); + -: 1748: _ops = &ops; + -: 1749: } + -: 1750: + -: 1751: // Function attributes + -: 1752: template + -: 1753: static R function_call(const void *p, A0 a0, A1 a1) { + -: 1754: return (*(F*)p)(a0, a1); + -: 1755: } + -: 1756: + -: 1757: template + -: 1758: static void function_move(void *d, const void *p) { + -: 1759: new (d) F(*(F*)p); + -: 1760: } + -: 1761: + -: 1762: template + -: 1763: static void function_dtor(void *p) { + -: 1764: ((F*)p)->~F(); + -: 1765: } + -: 1766: + -: 1767: // Wrappers for functions with context + -: 1768: template + -: 1769: struct method_context { + -: 1770: M method; + -: 1771: O *obj; + -: 1772: + -: 1773: method_context(O *obj, M method) + -: 1774: : method(method), obj(obj) {} + -: 1775: + -: 1776: R operator()(A0 a0, A1 a1) const { + -: 1777: return (obj->*method)(a0, a1); + -: 1778: } + -: 1779: }; + -: 1780: + -: 1781: template + -: 1782: struct function_context { + -: 1783: F func; + -: 1784: A *arg; + -: 1785: + -: 1786: function_context(F func, A *arg) + -: 1787: : func(func), arg(arg) {} + -: 1788: + -: 1789: R operator()(A0 a0, A1 a1) const { + -: 1790: return func(arg, a0, a1); + -: 1791: } + -: 1792: }; + -: 1793:}; + -: 1794: + -: 1795:/** Callback class based on template specialization + -: 1796: * + -: 1797: * @note Synchronization level: Not protected + -: 1798: */ + -: 1799:template + -: 1800:class Callback { + -: 1801:public: + -: 1802: /** Create a Callback with a static function + -: 1803: * @param func Static function to attach + -: 1804: */ + -: 1805: Callback(R (*func)(A0, A1, A2) = 0) { + -: 1806: if (!func) { + -: 1807: memset(this, 0, sizeof(Callback)); + -: 1808: } else { + -: 1809: generate(func); + -: 1810: } + -: 1811: } + -: 1812: + -: 1813: /** Attach a Callback + -: 1814: * @param func The Callback to attach + -: 1815: */ + -: 1816: Callback(const Callback &func) { + -: 1817: if (func._ops) { + -: 1818: func._ops->move(this, &func); + -: 1819: } + -: 1820: _ops = func._ops; + -: 1821: } + -: 1822: + -: 1823: /** Create a Callback with a member function + -: 1824: * @param obj Pointer to object to invoke member function on + -: 1825: * @param method Member function to attach + -: 1826: */ + -: 1827: template + -: 1828: Callback(U *obj, R (T::*method)(A0, A1, A2)) { + -: 1829: generate(method_context(obj, method)); + -: 1830: } + -: 1831: + -: 1832: /** Create a Callback with a member function + -: 1833: * @param obj Pointer to object to invoke member function on + -: 1834: * @param method Member function to attach + -: 1835: */ + -: 1836: template + -: 1837: Callback(const U *obj, R (T::*method)(A0, A1, A2) const) { + -: 1838: generate(method_context(obj, method)); + -: 1839: } + -: 1840: + -: 1841: /** Create a Callback with a member function + -: 1842: * @param obj Pointer to object to invoke member function on + -: 1843: * @param method Member function to attach + -: 1844: */ + -: 1845: template + -: 1846: Callback(volatile U *obj, R (T::*method)(A0, A1, A2) volatile) { + -: 1847: generate(method_context(obj, method)); + -: 1848: } + -: 1849: + -: 1850: /** Create a Callback with a member function + -: 1851: * @param obj Pointer to object to invoke member function on + -: 1852: * @param method Member function to attach + -: 1853: */ + -: 1854: template + -: 1855: Callback(const volatile U *obj, R (T::*method)(A0, A1, A2) const volatile) { + -: 1856: generate(method_context(obj, method)); + -: 1857: } + -: 1858: + -: 1859: /** Create a Callback with a static function and bound pointer + -: 1860: * @param func Static function to attach + -: 1861: * @param arg Pointer argument to function + -: 1862: */ + -: 1863: template + -: 1864: Callback(R (*func)(T*, A0, A1, A2), U *arg) { + -: 1865: generate(function_context(func, arg)); + -: 1866: } + -: 1867: + -: 1868: /** Create a Callback with a static function and bound pointer + -: 1869: * @param func Static function to attach + -: 1870: * @param arg Pointer argument to function + -: 1871: */ + -: 1872: template + -: 1873: Callback(R (*func)(const T*, A0, A1, A2), const U *arg) { + -: 1874: generate(function_context(func, arg)); + -: 1875: } + -: 1876: + -: 1877: /** Create a Callback with a static function and bound pointer + -: 1878: * @param func Static function to attach + -: 1879: * @param arg Pointer argument to function + -: 1880: */ + -: 1881: template + -: 1882: Callback(R (*func)(volatile T*, A0, A1, A2), volatile U *arg) { + -: 1883: generate(function_context(func, arg)); + -: 1884: } + -: 1885: + -: 1886: /** Create a Callback with a static function and bound pointer + -: 1887: * @param func Static function to attach + -: 1888: * @param arg Pointer argument to function + -: 1889: */ + -: 1890: template + -: 1891: Callback(R (*func)(const volatile T*, A0, A1, A2), const volatile U *arg) { + -: 1892: generate(function_context(func, arg)); + -: 1893: } + -: 1894: + -: 1895: /** Create a Callback with a function object + -: 1896: * @param f Function object to attach + -: 1897: * @note The function object is limited to a single word of storage + -: 1898: */ + -: 1899: template + -: 1900: Callback(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2))) { + -: 1901: generate(f); + -: 1902: } + -: 1903: + -: 1904: /** Create a Callback with a function object + -: 1905: * @param f Function object to attach + -: 1906: * @note The function object is limited to a single word of storage + -: 1907: */ + -: 1908: template + -: 1909: Callback(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2) const)) { + -: 1910: generate(f); + -: 1911: } + -: 1912: + -: 1913: /** Create a Callback with a function object + -: 1914: * @param f Function object to attach + -: 1915: * @note The function object is limited to a single word of storage + -: 1916: */ + -: 1917: template + -: 1918: Callback(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2) volatile)) { + -: 1919: generate(f); + -: 1920: } + -: 1921: + -: 1922: /** Create a Callback with a function object + -: 1923: * @param f Function object to attach + -: 1924: * @note The function object is limited to a single word of storage + -: 1925: */ + -: 1926: template + -: 1927: Callback(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2) const volatile)) { + -: 1928: generate(f); + -: 1929: } + -: 1930: + -: 1931: /** Create a Callback with a static function and bound pointer + -: 1932: * @param obj Pointer to object to bind to function + -: 1933: * @param func Static function to attach + -: 1934: * @deprecated + -: 1935: * Arguments to callback have been reordered to Callback(func, arg) + -: 1936: */ + -: 1937: template + -: 1938: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1939: "Arguments to callback have been reordered to Callback(func, arg)") + -: 1940: Callback(U *obj, R (*func)(T*, A0, A1, A2)) { + -: 1941: new (this) Callback(func, obj); + -: 1942: } + -: 1943: + -: 1944: /** Create a Callback with a static function and bound pointer + -: 1945: * @param obj Pointer to object to bind to function + -: 1946: * @param func Static function to attach + -: 1947: * @deprecated + -: 1948: * Arguments to callback have been reordered to Callback(func, arg) + -: 1949: */ + -: 1950: template + -: 1951: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1952: "Arguments to callback have been reordered to Callback(func, arg)") + -: 1953: Callback(const U *obj, R (*func)(const T*, A0, A1, A2)) { + -: 1954: new (this) Callback(func, obj); + -: 1955: } + -: 1956: + -: 1957: /** Create a Callback with a static function and bound pointer + -: 1958: * @param obj Pointer to object to bind to function + -: 1959: * @param func Static function to attach + -: 1960: * @deprecated + -: 1961: * Arguments to callback have been reordered to Callback(func, arg) + -: 1962: */ + -: 1963: template + -: 1964: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1965: "Arguments to callback have been reordered to Callback(func, arg)") + -: 1966: Callback(volatile U *obj, R (*func)(volatile T*, A0, A1, A2)) { + -: 1967: new (this) Callback(func, obj); + -: 1968: } + -: 1969: + -: 1970: /** Create a Callback with a static function and bound pointer + -: 1971: * @param obj Pointer to object to bind to function + -: 1972: * @param func Static function to attach + -: 1973: * @deprecated + -: 1974: * Arguments to callback have been reordered to Callback(func, arg) + -: 1975: */ + -: 1976: template + -: 1977: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 1978: "Arguments to callback have been reordered to Callback(func, arg)") + -: 1979: Callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2)) { + -: 1980: new (this) Callback(func, obj); + -: 1981: } + -: 1982: + -: 1983: /** Destroy a callback + -: 1984: */ + -: 1985: ~Callback() { + -: 1986: if (_ops) { + -: 1987: _ops->dtor(this); + -: 1988: } + -: 1989: } + -: 1990: + -: 1991: /** Attach a static function + -: 1992: * @param func Static function to attach + -: 1993: * @deprecated + -: 1994: * Replaced by simple assignment 'Callback cb = func' + -: 1995: */ + -: 1996: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 1997: "Replaced by simple assignment 'Callback cb = func") + -: 1998: void attach(R (*func)(A0, A1, A2)) { + -: 1999: this->~Callback(); + -: 2000: new (this) Callback(func); + -: 2001: } + -: 2002: + -: 2003: /** Attach a Callback + -: 2004: * @param func The Callback to attach + -: 2005: * @deprecated + -: 2006: * Replaced by simple assignment 'Callback cb = func' + -: 2007: */ + -: 2008: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2009: "Replaced by simple assignment 'Callback cb = func") + -: 2010: void attach(const Callback &func) { + -: 2011: this->~Callback(); + -: 2012: new (this) Callback(func); + -: 2013: } + -: 2014: + -: 2015: /** Attach a member function + -: 2016: * @param obj Pointer to object to invoke member function on + -: 2017: * @param method Member function to attach + -: 2018: * @deprecated + -: 2019: * Replaced by simple assignment 'Callback cb = func' + -: 2020: */ + -: 2021: template + -: 2022: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2023: "Replaced by simple assignment 'Callback cb = func") + -: 2024: void attach(U *obj, R (T::*method)(A0, A1, A2)) { + -: 2025: this->~Callback(); + -: 2026: new (this) Callback(obj, method); + -: 2027: } + -: 2028: + -: 2029: /** Attach a member function + -: 2030: * @param obj Pointer to object to invoke member function on + -: 2031: * @param method Member function to attach + -: 2032: * @deprecated + -: 2033: * Replaced by simple assignment 'Callback cb = func' + -: 2034: */ + -: 2035: template + -: 2036: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2037: "Replaced by simple assignment 'Callback cb = func") + -: 2038: void attach(const U *obj, R (T::*method)(A0, A1, A2) const) { + -: 2039: this->~Callback(); + -: 2040: new (this) Callback(obj, method); + -: 2041: } + -: 2042: + -: 2043: /** Attach a member function + -: 2044: * @param obj Pointer to object to invoke member function on + -: 2045: * @param method Member function to attach + -: 2046: * @deprecated + -: 2047: * Replaced by simple assignment 'Callback cb = func' + -: 2048: */ + -: 2049: template + -: 2050: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2051: "Replaced by simple assignment 'Callback cb = func") + -: 2052: void attach(volatile U *obj, R (T::*method)(A0, A1, A2) volatile) { + -: 2053: this->~Callback(); + -: 2054: new (this) Callback(obj, method); + -: 2055: } + -: 2056: + -: 2057: /** Attach a member function + -: 2058: * @param obj Pointer to object to invoke member function on + -: 2059: * @param method Member function to attach + -: 2060: * @deprecated + -: 2061: * Replaced by simple assignment 'Callback cb = func' + -: 2062: */ + -: 2063: template + -: 2064: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2065: "Replaced by simple assignment 'Callback cb = func") + -: 2066: void attach(const volatile U *obj, R (T::*method)(A0, A1, A2) const volatile) { + -: 2067: this->~Callback(); + -: 2068: new (this) Callback(obj, method); + -: 2069: } + -: 2070: + -: 2071: /** Attach a static function with a bound pointer + -: 2072: * @param func Static function to attach + -: 2073: * @param arg Pointer argument to function + -: 2074: * @deprecated + -: 2075: * Replaced by simple assignment 'Callback cb = func' + -: 2076: */ + -: 2077: template + -: 2078: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2079: "Replaced by simple assignment 'Callback cb = func") + -: 2080: void attach(R (*func)(T*, A0, A1, A2), U *arg) { + -: 2081: this->~Callback(); + -: 2082: new (this) Callback(func, arg); + -: 2083: } + -: 2084: + -: 2085: /** Attach a static function with a bound pointer + -: 2086: * @param func Static function to attach + -: 2087: * @param arg Pointer argument to function + -: 2088: * @deprecated + -: 2089: * Replaced by simple assignment 'Callback cb = func' + -: 2090: */ + -: 2091: template + -: 2092: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2093: "Replaced by simple assignment 'Callback cb = func") + -: 2094: void attach(R (*func)(const T*, A0, A1, A2), const U *arg) { + -: 2095: this->~Callback(); + -: 2096: new (this) Callback(func, arg); + -: 2097: } + -: 2098: + -: 2099: /** Attach a static function with a bound pointer + -: 2100: * @param func Static function to attach + -: 2101: * @param arg Pointer argument to function + -: 2102: * @deprecated + -: 2103: * Replaced by simple assignment 'Callback cb = func' + -: 2104: */ + -: 2105: template + -: 2106: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2107: "Replaced by simple assignment 'Callback cb = func") + -: 2108: void attach(R (*func)(volatile T*, A0, A1, A2), volatile U *arg) { + -: 2109: this->~Callback(); + -: 2110: new (this) Callback(func, arg); + -: 2111: } + -: 2112: + -: 2113: /** Attach a static function with a bound pointer + -: 2114: * @param func Static function to attach + -: 2115: * @param arg Pointer argument to function + -: 2116: * @deprecated + -: 2117: * Replaced by simple assignment 'Callback cb = func' + -: 2118: */ + -: 2119: template + -: 2120: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2121: "Replaced by simple assignment 'Callback cb = func") + -: 2122: void attach(R (*func)(const volatile T*, A0, A1, A2), const volatile U *arg) { + -: 2123: this->~Callback(); + -: 2124: new (this) Callback(func, arg); + -: 2125: } + -: 2126: + -: 2127: /** Attach a function object + -: 2128: * @param f Function object to attach + -: 2129: * @note The function object is limited to a single word of storage + -: 2130: * @deprecated + -: 2131: * Replaced by simple assignment 'Callback cb = func' + -: 2132: */ + -: 2133: template + -: 2134: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2135: "Replaced by simple assignment 'Callback cb = func") + -: 2136: void attach(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2))) { + -: 2137: this->~Callback(); + -: 2138: new (this) Callback(f); + -: 2139: } + -: 2140: + -: 2141: /** Attach a function object + -: 2142: * @param f Function object to attach + -: 2143: * @note The function object is limited to a single word of storage + -: 2144: * @deprecated + -: 2145: * Replaced by simple assignment 'Callback cb = func' + -: 2146: */ + -: 2147: template + -: 2148: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2149: "Replaced by simple assignment 'Callback cb = func") + -: 2150: void attach(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2) const)) { + -: 2151: this->~Callback(); + -: 2152: new (this) Callback(f); + -: 2153: } + -: 2154: + -: 2155: /** Attach a function object + -: 2156: * @param f Function object to attach + -: 2157: * @note The function object is limited to a single word of storage + -: 2158: * @deprecated + -: 2159: * Replaced by simple assignment 'Callback cb = func' + -: 2160: */ + -: 2161: template + -: 2162: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2163: "Replaced by simple assignment 'Callback cb = func") + -: 2164: void attach(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2) volatile)) { + -: 2165: this->~Callback(); + -: 2166: new (this) Callback(f); + -: 2167: } + -: 2168: + -: 2169: /** Attach a function object + -: 2170: * @param f Function object to attach + -: 2171: * @note The function object is limited to a single word of storage + -: 2172: * @deprecated + -: 2173: * Replaced by simple assignment 'Callback cb = func' + -: 2174: */ + -: 2175: template + -: 2176: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2177: "Replaced by simple assignment 'Callback cb = func") + -: 2178: void attach(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2) const volatile)) { + -: 2179: this->~Callback(); + -: 2180: new (this) Callback(f); + -: 2181: } + -: 2182: + -: 2183: /** Attach a static function with a bound pointer + -: 2184: * @param obj Pointer to object to bind to function + -: 2185: * @param func Static function to attach + -: 2186: * @deprecated + -: 2187: * Arguments to callback have been reordered to attach(func, arg) + -: 2188: */ + -: 2189: template + -: 2190: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2191: "Arguments to callback have been reordered to attach(func, arg)") + -: 2192: void attach(U *obj, R (*func)(T*, A0, A1, A2)) { + -: 2193: this->~Callback(); + -: 2194: new (this) Callback(func, obj); + -: 2195: } + -: 2196: + -: 2197: /** Attach a static function with a bound pointer + -: 2198: * @param obj Pointer to object to bind to function + -: 2199: * @param func Static function to attach + -: 2200: * @deprecated + -: 2201: * Arguments to callback have been reordered to attach(func, arg) + -: 2202: */ + -: 2203: template + -: 2204: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2205: "Arguments to callback have been reordered to attach(func, arg)") + -: 2206: void attach(const U *obj, R (*func)(const T*, A0, A1, A2)) { + -: 2207: this->~Callback(); + -: 2208: new (this) Callback(func, obj); + -: 2209: } + -: 2210: + -: 2211: /** Attach a static function with a bound pointer + -: 2212: * @param obj Pointer to object to bind to function + -: 2213: * @param func Static function to attach + -: 2214: * @deprecated + -: 2215: * Arguments to callback have been reordered to attach(func, arg) + -: 2216: */ + -: 2217: template + -: 2218: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2219: "Arguments to callback have been reordered to attach(func, arg)") + -: 2220: void attach(volatile U *obj, R (*func)(volatile T*, A0, A1, A2)) { + -: 2221: this->~Callback(); + -: 2222: new (this) Callback(func, obj); + -: 2223: } + -: 2224: + -: 2225: /** Attach a static function with a bound pointer + -: 2226: * @param obj Pointer to object to bind to function + -: 2227: * @param func Static function to attach + -: 2228: * @deprecated + -: 2229: * Arguments to callback have been reordered to attach(func, arg) + -: 2230: */ + -: 2231: template + -: 2232: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2233: "Arguments to callback have been reordered to attach(func, arg)") + -: 2234: void attach(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2)) { + -: 2235: this->~Callback(); + -: 2236: new (this) Callback(func, obj); + -: 2237: } + -: 2238: + -: 2239: /** Assign a callback + -: 2240: */ + -: 2241: Callback &operator=(const Callback &that) { + -: 2242: if (this != &that) { + -: 2243: this->~Callback(); + -: 2244: new (this) Callback(that); + -: 2245: } + -: 2246: + -: 2247: return *this; + -: 2248: } + -: 2249: + -: 2250: /** Call the attached function + -: 2251: */ + -: 2252: R call(A0 a0, A1 a1, A2 a2) const { + -: 2253: MBED_ASSERT(_ops); + -: 2254: return _ops->call(this, a0, a1, a2); + -: 2255: } + -: 2256: + -: 2257: /** Call the attached function + -: 2258: */ + -: 2259: R operator()(A0 a0, A1 a1, A2 a2) const { + -: 2260: return call(a0, a1, a2); + -: 2261: } + -: 2262: + -: 2263: /** Test if function has been attached + -: 2264: */ + -: 2265: operator bool() const { + -: 2266: return _ops; + -: 2267: } + -: 2268: + -: 2269: /** Test for equality + -: 2270: */ + -: 2271: friend bool operator==(const Callback &l, const Callback &r) { + -: 2272: return memcmp(&l, &r, sizeof(Callback)) == 0; + -: 2273: } + -: 2274: + -: 2275: /** Test for inequality + -: 2276: */ + -: 2277: friend bool operator!=(const Callback &l, const Callback &r) { + -: 2278: return !(l == r); + -: 2279: } + -: 2280: + -: 2281: /** Static thunk for passing as C-style function + -: 2282: * @param func Callback to call passed as void pointer + -: 2283: * @param a0 An argument to be called with function func + -: 2284: * @param a1 An argument to be called with function func + -: 2285: * @param a2 An argument to be called with function func + -: 2286: * @return the value as determined by func which is of + -: 2287: * type and determined by the signiture of func + -: 2288: */ + -: 2289: static R thunk(void *func, A0 a0, A1 a1, A2 a2) { + -: 2290: return static_cast(func)->call(a0, a1, a2); + -: 2291: } + -: 2292: + -: 2293:private: + -: 2294: // Stored as pointer to function and pointer to optional object + -: 2295: // Function pointer is stored as union of possible function types + -: 2296: // to garuntee proper size and alignment + -: 2297: struct _class; + -: 2298: union { + -: 2299: void (*_staticfunc)(A0, A1, A2); + -: 2300: void (*_boundfunc)(_class*, A0, A1, A2); + -: 2301: void (_class::*_methodfunc)(A0, A1, A2); + -: 2302: } _func; + -: 2303: void *_obj; + -: 2304: + -: 2305: // Dynamically dispatched operations + -: 2306: const struct ops { + -: 2307: R (*call)(const void*, A0, A1, A2); + -: 2308: void (*move)(void*, const void*); + -: 2309: void (*dtor)(void*); + -: 2310: } *_ops; + -: 2311: + -: 2312: // Generate operations for function object + -: 2313: template + -: 2314: void generate(const F &f) { + -: 2315: static const ops ops = { + -: 2316: &Callback::function_call, + -: 2317: &Callback::function_move, + -: 2318: &Callback::function_dtor, + -: 2319: }; + -: 2320: + -: 2321: MBED_STATIC_ASSERT(sizeof(Callback) - sizeof(_ops) >= sizeof(F), + -: 2322: "Type F must not exceed the size of the Callback class"); + -: 2323: memset(this, 0, sizeof(Callback)); + -: 2324: new (this) F(f); + -: 2325: _ops = &ops; + -: 2326: } + -: 2327: + -: 2328: // Function attributes + -: 2329: template + -: 2330: static R function_call(const void *p, A0 a0, A1 a1, A2 a2) { + -: 2331: return (*(F*)p)(a0, a1, a2); + -: 2332: } + -: 2333: + -: 2334: template + -: 2335: static void function_move(void *d, const void *p) { + -: 2336: new (d) F(*(F*)p); + -: 2337: } + -: 2338: + -: 2339: template + -: 2340: static void function_dtor(void *p) { + -: 2341: ((F*)p)->~F(); + -: 2342: } + -: 2343: + -: 2344: // Wrappers for functions with context + -: 2345: template + -: 2346: struct method_context { + -: 2347: M method; + -: 2348: O *obj; + -: 2349: + -: 2350: method_context(O *obj, M method) + -: 2351: : method(method), obj(obj) {} + -: 2352: + -: 2353: R operator()(A0 a0, A1 a1, A2 a2) const { + -: 2354: return (obj->*method)(a0, a1, a2); + -: 2355: } + -: 2356: }; + -: 2357: + -: 2358: template + -: 2359: struct function_context { + -: 2360: F func; + -: 2361: A *arg; + -: 2362: + -: 2363: function_context(F func, A *arg) + -: 2364: : func(func), arg(arg) {} + -: 2365: + -: 2366: R operator()(A0 a0, A1 a1, A2 a2) const { + -: 2367: return func(arg, a0, a1, a2); + -: 2368: } + -: 2369: }; + -: 2370:}; + -: 2371: + -: 2372:/** Callback class based on template specialization + -: 2373: * + -: 2374: * @note Synchronization level: Not protected + -: 2375: */ + -: 2376:template + -: 2377:class Callback { + -: 2378:public: + -: 2379: /** Create a Callback with a static function + -: 2380: * @param func Static function to attach + -: 2381: */ + -: 2382: Callback(R (*func)(A0, A1, A2, A3) = 0) { + -: 2383: if (!func) { + -: 2384: memset(this, 0, sizeof(Callback)); + -: 2385: } else { + -: 2386: generate(func); + -: 2387: } + -: 2388: } + -: 2389: + -: 2390: /** Attach a Callback + -: 2391: * @param func The Callback to attach + -: 2392: */ + -: 2393: Callback(const Callback &func) { + -: 2394: if (func._ops) { + -: 2395: func._ops->move(this, &func); + -: 2396: } + -: 2397: _ops = func._ops; + -: 2398: } + -: 2399: + -: 2400: /** Create a Callback with a member function + -: 2401: * @param obj Pointer to object to invoke member function on + -: 2402: * @param method Member function to attach + -: 2403: */ + -: 2404: template + -: 2405: Callback(U *obj, R (T::*method)(A0, A1, A2, A3)) { + -: 2406: generate(method_context(obj, method)); + -: 2407: } + -: 2408: + -: 2409: /** Create a Callback with a member function + -: 2410: * @param obj Pointer to object to invoke member function on + -: 2411: * @param method Member function to attach + -: 2412: */ + -: 2413: template + -: 2414: Callback(const U *obj, R (T::*method)(A0, A1, A2, A3) const) { + -: 2415: generate(method_context(obj, method)); + -: 2416: } + -: 2417: + -: 2418: /** Create a Callback with a member function + -: 2419: * @param obj Pointer to object to invoke member function on + -: 2420: * @param method Member function to attach + -: 2421: */ + -: 2422: template + -: 2423: Callback(volatile U *obj, R (T::*method)(A0, A1, A2, A3) volatile) { + -: 2424: generate(method_context(obj, method)); + -: 2425: } + -: 2426: + -: 2427: /** Create a Callback with a member function + -: 2428: * @param obj Pointer to object to invoke member function on + -: 2429: * @param method Member function to attach + -: 2430: */ + -: 2431: template + -: 2432: Callback(const volatile U *obj, R (T::*method)(A0, A1, A2, A3) const volatile) { + -: 2433: generate(method_context(obj, method)); + -: 2434: } + -: 2435: + -: 2436: /** Create a Callback with a static function and bound pointer + -: 2437: * @param func Static function to attach + -: 2438: * @param arg Pointer argument to function + -: 2439: */ + -: 2440: template + -: 2441: Callback(R (*func)(T*, A0, A1, A2, A3), U *arg) { + -: 2442: generate(function_context(func, arg)); + -: 2443: } + -: 2444: + -: 2445: /** Create a Callback with a static function and bound pointer + -: 2446: * @param func Static function to attach + -: 2447: * @param arg Pointer argument to function + -: 2448: */ + -: 2449: template + -: 2450: Callback(R (*func)(const T*, A0, A1, A2, A3), const U *arg) { + -: 2451: generate(function_context(func, arg)); + -: 2452: } + -: 2453: + -: 2454: /** Create a Callback with a static function and bound pointer + -: 2455: * @param func Static function to attach + -: 2456: * @param arg Pointer argument to function + -: 2457: */ + -: 2458: template + -: 2459: Callback(R (*func)(volatile T*, A0, A1, A2, A3), volatile U *arg) { + -: 2460: generate(function_context(func, arg)); + -: 2461: } + -: 2462: + -: 2463: /** Create a Callback with a static function and bound pointer + -: 2464: * @param func Static function to attach + -: 2465: * @param arg Pointer argument to function + -: 2466: */ + -: 2467: template + -: 2468: Callback(R (*func)(const volatile T*, A0, A1, A2, A3), const volatile U *arg) { + -: 2469: generate(function_context(func, arg)); + -: 2470: } + -: 2471: + -: 2472: /** Create a Callback with a function object + -: 2473: * @param f Function object to attach + -: 2474: * @note The function object is limited to a single word of storage + -: 2475: */ + -: 2476: template + -: 2477: Callback(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3))) { + -: 2478: generate(f); + -: 2479: } + -: 2480: + -: 2481: /** Create a Callback with a function object + -: 2482: * @param f Function object to attach + -: 2483: * @note The function object is limited to a single word of storage + -: 2484: */ + -: 2485: template + -: 2486: Callback(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3) const)) { + -: 2487: generate(f); + -: 2488: } + -: 2489: + -: 2490: /** Create a Callback with a function object + -: 2491: * @param f Function object to attach + -: 2492: * @note The function object is limited to a single word of storage + -: 2493: */ + -: 2494: template + -: 2495: Callback(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3) volatile)) { + -: 2496: generate(f); + -: 2497: } + -: 2498: + -: 2499: /** Create a Callback with a function object + -: 2500: * @param f Function object to attach + -: 2501: * @note The function object is limited to a single word of storage + -: 2502: */ + -: 2503: template + -: 2504: Callback(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3) const volatile)) { + -: 2505: generate(f); + -: 2506: } + -: 2507: + -: 2508: /** Create a Callback with a static function and bound pointer + -: 2509: * @param obj Pointer to object to bind to function + -: 2510: * @param func Static function to attach + -: 2511: * @deprecated + -: 2512: * Arguments to callback have been reordered to Callback(func, arg) + -: 2513: */ + -: 2514: template + -: 2515: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2516: "Arguments to callback have been reordered to Callback(func, arg)") + -: 2517: Callback(U *obj, R (*func)(T*, A0, A1, A2, A3)) { + -: 2518: new (this) Callback(func, obj); + -: 2519: } + -: 2520: + -: 2521: /** Create a Callback with a static function and bound pointer + -: 2522: * @param obj Pointer to object to bind to function + -: 2523: * @param func Static function to attach + -: 2524: * @deprecated + -: 2525: * Arguments to callback have been reordered to Callback(func, arg) + -: 2526: */ + -: 2527: template + -: 2528: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2529: "Arguments to callback have been reordered to Callback(func, arg)") + -: 2530: Callback(const U *obj, R (*func)(const T*, A0, A1, A2, A3)) { + -: 2531: new (this) Callback(func, obj); + -: 2532: } + -: 2533: + -: 2534: /** Create a Callback with a static function and bound pointer + -: 2535: * @param obj Pointer to object to bind to function + -: 2536: * @param func Static function to attach + -: 2537: * @deprecated + -: 2538: * Arguments to callback have been reordered to Callback(func, arg) + -: 2539: */ + -: 2540: template + -: 2541: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2542: "Arguments to callback have been reordered to Callback(func, arg)") + -: 2543: Callback(volatile U *obj, R (*func)(volatile T*, A0, A1, A2, A3)) { + -: 2544: new (this) Callback(func, obj); + -: 2545: } + -: 2546: + -: 2547: /** Create a Callback with a static function and bound pointer + -: 2548: * @param obj Pointer to object to bind to function + -: 2549: * @param func Static function to attach + -: 2550: * @deprecated + -: 2551: * Arguments to callback have been reordered to Callback(func, arg) + -: 2552: */ + -: 2553: template + -: 2554: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2555: "Arguments to callback have been reordered to Callback(func, arg)") + -: 2556: Callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2, A3)) { + -: 2557: new (this) Callback(func, obj); + -: 2558: } + -: 2559: + -: 2560: /** Destroy a callback + -: 2561: */ + -: 2562: ~Callback() { + -: 2563: if (_ops) { + -: 2564: _ops->dtor(this); + -: 2565: } + -: 2566: } + -: 2567: + -: 2568: /** Attach a static function + -: 2569: * @param func Static function to attach + -: 2570: * @deprecated + -: 2571: * Replaced by simple assignment 'Callback cb = func' + -: 2572: */ + -: 2573: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2574: "Replaced by simple assignment 'Callback cb = func") + -: 2575: void attach(R (*func)(A0, A1, A2, A3)) { + -: 2576: this->~Callback(); + -: 2577: new (this) Callback(func); + -: 2578: } + -: 2579: + -: 2580: /** Attach a Callback + -: 2581: * @param func The Callback to attach + -: 2582: * @deprecated + -: 2583: * Replaced by simple assignment 'Callback cb = func' + -: 2584: */ + -: 2585: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2586: "Replaced by simple assignment 'Callback cb = func") + -: 2587: void attach(const Callback &func) { + -: 2588: this->~Callback(); + -: 2589: new (this) Callback(func); + -: 2590: } + -: 2591: + -: 2592: /** Attach a member function + -: 2593: * @param obj Pointer to object to invoke member function on + -: 2594: * @param method Member function to attach + -: 2595: * @deprecated + -: 2596: * Replaced by simple assignment 'Callback cb = func' + -: 2597: */ + -: 2598: template + -: 2599: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2600: "Replaced by simple assignment 'Callback cb = func") + -: 2601: void attach(U *obj, R (T::*method)(A0, A1, A2, A3)) { + -: 2602: this->~Callback(); + -: 2603: new (this) Callback(obj, method); + -: 2604: } + -: 2605: + -: 2606: /** Attach a member function + -: 2607: * @param obj Pointer to object to invoke member function on + -: 2608: * @param method Member function to attach + -: 2609: * @deprecated + -: 2610: * Replaced by simple assignment 'Callback cb = func' + -: 2611: */ + -: 2612: template + -: 2613: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2614: "Replaced by simple assignment 'Callback cb = func") + -: 2615: void attach(const U *obj, R (T::*method)(A0, A1, A2, A3) const) { + -: 2616: this->~Callback(); + -: 2617: new (this) Callback(obj, method); + -: 2618: } + -: 2619: + -: 2620: /** Attach a member function + -: 2621: * @param obj Pointer to object to invoke member function on + -: 2622: * @param method Member function to attach + -: 2623: * @deprecated + -: 2624: * Replaced by simple assignment 'Callback cb = func' + -: 2625: */ + -: 2626: template + -: 2627: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2628: "Replaced by simple assignment 'Callback cb = func") + -: 2629: void attach(volatile U *obj, R (T::*method)(A0, A1, A2, A3) volatile) { + -: 2630: this->~Callback(); + -: 2631: new (this) Callback(obj, method); + -: 2632: } + -: 2633: + -: 2634: /** Attach a member function + -: 2635: * @param obj Pointer to object to invoke member function on + -: 2636: * @param method Member function to attach + -: 2637: * @deprecated + -: 2638: * Replaced by simple assignment 'Callback cb = func' + -: 2639: */ + -: 2640: template + -: 2641: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2642: "Replaced by simple assignment 'Callback cb = func") + -: 2643: void attach(const volatile U *obj, R (T::*method)(A0, A1, A2, A3) const volatile) { + -: 2644: this->~Callback(); + -: 2645: new (this) Callback(obj, method); + -: 2646: } + -: 2647: + -: 2648: /** Attach a static function with a bound pointer + -: 2649: * @param func Static function to attach + -: 2650: * @param arg Pointer argument to function + -: 2651: * @deprecated + -: 2652: * Replaced by simple assignment 'Callback cb = func' + -: 2653: */ + -: 2654: template + -: 2655: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2656: "Replaced by simple assignment 'Callback cb = func") + -: 2657: void attach(R (*func)(T*, A0, A1, A2, A3), U *arg) { + -: 2658: this->~Callback(); + -: 2659: new (this) Callback(func, arg); + -: 2660: } + -: 2661: + -: 2662: /** Attach a static function with a bound pointer + -: 2663: * @param func Static function to attach + -: 2664: * @param arg Pointer argument to function + -: 2665: * @deprecated + -: 2666: * Replaced by simple assignment 'Callback cb = func' + -: 2667: */ + -: 2668: template + -: 2669: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2670: "Replaced by simple assignment 'Callback cb = func") + -: 2671: void attach(R (*func)(const T*, A0, A1, A2, A3), const U *arg) { + -: 2672: this->~Callback(); + -: 2673: new (this) Callback(func, arg); + -: 2674: } + -: 2675: + -: 2676: /** Attach a static function with a bound pointer + -: 2677: * @param func Static function to attach + -: 2678: * @param arg Pointer argument to function + -: 2679: * @deprecated + -: 2680: * Replaced by simple assignment 'Callback cb = func' + -: 2681: */ + -: 2682: template + -: 2683: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2684: "Replaced by simple assignment 'Callback cb = func") + -: 2685: void attach(R (*func)(volatile T*, A0, A1, A2, A3), volatile U *arg) { + -: 2686: this->~Callback(); + -: 2687: new (this) Callback(func, arg); + -: 2688: } + -: 2689: + -: 2690: /** Attach a static function with a bound pointer + -: 2691: * @param func Static function to attach + -: 2692: * @param arg Pointer argument to function + -: 2693: * @deprecated + -: 2694: * Replaced by simple assignment 'Callback cb = func' + -: 2695: */ + -: 2696: template + -: 2697: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2698: "Replaced by simple assignment 'Callback cb = func") + -: 2699: void attach(R (*func)(const volatile T*, A0, A1, A2, A3), const volatile U *arg) { + -: 2700: this->~Callback(); + -: 2701: new (this) Callback(func, arg); + -: 2702: } + -: 2703: + -: 2704: /** Attach a function object + -: 2705: * @param f Function object to attach + -: 2706: * @note The function object is limited to a single word of storage + -: 2707: * @deprecated + -: 2708: * Replaced by simple assignment 'Callback cb = func' + -: 2709: */ + -: 2710: template + -: 2711: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2712: "Replaced by simple assignment 'Callback cb = func") + -: 2713: void attach(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3))) { + -: 2714: this->~Callback(); + -: 2715: new (this) Callback(f); + -: 2716: } + -: 2717: + -: 2718: /** Attach a function object + -: 2719: * @param f Function object to attach + -: 2720: * @note The function object is limited to a single word of storage + -: 2721: * @deprecated + -: 2722: * Replaced by simple assignment 'Callback cb = func' + -: 2723: */ + -: 2724: template + -: 2725: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2726: "Replaced by simple assignment 'Callback cb = func") + -: 2727: void attach(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3) const)) { + -: 2728: this->~Callback(); + -: 2729: new (this) Callback(f); + -: 2730: } + -: 2731: + -: 2732: /** Attach a function object + -: 2733: * @param f Function object to attach + -: 2734: * @note The function object is limited to a single word of storage + -: 2735: * @deprecated + -: 2736: * Replaced by simple assignment 'Callback cb = func' + -: 2737: */ + -: 2738: template + -: 2739: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2740: "Replaced by simple assignment 'Callback cb = func") + -: 2741: void attach(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3) volatile)) { + -: 2742: this->~Callback(); + -: 2743: new (this) Callback(f); + -: 2744: } + -: 2745: + -: 2746: /** Attach a function object + -: 2747: * @param f Function object to attach + -: 2748: * @note The function object is limited to a single word of storage + -: 2749: * @deprecated + -: 2750: * Replaced by simple assignment 'Callback cb = func' + -: 2751: */ + -: 2752: template + -: 2753: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 2754: "Replaced by simple assignment 'Callback cb = func") + -: 2755: void attach(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3) const volatile)) { + -: 2756: this->~Callback(); + -: 2757: new (this) Callback(f); + -: 2758: } + -: 2759: + -: 2760: /** Attach a static function with a bound pointer + -: 2761: * @param obj Pointer to object to bind to function + -: 2762: * @param func Static function to attach + -: 2763: * @deprecated + -: 2764: * Arguments to callback have been reordered to attach(func, arg) + -: 2765: */ + -: 2766: template + -: 2767: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2768: "Arguments to callback have been reordered to attach(func, arg)") + -: 2769: void attach(U *obj, R (*func)(T*, A0, A1, A2, A3)) { + -: 2770: this->~Callback(); + -: 2771: new (this) Callback(func, obj); + -: 2772: } + -: 2773: + -: 2774: /** Attach a static function with a bound pointer + -: 2775: * @param obj Pointer to object to bind to function + -: 2776: * @param func Static function to attach + -: 2777: * @deprecated + -: 2778: * Arguments to callback have been reordered to attach(func, arg) + -: 2779: */ + -: 2780: template + -: 2781: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2782: "Arguments to callback have been reordered to attach(func, arg)") + -: 2783: void attach(const U *obj, R (*func)(const T*, A0, A1, A2, A3)) { + -: 2784: this->~Callback(); + -: 2785: new (this) Callback(func, obj); + -: 2786: } + -: 2787: + -: 2788: /** Attach a static function with a bound pointer + -: 2789: * @param obj Pointer to object to bind to function + -: 2790: * @param func Static function to attach + -: 2791: * @deprecated + -: 2792: * Arguments to callback have been reordered to attach(func, arg) + -: 2793: */ + -: 2794: template + -: 2795: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2796: "Arguments to callback have been reordered to attach(func, arg)") + -: 2797: void attach(volatile U *obj, R (*func)(volatile T*, A0, A1, A2, A3)) { + -: 2798: this->~Callback(); + -: 2799: new (this) Callback(func, obj); + -: 2800: } + -: 2801: + -: 2802: /** Attach a static function with a bound pointer + -: 2803: * @param obj Pointer to object to bind to function + -: 2804: * @param func Static function to attach + -: 2805: * @deprecated + -: 2806: * Arguments to callback have been reordered to attach(func, arg) + -: 2807: */ + -: 2808: template + -: 2809: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 2810: "Arguments to callback have been reordered to attach(func, arg)") + -: 2811: void attach(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2, A3)) { + -: 2812: this->~Callback(); + -: 2813: new (this) Callback(func, obj); + -: 2814: } + -: 2815: + -: 2816: /** Assign a callback + -: 2817: */ + -: 2818: Callback &operator=(const Callback &that) { + -: 2819: if (this != &that) { + -: 2820: this->~Callback(); + -: 2821: new (this) Callback(that); + -: 2822: } + -: 2823: + -: 2824: return *this; + -: 2825: } + -: 2826: + -: 2827: /** Call the attached function + -: 2828: */ + -: 2829: R call(A0 a0, A1 a1, A2 a2, A3 a3) const { + -: 2830: MBED_ASSERT(_ops); + -: 2831: return _ops->call(this, a0, a1, a2, a3); + -: 2832: } + -: 2833: + -: 2834: /** Call the attached function + -: 2835: */ + -: 2836: R operator()(A0 a0, A1 a1, A2 a2, A3 a3) const { + -: 2837: return call(a0, a1, a2, a3); + -: 2838: } + -: 2839: + -: 2840: /** Test if function has been attached + -: 2841: */ + -: 2842: operator bool() const { + -: 2843: return _ops; + -: 2844: } + -: 2845: + -: 2846: /** Test for equality + -: 2847: */ + -: 2848: friend bool operator==(const Callback &l, const Callback &r) { + -: 2849: return memcmp(&l, &r, sizeof(Callback)) == 0; + -: 2850: } + -: 2851: + -: 2852: /** Test for inequality + -: 2853: */ + -: 2854: friend bool operator!=(const Callback &l, const Callback &r) { + -: 2855: return !(l == r); + -: 2856: } + -: 2857: + -: 2858: /** Static thunk for passing as C-style function + -: 2859: * @param func Callback to call passed as void pointer + -: 2860: * @param a0 An argument to be called with function func + -: 2861: * @param a1 An argument to be called with function func + -: 2862: * @param a2 An argument to be called with function func + -: 2863: * @param a3 An argument to be called with function func + -: 2864: * @return the value as determined by func which is of + -: 2865: * type and determined by the signiture of func + -: 2866: */ + -: 2867: static R thunk(void *func, A0 a0, A1 a1, A2 a2, A3 a3) { + -: 2868: return static_cast(func)->call(a0, a1, a2, a3); + -: 2869: } + -: 2870: + -: 2871:private: + -: 2872: // Stored as pointer to function and pointer to optional object + -: 2873: // Function pointer is stored as union of possible function types + -: 2874: // to garuntee proper size and alignment + -: 2875: struct _class; + -: 2876: union { + -: 2877: void (*_staticfunc)(A0, A1, A2, A3); + -: 2878: void (*_boundfunc)(_class*, A0, A1, A2, A3); + -: 2879: void (_class::*_methodfunc)(A0, A1, A2, A3); + -: 2880: } _func; + -: 2881: void *_obj; + -: 2882: + -: 2883: // Dynamically dispatched operations + -: 2884: const struct ops { + -: 2885: R (*call)(const void*, A0, A1, A2, A3); + -: 2886: void (*move)(void*, const void*); + -: 2887: void (*dtor)(void*); + -: 2888: } *_ops; + -: 2889: + -: 2890: // Generate operations for function object + -: 2891: template + -: 2892: void generate(const F &f) { + -: 2893: static const ops ops = { + -: 2894: &Callback::function_call, + -: 2895: &Callback::function_move, + -: 2896: &Callback::function_dtor, + -: 2897: }; + -: 2898: + -: 2899: MBED_STATIC_ASSERT(sizeof(Callback) - sizeof(_ops) >= sizeof(F), + -: 2900: "Type F must not exceed the size of the Callback class"); + -: 2901: memset(this, 0, sizeof(Callback)); + -: 2902: new (this) F(f); + -: 2903: _ops = &ops; + -: 2904: } + -: 2905: + -: 2906: // Function attributes + -: 2907: template + -: 2908: static R function_call(const void *p, A0 a0, A1 a1, A2 a2, A3 a3) { + -: 2909: return (*(F*)p)(a0, a1, a2, a3); + -: 2910: } + -: 2911: + -: 2912: template + -: 2913: static void function_move(void *d, const void *p) { + -: 2914: new (d) F(*(F*)p); + -: 2915: } + -: 2916: + -: 2917: template + -: 2918: static void function_dtor(void *p) { + -: 2919: ((F*)p)->~F(); + -: 2920: } + -: 2921: + -: 2922: // Wrappers for functions with context + -: 2923: template + -: 2924: struct method_context { + -: 2925: M method; + -: 2926: O *obj; + -: 2927: + -: 2928: method_context(O *obj, M method) + -: 2929: : method(method), obj(obj) {} + -: 2930: + -: 2931: R operator()(A0 a0, A1 a1, A2 a2, A3 a3) const { + -: 2932: return (obj->*method)(a0, a1, a2, a3); + -: 2933: } + -: 2934: }; + -: 2935: + -: 2936: template + -: 2937: struct function_context { + -: 2938: F func; + -: 2939: A *arg; + -: 2940: + -: 2941: function_context(F func, A *arg) + -: 2942: : func(func), arg(arg) {} + -: 2943: + -: 2944: R operator()(A0 a0, A1 a1, A2 a2, A3 a3) const { + -: 2945: return func(arg, a0, a1, a2, a3); + -: 2946: } + -: 2947: }; + -: 2948:}; + -: 2949: + -: 2950:/** Callback class based on template specialization + -: 2951: * + -: 2952: * @note Synchronization level: Not protected + -: 2953: */ + -: 2954:template + -: 2955:class Callback { + -: 2956:public: + -: 2957: /** Create a Callback with a static function + -: 2958: * @param func Static function to attach + -: 2959: */ + -: 2960: Callback(R (*func)(A0, A1, A2, A3, A4) = 0) { + -: 2961: if (!func) { + -: 2962: memset(this, 0, sizeof(Callback)); + -: 2963: } else { + -: 2964: generate(func); + -: 2965: } + -: 2966: } + -: 2967: + -: 2968: /** Attach a Callback + -: 2969: * @param func The Callback to attach + -: 2970: */ + -: 2971: Callback(const Callback &func) { + -: 2972: if (func._ops) { + -: 2973: func._ops->move(this, &func); + -: 2974: } + -: 2975: _ops = func._ops; + -: 2976: } + -: 2977: + -: 2978: /** Create a Callback with a member function + -: 2979: * @param obj Pointer to object to invoke member function on + -: 2980: * @param method Member function to attach + -: 2981: */ + -: 2982: template + -: 2983: Callback(U *obj, R (T::*method)(A0, A1, A2, A3, A4)) { + -: 2984: generate(method_context(obj, method)); + -: 2985: } + -: 2986: + -: 2987: /** Create a Callback with a member function + -: 2988: * @param obj Pointer to object to invoke member function on + -: 2989: * @param method Member function to attach + -: 2990: */ + -: 2991: template + -: 2992: Callback(const U *obj, R (T::*method)(A0, A1, A2, A3, A4) const) { + -: 2993: generate(method_context(obj, method)); + -: 2994: } + -: 2995: + -: 2996: /** Create a Callback with a member function + -: 2997: * @param obj Pointer to object to invoke member function on + -: 2998: * @param method Member function to attach + -: 2999: */ + -: 3000: template + -: 3001: Callback(volatile U *obj, R (T::*method)(A0, A1, A2, A3, A4) volatile) { + -: 3002: generate(method_context(obj, method)); + -: 3003: } + -: 3004: + -: 3005: /** Create a Callback with a member function + -: 3006: * @param obj Pointer to object to invoke member function on + -: 3007: * @param method Member function to attach + -: 3008: */ + -: 3009: template + -: 3010: Callback(const volatile U *obj, R (T::*method)(A0, A1, A2, A3, A4) const volatile) { + -: 3011: generate(method_context(obj, method)); + -: 3012: } + -: 3013: + -: 3014: /** Create a Callback with a static function and bound pointer + -: 3015: * @param func Static function to attach + -: 3016: * @param arg Pointer argument to function + -: 3017: */ + -: 3018: template + -: 3019: Callback(R (*func)(T*, A0, A1, A2, A3, A4), U *arg) { + -: 3020: generate(function_context(func, arg)); + -: 3021: } + -: 3022: + -: 3023: /** Create a Callback with a static function and bound pointer + -: 3024: * @param func Static function to attach + -: 3025: * @param arg Pointer argument to function + -: 3026: */ + -: 3027: template + -: 3028: Callback(R (*func)(const T*, A0, A1, A2, A3, A4), const U *arg) { + -: 3029: generate(function_context(func, arg)); + -: 3030: } + -: 3031: + -: 3032: /** Create a Callback with a static function and bound pointer + -: 3033: * @param func Static function to attach + -: 3034: * @param arg Pointer argument to function + -: 3035: */ + -: 3036: template + -: 3037: Callback(R (*func)(volatile T*, A0, A1, A2, A3, A4), volatile U *arg) { + -: 3038: generate(function_context(func, arg)); + -: 3039: } + -: 3040: + -: 3041: /** Create a Callback with a static function and bound pointer + -: 3042: * @param func Static function to attach + -: 3043: * @param arg Pointer argument to function + -: 3044: */ + -: 3045: template + -: 3046: Callback(R (*func)(const volatile T*, A0, A1, A2, A3, A4), const volatile U *arg) { + -: 3047: generate(function_context(func, arg)); + -: 3048: } + -: 3049: + -: 3050: /** Create a Callback with a function object + -: 3051: * @param f Function object to attach + -: 3052: * @note The function object is limited to a single word of storage + -: 3053: */ + -: 3054: template + -: 3055: Callback(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3, A4))) { + -: 3056: generate(f); + -: 3057: } + -: 3058: + -: 3059: /** Create a Callback with a function object + -: 3060: * @param f Function object to attach + -: 3061: * @note The function object is limited to a single word of storage + -: 3062: */ + -: 3063: template + -: 3064: Callback(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3, A4) const)) { + -: 3065: generate(f); + -: 3066: } + -: 3067: + -: 3068: /** Create a Callback with a function object + -: 3069: * @param f Function object to attach + -: 3070: * @note The function object is limited to a single word of storage + -: 3071: */ + -: 3072: template + -: 3073: Callback(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3, A4) volatile)) { + -: 3074: generate(f); + -: 3075: } + -: 3076: + -: 3077: /** Create a Callback with a function object + -: 3078: * @param f Function object to attach + -: 3079: * @note The function object is limited to a single word of storage + -: 3080: */ + -: 3081: template + -: 3082: Callback(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3, A4) const volatile)) { + -: 3083: generate(f); + -: 3084: } + -: 3085: + -: 3086: /** Create a Callback with a static function and bound pointer + -: 3087: * @param obj Pointer to object to bind to function + -: 3088: * @param func Static function to attach + -: 3089: * @deprecated + -: 3090: * Arguments to callback have been reordered to Callback(func, arg) + -: 3091: */ + -: 3092: template + -: 3093: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3094: "Arguments to callback have been reordered to Callback(func, arg)") + -: 3095: Callback(U *obj, R (*func)(T*, A0, A1, A2, A3, A4)) { + -: 3096: new (this) Callback(func, obj); + -: 3097: } + -: 3098: + -: 3099: /** Create a Callback with a static function and bound pointer + -: 3100: * @param obj Pointer to object to bind to function + -: 3101: * @param func Static function to attach + -: 3102: * @deprecated + -: 3103: * Arguments to callback have been reordered to Callback(func, arg) + -: 3104: */ + -: 3105: template + -: 3106: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3107: "Arguments to callback have been reordered to Callback(func, arg)") + -: 3108: Callback(const U *obj, R (*func)(const T*, A0, A1, A2, A3, A4)) { + -: 3109: new (this) Callback(func, obj); + -: 3110: } + -: 3111: + -: 3112: /** Create a Callback with a static function and bound pointer + -: 3113: * @param obj Pointer to object to bind to function + -: 3114: * @param func Static function to attach + -: 3115: * @deprecated + -: 3116: * Arguments to callback have been reordered to Callback(func, arg) + -: 3117: */ + -: 3118: template + -: 3119: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3120: "Arguments to callback have been reordered to Callback(func, arg)") + -: 3121: Callback(volatile U *obj, R (*func)(volatile T*, A0, A1, A2, A3, A4)) { + -: 3122: new (this) Callback(func, obj); + -: 3123: } + -: 3124: + -: 3125: /** Create a Callback with a static function and bound pointer + -: 3126: * @param obj Pointer to object to bind to function + -: 3127: * @param func Static function to attach + -: 3128: * @deprecated + -: 3129: * Arguments to callback have been reordered to Callback(func, arg) + -: 3130: */ + -: 3131: template + -: 3132: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3133: "Arguments to callback have been reordered to Callback(func, arg)") + -: 3134: Callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2, A3, A4)) { + -: 3135: new (this) Callback(func, obj); + -: 3136: } + -: 3137: + -: 3138: /** Destroy a callback + -: 3139: */ + -: 3140: ~Callback() { + -: 3141: if (_ops) { + -: 3142: _ops->dtor(this); + -: 3143: } + -: 3144: } + -: 3145: + -: 3146: /** Attach a static function + -: 3147: * @param func Static function to attach + -: 3148: * @deprecated + -: 3149: * Replaced by simple assignment 'Callback cb = func' + -: 3150: */ + -: 3151: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3152: "Replaced by simple assignment 'Callback cb = func") + -: 3153: void attach(R (*func)(A0, A1, A2, A3, A4)) { + -: 3154: this->~Callback(); + -: 3155: new (this) Callback(func); + -: 3156: } + -: 3157: + -: 3158: /** Attach a Callback + -: 3159: * @param func The Callback to attach + -: 3160: * @deprecated + -: 3161: * Replaced by simple assignment 'Callback cb = func' + -: 3162: */ + -: 3163: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3164: "Replaced by simple assignment 'Callback cb = func") + -: 3165: void attach(const Callback &func) { + -: 3166: this->~Callback(); + -: 3167: new (this) Callback(func); + -: 3168: } + -: 3169: + -: 3170: /** Attach a member function + -: 3171: * @param obj Pointer to object to invoke member function on + -: 3172: * @param method Member function to attach + -: 3173: * @deprecated + -: 3174: * Replaced by simple assignment 'Callback cb = func' + -: 3175: */ + -: 3176: template + -: 3177: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3178: "Replaced by simple assignment 'Callback cb = func") + -: 3179: void attach(U *obj, R (T::*method)(A0, A1, A2, A3, A4)) { + -: 3180: this->~Callback(); + -: 3181: new (this) Callback(obj, method); + -: 3182: } + -: 3183: + -: 3184: /** Attach a member function + -: 3185: * @param obj Pointer to object to invoke member function on + -: 3186: * @param method Member function to attach + -: 3187: * @deprecated + -: 3188: * Replaced by simple assignment 'Callback cb = func' + -: 3189: */ + -: 3190: template + -: 3191: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3192: "Replaced by simple assignment 'Callback cb = func") + -: 3193: void attach(const U *obj, R (T::*method)(A0, A1, A2, A3, A4) const) { + -: 3194: this->~Callback(); + -: 3195: new (this) Callback(obj, method); + -: 3196: } + -: 3197: + -: 3198: /** Attach a member function + -: 3199: * @param obj Pointer to object to invoke member function on + -: 3200: * @param method Member function to attach + -: 3201: * @deprecated + -: 3202: * Replaced by simple assignment 'Callback cb = func' + -: 3203: */ + -: 3204: template + -: 3205: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3206: "Replaced by simple assignment 'Callback cb = func") + -: 3207: void attach(volatile U *obj, R (T::*method)(A0, A1, A2, A3, A4) volatile) { + -: 3208: this->~Callback(); + -: 3209: new (this) Callback(obj, method); + -: 3210: } + -: 3211: + -: 3212: /** Attach a member function + -: 3213: * @param obj Pointer to object to invoke member function on + -: 3214: * @param method Member function to attach + -: 3215: * @deprecated + -: 3216: * Replaced by simple assignment 'Callback cb = func' + -: 3217: */ + -: 3218: template + -: 3219: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3220: "Replaced by simple assignment 'Callback cb = func") + -: 3221: void attach(const volatile U *obj, R (T::*method)(A0, A1, A2, A3, A4) const volatile) { + -: 3222: this->~Callback(); + -: 3223: new (this) Callback(obj, method); + -: 3224: } + -: 3225: + -: 3226: /** Attach a static function with a bound pointer + -: 3227: * @param func Static function to attach + -: 3228: * @param arg Pointer argument to function + -: 3229: * @deprecated + -: 3230: * Replaced by simple assignment 'Callback cb = func' + -: 3231: */ + -: 3232: template + -: 3233: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3234: "Replaced by simple assignment 'Callback cb = func") + -: 3235: void attach(R (*func)(T*, A0, A1, A2, A3, A4), U *arg) { + -: 3236: this->~Callback(); + -: 3237: new (this) Callback(func, arg); + -: 3238: } + -: 3239: + -: 3240: /** Attach a static function with a bound pointer + -: 3241: * @param func Static function to attach + -: 3242: * @param arg Pointer argument to function + -: 3243: * @deprecated + -: 3244: * Replaced by simple assignment 'Callback cb = func' + -: 3245: */ + -: 3246: template + -: 3247: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3248: "Replaced by simple assignment 'Callback cb = func") + -: 3249: void attach(R (*func)(const T*, A0, A1, A2, A3, A4), const U *arg) { + -: 3250: this->~Callback(); + -: 3251: new (this) Callback(func, arg); + -: 3252: } + -: 3253: + -: 3254: /** Attach a static function with a bound pointer + -: 3255: * @param func Static function to attach + -: 3256: * @param arg Pointer argument to function + -: 3257: * @deprecated + -: 3258: * Replaced by simple assignment 'Callback cb = func' + -: 3259: */ + -: 3260: template + -: 3261: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3262: "Replaced by simple assignment 'Callback cb = func") + -: 3263: void attach(R (*func)(volatile T*, A0, A1, A2, A3, A4), volatile U *arg) { + -: 3264: this->~Callback(); + -: 3265: new (this) Callback(func, arg); + -: 3266: } + -: 3267: + -: 3268: /** Attach a static function with a bound pointer + -: 3269: * @param func Static function to attach + -: 3270: * @param arg Pointer argument to function + -: 3271: * @deprecated + -: 3272: * Replaced by simple assignment 'Callback cb = func' + -: 3273: */ + -: 3274: template + -: 3275: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3276: "Replaced by simple assignment 'Callback cb = func") + -: 3277: void attach(R (*func)(const volatile T*, A0, A1, A2, A3, A4), const volatile U *arg) { + -: 3278: this->~Callback(); + -: 3279: new (this) Callback(func, arg); + -: 3280: } + -: 3281: + -: 3282: /** Attach a function object + -: 3283: * @param f Function object to attach + -: 3284: * @note The function object is limited to a single word of storage + -: 3285: * @deprecated + -: 3286: * Replaced by simple assignment 'Callback cb = func' + -: 3287: */ + -: 3288: template + -: 3289: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3290: "Replaced by simple assignment 'Callback cb = func") + -: 3291: void attach(F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3, A4))) { + -: 3292: this->~Callback(); + -: 3293: new (this) Callback(f); + -: 3294: } + -: 3295: + -: 3296: /** Attach a function object + -: 3297: * @param f Function object to attach + -: 3298: * @note The function object is limited to a single word of storage + -: 3299: * @deprecated + -: 3300: * Replaced by simple assignment 'Callback cb = func' + -: 3301: */ + -: 3302: template + -: 3303: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3304: "Replaced by simple assignment 'Callback cb = func") + -: 3305: void attach(const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3, A4) const)) { + -: 3306: this->~Callback(); + -: 3307: new (this) Callback(f); + -: 3308: } + -: 3309: + -: 3310: /** Attach a function object + -: 3311: * @param f Function object to attach + -: 3312: * @note The function object is limited to a single word of storage + -: 3313: * @deprecated + -: 3314: * Replaced by simple assignment 'Callback cb = func' + -: 3315: */ + -: 3316: template + -: 3317: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3318: "Replaced by simple assignment 'Callback cb = func") + -: 3319: void attach(volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3, A4) volatile)) { + -: 3320: this->~Callback(); + -: 3321: new (this) Callback(f); + -: 3322: } + -: 3323: + -: 3324: /** Attach a function object + -: 3325: * @param f Function object to attach + -: 3326: * @note The function object is limited to a single word of storage + -: 3327: * @deprecated + -: 3328: * Replaced by simple assignment 'Callback cb = func' + -: 3329: */ + -: 3330: template + -: 3331: MBED_DEPRECATED_SINCE("mbed-os-5.4", + -: 3332: "Replaced by simple assignment 'Callback cb = func") + -: 3333: void attach(const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R (F::*)(A0, A1, A2, A3, A4) const volatile)) { + -: 3334: this->~Callback(); + -: 3335: new (this) Callback(f); + -: 3336: } + -: 3337: + -: 3338: /** Attach a static function with a bound pointer + -: 3339: * @param obj Pointer to object to bind to function + -: 3340: * @param func Static function to attach + -: 3341: * @deprecated + -: 3342: * Arguments to callback have been reordered to attach(func, arg) + -: 3343: */ + -: 3344: template + -: 3345: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3346: "Arguments to callback have been reordered to attach(func, arg)") + -: 3347: void attach(U *obj, R (*func)(T*, A0, A1, A2, A3, A4)) { + -: 3348: this->~Callback(); + -: 3349: new (this) Callback(func, obj); + -: 3350: } + -: 3351: + -: 3352: /** Attach a static function with a bound pointer + -: 3353: * @param obj Pointer to object to bind to function + -: 3354: * @param func Static function to attach + -: 3355: * @deprecated + -: 3356: * Arguments to callback have been reordered to attach(func, arg) + -: 3357: */ + -: 3358: template + -: 3359: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3360: "Arguments to callback have been reordered to attach(func, arg)") + -: 3361: void attach(const U *obj, R (*func)(const T*, A0, A1, A2, A3, A4)) { + -: 3362: this->~Callback(); + -: 3363: new (this) Callback(func, obj); + -: 3364: } + -: 3365: + -: 3366: /** Attach a static function with a bound pointer + -: 3367: * @param obj Pointer to object to bind to function + -: 3368: * @param func Static function to attach + -: 3369: * @deprecated + -: 3370: * Arguments to callback have been reordered to attach(func, arg) + -: 3371: */ + -: 3372: template + -: 3373: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3374: "Arguments to callback have been reordered to attach(func, arg)") + -: 3375: void attach(volatile U *obj, R (*func)(volatile T*, A0, A1, A2, A3, A4)) { + -: 3376: this->~Callback(); + -: 3377: new (this) Callback(func, obj); + -: 3378: } + -: 3379: + -: 3380: /** Attach a static function with a bound pointer + -: 3381: * @param obj Pointer to object to bind to function + -: 3382: * @param func Static function to attach + -: 3383: * @deprecated + -: 3384: * Arguments to callback have been reordered to attach(func, arg) + -: 3385: */ + -: 3386: template + -: 3387: MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3388: "Arguments to callback have been reordered to attach(func, arg)") + -: 3389: void attach(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2, A3, A4)) { + -: 3390: this->~Callback(); + -: 3391: new (this) Callback(func, obj); + -: 3392: } + -: 3393: + -: 3394: /** Assign a callback + -: 3395: */ + -: 3396: Callback &operator=(const Callback &that) { + -: 3397: if (this != &that) { + -: 3398: this->~Callback(); + -: 3399: new (this) Callback(that); + -: 3400: } + -: 3401: + -: 3402: return *this; + -: 3403: } + -: 3404: + -: 3405: /** Call the attached function + -: 3406: */ + -: 3407: R call(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) const { + -: 3408: MBED_ASSERT(_ops); + -: 3409: return _ops->call(this, a0, a1, a2, a3, a4); + -: 3410: } + -: 3411: + -: 3412: /** Call the attached function + -: 3413: */ + -: 3414: R operator()(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) const { + -: 3415: return call(a0, a1, a2, a3, a4); + -: 3416: } + -: 3417: + -: 3418: /** Test if function has been attached + -: 3419: */ + -: 3420: operator bool() const { + -: 3421: return _ops; + -: 3422: } + -: 3423: + -: 3424: /** Test for equality + -: 3425: */ + -: 3426: friend bool operator==(const Callback &l, const Callback &r) { + -: 3427: return memcmp(&l, &r, sizeof(Callback)) == 0; + -: 3428: } + -: 3429: + -: 3430: /** Test for inequality + -: 3431: */ + -: 3432: friend bool operator!=(const Callback &l, const Callback &r) { + -: 3433: return !(l == r); + -: 3434: } + -: 3435: + -: 3436: /** Static thunk for passing as C-style function + -: 3437: * @param func Callback to call passed as void pointer + -: 3438: * @param a0 An argument to be called with function func + -: 3439: * @param a1 An argument to be called with function func + -: 3440: * @param a2 An argument to be called with function func + -: 3441: * @param a3 An argument to be called with function func + -: 3442: * @param a4 An argument to be called with function func + -: 3443: * @return the value as determined by func which is of + -: 3444: * type and determined by the signiture of func + -: 3445: */ + -: 3446: static R thunk(void *func, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) { + -: 3447: return static_cast(func)->call(a0, a1, a2, a3, a4); + -: 3448: } + -: 3449: + -: 3450:private: + -: 3451: // Stored as pointer to function and pointer to optional object + -: 3452: // Function pointer is stored as union of possible function types + -: 3453: // to garuntee proper size and alignment + -: 3454: struct _class; + -: 3455: union { + -: 3456: void (*_staticfunc)(A0, A1, A2, A3, A4); + -: 3457: void (*_boundfunc)(_class*, A0, A1, A2, A3, A4); + -: 3458: void (_class::*_methodfunc)(A0, A1, A2, A3, A4); + -: 3459: } _func; + -: 3460: void *_obj; + -: 3461: + -: 3462: // Dynamically dispatched operations + -: 3463: const struct ops { + -: 3464: R (*call)(const void*, A0, A1, A2, A3, A4); + -: 3465: void (*move)(void*, const void*); + -: 3466: void (*dtor)(void*); + -: 3467: } *_ops; + -: 3468: + -: 3469: // Generate operations for function object + -: 3470: template + -: 3471: void generate(const F &f) { + -: 3472: static const ops ops = { + -: 3473: &Callback::function_call, + -: 3474: &Callback::function_move, + -: 3475: &Callback::function_dtor, + -: 3476: }; + -: 3477: + -: 3478: MBED_STATIC_ASSERT(sizeof(Callback) - sizeof(_ops) >= sizeof(F), + -: 3479: "Type F must not exceed the size of the Callback class"); + -: 3480: memset(this, 0, sizeof(Callback)); + -: 3481: new (this) F(f); + -: 3482: _ops = &ops; + -: 3483: } + -: 3484: + -: 3485: // Function attributes + -: 3486: template + -: 3487: static R function_call(const void *p, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) { + -: 3488: return (*(F*)p)(a0, a1, a2, a3, a4); + -: 3489: } + -: 3490: + -: 3491: template + -: 3492: static void function_move(void *d, const void *p) { + -: 3493: new (d) F(*(F*)p); + -: 3494: } + -: 3495: + -: 3496: template + -: 3497: static void function_dtor(void *p) { + -: 3498: ((F*)p)->~F(); + -: 3499: } + -: 3500: + -: 3501: // Wrappers for functions with context + -: 3502: template + -: 3503: struct method_context { + -: 3504: M method; + -: 3505: O *obj; + -: 3506: + -: 3507: method_context(O *obj, M method) + -: 3508: : method(method), obj(obj) {} + -: 3509: + -: 3510: R operator()(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) const { + -: 3511: return (obj->*method)(a0, a1, a2, a3, a4); + -: 3512: } + -: 3513: }; + -: 3514: + -: 3515: template + -: 3516: struct function_context { + -: 3517: F func; + -: 3518: A *arg; + -: 3519: + -: 3520: function_context(F func, A *arg) + -: 3521: : func(func), arg(arg) {} + -: 3522: + -: 3523: R operator()(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) const { + -: 3524: return func(arg, a0, a1, a2, a3, a4); + -: 3525: } + -: 3526: }; + -: 3527:}; + -: 3528: + -: 3529:// Internally used event type + -: 3530:typedef Callback event_callback_t; + -: 3531: + -: 3532: + -: 3533:/** Create a callback class with type infered from the arguments + -: 3534: * + -: 3535: * @param func Static function to attach + -: 3536: * @return Callback with infered type + -: 3537: */ + -: 3538:template + -: 3539:Callback callback(R (*func)() = 0) { + -: 3540: return Callback(func); + -: 3541:} + -: 3542: + -: 3543:/** Create a callback class with type infered from the arguments + -: 3544: * + -: 3545: * @param func Static function to attach + -: 3546: * @return Callback with infered type + -: 3547: */ + -: 3548:template + -: 3549:Callback callback(const Callback &func) { + -: 3550: return Callback(func); + -: 3551:} + -: 3552: + -: 3553:/** Create a callback class with type infered from the arguments + -: 3554: * + -: 3555: * @param obj Optional pointer to object to bind to function + -: 3556: * @param method Member function to attach + -: 3557: * @return Callback with infered type + -: 3558: */ + -: 3559:template + 2: 3560:Callback callback(U *obj, R (T::*method)()) { + 2: 3561: return Callback(obj, method); + -: 3562:} + -: 3563: + -: 3564:/** Create a callback class with type infered from the arguments + -: 3565: * + -: 3566: * @param obj Optional pointer to object to bind to function + -: 3567: * @param method Member function to attach + -: 3568: * @return Callback with infered type + -: 3569: */ + -: 3570:template + -: 3571:Callback callback(const U *obj, R (T::*method)() const) { + -: 3572: return Callback(obj, method); + -: 3573:} + -: 3574: + -: 3575:/** Create a callback class with type infered from the arguments + -: 3576: * + -: 3577: * @param obj Optional pointer to object to bind to function + -: 3578: * @param method Member function to attach + -: 3579: * @return Callback with infered type + -: 3580: */ + -: 3581:template + -: 3582:Callback callback(volatile U *obj, R (T::*method)() volatile) { + -: 3583: return Callback(obj, method); + -: 3584:} + -: 3585: + -: 3586:/** Create a callback class with type infered from the arguments + -: 3587: * + -: 3588: * @param obj Optional pointer to object to bind to function + -: 3589: * @param method Member function to attach + -: 3590: * @return Callback with infered type + -: 3591: */ + -: 3592:template + -: 3593:Callback callback(const volatile U *obj, R (T::*method)() const volatile) { + -: 3594: return Callback(obj, method); + -: 3595:} + -: 3596: + -: 3597:/** Create a callback class with type infered from the arguments + -: 3598: * + -: 3599: * @param func Static function to attach + -: 3600: * @param arg Pointer argument to function + -: 3601: * @return Callback with infered type + -: 3602: */ + -: 3603:template + -: 3604:Callback callback(R (*func)(T*), U *arg) { + -: 3605: return Callback(func, arg); + -: 3606:} + -: 3607: + -: 3608:/** Create a callback class with type infered from the arguments + -: 3609: * + -: 3610: * @param func Static function to attach + -: 3611: * @param arg Pointer argument to function + -: 3612: * @return Callback with infered type + -: 3613: */ + -: 3614:template + -: 3615:Callback callback(R (*func)(const T*), const U *arg) { + -: 3616: return Callback(func, arg); + -: 3617:} + -: 3618: + -: 3619:/** Create a callback class with type infered from the arguments + -: 3620: * + -: 3621: * @param func Static function to attach + -: 3622: * @param arg Pointer argument to function + -: 3623: * @return Callback with infered type + -: 3624: */ + -: 3625:template + -: 3626:Callback callback(R (*func)(volatile T*), volatile U *arg) { + -: 3627: return Callback(func, arg); + -: 3628:} + -: 3629: + -: 3630:/** Create a callback class with type infered from the arguments + -: 3631: * + -: 3632: * @param func Static function to attach + -: 3633: * @param arg Pointer argument to function + -: 3634: * @return Callback with infered type + -: 3635: */ + -: 3636:template + -: 3637:Callback callback(R (*func)(const volatile T*), const volatile U *arg) { + -: 3638: return Callback(func, arg); + -: 3639:} + -: 3640: + -: 3641:/** Create a callback class with type infered from the arguments + -: 3642: * + -: 3643: * @param obj Optional pointer to object to bind to function + -: 3644: * @param func Static function to attach + -: 3645: * @return Callback with infered type + -: 3646: * @deprecated + -: 3647: * Arguments to callback have been reordered to callback(func, arg) + -: 3648: */ + -: 3649:template + -: 3650:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3651: "Arguments to callback have been reordered to callback(func, arg)") + -: 3652:Callback callback(U *obj, R (*func)(T*)) { + -: 3653: return Callback(func, obj); + -: 3654:} + -: 3655: + -: 3656:/** Create a callback class with type infered from the arguments + -: 3657: * + -: 3658: * @param obj Optional pointer to object to bind to function + -: 3659: * @param func Static function to attach + -: 3660: * @return Callback with infered type + -: 3661: * @deprecated + -: 3662: * Arguments to callback have been reordered to callback(func, arg) + -: 3663: */ + -: 3664:template + -: 3665:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3666: "Arguments to callback have been reordered to callback(func, arg)") + -: 3667:Callback callback(const U *obj, R (*func)(const T*)) { + -: 3668: return Callback(func, obj); + -: 3669:} + -: 3670: + -: 3671:/** Create a callback class with type infered from the arguments + -: 3672: * + -: 3673: * @param obj Optional pointer to object to bind to function + -: 3674: * @param func Static function to attach + -: 3675: * @return Callback with infered type + -: 3676: * @deprecated + -: 3677: * Arguments to callback have been reordered to callback(func, arg) + -: 3678: */ + -: 3679:template + -: 3680:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3681: "Arguments to callback have been reordered to callback(func, arg)") + -: 3682:Callback callback(volatile U *obj, R (*func)(volatile T*)) { + -: 3683: return Callback(func, obj); + -: 3684:} + -: 3685: + -: 3686:/** Create a callback class with type infered from the arguments + -: 3687: * + -: 3688: * @param obj Optional pointer to object to bind to function + -: 3689: * @param func Static function to attach + -: 3690: * @return Callback with infered type + -: 3691: * @deprecated + -: 3692: * Arguments to callback have been reordered to callback(func, arg) + -: 3693: */ + -: 3694:template + -: 3695:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3696: "Arguments to callback have been reordered to callback(func, arg)") + -: 3697:Callback callback(const volatile U *obj, R (*func)(const volatile T*)) { + -: 3698: return Callback(func, obj); + -: 3699:} + -: 3700: + -: 3701: + -: 3702:/** Create a callback class with type infered from the arguments + -: 3703: * + -: 3704: * @param func Static function to attach + -: 3705: * @return Callback with infered type + -: 3706: */ + -: 3707:template + -: 3708:Callback callback(R (*func)(A0) = 0) { + -: 3709: return Callback(func); + -: 3710:} + -: 3711: + -: 3712:/** Create a callback class with type infered from the arguments + -: 3713: * + -: 3714: * @param func Static function to attach + -: 3715: * @return Callback with infered type + -: 3716: */ + -: 3717:template + -: 3718:Callback callback(const Callback &func) { + -: 3719: return Callback(func); + -: 3720:} + -: 3721: + -: 3722:/** Create a callback class with type infered from the arguments + -: 3723: * + -: 3724: * @param obj Optional pointer to object to bind to function + -: 3725: * @param method Member function to attach + -: 3726: * @return Callback with infered type + -: 3727: */ + -: 3728:template + -: 3729:Callback callback(U *obj, R (T::*method)(A0)) { + -: 3730: return Callback(obj, method); + -: 3731:} + -: 3732: + -: 3733:/** Create a callback class with type infered from the arguments + -: 3734: * + -: 3735: * @param obj Optional pointer to object to bind to function + -: 3736: * @param method Member function to attach + -: 3737: * @return Callback with infered type + -: 3738: */ + -: 3739:template + -: 3740:Callback callback(const U *obj, R (T::*method)(A0) const) { + -: 3741: return Callback(obj, method); + -: 3742:} + -: 3743: + -: 3744:/** Create a callback class with type infered from the arguments + -: 3745: * + -: 3746: * @param obj Optional pointer to object to bind to function + -: 3747: * @param method Member function to attach + -: 3748: * @return Callback with infered type + -: 3749: */ + -: 3750:template + -: 3751:Callback callback(volatile U *obj, R (T::*method)(A0) volatile) { + -: 3752: return Callback(obj, method); + -: 3753:} + -: 3754: + -: 3755:/** Create a callback class with type infered from the arguments + -: 3756: * + -: 3757: * @param obj Optional pointer to object to bind to function + -: 3758: * @param method Member function to attach + -: 3759: * @return Callback with infered type + -: 3760: */ + -: 3761:template + -: 3762:Callback callback(const volatile U *obj, R (T::*method)(A0) const volatile) { + -: 3763: return Callback(obj, method); + -: 3764:} + -: 3765: + -: 3766:/** Create a callback class with type infered from the arguments + -: 3767: * + -: 3768: * @param func Static function to attach + -: 3769: * @param arg Pointer argument to function + -: 3770: * @return Callback with infered type + -: 3771: */ + -: 3772:template + -: 3773:Callback callback(R (*func)(T*, A0), U *arg) { + -: 3774: return Callback(func, arg); + -: 3775:} + -: 3776: + -: 3777:/** Create a callback class with type infered from the arguments + -: 3778: * + -: 3779: * @param func Static function to attach + -: 3780: * @param arg Pointer argument to function + -: 3781: * @return Callback with infered type + -: 3782: */ + -: 3783:template + -: 3784:Callback callback(R (*func)(const T*, A0), const U *arg) { + -: 3785: return Callback(func, arg); + -: 3786:} + -: 3787: + -: 3788:/** Create a callback class with type infered from the arguments + -: 3789: * + -: 3790: * @param func Static function to attach + -: 3791: * @param arg Pointer argument to function + -: 3792: * @return Callback with infered type + -: 3793: */ + -: 3794:template + -: 3795:Callback callback(R (*func)(volatile T*, A0), volatile U *arg) { + -: 3796: return Callback(func, arg); + -: 3797:} + -: 3798: + -: 3799:/** Create a callback class with type infered from the arguments + -: 3800: * + -: 3801: * @param func Static function to attach + -: 3802: * @param arg Pointer argument to function + -: 3803: * @return Callback with infered type + -: 3804: */ + -: 3805:template + -: 3806:Callback callback(R (*func)(const volatile T*, A0), const volatile U *arg) { + -: 3807: return Callback(func, arg); + -: 3808:} + -: 3809: + -: 3810:/** Create a callback class with type infered from the arguments + -: 3811: * + -: 3812: * @param obj Optional pointer to object to bind to function + -: 3813: * @param func Static function to attach + -: 3814: * @return Callback with infered type + -: 3815: * @deprecated + -: 3816: * Arguments to callback have been reordered to callback(func, arg) + -: 3817: */ + -: 3818:template + -: 3819:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3820: "Arguments to callback have been reordered to callback(func, arg)") + -: 3821:Callback callback(U *obj, R (*func)(T*, A0)) { + -: 3822: return Callback(func, obj); + -: 3823:} + -: 3824: + -: 3825:/** Create a callback class with type infered from the arguments + -: 3826: * + -: 3827: * @param obj Optional pointer to object to bind to function + -: 3828: * @param func Static function to attach + -: 3829: * @return Callback with infered type + -: 3830: * @deprecated + -: 3831: * Arguments to callback have been reordered to callback(func, arg) + -: 3832: */ + -: 3833:template + -: 3834:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3835: "Arguments to callback have been reordered to callback(func, arg)") + -: 3836:Callback callback(const U *obj, R (*func)(const T*, A0)) { + -: 3837: return Callback(func, obj); + -: 3838:} + -: 3839: + -: 3840:/** Create a callback class with type infered from the arguments + -: 3841: * + -: 3842: * @param obj Optional pointer to object to bind to function + -: 3843: * @param func Static function to attach + -: 3844: * @return Callback with infered type + -: 3845: * @deprecated + -: 3846: * Arguments to callback have been reordered to callback(func, arg) + -: 3847: */ + -: 3848:template + -: 3849:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3850: "Arguments to callback have been reordered to callback(func, arg)") + -: 3851:Callback callback(volatile U *obj, R (*func)(volatile T*, A0)) { + -: 3852: return Callback(func, obj); + -: 3853:} + -: 3854: + -: 3855:/** Create a callback class with type infered from the arguments + -: 3856: * + -: 3857: * @param obj Optional pointer to object to bind to function + -: 3858: * @param func Static function to attach + -: 3859: * @return Callback with infered type + -: 3860: * @deprecated + -: 3861: * Arguments to callback have been reordered to callback(func, arg) + -: 3862: */ + -: 3863:template + -: 3864:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3865: "Arguments to callback have been reordered to callback(func, arg)") + -: 3866:Callback callback(const volatile U *obj, R (*func)(const volatile T*, A0)) { + -: 3867: return Callback(func, obj); + -: 3868:} + -: 3869: + -: 3870: + -: 3871:/** Create a callback class with type infered from the arguments + -: 3872: * + -: 3873: * @param func Static function to attach + -: 3874: * @return Callback with infered type + -: 3875: */ + -: 3876:template + -: 3877:Callback callback(R (*func)(A0, A1) = 0) { + -: 3878: return Callback(func); + -: 3879:} + -: 3880: + -: 3881:/** Create a callback class with type infered from the arguments + -: 3882: * + -: 3883: * @param func Static function to attach + -: 3884: * @return Callback with infered type + -: 3885: */ + -: 3886:template + -: 3887:Callback callback(const Callback &func) { + -: 3888: return Callback(func); + -: 3889:} + -: 3890: + -: 3891:/** Create a callback class with type infered from the arguments + -: 3892: * + -: 3893: * @param obj Optional pointer to object to bind to function + -: 3894: * @param method Member function to attach + -: 3895: * @return Callback with infered type + -: 3896: */ + -: 3897:template + -: 3898:Callback callback(U *obj, R (T::*method)(A0, A1)) { + -: 3899: return Callback(obj, method); + -: 3900:} + -: 3901: + -: 3902:/** Create a callback class with type infered from the arguments + -: 3903: * + -: 3904: * @param obj Optional pointer to object to bind to function + -: 3905: * @param method Member function to attach + -: 3906: * @return Callback with infered type + -: 3907: */ + -: 3908:template + -: 3909:Callback callback(const U *obj, R (T::*method)(A0, A1) const) { + -: 3910: return Callback(obj, method); + -: 3911:} + -: 3912: + -: 3913:/** Create a callback class with type infered from the arguments + -: 3914: * + -: 3915: * @param obj Optional pointer to object to bind to function + -: 3916: * @param method Member function to attach + -: 3917: * @return Callback with infered type + -: 3918: */ + -: 3919:template + -: 3920:Callback callback(volatile U *obj, R (T::*method)(A0, A1) volatile) { + -: 3921: return Callback(obj, method); + -: 3922:} + -: 3923: + -: 3924:/** Create a callback class with type infered from the arguments + -: 3925: * + -: 3926: * @param obj Optional pointer to object to bind to function + -: 3927: * @param method Member function to attach + -: 3928: * @return Callback with infered type + -: 3929: */ + -: 3930:template + -: 3931:Callback callback(const volatile U *obj, R (T::*method)(A0, A1) const volatile) { + -: 3932: return Callback(obj, method); + -: 3933:} + -: 3934: + -: 3935:/** Create a callback class with type infered from the arguments + -: 3936: * + -: 3937: * @param func Static function to attach + -: 3938: * @param arg Pointer argument to function + -: 3939: * @return Callback with infered type + -: 3940: */ + -: 3941:template + -: 3942:Callback callback(R (*func)(T*, A0, A1), U *arg) { + -: 3943: return Callback(func, arg); + -: 3944:} + -: 3945: + -: 3946:/** Create a callback class with type infered from the arguments + -: 3947: * + -: 3948: * @param func Static function to attach + -: 3949: * @param arg Pointer argument to function + -: 3950: * @return Callback with infered type + -: 3951: */ + -: 3952:template + -: 3953:Callback callback(R (*func)(const T*, A0, A1), const U *arg) { + -: 3954: return Callback(func, arg); + -: 3955:} + -: 3956: + -: 3957:/** Create a callback class with type infered from the arguments + -: 3958: * + -: 3959: * @param func Static function to attach + -: 3960: * @param arg Pointer argument to function + -: 3961: * @return Callback with infered type + -: 3962: */ + -: 3963:template + -: 3964:Callback callback(R (*func)(volatile T*, A0, A1), volatile U *arg) { + -: 3965: return Callback(func, arg); + -: 3966:} + -: 3967: + -: 3968:/** Create a callback class with type infered from the arguments + -: 3969: * + -: 3970: * @param func Static function to attach + -: 3971: * @param arg Pointer argument to function + -: 3972: * @return Callback with infered type + -: 3973: */ + -: 3974:template + -: 3975:Callback callback(R (*func)(const volatile T*, A0, A1), const volatile U *arg) { + -: 3976: return Callback(func, arg); + -: 3977:} + -: 3978: + -: 3979:/** Create a callback class with type infered from the arguments + -: 3980: * + -: 3981: * @param obj Optional pointer to object to bind to function + -: 3982: * @param func Static function to attach + -: 3983: * @return Callback with infered type + -: 3984: * @deprecated + -: 3985: * Arguments to callback have been reordered to callback(func, arg) + -: 3986: */ + -: 3987:template + -: 3988:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 3989: "Arguments to callback have been reordered to callback(func, arg)") + -: 3990:Callback callback(U *obj, R (*func)(T*, A0, A1)) { + -: 3991: return Callback(func, obj); + -: 3992:} + -: 3993: + -: 3994:/** Create a callback class with type infered from the arguments + -: 3995: * + -: 3996: * @param obj Optional pointer to object to bind to function + -: 3997: * @param func Static function to attach + -: 3998: * @return Callback with infered type + -: 3999: * @deprecated + -: 4000: * Arguments to callback have been reordered to callback(func, arg) + -: 4001: */ + -: 4002:template + -: 4003:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4004: "Arguments to callback have been reordered to callback(func, arg)") + -: 4005:Callback callback(const U *obj, R (*func)(const T*, A0, A1)) { + -: 4006: return Callback(func, obj); + -: 4007:} + -: 4008: + -: 4009:/** Create a callback class with type infered from the arguments + -: 4010: * + -: 4011: * @param obj Optional pointer to object to bind to function + -: 4012: * @param func Static function to attach + -: 4013: * @return Callback with infered type + -: 4014: * @deprecated + -: 4015: * Arguments to callback have been reordered to callback(func, arg) + -: 4016: */ + -: 4017:template + -: 4018:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4019: "Arguments to callback have been reordered to callback(func, arg)") + -: 4020:Callback callback(volatile U *obj, R (*func)(volatile T*, A0, A1)) { + -: 4021: return Callback(func, obj); + -: 4022:} + -: 4023: + -: 4024:/** Create a callback class with type infered from the arguments + -: 4025: * + -: 4026: * @param obj Optional pointer to object to bind to function + -: 4027: * @param func Static function to attach + -: 4028: * @return Callback with infered type + -: 4029: * @deprecated + -: 4030: * Arguments to callback have been reordered to callback(func, arg) + -: 4031: */ + -: 4032:template + -: 4033:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4034: "Arguments to callback have been reordered to callback(func, arg)") + -: 4035:Callback callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1)) { + -: 4036: return Callback(func, obj); + -: 4037:} + -: 4038: + -: 4039: + -: 4040:/** Create a callback class with type infered from the arguments + -: 4041: * + -: 4042: * @param func Static function to attach + -: 4043: * @return Callback with infered type + -: 4044: */ + -: 4045:template + -: 4046:Callback callback(R (*func)(A0, A1, A2) = 0) { + -: 4047: return Callback(func); + -: 4048:} + -: 4049: + -: 4050:/** Create a callback class with type infered from the arguments + -: 4051: * + -: 4052: * @param func Static function to attach + -: 4053: * @return Callback with infered type + -: 4054: */ + -: 4055:template + -: 4056:Callback callback(const Callback &func) { + -: 4057: return Callback(func); + -: 4058:} + -: 4059: + -: 4060:/** Create a callback class with type infered from the arguments + -: 4061: * + -: 4062: * @param obj Optional pointer to object to bind to function + -: 4063: * @param method Member function to attach + -: 4064: * @return Callback with infered type + -: 4065: */ + -: 4066:template + -: 4067:Callback callback(U *obj, R (T::*method)(A0, A1, A2)) { + -: 4068: return Callback(obj, method); + -: 4069:} + -: 4070: + -: 4071:/** Create a callback class with type infered from the arguments + -: 4072: * + -: 4073: * @param obj Optional pointer to object to bind to function + -: 4074: * @param method Member function to attach + -: 4075: * @return Callback with infered type + -: 4076: */ + -: 4077:template + -: 4078:Callback callback(const U *obj, R (T::*method)(A0, A1, A2) const) { + -: 4079: return Callback(obj, method); + -: 4080:} + -: 4081: + -: 4082:/** Create a callback class with type infered from the arguments + -: 4083: * + -: 4084: * @param obj Optional pointer to object to bind to function + -: 4085: * @param method Member function to attach + -: 4086: * @return Callback with infered type + -: 4087: */ + -: 4088:template + -: 4089:Callback callback(volatile U *obj, R (T::*method)(A0, A1, A2) volatile) { + -: 4090: return Callback(obj, method); + -: 4091:} + -: 4092: + -: 4093:/** Create a callback class with type infered from the arguments + -: 4094: * + -: 4095: * @param obj Optional pointer to object to bind to function + -: 4096: * @param method Member function to attach + -: 4097: * @return Callback with infered type + -: 4098: */ + -: 4099:template + -: 4100:Callback callback(const volatile U *obj, R (T::*method)(A0, A1, A2) const volatile) { + -: 4101: return Callback(obj, method); + -: 4102:} + -: 4103: + -: 4104:/** Create a callback class with type infered from the arguments + -: 4105: * + -: 4106: * @param func Static function to attach + -: 4107: * @param arg Pointer argument to function + -: 4108: * @return Callback with infered type + -: 4109: */ + -: 4110:template + -: 4111:Callback callback(R (*func)(T*, A0, A1, A2), U *arg) { + -: 4112: return Callback(func, arg); + -: 4113:} + -: 4114: + -: 4115:/** Create a callback class with type infered from the arguments + -: 4116: * + -: 4117: * @param func Static function to attach + -: 4118: * @param arg Pointer argument to function + -: 4119: * @return Callback with infered type + -: 4120: */ + -: 4121:template + -: 4122:Callback callback(R (*func)(const T*, A0, A1, A2), const U *arg) { + -: 4123: return Callback(func, arg); + -: 4124:} + -: 4125: + -: 4126:/** Create a callback class with type infered from the arguments + -: 4127: * + -: 4128: * @param func Static function to attach + -: 4129: * @param arg Pointer argument to function + -: 4130: * @return Callback with infered type + -: 4131: */ + -: 4132:template + -: 4133:Callback callback(R (*func)(volatile T*, A0, A1, A2), volatile U *arg) { + -: 4134: return Callback(func, arg); + -: 4135:} + -: 4136: + -: 4137:/** Create a callback class with type infered from the arguments + -: 4138: * + -: 4139: * @param func Static function to attach + -: 4140: * @param arg Pointer argument to function + -: 4141: * @return Callback with infered type + -: 4142: */ + -: 4143:template + -: 4144:Callback callback(R (*func)(const volatile T*, A0, A1, A2), const volatile U *arg) { + -: 4145: return Callback(func, arg); + -: 4146:} + -: 4147: + -: 4148:/** Create a callback class with type infered from the arguments + -: 4149: * + -: 4150: * @param obj Optional pointer to object to bind to function + -: 4151: * @param func Static function to attach + -: 4152: * @return Callback with infered type + -: 4153: * @deprecated + -: 4154: * Arguments to callback have been reordered to callback(func, arg) + -: 4155: */ + -: 4156:template + -: 4157:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4158: "Arguments to callback have been reordered to callback(func, arg)") + -: 4159:Callback callback(U *obj, R (*func)(T*, A0, A1, A2)) { + -: 4160: return Callback(func, obj); + -: 4161:} + -: 4162: + -: 4163:/** Create a callback class with type infered from the arguments + -: 4164: * + -: 4165: * @param obj Optional pointer to object to bind to function + -: 4166: * @param func Static function to attach + -: 4167: * @return Callback with infered type + -: 4168: * @deprecated + -: 4169: * Arguments to callback have been reordered to callback(func, arg) + -: 4170: */ + -: 4171:template + -: 4172:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4173: "Arguments to callback have been reordered to callback(func, arg)") + -: 4174:Callback callback(const U *obj, R (*func)(const T*, A0, A1, A2)) { + -: 4175: return Callback(func, obj); + -: 4176:} + -: 4177: + -: 4178:/** Create a callback class with type infered from the arguments + -: 4179: * + -: 4180: * @param obj Optional pointer to object to bind to function + -: 4181: * @param func Static function to attach + -: 4182: * @return Callback with infered type + -: 4183: * @deprecated + -: 4184: * Arguments to callback have been reordered to callback(func, arg) + -: 4185: */ + -: 4186:template + -: 4187:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4188: "Arguments to callback have been reordered to callback(func, arg)") + -: 4189:Callback callback(volatile U *obj, R (*func)(volatile T*, A0, A1, A2)) { + -: 4190: return Callback(func, obj); + -: 4191:} + -: 4192: + -: 4193:/** Create a callback class with type infered from the arguments + -: 4194: * + -: 4195: * @param obj Optional pointer to object to bind to function + -: 4196: * @param func Static function to attach + -: 4197: * @return Callback with infered type + -: 4198: * @deprecated + -: 4199: * Arguments to callback have been reordered to callback(func, arg) + -: 4200: */ + -: 4201:template + -: 4202:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4203: "Arguments to callback have been reordered to callback(func, arg)") + -: 4204:Callback callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2)) { + -: 4205: return Callback(func, obj); + -: 4206:} + -: 4207: + -: 4208: + -: 4209:/** Create a callback class with type infered from the arguments + -: 4210: * + -: 4211: * @param func Static function to attach + -: 4212: * @return Callback with infered type + -: 4213: */ + -: 4214:template + -: 4215:Callback callback(R (*func)(A0, A1, A2, A3) = 0) { + -: 4216: return Callback(func); + -: 4217:} + -: 4218: + -: 4219:/** Create a callback class with type infered from the arguments + -: 4220: * + -: 4221: * @param func Static function to attach + -: 4222: * @return Callback with infered type + -: 4223: */ + -: 4224:template + -: 4225:Callback callback(const Callback &func) { + -: 4226: return Callback(func); + -: 4227:} + -: 4228: + -: 4229:/** Create a callback class with type infered from the arguments + -: 4230: * + -: 4231: * @param obj Optional pointer to object to bind to function + -: 4232: * @param method Member function to attach + -: 4233: * @return Callback with infered type + -: 4234: */ + -: 4235:template + -: 4236:Callback callback(U *obj, R (T::*method)(A0, A1, A2, A3)) { + -: 4237: return Callback(obj, method); + -: 4238:} + -: 4239: + -: 4240:/** Create a callback class with type infered from the arguments + -: 4241: * + -: 4242: * @param obj Optional pointer to object to bind to function + -: 4243: * @param method Member function to attach + -: 4244: * @return Callback with infered type + -: 4245: */ + -: 4246:template + -: 4247:Callback callback(const U *obj, R (T::*method)(A0, A1, A2, A3) const) { + -: 4248: return Callback(obj, method); + -: 4249:} + -: 4250: + -: 4251:/** Create a callback class with type infered from the arguments + -: 4252: * + -: 4253: * @param obj Optional pointer to object to bind to function + -: 4254: * @param method Member function to attach + -: 4255: * @return Callback with infered type + -: 4256: */ + -: 4257:template + -: 4258:Callback callback(volatile U *obj, R (T::*method)(A0, A1, A2, A3) volatile) { + -: 4259: return Callback(obj, method); + -: 4260:} + -: 4261: + -: 4262:/** Create a callback class with type infered from the arguments + -: 4263: * + -: 4264: * @param obj Optional pointer to object to bind to function + -: 4265: * @param method Member function to attach + -: 4266: * @return Callback with infered type + -: 4267: */ + -: 4268:template + -: 4269:Callback callback(const volatile U *obj, R (T::*method)(A0, A1, A2, A3) const volatile) { + -: 4270: return Callback(obj, method); + -: 4271:} + -: 4272: + -: 4273:/** Create a callback class with type infered from the arguments + -: 4274: * + -: 4275: * @param func Static function to attach + -: 4276: * @param arg Pointer argument to function + -: 4277: * @return Callback with infered type + -: 4278: */ + -: 4279:template + -: 4280:Callback callback(R (*func)(T*, A0, A1, A2, A3), U *arg) { + -: 4281: return Callback(func, arg); + -: 4282:} + -: 4283: + -: 4284:/** Create a callback class with type infered from the arguments + -: 4285: * + -: 4286: * @param func Static function to attach + -: 4287: * @param arg Pointer argument to function + -: 4288: * @return Callback with infered type + -: 4289: */ + -: 4290:template + -: 4291:Callback callback(R (*func)(const T*, A0, A1, A2, A3), const U *arg) { + -: 4292: return Callback(func, arg); + -: 4293:} + -: 4294: + -: 4295:/** Create a callback class with type infered from the arguments + -: 4296: * + -: 4297: * @param func Static function to attach + -: 4298: * @param arg Pointer argument to function + -: 4299: * @return Callback with infered type + -: 4300: */ + -: 4301:template + -: 4302:Callback callback(R (*func)(volatile T*, A0, A1, A2, A3), volatile U *arg) { + -: 4303: return Callback(func, arg); + -: 4304:} + -: 4305: + -: 4306:/** Create a callback class with type infered from the arguments + -: 4307: * + -: 4308: * @param func Static function to attach + -: 4309: * @param arg Pointer argument to function + -: 4310: * @return Callback with infered type + -: 4311: */ + -: 4312:template + -: 4313:Callback callback(R (*func)(const volatile T*, A0, A1, A2, A3), const volatile U *arg) { + -: 4314: return Callback(func, arg); + -: 4315:} + -: 4316: + -: 4317:/** Create a callback class with type infered from the arguments + -: 4318: * + -: 4319: * @param obj Optional pointer to object to bind to function + -: 4320: * @param func Static function to attach + -: 4321: * @return Callback with infered type + -: 4322: * @deprecated + -: 4323: * Arguments to callback have been reordered to callback(func, arg) + -: 4324: */ + -: 4325:template + -: 4326:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4327: "Arguments to callback have been reordered to callback(func, arg)") + -: 4328:Callback callback(U *obj, R (*func)(T*, A0, A1, A2, A3)) { + -: 4329: return Callback(func, obj); + -: 4330:} + -: 4331: + -: 4332:/** Create a callback class with type infered from the arguments + -: 4333: * + -: 4334: * @param obj Optional pointer to object to bind to function + -: 4335: * @param func Static function to attach + -: 4336: * @return Callback with infered type + -: 4337: * @deprecated + -: 4338: * Arguments to callback have been reordered to callback(func, arg) + -: 4339: */ + -: 4340:template + -: 4341:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4342: "Arguments to callback have been reordered to callback(func, arg)") + -: 4343:Callback callback(const U *obj, R (*func)(const T*, A0, A1, A2, A3)) { + -: 4344: return Callback(func, obj); + -: 4345:} + -: 4346: + -: 4347:/** Create a callback class with type infered from the arguments + -: 4348: * + -: 4349: * @param obj Optional pointer to object to bind to function + -: 4350: * @param func Static function to attach + -: 4351: * @return Callback with infered type + -: 4352: * @deprecated + -: 4353: * Arguments to callback have been reordered to callback(func, arg) + -: 4354: */ + -: 4355:template + -: 4356:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4357: "Arguments to callback have been reordered to callback(func, arg)") + -: 4358:Callback callback(volatile U *obj, R (*func)(volatile T*, A0, A1, A2, A3)) { + -: 4359: return Callback(func, obj); + -: 4360:} + -: 4361: + -: 4362:/** Create a callback class with type infered from the arguments + -: 4363: * + -: 4364: * @param obj Optional pointer to object to bind to function + -: 4365: * @param func Static function to attach + -: 4366: * @return Callback with infered type + -: 4367: * @deprecated + -: 4368: * Arguments to callback have been reordered to callback(func, arg) + -: 4369: */ + -: 4370:template + -: 4371:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4372: "Arguments to callback have been reordered to callback(func, arg)") + -: 4373:Callback callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2, A3)) { + -: 4374: return Callback(func, obj); + -: 4375:} + -: 4376: + -: 4377: + -: 4378:/** Create a callback class with type infered from the arguments + -: 4379: * + -: 4380: * @param func Static function to attach + -: 4381: * @return Callback with infered type + -: 4382: */ + -: 4383:template + -: 4384:Callback callback(R (*func)(A0, A1, A2, A3, A4) = 0) { + -: 4385: return Callback(func); + -: 4386:} + -: 4387: + -: 4388:/** Create a callback class with type infered from the arguments + -: 4389: * + -: 4390: * @param func Static function to attach + -: 4391: * @return Callback with infered type + -: 4392: */ + -: 4393:template + -: 4394:Callback callback(const Callback &func) { + -: 4395: return Callback(func); + -: 4396:} + -: 4397: + -: 4398:/** Create a callback class with type infered from the arguments + -: 4399: * + -: 4400: * @param obj Optional pointer to object to bind to function + -: 4401: * @param method Member function to attach + -: 4402: * @return Callback with infered type + -: 4403: */ + -: 4404:template + -: 4405:Callback callback(U *obj, R (T::*method)(A0, A1, A2, A3, A4)) { + -: 4406: return Callback(obj, method); + -: 4407:} + -: 4408: + -: 4409:/** Create a callback class with type infered from the arguments + -: 4410: * + -: 4411: * @param obj Optional pointer to object to bind to function + -: 4412: * @param method Member function to attach + -: 4413: * @return Callback with infered type + -: 4414: */ + -: 4415:template + -: 4416:Callback callback(const U *obj, R (T::*method)(A0, A1, A2, A3, A4) const) { + -: 4417: return Callback(obj, method); + -: 4418:} + -: 4419: + -: 4420:/** Create a callback class with type infered from the arguments + -: 4421: * + -: 4422: * @param obj Optional pointer to object to bind to function + -: 4423: * @param method Member function to attach + -: 4424: * @return Callback with infered type + -: 4425: */ + -: 4426:template + -: 4427:Callback callback(volatile U *obj, R (T::*method)(A0, A1, A2, A3, A4) volatile) { + -: 4428: return Callback(obj, method); + -: 4429:} + -: 4430: + -: 4431:/** Create a callback class with type infered from the arguments + -: 4432: * + -: 4433: * @param obj Optional pointer to object to bind to function + -: 4434: * @param method Member function to attach + -: 4435: * @return Callback with infered type + -: 4436: */ + -: 4437:template + -: 4438:Callback callback(const volatile U *obj, R (T::*method)(A0, A1, A2, A3, A4) const volatile) { + -: 4439: return Callback(obj, method); + -: 4440:} + -: 4441: + -: 4442:/** Create a callback class with type infered from the arguments + -: 4443: * + -: 4444: * @param func Static function to attach + -: 4445: * @param arg Pointer argument to function + -: 4446: * @return Callback with infered type + -: 4447: */ + -: 4448:template + -: 4449:Callback callback(R (*func)(T*, A0, A1, A2, A3, A4), U *arg) { + -: 4450: return Callback(func, arg); + -: 4451:} + -: 4452: + -: 4453:/** Create a callback class with type infered from the arguments + -: 4454: * + -: 4455: * @param func Static function to attach + -: 4456: * @param arg Pointer argument to function + -: 4457: * @return Callback with infered type + -: 4458: */ + -: 4459:template + -: 4460:Callback callback(R (*func)(const T*, A0, A1, A2, A3, A4), const U *arg) { + -: 4461: return Callback(func, arg); + -: 4462:} + -: 4463: + -: 4464:/** Create a callback class with type infered from the arguments + -: 4465: * + -: 4466: * @param func Static function to attach + -: 4467: * @param arg Pointer argument to function + -: 4468: * @return Callback with infered type + -: 4469: */ + -: 4470:template + -: 4471:Callback callback(R (*func)(volatile T*, A0, A1, A2, A3, A4), volatile U *arg) { + -: 4472: return Callback(func, arg); + -: 4473:} + -: 4474: + -: 4475:/** Create a callback class with type infered from the arguments + -: 4476: * + -: 4477: * @param func Static function to attach + -: 4478: * @param arg Pointer argument to function + -: 4479: * @return Callback with infered type + -: 4480: */ + -: 4481:template + -: 4482:Callback callback(R (*func)(const volatile T*, A0, A1, A2, A3, A4), const volatile U *arg) { + -: 4483: return Callback(func, arg); + -: 4484:} + -: 4485: + -: 4486:/** Create a callback class with type infered from the arguments + -: 4487: * + -: 4488: * @param obj Optional pointer to object to bind to function + -: 4489: * @param func Static function to attach + -: 4490: * @return Callback with infered type + -: 4491: * @deprecated + -: 4492: * Arguments to callback have been reordered to callback(func, arg) + -: 4493: */ + -: 4494:template + -: 4495:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4496: "Arguments to callback have been reordered to callback(func, arg)") + -: 4497:Callback callback(U *obj, R (*func)(T*, A0, A1, A2, A3, A4)) { + -: 4498: return Callback(func, obj); + -: 4499:} + -: 4500: + -: 4501:/** Create a callback class with type infered from the arguments + -: 4502: * + -: 4503: * @param obj Optional pointer to object to bind to function + -: 4504: * @param func Static function to attach + -: 4505: * @return Callback with infered type + -: 4506: * @deprecated + -: 4507: * Arguments to callback have been reordered to callback(func, arg) + -: 4508: */ + -: 4509:template + -: 4510:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4511: "Arguments to callback have been reordered to callback(func, arg)") + -: 4512:Callback callback(const U *obj, R (*func)(const T*, A0, A1, A2, A3, A4)) { + -: 4513: return Callback(func, obj); + -: 4514:} + -: 4515: + -: 4516:/** Create a callback class with type infered from the arguments + -: 4517: * + -: 4518: * @param obj Optional pointer to object to bind to function + -: 4519: * @param func Static function to attach + -: 4520: * @return Callback with infered type + -: 4521: * @deprecated + -: 4522: * Arguments to callback have been reordered to callback(func, arg) + -: 4523: */ + -: 4524:template + -: 4525:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4526: "Arguments to callback have been reordered to callback(func, arg)") + -: 4527:Callback callback(volatile U *obj, R (*func)(volatile T*, A0, A1, A2, A3, A4)) { + -: 4528: return Callback(func, obj); + -: 4529:} + -: 4530: + -: 4531:/** Create a callback class with type infered from the arguments + -: 4532: * + -: 4533: * @param obj Optional pointer to object to bind to function + -: 4534: * @param func Static function to attach + -: 4535: * @return Callback with infered type + -: 4536: * @deprecated + -: 4537: * Arguments to callback have been reordered to callback(func, arg) + -: 4538: */ + -: 4539:template + -: 4540:MBED_DEPRECATED_SINCE("mbed-os-5.1", + -: 4541: "Arguments to callback have been reordered to callback(func, arg)") + -: 4542:Callback callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2, A3, A4)) { + -: 4543: return Callback(func, obj); + -: 4544:} + -: 4545: + -: 4546:/**@}*/ + -: 4547: + -: 4548:/**@}*/ + -: 4549: + -: 4550:} // namespace mbed + -: 4551: + -: 4552:#endif diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/gcov/CellularSMS.h.gcov b/features/cellular/UNITTESTS/at/at_cellularsms/gcov/CellularSMS.h.gcov new file mode 100644 index 0000000000..2f1ccf15a2 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsms/gcov/CellularSMS.h.gcov @@ -0,0 +1,160 @@ + -: 0:Source:../../../framework/API/CellularSMS.h + -: 0:Graph:objs/AT_CellularSMS_unit/AT_CellularSMS.gcno + -: 0:Data:objs/AT_CellularSMS_unit/AT_CellularSMS.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:/* + -: 2: * Copyright (c) 2017, Arm Limited and affiliates. + -: 3: * SPDX-License-Identifier: Apache-2.0 + -: 4: * + -: 5: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 6: * you may not use this file except in compliance with the License. + -: 7: * You may obtain a copy of the License at + -: 8: * + -: 9: * http://www.apache.org/licenses/LICENSE-2.0 + -: 10: * + -: 11: * Unless required by applicable law or agreed to in writing, software + -: 12: * distributed under the License is distributed on an "AS IS" BASIS, + -: 13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 14: * See the License for the specific language governing permissions and + -: 15: * limitations under the License. + -: 16: */ + -: 17: + -: 18:#ifndef CELLULAR_SMS_H_ + -: 19:#define CELLULAR_SMS_H_ + -: 20: + -: 21:#include "Callback.h" + -: 22:#include "nsapi_types.h" + -: 23: + -: 24:namespace mbed { + -: 25: + -: 26:// including trailing '\0' + -: 27:const uint16_t SMS_MAX_SIZE_WITH_CONCATENATION = 4096 + 1; + -: 28:const uint16_t SMS_MAX_PHONE_NUMBER_SIZE = 20 + 1; + -: 29:const uint16_t SMS_MAX_TIME_STAMP_SIZE = 20 + 1; + -: 30: + -: 31:const uint16_t SMS_MAX_SIZE_8BIT_SINGLE_SMS_SIZE = 140; + -: 32:const uint16_t SMS_MAX_SIZE_GSM7_SINGLE_SMS_SIZE = 160; + -: 33: + -: 34:const uint16_t SMS_SIM_WAIT_TIME_MILLISECONDS = 200; + -: 35: + -: 36:const int SMS_ERROR_MULTIPART_ALL_PARTS_NOT_READ = -5001; + -: 37: + -: 38:/** + -: 39: * Class CellularSMS + -: 40: * + -: 41: * An abstract interface for SMS sending and reading. + -: 42: */ + 1: 43:class CellularSMS + -: 44:{ + -: 45:protected: + -: 46: // friend of CellularDevice so that it's the only way to close/delete this class. + -: 47: friend class CellularDevice; + -: 48: + -: 49: /** + -: 50: * virtual Destructor + -: 51: */ + 1: 52: virtual ~CellularSMS() {}; + -: 53:public: + -: 54: + -: 55: /* Enumeration for possible SMS modes, PDU and Text */ + -: 56: enum CellularSMSMmode { + -: 57: CellularSMSMmodePDU = 0, + -: 58: CellularSMSMmodeText + -: 59: }; + -: 60: + -: 61: /** Does all the necessary initializations needed for receiving and sending sms. + -: 62: * + -: 63: * @param mode enumeration for choosing the correct mode: text/pdu + -: 64: * @return zero on success + -: 65: */ + -: 66: virtual nsapi_error_t initialize(CellularSMSMmode mode) = 0; + -: 67: + -: 68: /** Send the SMS with the given parameters + -: 69: * + -: 70: * @param phone_number Phone number where to send sms + -: 71: * @param message SMS message content + -: 72: * @param msg_len Length of the message + -: 73: * @return possible error code or length of the sent sms + -: 74: */ + -: 75: virtual nsapi_size_or_error_t send_sms(const char* phone_number, const char* message, int msg_len) = 0; + -: 76: + -: 77: /** Gets the oldest received sms. + -: 78: * + -: 79: * @param buf preallocated buffer for sms message content + -: 80: * @param buf_len length of allocated buf + -: 81: * @param phone_num preallocated buffer for phone number where sms was sent + -: 82: * @param phone_len length of allocated phone_num buffer + -: 83: * @param time_stamp preallocated buffer for TP-Service Centre Time Stamp (format: yy/MM/dd,hh:mm:ss-+zz). +-zz is timezone. + -: 84: * The unit of time zone is a quarter of an hour relative to GMT. For example +32 would be GMT+8. + -: 85: * @param time_len length of allocated time_stamp buffer + -: 86: * @param buf_size if method return error NSAPI_ERROR_NO_MEMORY because the given buf was not big enough this will + -: 87: * hold the size which is enough. Otherwise zero. + -: 88: * @return possible error code or size of buf. Will return SMS_ERROR_MULTIPART_ALL_PARTS_NOT_READ + -: 89: * if sms was multipart but not all parts are present/failed to read. + -: 90: */ + -: 91: virtual nsapi_size_or_error_t get_sms(char* buf, uint16_t buf_len, char* phone_num, uint16_t phone_len, + -: 92: char* time_stamp, uint16_t time_len, int *buf_size) = 0; + -: 93: + -: 94: /** Callback which is called when new sms is received. SMS can be fetched via method get_sms(). + -: 95: * + -: 96: * @remark In PDU mode there can be multipart sms and callback is called for every received part. + -: 97: * + -: 98: * @param func Callback function which is called when new sms is received. + -: 99: */ + -: 100: virtual void set_sms_callback(Callback func) = 0; + -: 101: + -: 102: /** CPMS preferred message storage + -: 103: * + -: 104: * @param memr memory from which messages are read and deleted + -: 105: * "SM" - SIM SMS memory storage (default) + -: 106: * "ME" - NVM SMS storage + -: 107: * @param memw memory to which writing and sending operations are made + -: 108: * "SM" - SIM SMS memory storage (default) + -: 109: * "ME" - NVM SMS storage + -: 110: * @param mems memory to which received SMs are preferred to be stored + -: 111: * "SM" - SIM SMS memory storage (default) + -: 112: * "ME" - NVM SMS storage + -: 113: * + -: 114: * @return 1 for success, 0 for failure + -: 115: */ + -: 116: virtual nsapi_error_t set_cpms(const char *memr, const char *memw, const char *mems) = 0; + -: 117: + -: 118: /** CSCA - set Service Center Address + -: 119: * + -: 120: * @param sca Service Center Address to be used for mobile originated SMS transmissions. + -: 121: * @param type 129 - national numbering scheme, 145 - international numbering scheme (contains the character "+") + -: 122: * + -: 123: * @return 1 for success, 0 for failure + -: 124: */ + -: 125: virtual nsapi_error_t set_csca(const char *sca, int type) = 0; + -: 126: + -: 127: /** Set command sets the current character set used by the device. "GSM", "IRA",.... + -: 128: * + -: 129: * @remark Current implementation support only ASCII so choose the correct character set. + -: 130: * + -: 131: * @param chr_set preferred character set list (comma separated). Modem might not support the wanted character set + -: 132: * so chr_set list is looped from start until supported set is found. Used character set index is returned. + -: 133: * See more from 3GPP TS 27.005. + -: 134: * @return Used character set index from the given list in case of success. Otherwise negative errorcode. + -: 135: */ + -: 136: virtual nsapi_size_or_error_t set_cscs(const char *chr_set) = 0; + -: 137: + -: 138: /** Deletes all messages from the currently set memory/SIM + -: 139: * + -: 140: * @return possible error code + -: 141: */ + -: 142: virtual nsapi_error_t delete_all_messages() = 0; + -: 143: + -: 144: /** Some modems need extra time between AT commands and responses or there will be error -314, SIM busy. + -: 145: * If SIM busy errors are an issue this time should be increased. It can also be set to zero to make + -: 146: * operations faster and more energy efficient if no errors will follow. By default wait time is zero. + -: 147: * + -: 148: * @param sim_wait_time + -: 149: */ + -: 150: virtual void set_extra_sim_wait_time(int sim_wait_time) = 0; + -: 151:}; + -: 152: + -: 153:} // namespace mbed + -: 154: + -: 155:#endif // CELLULAR_SMS_H_ diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/gcov/gcov_error.txt b/features/cellular/UNITTESTS/at/at_cellularsms/gcov/gcov_error.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/gcov/gcov_output.txt b/features/cellular/UNITTESTS/at/at_cellularsms/gcov/gcov_output.txt new file mode 100644 index 0000000000..8018042367 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsms/gcov/gcov_output.txt @@ -0,0 +1,24 @@ +File '../../../../../platform/Callback.h' +Lines executed:36.17% of 47 +Creating 'Callback.h.gcov' + +File '../../../framework/AT/AT_CellularSMS.cpp' +Lines executed:1.10% of 637 +Creating 'AT_CellularSMS.cpp.gcov' + +File '../../../framework/API/CellularSMS.h' +Lines executed:100.00% of 2 +Creating 'CellularSMS.h.gcov' + +File '../../../framework/AT/AT_CellularSMS.h' +Lines executed:0.00% of 1 +Creating 'AT_CellularSMS.h.gcov' + +File '../../../../../platform/mbed_debug.h' +Lines executed:0.00% of 2 +Creating 'mbed_debug.h.gcov' + +File '/usr/include/c++/5/new' +Lines executed:0.00% of 3 +Creating 'new.gcov' + diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/gcov/gcov_report.txt b/features/cellular/UNITTESTS/at/at_cellularsms/gcov/gcov_report.txt new file mode 100644 index 0000000000..fc83b4c094 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsms/gcov/gcov_report.txt @@ -0,0 +1,6 @@ + + 0.00% ../framework/AT/AT_CellularSMS.h + 0.00% ../platform/mbed_debug.h +100.00% ../framework/API/CellularSMS.h + 1.10% ../framework/AT/AT_CellularSMS.cpp + 36.17% ../platform/Callback.h diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/gcov/gcov_report.txt.html b/features/cellular/UNITTESTS/at/at_cellularsms/gcov/gcov_report.txt.html new file mode 100644 index 0000000000..b451102e87 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsms/gcov/gcov_report.txt.html @@ -0,0 +1,9 @@ + + + + + + + + +
CoverageFile
0.00% ../framework/AT/AT_CellularSMS.h
0.00% ../platform/mbed_debug.h
100.00% ../framework/API/CellularSMS.h
1.10% ../framework/AT/AT_CellularSMS.cpp
36.17% ../platform/Callback.h
diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/gcov/mbed_debug.h.gcov b/features/cellular/UNITTESTS/at/at_cellularsms/gcov/mbed_debug.h.gcov new file mode 100644 index 0000000000..51786b2957 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsms/gcov/mbed_debug.h.gcov @@ -0,0 +1,84 @@ + -: 0:Source:../../../../../platform/mbed_debug.h + -: 0:Graph:objs/AT_CellularSMS_unit/AT_CellularSMS.gcno + -: 0:Data:objs/AT_CellularSMS_unit/AT_CellularSMS.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1: + -: 2:/** \addtogroup platform */ + -: 3:/** @{*/ + -: 4:/** + -: 5: * \defgroup platform_debug Debug functions + -: 6: * @{ + -: 7: */ + -: 8: + -: 9:/* mbed Microcontroller Library + -: 10: * Copyright (c) 2006-2013 ARM Limited + -: 11: * + -: 12: * Licensed under the Apache License, Version 2.0 (the "License"); + -: 13: * you may not use this file except in compliance with the License. + -: 14: * You may obtain a copy of the License at + -: 15: * + -: 16: * http://www.apache.org/licenses/LICENSE-2.0 + -: 17: * + -: 18: * Unless required by applicable law or agreed to in writing, software + -: 19: * distributed under the License is distributed on an "AS IS" BASIS, + -: 20: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + -: 21: * See the License for the specific language governing permissions and + -: 22: * limitations under the License. + -: 23: */ + -: 24:#ifndef MBED_DEBUG_H + -: 25:#define MBED_DEBUG_H + -: 26:#if DEVICE_STDIO_MESSAGES + -: 27:#include + -: 28:#include + -: 29:#endif + -: 30: + -: 31:#ifdef __cplusplus + -: 32:extern "C" { + -: 33:#endif + -: 34: + -: 35: + -: 36:/** Output a debug message + -: 37: * + -: 38: * @param format printf-style format string, followed by variables + -: 39: */ + #####: 40:static inline void debug(const char *format, ...) { + -: 41:#if DEVICE_STDIO_MESSAGES && !defined(NDEBUG) + -: 42: va_list args; + -: 43: va_start(args, format); + -: 44: vfprintf(stderr, format, args); + -: 45: va_end(args); + -: 46:#endif + #####: 47:} + -: 48: + -: 49: + -: 50:/** Conditionally output a debug message + -: 51: * + -: 52: * NOTE: If the condition is constant false (== 0) and the compiler optimization + -: 53: * level is greater than 0, then the whole function will be compiled away. + -: 54: * + -: 55: * @param condition output only if condition is true (!= 0) + -: 56: * @param format printf-style format string, followed by variables + -: 57: */ + -: 58:static inline void debug_if(int condition, const char *format, ...) { + -: 59:#if DEVICE_STDIO_MESSAGES && !defined(NDEBUG) + -: 60: if (condition) { + -: 61: va_list args; + -: 62: va_start(args, format); + -: 63: vfprintf(stderr, format, args); + -: 64: va_end(args); + -: 65: } + -: 66:#endif + -: 67:} + -: 68: + -: 69: + -: 70:#ifdef __cplusplus + -: 71:} + -: 72:#endif + -: 73: + -: 74:#endif + -: 75: + -: 76:/**@}*/ + -: 77: + -: 78:/**@}*/ + -: 79: diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/gcov/new.gcov b/features/cellular/UNITTESTS/at/at_cellularsms/gcov/new.gcov new file mode 100644 index 0000000000..48ec10f274 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsms/gcov/new.gcov @@ -0,0 +1,147 @@ + -: 0:Source:/usr/include/c++/5/new + -: 0:Graph:objs/AT_CellularSMS_unit/AT_CellularSMS.gcno + -: 0:Data:objs/AT_CellularSMS_unit/AT_CellularSMS.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:// The -*- C++ -*- dynamic memory management header. + -: 2: + -: 3:// Copyright (C) 1994-2015 Free Software Foundation, Inc. + -: 4: + -: 5:// This file is part of GCC. + -: 6:// + -: 7:// GCC is free software; you can redistribute it and/or modify + -: 8:// it under the terms of the GNU General Public License as published by + -: 9:// the Free Software Foundation; either version 3, or (at your option) + -: 10:// any later version. + -: 11:// + -: 12:// GCC is distributed in the hope that it will be useful, + -: 13:// but WITHOUT ANY WARRANTY; without even the implied warranty of + -: 14:// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + -: 15:// GNU General Public License for more details. + -: 16:// + -: 17:// Under Section 7 of GPL version 3, you are granted additional + -: 18:// permissions described in the GCC Runtime Library Exception, version + -: 19:// 3.1, as published by the Free Software Foundation. + -: 20: + -: 21:// You should have received a copy of the GNU General Public License and + -: 22:// a copy of the GCC Runtime Library Exception along with this program; + -: 23:// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + -: 24:// . + -: 25: + -: 26:/** @file new + -: 27: * This is a Standard C++ Library header. + -: 28: * + -: 29: * The header @c new defines several functions to manage dynamic memory and + -: 30: * handling memory allocation errors; see + -: 31: * http://gcc.gnu.org/onlinedocs/libstdc++/18_support/howto.html#4 for more. + -: 32: */ + -: 33: + -: 34:#ifndef _NEW + -: 35:#define _NEW + -: 36: + -: 37:#pragma GCC system_header + -: 38: + -: 39:#include + -: 40:#include + -: 41: + -: 42:#pragma GCC visibility push(default) + -: 43: + -: 44:extern "C++" { + -: 45: + -: 46:namespace std + -: 47:{ + -: 48: /** + -: 49: * @brief Exception possibly thrown by @c new. + -: 50: * @ingroup exceptions + -: 51: * + -: 52: * @c bad_alloc (or classes derived from it) is used to report allocation + -: 53: * errors from the throwing forms of @c new. */ + -: 54: class bad_alloc : public exception + -: 55: { + -: 56: public: + -: 57: bad_alloc() throw() { } + -: 58: + -: 59: // This declaration is not useless: + -: 60: // http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118 + -: 61: virtual ~bad_alloc() throw(); + -: 62: + -: 63: // See comment in eh_exception.cc. + -: 64: virtual const char* what() const throw(); + -: 65: }; + -: 66: + -: 67:#if __cplusplus >= 201103L + -: 68: class bad_array_new_length : public bad_alloc + -: 69: { + -: 70: public: + -: 71: bad_array_new_length() throw() { }; + -: 72: + -: 73: // This declaration is not useless: + -: 74: // http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118 + -: 75: virtual ~bad_array_new_length() throw(); + -: 76: + -: 77: // See comment in eh_exception.cc. + -: 78: virtual const char* what() const throw(); + -: 79: }; + -: 80:#endif + -: 81: + -: 82: struct nothrow_t { }; + -: 83: + -: 84: extern const nothrow_t nothrow; + -: 85: + -: 86: /** If you write your own error handler to be called by @c new, it must + -: 87: * be of this type. */ + -: 88: typedef void (*new_handler)(); + -: 89: + -: 90: /// Takes a replacement handler as the argument, returns the + -: 91: /// previous handler. + -: 92: new_handler set_new_handler(new_handler) throw(); + -: 93: + -: 94:#if __cplusplus >= 201103L + -: 95: /// Return the current new handler. + -: 96: new_handler get_new_handler() noexcept; + -: 97:#endif + -: 98:} // namespace std + -: 99: + -: 100://@{ + -: 101:/** These are replaceable signatures: + -: 102: * - normal single new and delete (no arguments, throw @c bad_alloc on error) + -: 103: * - normal array new and delete (same) + -: 104: * - @c nothrow single new and delete (take a @c nothrow argument, return + -: 105: * @c NULL on error) + -: 106: * - @c nothrow array new and delete (same) + -: 107: * + -: 108: * Placement new and delete signatures (take a memory address argument, + -: 109: * does nothing) may not be replaced by a user's program. + -: 110:*/ + -: 111:void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc) + -: 112: __attribute__((__externally_visible__)); + -: 113:void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) + -: 114: __attribute__((__externally_visible__)); + -: 115:void operator delete(void*) _GLIBCXX_USE_NOEXCEPT + -: 116: __attribute__((__externally_visible__)); + -: 117:void operator delete[](void*) _GLIBCXX_USE_NOEXCEPT + -: 118: __attribute__((__externally_visible__)); + -: 119:void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT + -: 120: __attribute__((__externally_visible__)); + -: 121:void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT + -: 122: __attribute__((__externally_visible__)); + -: 123:void operator delete(void*, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT + -: 124: __attribute__((__externally_visible__)); + -: 125:void operator delete[](void*, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT + -: 126: __attribute__((__externally_visible__)); + -: 127: + -: 128:// Default placement versions of operator new. + #####: 129:inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT + #####: 130:{ return __p; } + -: 131:inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT + -: 132:{ return __p; } + -: 133: + -: 134:// Default placement versions of operator delete. + #####: 135:inline void operator delete (void*, void*) _GLIBCXX_USE_NOEXCEPT { } + -: 136:inline void operator delete[](void*, void*) _GLIBCXX_USE_NOEXCEPT { } + -: 137://@} + -: 138:} // extern "C++" + -: 139: + -: 140:#pragma GCC visibility pop + -: 141: + -: 142:#endif diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/lib/libAT_CellularSMS_unit.a b/features/cellular/UNITTESTS/at/at_cellularsms/lib/libAT_CellularSMS_unit.a new file mode 100644 index 0000000000000000000000000000000000000000..d5782afff1c696e8d771a8a3f8bfe362bd3f817c GIT binary patch literal 168456 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%0D|_W1cs&C$GHc)jcTRu`TCexzi@Gxh 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 GZ4N;Q947L%1~_WXj_G;J>P%!+}*v|UCsvB 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/ATHandler_stub.o b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/ATHandler_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..4718475cbb9010a2125b96e060db067acbccfb4c GIT binary patch literal 82328 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 z

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 Z9zb!AoF0ULd~(tQ$ZmNcRsdoc003)BmJa{` literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/AT_CellularBase_stub.o b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/AT_CellularBase_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..7c1659c0fd3213b70e94443e7f7f2c1821910f53 GIT binary patch literal 29840 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 P?LOjA8aUwKmVCqX#`*a<9bH|^ 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уWkqES)D(KBaa zTXuEK8!`2gDT8NKL}LpF&l;NN*ff7k(#grs&YUv3U~EQ4pMt`|iwj517&>rhcIUpv zAeE?7K$LlUZXTIsbecJ3X5Pf9;ZAA zv-*rGEF3**%;f%O%$n7=@0h~WNis4QVDQikDGn{rWHA_Js35Y&Xxy`h=4F@+_jTSb zF>VjJ<;JY<;M`7m19S7v7}~{2s*wPf)FA_gcD89vo%>m%tCjsxL#ywZDH%<=`sU*b z3yp^IC&iyNzF=y>j8R1e{iS&O_MJ6kKyF^&F4Lx)2I?DAbq=mp3H47|2bnGbTG}pg z)o{w_GVbE3V~QqDo0=!N)=Uf@kn&tG$)|&-Oq-P~fx)x(`|z9;Eb?E?4yr+r{Ia z>$q}+#~YMZV!DE1yTvp`Z`$tsmd>?Tf~Sd=$v#*9&OP%>i+MqfNW z9#f-^etp#F(K8CPw*Z4&;=9n#?2Tt#T_z!#o5IKK9Nl;83c$G6;%<5#9QzVChK?y7#qk>*tM2ilm4(}{Jb${n$8YwBS2$kojaB#fZ7GhI=UG?x z_#G*Z-{e?zkKdKzc)52_-Q#zsI6ikjj^CT&czHf?b>r_#as06TIKGzC%EI+8_b{s) zU!Ql*$IJ78t9yK-6!E`t>8bAV%~BjMbyD5q^?5v;etAA_b&v0mB7WX}9G{uu_>uc@ ze2)~z%X3w$oBr$+$IEA5)jd8Z#qncO9G~v$M5MUg=j6~B3*KX9afN&dI- zuXB4+#n0O1OS%+CN__e0l#MUf8L8r5iuigR4x38l{D9k$D*m^K&+SLsx_IgN_mNvq z75^o~*YAX5dVzFDdagK7wr%L~Hq<=P!m->@))u#WWWU{^dAcUu^u|f%qRGekl%= z`0|;hjek)fe$F(1pnmTLHkI;U7>K{>L$|{%+i{@8m#-Gv_{#$EUq^iY>_V)(tE~Cu z=0N=7e|aUBe-C$vjsImJe&^}le?H>qi!J|u2jYK=_=|C%=c=5@_n1<}Un3``Tk_-ozW#IE zy3POXf%s`f{yVhk`;yZ1OZn%fh+l^IHviuu{vAHs$^SP0?*!uKBR-#h@_D|^|CzN@m;Wsn`;fho zk^PFT|K9F+mxL%`bXj}6ayGc+f0+BT@gEAre+}_3Grl(d{ek#v5PucLACV${3-`uR zJZ<@(Jt5myoPgu?MUU6*oq_mG<-*1->8LP?pYQ(kcs;KUcHgrQiH$$Kn(<|R z_f+Md^_362$9c;l@khHq8$Tlue>>u5$-%Vf@rpVG;4<-173pu}3=ef0Hw;!-7UOu0r#tO-eFsvt-;a>~ zrZ`aA&lLBk$188+08TLt5x*`&{5`!Y;7Z!`K>X-y?^-g{A20FcEs>3%5s1I=QGZ-F zSH8U1w90e6Eff8Q4gRQ7v(s!wrv=hq($Dvl3(;Xp`sI?=rhix<{=8Bje~k%fHlv|| z`0WPxz-3aoZjtyhq}%xN{7UO7`i{@Y|0vSue)_G-+HrySbqD+S(<%Qlq}ceEAikdG z8mGY)zxGO&691}c)z|rf<9FhXPuGfvC-bVuUytLBENXb5Dk|==v;@Z^n@Mp~9G~v? z^I|rm+Z{-C{>>iZ9ap*WO%|y?xfapm_573Dv-aF~C`uphkAF}P5a<@0e%ZEZ7hTq2 lUb(o1Y(>!(?oU2HS38Y=pkt}xztGtq|5zI*pvBX2@c(i^+j;;1 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/CellularUtil_stub.d b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/CellularUtil_stub.d new file mode 100644 index 0000000000..649d89d3ab --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/CellularUtil_stub.d @@ -0,0 +1,5 @@ +objs/AT_CellularSMS_unit/CellularUtil_stub.o: \ + ../../stubs/CellularUtil_stub.cpp \ + ../../../framework/common/CellularUtil.h + +../../../framework/common/CellularUtil.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/CellularUtil_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/CellularUtil_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..ab409525862fd2930c24a7f4441eaaa750454e72 GIT binary patch literal 856 zcmYdHNlw=?F);Q1x3Z0afnl*ekT{aCYVv#*1_nkTTZRcp00B3Ig45wpai}l`<;aX7 z#9#_E5M(9@fY=})3dAs@w7?<^3?QvQ>%o8rN`us}LD?`dejp#_uBA{pAjJsMuTsKa z{ob7X^#A|> literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/CellularUtil_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/CellularUtil_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..4072494b3d9b69f1104a4a2720ed664b526d000e GIT binary patch literal 6080 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/EventQueue_stub.d b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/EventQueue_stub.d new file mode 100644 index 0000000000..1dbbaa6d02 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/EventQueue_stub.d @@ -0,0 +1,32 @@ +objs/AT_CellularSMS_unit/EventQueue_stub.o: \ + ../../stubs/EventQueue_stub.cpp ../../../../../events/EventQueue.h \ + ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h ../../../../../platform/Callback.h + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/Callback.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/EventQueue_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/EventQueue_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..4410cd4bdd3c32515a8c53818c967122da33d590 GIT binary patch literal 968 zcmYdHNlw=?F)*F~cV!y`1H)o{AaNvN)#Ujs3=E7wwhR-H00M3Z1*gNI;!t4>%8?mE zh`|(SAjnJ*0I@+p6o_F)X@Nx;7(iNq)`I~Llm@9`gR)^_{6Id;T}z>IK#CEhzs+H; zaG~pZ&K=DLOBfgyGQ#YDDg&!Id|;Zrh22dvDaGlBL26*;BaA{}f%W7xel)ofKH-4f zrrifXdSLEEQ3-X!*N5K%?o^99l4Aa8$;t@VGFRy>krNw1=5qiIhJ_iL9mrg;+xjoI z+c&m-Vft#Bn}_ZnEM|c9w3PofU=`qgh#XExYQbtI#K?J{c=zQUJ~e-NX4|dUdRzrr z4Uz-F=FEHBs2l#QS_Ge(7NPpWl^LNm_|&N0c2wA+-f8sWW$bN`Ke5Ga32Tha&6TPQ z_{>pO*r}4(dA|yunox5M(QZB642IXu??85OVTlh|c)@6Nf8Ww65LschoTulygaW!5 Z=z7rkAnQQsd0X3k)@=ph6L9#M0RW&Mcp3lz literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/EventQueue_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/EventQueue_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..9e0af2ca706e211b96cdcac2660e376bb063bb39 GIT binary patch literal 5532 zcmdT|U1(fI6rNj+S{t>tjoQ|qh%Jh>+1faM=4Z zb7#&u-}%m*nc0GEPCOV556msiPcz1}JLxw4#D^OX>YuOu>PYyLo2Z`LHx|vOtn^Ua z$mLRoIXSYYmeuvh!w0IiS;-dcWV%u)jU=9lBz3)(sL>F%mae|Oko#B68I=QtQa&Wb z^ko?P_*(RiY1iQ4De-388fxd=m}o;?Yg~-!+Io6N8%hwpp9-O3U<3QPg?D!i4WA#} za_@WR)Uf9ZHOs-C7_BMWaH@g*dTBx1r@t?{s6TMScX)?SgdgJ?>Uf6=yvy&b;X|}v z*Z3~m(5JNx^-g^aoO2v23FAfAZlNb+qo{KBkw=Dz)m;6r=#S&G3&UT0v!KS8NkQD? zYqXYC*Z)4(AJe>M2n^DPsJY`6K9w9{oSP%?gR4{j!mbazMrm6~?v+b_Cw@8H6GJR_ zQ@zbR9-6Rht7KG~QT+7ivq|c%%*zbd9n=0#aeOP`3z{>4^Eh2^dwebOPtaICK{DR) z$YI)TWYhPX4?U;X^sQ%}f2$6Ew&84dzpkEVp5#ekW%z-~?py*JAztElf9Gml`3BwyynWIdHV*cx8XS6uVYD7*Yze3=$IzCfSvy?-nB&F5$lD_Qw~oUE&2n7(=Pf; zuJLTmYv|i)UIU(Ea*~p~og6 z7x-{JU}lW0P3a(vg&8?R@LjG{Q{|8o6G=4mnZ+Wzhx&BNGjgU3Syi3AQ0o-V@u@%S zJI8-Lya^Z~(;s6bjHAUwsZh1ky6=HQr?Dz_;0&|c*r5~i*;V*@esset2j??;Uj}yA z?vH)YG;Gt#=~*Rwo4JzCVmK(b(7DA0j$S#w?H6LbXYQZr|Lyk|F0{uNtz^wfK3P@x z>uKPVIohk%fBnMxgjmH>jC0m4_c|05H*CSa%vCh_qSCeh@$>WB8F*bsb$?zX(NxJY zCX?xGxoA|(jL26iKG?t&t}e&WxsmH_-uQmyzTU6588a7O`tKYy)C5UKDy29E7ppx_ zp%ecXxQYgj_dfDK&+C0VGwhEei;aD^PaYO4t_puRZvh+nUcGo@TE;KzKupVhhKz0Z zUJKu3JI1-c$#y6H#l8(=ut&tRwLjXSR}^6v>P|mhyP4`i)&=2GWftb-(e`9lem@KYwY5@nRwa-70#peuHzzf4srx=Fc}U zxpSD~^Ej6YJ|%AWFDT!B{aeplLAe!}CB)#|V*lin;M{ukGag%Kr!RJ$EsoD(O@cp@ z`|PPa{VfTsp=!Al%GzeGnzlmbjvb+akZnydR_8{j{kJ1H5FEPsa-WsJ9WI<%5WjN1 MT+N18`51Bg2h5sS%K!iX literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/EventQueue_stub.o b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/EventQueue_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..bb27387d1027d9e37fe0013d24553a083841f8c1 GIT binary patch literal 31576 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 a5KvrFrF|s3*$?5vBS;%qz!Y=h_x}J%w}Qw3 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/FileHandle_stub.d b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/FileHandle_stub.d new file mode 100644 index 0000000000..f26e8fe19a --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/FileHandle_stub.d @@ -0,0 +1,42 @@ +objs/AT_CellularSMS_unit/FileHandle_stub.o: \ + ../../stubs/FileHandle_stub.cpp ../../stubs/FileHandle_stub.h \ + ../../../../../platform/FileHandle.h ../../../../../platform/Callback.h \ + ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_poll.h ../../../../../platform/platform.h \ + ../../target_h/platform/mbed_retarget.h ../../target_h/device.h \ + ../../target_h/PinNames.h ../../target_h/PeripheralNames.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h + +../../stubs/FileHandle_stub.h: + +../../../../../platform/FileHandle.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_poll.h: + +../../../../../platform/platform.h: + +../../target_h/platform/mbed_retarget.h: + +../../target_h/device.h: + +../../target_h/PinNames.h: + +../../target_h/PeripheralNames.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/FileHandle_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/FileHandle_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..ccf0fdae29239608f46ba23a8fbe8aa646f21a68 GIT binary patch literal 684 zcmYdHNlw=?F)-!%x3Z0afnl*ekT{aCYVv#*1_nkTTZRcp00B3Ig45wpai}l`<;aX7 z#9#_E5M(9@fY=})3dAs@w7?<^3?QvQ>%o8rN`us}LD?`dejp#_uBA{pAjJsM|DkfR z=NlFGEiYci-ezD}$Oy9ostl}VZM25}l*C)v_|*L5xK%EeW|_aE*4-KS35ZQ6Z+kQ-7R#Mm0PH_jl&+)WD^*()}i;`RT@iUm@!A1=MZ H5k?FE3jSR& literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/FileHandle_stub.gcno b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/FileHandle_stub.gcno new file mode 100644 index 0000000000000000000000000000000000000000..66e32bc500ec59b6722d0b786cf8a2063fd638ee GIT binary patch literal 3348 zcmd1LOHS7^F)-!%x3Z0afq_v1NPMVV?D-6dNFjqG zBMX>DC!86Xp+ZbRnib53h=KSZIfy=p7>LgZ#S9FtjQl`0NF4|e>lR*!au~@d3S_N~ z*6^Q_cq<#^e|8`r=6_^An-phOrMi|8We*$J^ugh0kXt}ug9I35fSjKkx5~xREc16X z8!X`g^0E2Zv^X<8Gv5^$`xefLIXOv*$=RN6Wo53et_%#IbOMQcI9ZUBSdx}sl#7%O z^fEy9{sa-gGyschFc(aq#y@gggW?rAt_6X7SX`58_aB6XAQm{yKT%mJSTs}ZD=5xE z;RE!)H#pIwM0!DfPL69aNE0b`o&jl~QJN<=96)Y54|W%vV3Yzf?Uq+Dh*gDVpyz$$ zU@$Z)PA!Q~%E?d8&df`9O#+!fN_gxATS=SzKyG+|+_WF;E;zv`4rC^J#&C#vMX>$! z+FXOPEJ(`%mWpL0g~58THI9ssG7fGh5(9f)0I3J1dr;m1u|atPl8+E&A}HS==N%B6 z8hHog=8Zs%1i*PmO)G%4#%s?6P#8h;4o227O)IX0qmdRycv&JQE&7UM literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/FileHandle_stub.o b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/FileHandle_stub.o new file mode 100644 index 0000000000000000000000000000000000000000..858dc4498f71fcc54117217392f31f1331515eaf GIT binary patch literal 33400 zcmdsgdwkT@weSATBw=%d+qhxd;j+Dm*F!lE0_8_&q(sjLX)WpYRv3QGUa9}Hk%f62Js#Vb!>AK z=Mysq(H*1GNA-g^+rrgeKEWn1=n zt=nvI+y09l6`s~@sW%VB_k9%bJN&xnQT*2F&COqJdwt5X|NPzWFM0`SxqPJCV10T+ zU89SS`RLAT-1@(|JSLC8Z(MNl>Kj8ZZaiH3Mcn&=7dK7lnG<_pOWkdV{j>d-_P?HT zXLR)*KrDnpV>v}(F`%v43feFjcEqZ_Xw=P4Qd}7!?nV&elz3{T-5AXP- z?aMl9Hzr&lQ|;K{D9NQq2`(l&z9HAa8AlG9c^y`)U-rU;q*9Sj_G_vdN>ap$3 zo^8NbjzcxVmzlB0aR*P1WZ98>LBUb_e>5FzZeP{V-x=<%uUpy|3Acu#-H~w1L3_dc z^{Zmh#j%0Sq0UISZPl7!mVg#VL~U=ZKU^D%CO3vsb@jDfeX(RMYMdEM)b@l!$y7X? zsO<_zBB@9yUb}8p+uF4)Yu2u*4JF}UPzZ_sL~X2dL!x%k+TdblUUTM}U@F>|tj(An zOe9mCHS4>&Lnb!Cm;&lafVywXIlAU6DC~HWlVXn1_kA=*7aK7v}+gk-zgJ z0E_%xdtfJ09Rr0mnLQ+CDZu?Su{m9i~!DZ6SlW!G$`Y}<{LZT~uDpZgJIpFcp^jw8yj z`4?tVwrdq-|KohhZjMm4`#Q?Ld>3W6JWko31C;G8flIKc;G=JVEu#wj-T-)cR6&7v zBEX{xio8XXkMeG$Jm8&8`Diaid9n9x$cqYBJWJVG?^Cv}VjO}OOrz|=C6ry%McKty zP!`-nS;zMvGvFKGe|dX))L$tqdZiwRyWm;0tEk{NXiibVTWC#D!P{s=QNdr(hN6PM zp=m`0@1P~4yZZ)B!LLvrHZ1;{d>K=M;Hc+!g4i(u7!=4nQar|IYXuBK5CF{wp@f{2 zQQN?lebCkxufigWIU-=OyAdl5yo(f%gb+TuZnWPR7%F3)FMjJ92y5^=nD#dA$GQCO zThJ(A@%OM?X3Otmxzd(Dz;cx>{~gOG+wzB4uCwKTV0pGJe}v^`@CoQL9#&dy#iL5Q zt@x;NuB{Y!XF_*7Y^BIs1C?G|33zDjfUS(7O43$Jy`O;SAzK;e-3FCmTdDBwhsu?< zGTu86q;0X4O0N$pTWzJ4~tz6KS%p)pzp6@Xq1l}a?-#^U*C zm@W4FCS8o8<#>B(M$h#>0_9@-g4Q_Y9!>b4&;*=iEeY>I&FJ}lL~+t}(S?NK9Bff5 zfWjSTWS6zVhXQbdcG2TWz;Z#0u>{88#BcRReHhL-lNV#57=^e3$~?3mr}$!Y27PhU zANep?aM~}%NGryg{h}^g`4gx;E()3UuKYid*|=H|T8tMy8No^>QwK_5KCyHxK?lkq ztIYJ`Z6CJ7RmPP)o@C>qW6@)wsTqAVq1L*~srR@LQSW)+R{3#FvR$9)zzS33(FQW~LBz0e;^Ez4Clz zK4N_h*#0K0nQ&tM6%N0j_>UZI%vAVTvtC2n$YWOi*~ovbm0v*oEx@}j&5tA-WS0Lz z^ra>+7D$yCaFsa9 zvyjmTHDhqDe;-*XByq_#ry^c98Yg&Lq{-hFOAv+i5T%R@ly@R4-Wbs)sJx2?rXe2g zH|5<}F0dPx@^Cfqj4LbOfc$s|W%)PaDrzi$1k1eFD)0Z4@Q4bMQu} ze7qn1iZ_pTl_l3&Aq}*Pz#B?e^aMXT7Vj_ZriOfL8(d7A8ocME26pMPq&`2bW8mLn zbh1M)4HN+|rT|02ZXe1+BnR(SH8brx%0KksEo^2vwLPOw(O#&0koF&zdC0>%+~T`1 z1gslxL-$^TAZ`7y1OtRy5KI3qb_s8UGjzMETJl49e~358nrwUeB#rI?p>vlaw*N5W z*!?KZHr7ATe<)X?6RdzR^&anLEh|!(bgUn5S@90nxox#peHr5vZ+gip?#a^#;w`W? z)wX%|0U+b8ac=V6_W%h$88VEM6OZ5g84&T~GL#VmUHapegXMH7;7z}cM2s)nak60? z#WWrUSQ#`kkRQhFqWexfAh6!I=sASqd4cr~HL#*~Vu;}pLWW{B%|bKA{U7{Bc069N z+9=rP5_JmAvq;8c2gexO_)Teyrx7C>pPp`vtEkhsG=S^eya2Ac^Qb)k1LVLjh&f#E zN&|m}%7U^AGYzI?@Do4_e6yjPuGlGS;Vi%qpTw<^zcjFuWZ;}TFMtc_ya1MADuVJD z4?JSbd|dj-{eX8tc|I zEXXgV??t$yltjB_sCc_y1-3Wfa|V*I;JcyMRO0-2BHYGHnv!n%2Wa-LYHC_ug7}e?>0b>TlPvA&g4mB9arI5)@UheuQ-aU zSQ(#b3Fkka*H(e(gle#+7MdO<_P{E1B3U?*Y{#w?&Yy_9N2dX>%tFVcA+W$g$JQ9= zGBvXuJ}wPVGuYSo(p@@^j5y&~P>A+dp^aEfV?u{GOT-jam#WScAXB1M1G)(jX^J14_r)5}z z40yS;RUk`ChJ__81qSXSGAyeB{)UNG4ak7w?*_As+L|Z99+(v&(UM0c{Gub3bPYn$ zDPvLB&r|fZsxB*!z_Nl!T~-OH%Sgo-}Z85kkm=*&}$RABw(&A7g(i!U72sJR%d7x|oZ8xmm)E@NM_K76gYRmIGQ+<)- z%)aPC8=9l-RR$IRtH!%3u*K(t!8H#2dT#h#;{_h~&8Zl{KkOml)C!+p3EJs-zNzDV zO(UCpm72^PNw|jywIc}+d*0(YY<UdREz2V$Ned*HYx)3wSifg9={3fxe)+&2bn zT^~+{qk|@tjP;n{`6HkAH^sx7`l8(}gQhDION31@(Hn~=J5xO-4(|iNh{fYwy>Sz4 zTOEwVx;6%rCJ{~!5fn~H8UsVEFKXqHhv_*)u_8(Pjq&kCb z!KTK>QyYVI!CdXLd=r7N#hA*e$#%OgXo3SV45DOg6SxdwG!YuK!4ib=O+lRWL}DTM z2A?9QXjMVeNUm>b&)uyh4bY=VEV{mmzOuqF5e{#JC7!o@RBz;PuPhp8Xii*JP15+ zC7a7LYf#1$2X|^{4PR6}@i0U(%tOJ!P$UI&WG+wAj0+LcAMVFF7AH1?o$94Gv1q-v z)3Fs|<1!pKxW2-0;x-%?Cgctf}OiEp$JpE z6UI1+CV22E7@(Ih7n&3hW`mkbQn4f~0?|-Et_^hY41$Cj$DRG13B2$U24^hl4QRFV zHHCe$e*l`Nd*{Ai1}E;JZn)t3aUsHW2qp}ib*XjcN+vPj!celWi##<4_98uCjP(O8 zE6NS&!GjrKXsEs(Ru{ZR=@QH9I$SXznqWzYr01>$bZMlmZ|dpBSZHb2Z_2f=paC4Y z#?6+H#9@JMk`IFeq3(KgXsCOZ%}%vhgUuSv<>?97*-p*Jg>vrPjPn;7YY$Cruz1=y z9i&S@<`tavV9pETIE7#lO*;EX8wuU96t4Z9xGBIrqXeQmRE;zyE$u5{u!OFB-UQQr zsH->sbOVtL(-cGp&55{)KySm<(hZljq0I`d>UIG!mpeVThGMkxxWh#m>NfTDZoi;+ zLw$5X?pAq3F85SC@9x}-9bUbgYaM{tQ~efr^Q&7v#QQm45sKDvp_=+ z%-Yz;ba-0dqhl$KXio*5#zo(DDQg`G#vv>-ZK2uJ z8;*A6o{j2fL7)X?JX@fOYfl)yVA8-9k+xf~?B#YTZUj*@KC#8+yni4R5B5ZzOTYf$^EfS0aH;h~ zO_PkbOrCCp&&EN=wF9*UyTg%W2y$5dK-FoqI75N9rMv+pcTl%*z92pu!)b?Myh_Vp zS0t23;QHQ2i#%-f`k+VfF0A3}&mA+^oc4zLqJ~0^!T@3vFJIog!mPpLkmn+_`$3FH z+li(I^jIpIN`!IBf#AZ8Jk6|^B;YOqPCFJao?CVDx=z?HrR*9$vnfTj`pfH^YU&zl z8m6hWo$k=!5Sx;B=~>1bD)WvRGb*qHZUga28$E4Q2!*crk|UpKg@JGRY}uZ)AXM+olaTO^yO*# zhfJqa7om3%+4dj&fQe3Fgx;N@&u4lyG70^{4E;i;(^c~ILxI7%ds^308Ws1$VK!*GSjArv6m&J>fJK=-;9aw>s&3}Rg zo$sGP8Ts28%jU0kIBoH-%-_tEY<{}Jm}0X^7)X>qo6&6lOwHoON(=MX<>aSVh_c#j zV19}{posjvj0-bVDLu`&@Jap`#-%^PKM@Xo(EciJFZ>G_hXYzlf@8&RuQW?=zWru~ zQ_B?n_C=u#z$L$_8G#|-H{zWPc>~zvgVA2eko3dy*Jl{Hgs&!g&h>J#!{IllIyGB- zocZ@LMfl$kIqWdOr~0k@W`!?jd|2U|7~iMxn;FN$I!q#epU7AEZ$!Sr$H18*_IIDc z>lg>8X30OB@n(f1lixI0X7%kiO$xD9zd0=rjbw1PAvHlQJ(A8+npb1)(s>c}^tP-I;`E=52Yh z6DK?~KUcHfYPjCUIjhhV##R%05YJN#7BzoK>&+>3-Mc7$MOfnZV%;a2><}ayYGd4t_3l z_=n$CelQ(}2bWIjlKbMs`LJ!DK98CB_n z?Su6@^Sta}Tn$+lYi^_TWuKcXJ%OCR_Uw^Q?=U>qw&ld(3^NoQfIqMe4)(>9sSqBO zfQWi{fC8tRq0YX+`dM%iHrU^1PZ{XhU9d0O6CdI1!17CW%KgZ>4o-jY!1WFX4{{l^2OJ#b591f4 zee{ic=WIIvyw*yZ!2LaOAJU#*l^`+~wcn;K(oIvCqL> z{sRt<{LS#8gpP-VWS76n!I8fmnIJVgxXa(+;K<*B%#em1+~wcn;K)Bf+~9u)cli%E zIPwoOKN$_>5%yza#*u#q)r@I&a94hZgCqYg<{x%&E)r#{!uK)%4uz9pK-;D8W*(0{ z3Lj?t4u$Vy{9c6{_R9kbZ)SX-!iO3EslxX$zF*;n>(48^nd@cTZ)}c!yOHa9-Vj{# zUzdkp@Ucu6`Im8>-Yti+##8KSRk$a$W8(#2&%n#aT*%U&!_9 zJb0VJySctL53cQB$$Z*=!RfVn;1PR7uJ)VYTK@bz@&%VWd6B<_`ImC8aXFC`yn*?u z6u;owpQkXN_NU<5{wd6_{UdmQ>3F%F!)45>xQw{0H3-SPuJO7&{4!5#{$_`NIhQeO zb?_AqF7b?VWNeWvwjnMtiFgNoK|)-{7VEwE1qtz0RI*98bHxQec5{gbm!Z)D-kZxD_t?>Fdrh61#$a=r6@U6`M zu)<&AKzLN)A2R+^g~wUWe=Gbn9>4<%{~q`2w+cUx@edUKzu}w%)5i*bkM$PwIw|8K ze+x4~;jQe4NeZ9O0a&AO{7ZLCa}|Cc*Ow~%c9wIN!oSJmb+N+Vwc^bNg)e8n4J!N! z=D$+me`dX(SNM;)zFXmVj*jV0g%7cRzN7Hh+0TzE{1050{fzj(knMk2@xRLBEA51T zHS2v>@t?&0w|{sCe?qhVgSpM+}f0pIWQ21kfUC&nde#ToA{v6|H zDf|`2g9?9*@rc4d=6K$$@I~ymYZX3@`*pLz!#wU^Q}`0*zhB|A*bm=RIR1qZrk4~x zpZ))Pg^%Wby{+)iust6s{2v@YC9Frr>rS?Fg2Ie-JZz1R6w_n?C znWGhc43Afx!sR~VQwncl{!0{I&G>Z+AH(+Fr|?Z|_tOfW&vEjW!hgW{QJhP^{>c5B zsqjl#?_!02h2^eR__vrptngnl|0abeSnqWTA7cKmDZGp2KcMiJnEz)Amp$2E6@EL9 z`^O6Z4$B$O-1tzeM35@;ZI3 z!iE2H3cs7{w<>%d$JHGQ?_>LatndvyE>9}_5w`ywh5w#$+1H4ldztS2NZrJ*I!mR{>mbzUn%@y3mf~>cbWBNGV_kA zc8bE=xV}W;@30@1EBt!4r&rG?<=w4I75+BI|K}9`XO6=g6+V{h-%z;7|CYkv z<~Vs$;Ssj;8HF!ne}1U&fAIL0^Z1LO|H1KgoWf(wKTYAcaDST={s`-vr*K)j z6@D4p|AE3cu$|r!)?OKxt=zAp6)ybM3O|D7&Q-X?$s&c1XFD%excEP;@Npc6n-zX9 z`*T>~%UJ%63jYkp)y)bY!*Td6g}=snA5?fN$KlTvF8hODD*V%I&j$*>m&dV?Uo8>; z&*gC`Q+PY$Qxz`z(Hey(xL?Z@ehJH2r|?C5U0keik+VtRXR$x8R=CVlpHsNVxl`e7 zZ09`+|2Et6kizADd!NER=KqtztJuzBJ{T20^RSp|g+I@7PE`008K0-{#~5!{cqxzX zO$xVH8~m`3!tr+$G5uKKZ&}#9s_>ocx6ypiC;hsBi&qQsHuruq_Y1SK;!8_w3FGKq9x9^zQt>~F=8kKZiE)m+*rG8AstimT~kCyO#J*%fr7|;X#h)vmH5HBsrHTe$o4H3h(0U>n2Ce zQ6#~B-K+RT&ch0SiRJ8fKxp?j+!0Zyn(Hzj==hiWa>U(nl%MlJ z+#N4@?uxiOF7r6Z5O@8*&cR(jM;+Yt=Vu+<_1i5D?)pcbd!k;~5C6;I=OS)zenLRZ=0IL=6-nH7;^YSV9I-?6c0y2HSkx=NmE0`?hyPDYE38n-Kec2 zDg92c`wFkTT6ze!%zLVbV3e0$55bmsgZ2=NnfKHW#VD_;AA(O_6+Q&ph}Vy^`SZWi zoXt1#1>^j`bYok_V>os&R=HpG)l50x`>n|c$@vOzJ|TyC{Wgc(LpQ<5#20php?EyB z8RC&TC~+F@Os%IEj!jKBl|!AK@$g_4IRw8evOX-KY}s-^@EcoUkpkC+se!-w?uTFH zF*Q;61&|u}l@a&_5cow9mL2X5_Qdh$DQecoV<}l&=*s?NU+2PoXx99}VwyP*aK0Gw zp9htYl*crm%{&w{$>l{}yRt<*ZZ{hGsQ zzavNcvk#-a?0;PQ&pC|tdvfTKX5=1 zs;7K@ zgk1gK!TLM6A@(2Nxzzga2P~KVTUo!{r?Hq3{{IFLa_N6FhklH8t^cJw`rl#wa^IIv z|Fe1Yx8q_7se``Z7g`}d4nA5x{)ZU3`oEShXk4@0r2UV7u#>C*_vX-l0`O}6r{vLp zE9;m0Qn5knKMC6B(qD#)J){o$w*9Y$vev&QkN&q=|H<55GOd4A9{mHX-@X1O=g_|; zkN%_iW^S4&=3MK)Jdgf8IrLA>q5rNt`j@c&>O<)NS|0uTbLc-Qhkks%2>*;vb*z{5 z%Q`A%$oNV9Kpy>aa5s#?Az}QZFQvV#AH|?ImwsW?<1g(|CZ7spPom59W(NAFiXjtcL}gMPy1GGuh$#VFYTA-vHz!RzZ<_bIqbhOkNyr;gk$ce zDz^gV2cbPas`M*dp1*5*bsf)9a{2!~wqN{=<1cG9suKLiV!zVAgB1-aTe;cT1L?oC zZ_DGqJrT<>o7*pjYBPMKy~IDB9e{`t>G^&O1r<@5Lu0RP$Ce$qvBt#L@e(NFmPYGG VvQhyEwC4x8yLcZ*Abe^4{}*qK3fKSu literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/at_cellularsmstest.d b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/at_cellularsmstest.d new file mode 100644 index 0000000000..2c8396526c --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/at_cellularsmstest.d @@ -0,0 +1,4 @@ +objs/AT_CellularSMS_unit/at_cellularsmstest.o: at_cellularsmstest.cpp \ + test_at_cellularsms.h + +test_at_cellularsms.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/at_cellularsmstest.gcda b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/at_cellularsmstest.gcda new file mode 100644 index 0000000000000000000000000000000000000000..9fd2d7c22f6933bf2d878f7c1b12e33e3e5ffa6d GIT binary patch literal 5904 zcmeI0c~DbF9LHZs3K#V3hWFdw=KI^ve&1$Z zmJN?w8Y6Iaa#6i3Nuekz-%)dGQkG`z=1>$%)3(yl+%(t7x8a`{tnJr!zY`?vce*GS z&4Bcn^hLMn%T)6Rh7vG66h)V6@XW>2Mp~n*ZG%3(CI|B>)PAN3EV_Qg1R2Z!ph91K zxT>C_@>ukEfDIzh7DVr7w-!nbk}ow+rL|$hXhF^YQS)&A!{J#L^ zZ)s%z)SbHNsU+Nl+xJwrEtB$KE@~3W8NY?C{Q>UNBR?eJZgzVlP2xL^gt@>U8i8M# z@%`i?JHc@hZbM4!j2`)4Ct)t+4{b7jEy`DNXGaX^l5mS(dQq- ztx33L;WZ0|exuuAE@~3W8NczeqS%2L!&nk-pTgIyC3wgP<^q3c1b&_4g9S#(-3Lgx zV{)fXyWE@p2J#L^?=GY6FU0pV%SpKT z!lH5KXC3Ab()`X?qnOxMSX%C_?^|#IX$>*&q@-mtzu4S zncV6H%tcK?Ipg&ju}ayU8XT?X-M-*Ces#qkH|>!Fm=Q-sV1E(z_mqH`Y~ZpVt-; zilc3`Y5uCr;lOSjZO+^uObWa*T}XU5c8R>DEz&d`-lx190V6jyKgH3iCWS51arN1R zqgAkL7srif^GJMD-?NY^l213_@cL)&iwx}m%mnr7ARL~}!zB^cve{VQ6=j5{agR^m7MyX940#!himL7;@nOB>s6S_cUN8=? zsntfT*BQ4LN4x*J{fa{BaXyaLRMzs7c8x}NbyWja7^wXvE+0Wv>V&%=$0zM9ZVnC8j#+rp|Nc@)8 z-FAzL;6KOVtqfH82I&ln-)Fy8@=d%tUC{R(yk7(7rNBFygMRQ#YUXd_Zf6;;h35!r zKm^+CJR^~SD?aE^Ald-V?0^Q1phn*8qNuX6k*9Z9ScCo3Fj|fL-?LsOd3$5lEyVtg lBG9?K9iHPb-vLIO7HvE2(v`5r6YHG{XdZp847Bu+e*+Z*oEiWC literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/at_cellularsmstest.gcno b/features/cellular/UNITTESTS/at/at_cellularsms/objs/AT_CellularSMS_unit/at_cellularsmstest.gcno new file mode 100644 index 0000000000000000000000000000000000000000..ed79477a0862d569f7a4276a0d19dd5283053438 GIT binary patch literal 33964 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

%YN6zBAS; zx>)HOROk3RG;aDAQG2!%H)HvH{-%fi2VC^O3mS2I<~yUWyZly?zkmf%9#rSIc(mW2 zr2bo=y_@|<(aSIkNgn$D-Ee6A|K%ay8D|?VqxPHyxj^}O@P8gR`>&w(Y$tBU^7(uP zw0G0L(MA9Jpb@uczE60_ZzcIfEQs=;IzJZv&*P^5{v`Du0PWrM-{YeH10Y-Lzsy6v zGu|pnSyby_v}6n4@Mxby4cSiIjOFwBW)JdULZuZ}tr2al=?`Ho(7yWmENUi@I5BY5*KUe7+ROeSg`(A+2ZI)>5C)6Io zb6jHi4C3#`xaq%{^v@x}y^uc&2e)VY-$ME`Kh86$;bOXuX55Y{pTYY{Jmj~L{1V!S zqx{F<(DJ|SA%FQ2E8`UGoJd;!V;=1{<39@^mH2JWpSt}n5B-DZTFN!z{?{I0qV<2? zL;ia!ti+-YJo2uKRzG#4oQ zxjp0fe`3VcFgdN%et&nSv^n>m(VoyAU9^A!%J)=TNsZJV$L}X_aC@GAuzg6F`^aKc wy=^}X_{(I`7=q_ocdRYiWNG+5%+KKTLpZd2xc%oYf0u3l)D)ZZr>)* z2_hIA8Ck(JHo}<^qz42*=CFWS&S3Q*K1dFvml4WlV1TFxiG$R_)Wi57bs)^Z;L6Aa TBtd3?07xF>Mr3z^`~d?1)MOL{ literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/main.o b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/main.o new file mode 100644 index 0000000000000000000000000000000000000000..9b2bff47fec1c498a1ba1411bdb2cddb1a022310 GIT binary patch literal 16304 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 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/mbed_assert_stub.d b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/mbed_assert_stub.d new file mode 100644 index 0000000000..4ae9e6929a --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/mbed_assert_stub.d @@ -0,0 +1,7 @@ +objs/AT_CellularInformation_unit/mbed_assert_stub.o: \ + ../../stubs/mbed_assert_stub.cpp ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/mbed_assert_stub.gcda b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/mbed_assert_stub.gcda new file mode 100644 index 0000000000000000000000000000000000000000..a497e30ff5918c8ec63c16c8417bf5ece4ae9dc0 GIT binary patch literal 208 zcmYdHNlw=?F)%HEy0VRdfnl*Kkf@)gwBi{f0|O8-)Po2hV1ZC@S{lm7MX^KmAFoA)yRtjm%*^7V z@)1bD#s@(Yi3#z67(bqTlm`j6zWE>t4?ZaIfkYEL=gv9ZyR$=#%1LMLIluFH z@7#0m_UwU)mlK8|m<+K;v?NA_nD1-xdBx_%ID~}sz2|}JHkP5wvUlLs z)74#Z1JR2B(*QBXHDRnWp6MU#GyB)~uQFEm3_K1wEaRmivwuh5&OU_l>#pt_G6tcH zZV{s6gNb!8w?{=^-#Fmi8-UpZAt2*Mfk+P_khIqVr|eJ|=;M7ukokFd)O_2E68d^@ zr8pi@_S@iX7=QM!gtuxJSX9HZ((s3C?hAomx$QHQ=I6t0ygWG3fY|Z+De75BR$utifYA`!XBGAyl?M>ZTpR)J#OblMz)UF8C##* zl0#|E@x<7nspROEEy)opYh{uzWQKE@T;|1Osuna{xw|Y~=~YS~I$mjRcXN9#mCGhm zQ?)sY=4Gi*kfhqo)g=zwU?hBpF2U&4fP!BOdB`k}Vq1 z9#@&;5Uf^Gw@;EH-2ZGP#4!!mch9tjbB`i)L&GutO_F)U`0DZ@oCn0QR{pNM<8fa4 z?&KYbIPSt*@F4MyVH{6?q&49n7$;HSje^8^LrDmIJy$XaBd;gNIZZmgeWGy=lAi6G zB)=ZP;Q~?wN2DUQ|B&P}5qy#44xo-W%)!LH!}g5tCnky~3CC}R4^y5P z#yPLB{8P2SDZ&_d;W)>fC##MX$Yvlc#m+c^BdntDlZ=gGJD%s90-zphLql0?l%bDi z>%y8*yi+WC@+8LzAaHXgs6tq!daWkmcaG)4g=N8|2p1MyU=&Es*|VNg zlRU})F($zm*OK=&hsqPf`-pM0)oDElUGU^}5cnT^LSUNk@P2_GP$a`IE=615jWMIW zcTQ@4)bG&I`z^)NmL7?!Hy-DOkt(e~m=} zwf!>;GW+rPg@&O$(=X)DGLP)X^0&Ys7Tv#h$p07{(#Z2?_#0s2)~^}!{RY97{dryS yevbAo#{QE0e?UQ_X#H`uqj{cwO5Y;~_(xRz+KlGMo`}o8ozBlsFqlTs{C@-fHoXl1 literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/test_at_cellularinformation.d b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/test_at_cellularinformation.d new file mode 100644 index 0000000000..2f3b3b4102 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/test_at_cellularinformation.d @@ -0,0 +1,87 @@ +objs/AT_CellularInformation_unit/test_at_cellularinformation.o: \ + test_at_cellularinformation.cpp test_at_cellularinformation.h \ + ../../stubs/ATHandler_stub.h \ + ../../../../../features/netsocket/nsapi_types.h \ + ../../../framework/AT/ATHandler.h \ + ../../target_h/platform/mbed_retarget.h \ + ../../../../../events/EventQueue.h ../../../../../events/equeue/equeue.h \ + ../../../../../events/equeue/equeue_platform.h \ + ../../../../../platform/Callback.h ../../../../../platform/mbed_assert.h \ + ../../../../../platform/mbed_preprocessor.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/NonCopyable.h \ + ../../../../../platform/mbed_toolchain.h \ + ../../../../../platform/mbed_debug.h \ + ../../../../../platform/PlatformMutex.h \ + ../../../../../platform/Callback.h ../../stubs/FileHandle_stub.h \ + ../../../../../platform/FileHandle.h ../../../../../platform/Callback.h \ + ../../../../../platform/mbed_poll.h ../../../../../platform/platform.h \ + ../../target_h/device.h ../../target_h/PinNames.h \ + ../../target_h/PeripheralNames.h ../../stubs/FileHandle_stub.h \ + ../../../framework/AT/AT_CellularInformation.h \ + ../../../framework/API/CellularInformation.h \ + ../../../framework/AT/AT_CellularBase.h \ + ../../../framework/AT/ATHandler.h \ + ../../../framework/AT/AT_CellularBase.h + +test_at_cellularinformation.h: + +../../stubs/ATHandler_stub.h: + +../../../../../features/netsocket/nsapi_types.h: + +../../../framework/AT/ATHandler.h: + +../../target_h/platform/mbed_retarget.h: + +../../../../../events/EventQueue.h: + +../../../../../events/equeue/equeue.h: + +../../../../../events/equeue/equeue_platform.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_assert.h: + +../../../../../platform/mbed_preprocessor.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/NonCopyable.h: + +../../../../../platform/mbed_toolchain.h: + +../../../../../platform/mbed_debug.h: + +../../../../../platform/PlatformMutex.h: + +../../../../../platform/Callback.h: + +../../stubs/FileHandle_stub.h: + +../../../../../platform/FileHandle.h: + +../../../../../platform/Callback.h: + +../../../../../platform/mbed_poll.h: + +../../../../../platform/platform.h: + +../../target_h/device.h: + +../../target_h/PinNames.h: + +../../target_h/PeripheralNames.h: + +../../stubs/FileHandle_stub.h: + +../../../framework/AT/AT_CellularInformation.h: + +../../../framework/API/CellularInformation.h: + +../../../framework/AT/AT_CellularBase.h: + +../../../framework/AT/ATHandler.h: + +../../../framework/AT/AT_CellularBase.h: diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/test_at_cellularinformation.gcda b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/test_at_cellularinformation.gcda new file mode 100644 index 0000000000000000000000000000000000000000..6cc357de47eb38d6b432ad86aea802b39642ba2f GIT binary patch literal 2324 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 BcVGYj literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/test_at_cellularinformation.o b/features/cellular/UNITTESTS/at/at_cellularinformation/objs/AT_CellularInformation_unit/test_at_cellularinformation.o new file mode 100644 index 0000000000000000000000000000000000000000..0e7908d549626b9824b5bfbb96f7fbab05e25f82 GIT binary patch literal 97856 zcmeFa34Bz=vOj*#OqPMLB#^KpNdVa)6B0H7gAfR-k${3AlVmbkARE~LMMS|R5AlM# zUi5<7Rj&)~3ocP{_qp$S6?eUET+!=#h9|5 z>gAj{IVFGIOpk3_`m(L5Ryd_m%i35RM)L^Hv({Km#5)MmNIjgxp%4z|_(%>%bC|_p zHitPJj^l6whm$y*%;8iH^Ef<;!xI=dnvso|A&Is1|C}(LxJI-s7Jt*|Nwd4^>M0+1sZ+`3SaP+M=R@Q@_~hfu^?JzvSNs50({di5rYP zUC^5UslP3{%6BItaZ}rbdnq#Pd5EV!v@gE(p@OZa@Ba1RK~hxfvjweg%>urSP*Qsg z7oebmt#=UL*3)+a`!rJHJ*262L|=fsP(nSG@Tz+ukCV22AWvz(^^xed7HsiC>+{{Gj#~}m|Nz6Tjq^sgIr3U?v|O1NSEBRU`rZx-=>FQNK^E)Sut~NE7+3%X<5No zH4eIN9t~Wd4MNsf`V?A^*5Bu8Zuyjrx(yTee5OW!PkE*?qw_&SOohc@XnkGVRT`56EI^D$uc=CE*cQ2)=zfcpzChTMIVsmvHI z?ct(Y4Gi zvpEdiy5LB+%;qxS^H}Sq*xpdCn}&n@&(h&*cI)04Ep)Zqd95FOKL3C3nhCdM58?=< zfqlXw7cgNFR1pabv!jSJP zPrG)~H7j027TT1#@Wz6lJ8R{TGxxlfczOA)cOpG57E?P|(OhqjjdRCmPrY?d8?u2{ z`d!y)uUFKLZ$7>F?oC-&VMeg_-*sJhU~}5;ULW23NArIltn4;v{ZBXDe?&1JsaTo6 zt8~kH`Lyc}Z+WXV`@n;%PQk1LerNsz!X`>pn`^AFwra!dMCf1mJ2^+_&wI=1(rp=-uPBXCC^a`F}n8f<+Bm zo_hL^>MxYnBVprRr(XO=%fEG(ow)Y4+&`@UC)e)mbHe@?|M5rr@2i@pi@VP%nD$5g z*ZBMwmOoXu@ZU>YioV4D|Go3q@xwk^UX*jwtAAAgTgnGzzx2wAhySSmz&ihLyy*1* zx7;UCcNARj6BM+210dp_!;_C3LYB$hzTE%99f?EKq5X2(r>Z*=ct3?(BJYQ^J`by5 zt@%Upw6F8zkG7R1_^7PLNp$R42fMM_4YhUBPi`ZjL$rZ3Xz zPEu?0{?^4`#MmyOp*W(qAWQT90;v0cSB;ALy zzrFV$T+vO(Zl_*vzeo9?KRUlTE*`C2*gj4^=krGN3^v#;A|h1Kf*sd_wE~^49!sS)-ewo*dousU6lr*SqqP ze}6r-?V&be^hG}C$n8cB+6MI#bX8NRu_;i}6bOc@tDCD!8mel`>l$iGnyTt*M+fWc ztqJKdH6INu*^pfi8(vsk+(Un%9uD;P4Q(0FN8dFl+ zw5p^z%ReSqRo678rZiMGs;+TNd8h=d);LBtX3XLRvllJOFIrSIrlbk}$7nui5th>D4_q^7d-uR!r)-7@IcgI;@#l?RYXZTw)A;zWikd}S`{VzwE44%Q%z_;B68_wo zRn?(_lG?KBP@u7?xisG`U-tM#=ow@C1tZhKDSD6OqoWGf{gTH=(;l5Cbb9>=5aIFR zjaVzLv8l}JY4w7f#L?l+gbr`c2STE+Wi=p)zBRijI4K2Y_C(*QqbWFT4h5S66l`vy z;Ec;DXuXGmEzePK&Oa#lQ+x-^zAc-Aa~D!@aU%tno1G66|sc6YYB_^w}p-*ulP(!jATv5K=QcW+f)& z<-s(Rn6%}iP8e*ROQ~~8DEQOK6l}YUg6(%xaPCVKoc9$4=XdOa`7St|f(s{8a8UsT z7uQm7$$1o9dOHPwewTtBKT&Xba#zg0(@(*!`4n7HNx@a;Q1I8AD7gM53T`++!A)J@ zW>{j1gB09$G6lC^M8O@mP;lqd6x_8X1@qm#i-LRFD7g1s3ikX;!F|KJ zAOrK*2MQ zQ1GAcQShvlius;9jDqKU_%E#X5ZA8g3VbJoIZzwGnZ3vRwD&l zE~a4Xl@$ExZVbB4eTjmF|Ds@VayEj?4yR!GGzv~AreMVe3Idl=P`n2M3&sq5{rz)i zRKJtZ;hlkyO7y*oV<*w~F%FqT-#>B0B>KL=fs*Jufa4_5_Z<$OMBl$~v~(=1YO#DD zpghdD5o9F201^69V<~x1V$u()(`@cE4|Q5%%E-@P0!&O9^(_Q2%HTk?+jtl}mep<2 z2Ova6j|fMP91I<(&^$z8q`((Mz+c6Yzw+4NP9Wvs6yC~(6tQ%Ti?6C}QU=m}6B-EF zO83neWq+6KQ`ilNrTFq8qsJy8-F&H~fLZAEz&tH0HAp3=HiT-d)H006DS@e>d64Lq zoVpU(&^;>tRVdR^{M8uuF@Mc^#ovN-)SlvBgHh&Ri*X;+5+TmE?gmJtVZkZBuP}qfR&tNIGoXP~WRLk6<@f@O`#|;p2uW;@qcPfZXpd!> zaX-XK!q6VepM|)RumS~hJb(rkr|@FLeJWmxcqbJvM?6`@E3tm5Dqe;09xA?a4v6ms z|KRFzatS3cx&f=8&{Igay-@=ebbX%@5E;U?-nbaph}2h;yjIVw9%rMxTLJ2u)#IFP z5USGtWVB$L(Sq&B$}Kn-<6P_WFy2e$JwF@DO;_;?Fz-+mzYyaixvm!t!3^?0uw#v1D#yD;? zD1%v<#YDo*ha%xXAHtQ{Ks4NuMAN>cir_Xy)nO3ovCjcQRiP(QuT&z3<2{ow2@S@* zlH#f-F5KA&->Fy?Q#JMJb;yKYAmC;Q(!x^yOj6!(q)?3J4=xaEpk)0_Rm5FWlm=}t zb`0*Mh{PEJqy^kqsTz`4Q%z?P18%vL;!RpF5{dh;B$Tamr7BWE+0H@|*#fy(OhWU1 zhF(xyw-Xm`-6WTyHxV88bfR`iBuX*05fkqC!ZkGMbwtOlprRXD?;{d!52HxUq;%Xe zh8@4^HFDQ|E<;nst)!|MwolDieXc>X#@%JOI!t*4DY)T`qMV1)a1RcZlY2U3FSH8RNIT-J!B|G}0_9?O#wgRsT%V zFz&Ib)~usls0rM0hc%(5W~KJ)uqfP#ht*+{FUH)sLzlT#k-MnKf!%DNC+dxn42sm>Mz)L!VAC9)mE9sIQFNnkKek^0 zqr)SbFv;xOFKt``;wg=!!!!>Imwvf;bOVis!8Q@?m*bN#u7+;EJdCU1+HWSt)e!AB z3*%~7_A9`+8kYTLV_Yq-`pv<(T3+>=i}5^F);x?CsQ7%`RTirF0*oJ{;)NJrsNxGT zUZmoSFuq8|kHt7z5!C+#j32AwD=>bXikDz~iHZj?zEs6S7(ZUcD=@xH#cMIXT*d1! zeuDBN{nlfp@r;W!Op~-Vf{H$+3!o`J)bq#z$bf4y08$~IhD&7HRZfBwZ8*ECl~4by zZ(z|xi=h5~Tn4J>SX@d`^sqd1P2G}Fq-AY^Z>rURp16SIcrRQ%@kz&k-sQkE3YmLf zNO^ko-hm5L%GUcbjB@;PT&k)L?tKN8k_^?o46qa*F8Zjxxa6ezB8u_|#bZ4}yQ@m} zs>O;?ebeXT;Q*v8t2n)W7BEu5>8laucmr;`m8GONqH30K-liVFPkAR~41GoC%@{`8 ziqxtyD`Pk+P|YnFBQPFM;xk4ew`xnqXpASrAyB!MG3G6ZD`U;@qnLEXpN;Juq~c>y zw?k8drB+5RMzf%)3n5#I4+V|JrX<@Lliq`+El?qmk>4HSD)UToI4V91S$vAASH_$f z4%1w0BxjiSJu;~b^U+3ZrE$}y8BIG1g(~f4 z%s`oH9A*@J1#vYFGZtV23REQuv6G5b{Fo$&x2gC-jDHGRKnop-wN|@v)EuCn003Sa z&VqUmAIWF>iT*K&*a;V2-W&A@SHhq1+cO5zx$yBLFH`0-l4M>4~kLEq$R9$%*UY-T`zRqKPNQ z%>q6ZKPfKg#Mj4FVgB*RG#I}UPmbFSxj3;Qj(Tna-jVK=cxqgBA5A$e&Og>++Z5Lq z5i_eEc^6Jqc^a^h*?d9ndyA^jpL9 zqiFoumjLZ5O;`F<@{d;Zdw{lA(@puy6#WgLedy3h{v@j3QD6qJV}t_je*@hI%2ahU z>M);p?EXL-iu4Dt4b-Qq4vQ3h3eXB7>8gz5iH@ViE&+Ol=CO{TD%7j&n*cU!aqLWM zGO8i%O3)=4V0z-*^8VDqtxBpnSOe+bCx zoKTUM5jhB?T8F#}>!`FCM+*jf6VT4lbhD>Z6#Yt|-K6PCyvpBS(H{ZYvksl)t6qpB zOIr;E+MfXZn@AodqpPyUL{M{Q`1sd^tJg!3G65dykd)+pM56wk2BcXI`3P)rqF?1) z0kE1rp=;=+unw+!= za~r;;71Ewhfc#A)3;32lA#2(yz$Zh*ibL<4nLYF{%bJ2|^=(t!L*HICDfluc%?Bp( zubD?2g!~+zjAJAYUWoyh&(55_bf}&OGw;99$?-sV8p(VRH$Fa`v@+XJIcieKd?*F9 zlw}=>f>gCu*=_CBD-St)W!Bl>0oSyqk_s!c-tLL2o>m>IwK7-JhDEus%my24kZc`= znKB!OAe*fcH=<5_9+kLx6i|{qs-1UCgoK)>GVfdlE-+o;cVS#j!I^iX?$n%>c~3sz zYR<~MH@tSt+=Fvpp33_OHdD=CnR~HLg$jSP5O~zOF!M2tFH!gt$fMSCnNMN-1cg7H z3imCFX*6dR+ruG4nM#yWv(*7zW*H?mDoTxw9ioomGFwQw>KHC_EhW@pTjq(BXj6IC z+f$*wudBo!!-7Gkq(l{%YJ zHgQ{-3y{OUJ{=rBeEis5N!T+1A&`UKBQ^?iXEr6~U z6moU;Hb5^Flq*Tv^?>dclxvBy7tp5!HJ z5BKu{q+l1=w*zIbrY6n7K|o!j`sZho@H)^xaCoSWG~s1>Y@+`FH18m-0369`QqEM5 z|Jc2NHqfDC|1!O+%0B^U1rGgJYy~mV{FvF3m=Lu~fN8bE7_O{h%m_372QdA`VMK>X zty0QS+(U>PHEQ1toDXPju9{y}?InOe&?GgOs0&s5Cn}~NfZzc^r_YX>t;2Pw^Cnd5#Ag(nDyB~JgC%Fz;lwrM}|)pJCka*)8RW0crMX=mZDza zP;UXsU4nYGLwyb?Z)&RQn3*L0T8HHuAbW;r<%h?gQqc9p*8}K>$KX-2ZX_O5{8ZqX zq4~Izb`y08peqFBR-!Zjx>iu`Aj;W*?$8u6izHfGshaH}p4~uib9m5F6pyOe{ltUH zejRw;(R{4L2OR3ZfMUbiOc@~AuPWqmVo3wiaEDAoG2C6VNS`kfBcf9sMu$fYI_g}j z0NG!KK#~jU- zge0{?RJFUxs9h)GUkSYRnxCcKj9e_WGjVML4tz|)Ec<>#Ru|&B6F45yT*`sWLngfJ z=QII^GA`4V$`dYJIh-dVKFjzS_-w%ZZ{oC1y_KN$8)<;1YfAKfBL_%FYI4#(%uNdi zb(Zll#68CWxipdm_8VAtEA1^PcRoa{US4YRuOlpL0g==i+?$Mb@o{22KHZaSAB`FC zvTp^k_oL`Ra3GR298X24?%r-hegR0YX|htY7tS)l+bbjR)B(}{9=;NxTqOh#LDUpF z2RXeN2EUj1hXC(*ho2snp+XfuG|1`3IO0DJcq<%!VH{o{I0hb1{AU8RRr7PL>F^U< z4~E&5xNZcFyOApkn~o%FE{gKz;y17*6Whzc@-DKGhG-#Khzxky#PN-$s?N325IqLz z3-Qa_0Ue8qcEsVYqDhFtkr^IF75VUJtcc z9bpGYtNbiGe(bSWS?f5WeC~U%Cqz6;DD?&9OtwALk@2+Ew7Y`R2f)XVLg+!9Bs`u} z78XApGumT;K2`G=qa(hE$P0mVf+j1is1lYFc{PyMXfn$U5@idZ+Z{?aV(~TjjoWhj zI-uO_P?f}!k!n8z=(Cz)7WgM3zYnA@9WrXpT8f1Do$v)`U=9hJ3|EQ|j~qw#MFrp& z0C@HUkA*=3dv6Yes`sXNmLh{raPJiXhPa<|BR@Pj1g9@4J~YN6A0BEIQ9Om>DLy=d zDDvTnND;-A&l;GS1d(Hrs5FHuQmFGCAaM_tfMlkiYXRQ}=$o2i^vytM5|F)3$7!CkK1zcJ zA81zRn5av&YNsYE`8_B=zg;Kiq{)jC#b{8p?HK6`C~w1a)li8|JWef9cd`Me05q&DFu#oO9LO?{0I0Pk7+NiN$jIBikDpmggW^6yW_Oo8>yuI zxD+C90#d6ct7UQ=PPCSdQtd0?>qbpBTv{B=gg|}>NRMkW%Z1fFP~HOcJ%>U*KMu>b z?0-6_dIA_LJOo2zH7@FGNZUJh0Oe}<1Td>-d!^b-JOYVu zarZ&Wj}R7z%*$_rFFW7!1_U3#hl<09m4O@Wn$JC|b2V_us$VedErDCO`8pbV54#Y<}f;J0_Q0?WB3Zz=AL^hGX& z_-+B72jCM#5>^N0mg43}Ut!+A1Nk44w+y#P`XZ}^hL^oguSB#`2IuihLFv35iW~8+lx7cW7)HPxmAXnDt*!Tf`q-}I*@Uv zkYknMhDu+0z}Y)q0lxPoZz*o8^rf3+@36=j;S<1IWKFnf@zg`=MEH;lj96*7N-suM^E!?b_Kqun@;CSd zFe?fw!|jc}o^|-10&@2W+z^!P*}jAt;!VZD(39DxUltZFHW#Z(9>JT0apopsGBijrJ?g*fw|2~nupuORF_ z@UnLd2cA>lLjwhyaFnG7`Jh`I0(u(VklZ1Es{u3)oAaxk7m%ZD! zom2rozPI8Ac!_o2i52j(dn<0>%ZXUOLaPj?Fnxu~yd26q5VOo-5oHdKD04()nIj|1 z%yP=a$x&a=IqmFr1Z>^mW3=;i)y{DdWsZ+1b3$a9N1z1n_D{K;N9rvJTv_-^cKAAA?C`#w zr&v}MMf>45-3nUigHGz;#WY?kyGJGui%71zolR#WTx+Wz1LEzck;DQPM|ppG7vx67oYBa&u!hr8SpZLbd#HYDOFG6hztlPpB>#&e?2 ziTWrSk7x(TNK!Ck$IJE%aNhl2-cIfPsePr*+z2P_t zemVv@EUPP55PUg24xa?PDHtHBTX$RKukC_zyN6}qRGA7%YQgO8n1tI1n5Rd$RLs+} zXM~7eVG*#|w(Z&7k*QAxWE}%C`sxA^?Z@hhN3s3WnD;O^&bJ0ovr!8`REi8p1v!%|;2Mv~9qXd!)g5Z5v}ePB$WBmLnC4%1)ZxyNp!m$3D-2e$6)N zv%7~m;M~INLsjND0^?C&E;o)6;un9@oAZ~iNNfThs zpW##n^ry9#?|{%E4bC({G$*C$S+ z?Sel=tLA6|IG1POT*Lz*o{gIq{&LE^^kPzDb9ID6J)de=&zU+sP)9hF>7|0MH-s9d zIbA0p)SEXA=?$7r57iM4WqpqmbiLQnu-=pC^avf{&{)n8qW1xsZMu%Q@XP#qO{BAJ z(Gd<0rC-7R|C0YhHP8iyp~w2(3%erw=PsS$+s2bi_}F8b8ym({)ds7Z%R*zO*Viw` zx9?cy8^Iv1Ukb)JzQ3nY@`PGKwN3DvFjHP|#E3Duk``K)s&okc#&uCTao&qo z8)|B-3$B9W3ZYr0wK1X9&7tN{m{{IWQWIKJ*RTrSj|TS!@kMB(E3v=AZ&89YxY%%- z-l_y3baH#|O~Y5q!Ih7_bqp2?SzrUOpssd$UH!U}(rN@iu<`mgNCn|lNuYlVmLH(j zU|nr_RR!>Yucr=zD9j|mHNnb~2IK+mvQRmoV0Xdlx?o9lh_V7+RmU-S;avqr>l;GA zTU8q>!`I9~9@ys8hSmh&^>dK1sjdN_jsP{+gc_=Xfu@EMFcpP0t*Z}VG>J-t`a!%C zG@oIZl=0_`_8 zp|T*3jcez%ftA>^jyS_0V9y0&)a9LG`?h(yf)6mky_W5J!ZQj`cm~~I9u2VNiSs0Q z^1A_pCnkdj{-U7B_nu{M_HBy6|Aiajd#J%vo{8OK50oH>#WqZQCmqa=$51c9kg+S@7@G&i)XaWP3jCy@~(w6wJWD5#3$IQ zS)HL-ug>vwLIo$73cei7j5{j=zch>|n*0~U*}f-zPbx!+pqzsgRk2qSz^w2;4aNu~ z=%hw#oH<&f7-+Nxj#uyHo1p#t?3pbs`T65Ynwm<2mH7+j7G(#lHNnRE(uP%5HTbg@ zD*!IJs-o7?S^a)v(wOZZ8{xR}r|0BDmg5&>XDz_jnpWeoVo|7}rm7Zw`t)o?rFR2P zbX?Z>note6t%m%Y7TbA^&Qpwq`$8h5NCv$RDuE*Ho2-Kza3LB~2jz*pFASguR~A-UQ0p~8YfVE{Qz(G17#m+*4evGzG&w~_+QEXNfZynq{QQz4wkFxs z#>%>era((cb#n+N%;wsrP=h1WP;m~lIk+kitSN&^*Oq~f%RxO@KE0M!TVpuK1bE$S zsG*^*A-@zWlRE=mc^eGnBeDoq2Kn5U(sj^R)`qYFfo7aH@WOj?8|&+88}VJ0b@i4i zy{V+ZXtmME-0H?qXjOi7l@&M^n_~s2ZFs{V5P&sqAh>p|)3hkF%q87|$+y&4VE<@r zR%6wPA*C8vU}5#KMbKs#k+s2^daJ4t2I@Ks*EWveum*C=tD74uQB$G1a;q77%|8w@ z*R_Ni%B$;OY1L2xpHKG8IMoVNm%zI}A&*5pz}g2d(%wr! zXOJ@qtSMO)YDUXmjf1PIu?+Sx6%BRG^|;V%1kY6h!=AJYT5PJTuC}1Q4d{*1OY7=@ z#!5JZJ(CxawoJp;0$JtwRb|!IugS((SgN7gT+|jy2&j<{Is=~<#2Qim)~~~`vA$NX z9UH4lO34efRMj;%;!C5OU|Cw%+=PR9Y&K{W@;3x4L2KkX0)aJkt3tJ;3hm#iuW>IW zhXalaiwwqU3^l1$uGO-p5j-!LFBDSW+=OOQRRbQNApl;pq6u!jRDtUNcjRczXkWH+ z7HZXsuDlc_gKMjRN|2j{HS)ZpkD4|w5NK>J4a^RV%gr5|8^{Vk7qr{cr2BE&|I9u* zph^O_;MBu(gfOAa;Au!qH2#S&r8UBq0$eE>8P*O54D41K$ynFa#&$eL#P&Z zik9I^(FWA6Cs17lgNd95^o3PU-U2Kp0K3azpscC__uS#G{qKLnx7Ab$_6oCGBhEK4 zmxF~v7yEO>VgUQ790o-r+I>@9nF_%A^oTTk?Kq`E$U(fTR8Wo6RA6jHeZBHn*jO0d zuvlpb1zXgha9lc=F)c%2Dy6v$+$0SGU7TUcei)|J;n`hthz^reo?80^YS+M4HPp}u zivrc~*l$8s+~t)4@KIG@jc`cdxKrp%oIlhl$Qqa(kgDC*6sr{78M-%JF=74A+-t1V zCaal#(xmWAKh-L2s)I>hOEDCX4O#=uI_n!SBw7+`R&%bW(Mi4vT!uOe&}@dpT$I<` z5M<{^Ydx5!Ma}cAU~>Z)cM#Sn>uO5Dk*=wP6s=Wat1$=7JHHSn(Ey*O!0c86lUrR~ zDGY)Q5zABHp%GaQ>kjZ8YN+DSs0{=galI9ULy1OmTQsfl#H3ahaAZ*z3^g_eKyoad zWi_sB74KFV-GaAI9;2$sTXUIWFK;~Z)QTI!n`Mx#G+d*gUbX#*)#`y$!STpG6d zu}nCiY?zlu?EEcWhc{N0!XYRPU9oqP`;Dj-;|y4(E8Ena1l9tJjWS#Z(8>l3X>ApB zjx$9K){Y%Cm?!ze0OyA~|UNjRk%?Bwvw<;}HFFR*^vh?JJ# zn(p`ob7|%fs>s1*iD56{R`~tF>QG68Di%0!u~%x<)YS$e*EQv9>fwC0sa(5J?VVv6 z9;^({5K+TejjpVKT7`f%S{(O;gQ&@>fwO>GL|HyeXll{cp1*?SUx{%9WG)X4XRM(6vlR!&TX*H}GVTDRtHSOvQ8>K~xI_g$4C+*uUT$0qlz7qE2IOU^~ zg)^g!M1}F~tW2SOp$6EH(GnGL_`5WY9hv6t&qiON*E#v1O=AjL2qr~S6FMN+{TTjj zGXBwtNt0$ee{=%&mNg}7)#S%}7@8wte;urX^C?&(LZx87rFj${ENyP6WrK5OO&Fr3 zE3Kv~+@LqXU*bVC)Fa3+o3Xfjb6f%#PE%!7taGJY@~U*!1uAIdaY8N})&voY^gwAt zT}fFGH^=6wPq@&Dj)#Ww^ad%G#e)q5t6@||_tZGmcE}G^pk+lS6nu4;<=7mcuB_PYpIIJ%$7GkJBD304Fgp!0|*)uX$j@Rt94NB)9J@XvzXl z9=+Tc3tb)2FTfM47CEJ`0$T-RO>J?Z4iOz{Z3wTcbSaUOj2HrH6RMV)je29P$5_N6 zs+<_|>1YESUKMPLoU-H!gqX03ba)azF9Pc%2L^@;Mhmyk)XEagoU8@>C2oIlu?q`< zG7Aq3j8nlFJ7icE;!>`;7D|J`P6I<7kZD(oTXF5KV9^EpEHG`iQzIPO>eOgKQC47L z5gs7nc&1sUu>m%YR(-^J9LG7FewEkbVG`s957`I{9)QU$JEuJr4g+p0VbOvv3YY7! z7pn=ZD=S%tIji7rOj&_aT<_9+fdf!EzyKU~;9tq2MV7Nru?&sSVMerxWl@u8>7HL0 z#8Yh51?)-S7I72&MFr>qI*`M{;NE9CIN%cAtd~?orqs?p-Ps0U=b1YKZ4_Zo;GY=7 zhk*@;T_LRBnoBJ;hvVU9bTjpediWPkPE%d&Tw# znX}5(Ru!$0iDc>_*b3pH51ob6h76Y&Fd_nI_Ig`BbeM|<#;Kbb;CykfM^=kA$y+^| zo_J;|H+LLH*V2Y5JOSpfgyo2{ZG_EL4g3{4WA8zIp;lzLB8u6OgrO`}~9n1TLldnnQT(}DcRK_f1XAz!Suhgw(ZO+GnXGHV>3@IOW`OrUWE z)x$nAPAhQ!Xu)G)a=~IX1?+S_tvfYxo{Z%tT#szC$+zNqMBgvN%ZY`^8hOSf-XbdgEDO6)UsN1APWq^d^ikz7#b9TS0zxAs(WXZQ@fKA{MF`T+3&B;RfT<}2+pdOD&^s`y@KC)$ zDW9iQ@K<#5p{r{Q%q%q%;C;UQ!b&(Li|NLq*Iec;gGhswF3*`cCdP1!UZmu^nZINRXTCx}~d>g1?9BI=GN zY~=mWUI~BFvQ@7 zEgU-VjYZ8y;|-VEIF0H43(L!;Qy5SWPhY@;jQV!i}1viX|V-$Qs*iD9I@S{hgvM$T*uHpc@(u81^0-@U!eS| z@To3zTMO>joPlCaf9UjS`qRB?5@9Lm__kd2xQB7x%g=w{2%+I&&4vL)2Qgql>R7}% z28gi?%>{K=)xtamM_)D0ou}V1s35bNjHBmNXI}_<#q%gQiH0M`>gJkS<>X+4foG64 zuzn1b!$BSykX%&o-iU9r!cA0IV4{0w_lDE_sZNB0ZRf}WIt(^{VCx}x zq${@7(y|ql$IgU?xWd?3MGEtek2)6&yZW%J2p=yUYDkS8f5;()f94v-5_XDlD-n*9 z;elqF8|d%=rzvHi$Y|UhK2!~8TN!{GD$b4&+&XxPh6>9$qzLze*@w7ugNljSYe8K; z9Twsimxr=gO6X&K;jhPI#mP_O2}v%*0_x1&+#*EWj&Q0K*8D_A4^T7Q-{DkGLx;Y= z-uUsJ>_hu$R6IVi4bP)lbWGMrI}==$X}b&;jEhydyjmF3P^;)Z0_~3iun~(E?G&z883R}@KCfpyp{B+z*f%^+4-+)*!^-igMMqA!dK1xb z)P5B1z~DB9PWsiZ#<@MMy3jf4j3LLLZSGy+{GCjYZ@xhJRq$vB-Jo`!2+~Klpio7j zoiMCo%4^|(KKfBm^v7%0`u$e9dI(AD&D06ZRnCnIz7-$Vyj2p!DUVOe(3;VMMjjk4 zsB0?1o7FAq`ATP&fPNQ4)pXnQ-IR+9Mp`LCPevRnqXu1`c*R`>c8a;g@aO93Uf(l1 z%C_!HRh3l{v*I{k1RLi+vR zv@XeKc&2wwC<6wjP3F9FG1PR=Ok%*i%b8BUUvuai9Qt~u6Q4sr&Y|yM`alddeMPwZ z`wl^Wo9XoXLY?2U$dUgG)9Lqy4*h6{-Vc9$1sDDP(4jAJ=#!aFzejZF1rB{V)9Lq# z4t8U_IgTJtsJH z_16e2^#^=({_=4BCiAaV==Y48uGB;IU(R&;eWa#)mOAp+Gkv;QzA_Khex|$G-+fFE znfX1%j{LWozC3~+wl9S36AR~&n_ub)+uRcPDBj{1qirzUK@_pCg&RDS{pz&-0k>rtfN|)4MWs`EynIC^FWCCK_k` z^I$BRSH0>kisV%^2GwgBFJfZ+Eap#Ue)tWzb9v$KI?L-i0I)v3nDrkm*{%O% zek&$_RuumM=HGAjDRX(%YkMQ|;G5gAKKo+w=S1*gVhZy=ACn*6!6mLB^S8z1pCGv5 z4^%M!?wI`WY9Mjl!2COzU)#eQjB9pC(uF_HBmHw)^N(O$+lS^yHm~|~DV#$E@XiF1 zvn^&l5NKl2wbzt#gXde!^G zBl7eCABB3$i^*RQ!HbC*%%2srK69e@YneY?@L$h(FH!Dmj9ZLr{lHK3lsy9-FO6f| zYt6$T;__>L&<9>WsDQq`QExPWSKDcRHW1DKHsfuaKiM!KueHFCs-p0|7OLmnOo`Ng zVH7{Se}edT$K+oa#eWI&?_`R$YfO5b8Ig$)Jiz=L8A|661Fv){=0-h3m%NZv!PrM z%wL<}r^t9k>a9$H#&<2%Gs8i2yUu64jVT(xSM#%dX#9P~^8}suYhA^%Cn^924cEnnc-@H=&ESDV0>Gp@(= zP*sd|2IJcQXnZ&08)5w6rSZRO`2zRBkKwUgJ)dg+(TwYPU*ktJz7g!#l)s+wHi7Td z@}WOX{ztWZfq$;$3p@pWY)|?TcrN4gXDOioUC(8V=RrT4<(|U$MuG3t@&*2omhX#{ z^NE%(aOCn@<%(H+d#y@=sH9iDfGvvVwN^!82zad;7rf2|U+sc7MB#~@5aK~(PzMms z#&6(L2xp@;@M8(5F9U`5022i7QV`cx!u2jcOuUD1e3x0|g?~{TUX&IIa>{GfyWr97 zLPoE44kDKqD6uZD9*lzM)q^MsXQPe6+1R3RHmWEb262qbi*K}uad|B;(ioQ)-~15c z@>o$0LQ#mw*BxK7e(^o+tXuQ-iTFFn89no`>SGHUROKp8-p9$g}dbF%d2+GQ3S7bSQIu4kW6Dg zh-tjM(1qq4tx#C^0UnEgHZWuw`^34NARjw-7$Z!KZU<7wIj$FVHQ# z75KXu=QGYY0+*Lztn<@Z&S1b}@xRM*v?Yd^e-86Y9M7;&4%#nX+HNN@{)K|+Ob?@V zASafdH@o1wT=4f@@HBAcvE)y2!Qt(MG5ODR!FRjhuejh}0G?^=n>MjNIzlC5)pM{5 zp5ua_%X%&ZyTD7ob2;CI|3l`#y@TS{?@MlS;Xe`ZSpMxA!V8rU_}2FP7}=-xE_}8L z^cP*^e*$=hv5$i!T^(SG%`o{5xIn$4E}lk#iWwK6T;$)&*Dhp4)k<6&|{R=L54w!woH$=cOFF%Plzd zRF%V}o((td-qWLXMlsP0_`}Qg81xT&+v71Fbq=>Eswn+5NV}4p-@>=YWxSoFo$|u3 z&uND#haYcfuej)6Z1Gcn^Ty_y58A+EDC#vSk*|OWKRPlm+b{X)?yboYCDD0*4sf;8 z5c)}B6oY(X^S5ysKRlNuN`dC9UJhBh^8@Nba)zJC4Oie$ztakHD$|RqDm?`p`)AGJ zyzM?3C)L+3vmATvGmCN9F7xkxLeJ25yMllFb4tHe;_v%`bGRE+7qb2Jl~aiHxdm04I~!_OBiRquRE|6`oRv>o>IB zozGCDQDpnQYV^==&SR*U^0aH@f50RUE%f(}oI^|egM<9gf~6g_tE}Ip+1OntExo6Ge|p}VpeL0GkUUXhgnXd?Xbqyo3V^LBt!HPC9FxMA46K?n#ZV@ z!6Oz=E==LK#I;jg`29vvF3Kn{a&;KHJh{${%@w&~jm;y+K$MQ6?7p3sK8D*KdlesJ zb)TyqV{=*6Gc~$WZiML(1UcX$sqK5;84;4&=Z%yrOJzxmj+IKm=l3Kw-A@WxbZl&m zwDS<6&d8IVVNtlME~_r2=LMrxsq#hVa%$o-i-yOtni>A{c;eVX~ZYI7xf&mCg%;MX`R%_8j2Hxm80^T4uOJD)dyPWynp1crnO=ATMJ}3s zC>vii`_RM57`i$5;sW*v3;ggFMR=aNq_nEVpAGTGD)n+DdbJC^u>q}WQBgZ3IK>-f zP^M!er2EH1N%-C-Df$r2QxkxC`GShW@8>Gu*JovAcyyG+=SOh7On2>4;T#XI9x9+a ze+X$@-?8Zk*n{xVXJZou|1WUfi`NVlIC3gv* z_*D@91^%uUUK}2Wyn8h;3$72%kRkg(EX+H(FVTLkdtfRC?|*I4E$+BPMLwD z9DME$uR0fe8{@iPe2U$=K;T0ezf|CJ7{5`-U&Q6!?SemU;Lm^z-Cr*mIM#n2%X!BI z|5D(~nIG?`;e`Rp(K!5B0lG9^#_6su_+bYApO916bGU({{Ay0;y5Q3U-o$C$K3yM; zFEjX`HOj3pa4dH{ryE@G4FccH=~fr~VgrB9DEBG@$8yi+^vy2#9)X|F>Bn5~R}B1l zquh549LwFo>Cas7?*y*vtshy@de-|db^M1=s$lc@uv+r7>#58 zS6%Rr4BWKCFAN-`ds)u+E_edp-^BWucGcOyG3zrdr0)g_;Ti7 z?t)heT(6TFUGUQk-1N8S7&z9mn#;Y!1;1M0P0YXB1%J@MO@I5efn&MrS2Ki=4bz3$vD~v+PIni4fWXgZ{^2h8L<2Yd^HBzl6s+ z%Utj?1wNVi&vn6f8MtY;*BUt1^9Gi4n+yJ+zy~q^Q!e-$25#EnJ_E;cZ)Z85yWrmo zJeB!99UwDYm_#`mPcd-Q4tp6m^54gD2D;#51RlrylU(rG25#D6p@Cz$ds)sh7ks6G zn|8I@z){XKEN8t7ex`w&^Yu9fj&eTaec&Z7_$~uCRn=Dh!wfs>x047@&e!F!-1 zhYOqY7<}}+(BHtRy~qUDP#1i>ft&OGR0BsjZ<7?un(cy@F^++`-(PL;KMpiq&$R}Q z^1opDn_Td%2L7rc=OP0~Ilr)+D_ro~4g3j1&K?6tIi0wFA9KN9GVmvXU!NPiZQxHC z@;^3kl;4l#|I-CewVGJly1-XQQC=0Dj5znpPw z2KGC<9qUSg*8>f&YXv?>!PXuje+HNPm<#@jft&vMJp)JmOlCP>xZpnvd>->BbW#=5 zde(S1fiGhI{x0}vfiGwNi7t4lz{{Aw#syy|@M`AY?1GDF8G}S zU(fsxx!}(mxasHLHgGI=Gt2qJ1wSD0vzh-_7rb-la6g*!LJtGSa?fWu87}xJf$w1c z2`>0DfyXg_xeH!v;8#I?w4ZD?aIEK5EN7z&{wINtWd2KC@aqix8Kd0Y29D+4z;gDu z;ExOZTgZdgi!S(k25#Enrv{GY-p=J7aKR4>{6i`g_Mcr;M2}yM_cn0T4$}=B%e{}w z9pQpcGH}zbrWrWO*~@a~x!}hcxVcVPVc;Z(+g0U)uQqT~PK$w?>y5J*N573nA$cr+ ztHJ*fVA>9uOuv*f`O}$z&BS`@^b!NddEstO7aRD;9LGS@Q4Y%A$P-B$#PQO29;Ga6 zABVbJjT0l#B!4;rjAK1FVgjx_12@}MY~aYh6Pe-KXy7LQP6J2&-NbEKZ3b@g?=x`Z z*X^f?9nwfP`P0#m;X)kw+u(y&o`IYE#RiW2y1b1BZu0LmaN_55n}M7B`wX1;k%$+E zQS~=)WZlO68x7p#-)Z2;x|8|a4BX`3XW+=XoB8$mVO0J3JWAKUjrsEo+>~Ez;K=$s z^KUe8lYggyBkMlqZ!>U{f1iOP>wf09_*^Bb{svC0-2OZRH{}-_IP&ZF#cVWilYggy zBfowhO`Cz6{QC?X`SZ9wdI29*fA+^(|HZog25!nPHgJ@$-`Au4x|Rf#)&aCh(1nKOyio#-A6sg^h#j zb%EzGzE9vA8UIw^ZH(_1xP{7w>j#17F>djBg4V-E#(e^BV?0^l7Wcb87t(UH{iF;2 zjm$q(;BAa&3EbjwH9_EcjOPh_BjW`EZ)04aBk6itZ1+n9e;(t-0^i7ZrNG-5uNSz* zdS5H>JjQvuNoIyBu4X;R=W{e}KA*D#_>-}7;p(aaN6vDVqu&sK=7;h%ez?K^XNc={ z-6#V`{xX&`!3CefIIbJ<85_6yOm?Y{#s?U3t}x_eGmiDY5pxf2 zvmeVj)&=`+lqA^0^uTi`DMdPM_cmw!!yQIImilkW18&kA?G%m|s&-}7njgMx!mb01D(hq1{ z+dr=B@Vsst^A~Waar8}infCA|q;q7P+XimRdCtI1Ie$0sbdIC^I}CiNf!}T5Sq6TOfln~-dks9# z!2fFCx?ix|YYn{6;J?nmml*i<23~C7?-+Qcf&b0G>kV9w353=f_>COLU?az|o;PtE zgR?k}_#Td9u#Mx0-^Xzbr2S83nzVn7oBIoMJ~j6jyFiAvTRAS~vHTevYWviN%9Z4&oy@eXI-4Fpb}RkVt00$07FndmP6=(-D8)z;zVy58$KuOgSHFCL=_CY=eHk zX9CmEztwOYgH9Yrd^LP#^Teg+Uya|-8y&sw)p#mbq_-ibj^h~Uc^UcZ4P5I_%Q=DN z>v>S)tGK~aIj_bW`YT|8z_$!nKrSi(F3tZ(Q>wfye{KB|}E>y4cam*%hZ zsBMg7^D52%1P=)P9J0n|4p;p8 zIb@CB!5#aakbfMv>nni=SvHd7yraNhV);D;zMAD`2)vd1 zWwgLkS-yTgS(m$w7ia~7|8BN({hlbzKVp#5+fu=QCfi|yz^5?3KL68l_V9pf75rMx z6$1Y|*K@bPC$XLA=bW{CE$3yyZx2=Ve?#C~x!=DP_}%OP4hq~eP|4}Y?a<|(%z91} z_~V>EUEs~#l$?lLh`5`?mst>*op<3H${f*Tn+=JKImS zz}Ikl)(X6|gR1{#f#1aAXuH6*-gXFF>+P=s*Lu4{;1BV5e@fujr>gpVB=Db^zZ=h! zTL15MR{UcGzL@neQ{b;;D*m|wKc4xE1+LGxn+5*QbS39rfgfah)Aw<7J#Xi7_4BtH zznc9?0{4T)H}FDWw7@TAzdcsqXR&^Y1U``Muu0(i4p;TxDDW%TZ=5UePP|UIRp6r- ze?j1vvig-~9rg#da`H;E61^Lf{vqlUNJiw~ZGDtKoz1?ZoTP z0{?QD!tWJ$cW&3K0{@!F`&$Bkj^%$Z@En%&i@;B3J@{B2lChreu>Mm8em~>s0{@oR z8zTj-e?NAFz}vV!c>=$d^;snFbJ!oQ5cntThgS+bi~UlIz;EJlahky2WI5*u{57`o zO9fua>$GbG{xR$SR)Igle(wQ+pU&kzCGc51?p_u6hdi%+An-bF*M5N?&HeRnffuqL z=*aV%?)T2j*HhrM@d3LSB=D|7mEHOUK5&S_rwaTN_78If{;%PRe~G|Xuw8`&u75|@ zAn-KS+bIISGDFEfTi|c9-@8QM*E9b$0>6dv+XQ|$<81<8&UW&j0@r6QZwdTo?w5}R zemU3kJArF^O<=pz{n*0grU<-@<@6W0UM~$3_@CHsj}!P*-l$I#_>-*vc>?c>6@#l( z;QiVEZxFbj@yi8X$m`5|1YXPd%L4zxR^@&z@Oi9+O5i?+}3x_b5421n%d4 zpDpm=Tpqp;7%wgVUAF)81#Yt+zC+-T^Z4B-@MqXB{VebmtmhQ=m%7~P%%3grwR`}u zK;YeYKB^M<-&k*d68Hs--z@MexZIZo{s!CUw*o(%&kee=pVRf%zpETB@H5#y=Lmd0 z>!nQKcd|Y=2)u>;)x`ookL!P{!1r;zpAq;$wjU4cL)TxwZ=#F9%eX#$1im1h%*Mj^ z{^F(OtY>@67I+ud+f;#H$M_t9pUUkzR^UH!eM$xX4$r5x0$+LVhpD*x>c->qs@XHxLRp5^>zDwZx zcX1C1{0wgIdji+L57B=*LDw^f+tY*Btr|Z?`(c3}V1II~z-MuJEdtl?#lBGB%emig z6!@KNKYIoKEX#k&1%F@Q+`ZOkF1XF>Zr$D=c|0b%-~$By1+UK!cfqF$yi2;WpL`d* zRNznY`O?V(|2L0|%LMLa{oF6`QL0$$Nr87{y}Tmua<;ek1pWz^`=!8-XTSHO!1eFS z;@RJ8Jul*UJVoG>*be&(`~|j?VFG`R?K4;4HrHpGz<=canlJDxSPx4Del3?95_pjJ z5vv8hi07}91)j=sS_R(5_I825U*h%5E`k4jxa!Co1^yGSH|`O*-bXzu@IUjwctPNo z@VNWCz^mE+|3l#V{4S2$r~7vg>){B2pThIjOo4yS{`MGwm$RK{KcVGUaX+pU{73V? zrcvOpu^&D~;8$=x&ldPV_U9J~{8{#^mkazH*4y<0k7K*i^S`eDc;;)=j9^=uAkE`5cq3s4@CkW#OvpP#JOC3 z{-Nu?g!}O{!9Sk;%sB!-jn}u=2>d9X_iq*W4Q#Iu2>dv1@B0E*f8WZoz83g3Y(GB> zd=R%Qk>%-joydMERp4E?p6LRAX1E&HBL#jEw|9cT_j9}Q1zyba@-YHGg6;4GfzKGK z%B>Q(?w4kPADgcD^*T6m;%&!8EAECqiA!$pZhngCg`3_;{9^De%+T&c_M-TkhY<0{xX5@VSnBv@cX!)Ckh<@&I?{w3H%fGKlci}56^dx3A_W3hZhC@I`_-F0zZe# z{ZQclVmtY#z{j!OCb2)({nEtilU@SDSoZ(zH+LEul=svjQ}xaNOG;Gc2&BY|r>`9k2$=}LYF zo=>FylLa2&_1`do7jeI43H(Fu-`N6>XZ;rn{3{+8l>*<$daD!odptjG7x)Uc^J@gI z?fh1OYde2H;M&fg7Pz+a=LN3qT+h#1pW4p97yR1J9_)qLl`U!kjy5i3i_z8>;6FB~TZM<>?uAkSLCh#8V#BMDR z_!aE8mkAvIzAauA0zb%lZWQXNBP{~CV?;D`RjIp59f94 zy#oK5?eHOiPh|X4fj4lw{w45zywCEoz3Be!qx)UpL0^eyuVv4@Ls&0Tqf`*c%RZJ@W)urI)UrwDlQWEP_EBq z0w2%#9Rk%0fFmt+e99(y1z!VJ#-fMY}VUg zfsf^JG(zB4vfrC6a4q*}fj`9c3<`WD_e+()yYagHWPwjfQg*UQ;7Pncx=7$1cwV?n z;5*r0-6HU=?4R!v_|rTdpBDJdsyfyS0?+02M*_cv*NvYG{8`?=czOKk{@THO9Rz+U zuZuDSei*lRh`>j1xp@N5@~8&P6!<*m4+#7zPKN|OoAtIy;2!RmR)Ozlzkiv)f8qLE zDeyM!-vs_J&m&I@{3{-h9}0X3+uP>?U&;HIIG#_m{(s?q(ffFf&t^Lu{9ioY|0?iww*LnOerKYR^O(RtJkelGAg*^eC*_(=9M32diYKO@*bX#3UpN!*Wv1%H3`KSv3CAg>c<3;avA&k}*x zviwSc_ZY79aH_yx@G1N(fsbK3*(vbDxxfA@@CL5uUV(RHyL?*Ur7Zt_fsf(zX97<{ z1;X`aT3%V_@84vIfZ@Yk`P#|!)dwueOm&*S~xGJ!X+ zovau57#^pa1pWZ?Un=nXc^vH$c$YX;|GNdA&i?j6fj`aT5dvOjrW;2-gP?B#ZA zy*033?I`e>tcM{2znt|vTHuqp{`mse@2j6D@Wawod-eWU*XLp$cjbcrN9JEA@Z)$q zZxr~G?6)ry_}8qLs|2o}pLvOQL1U{~V zYM5uZ3blNF&gPRi`>_mxYxzS2{t??@p1}1voBmx_M<{+Ze5UjGsu%p<@VGcr;D6zM zJYV3?@wnS1a4qL*f#ctW$Lj%sYyQ0gZ(zN>E^z&KQ{EByJsp*NANx5>Vtc!@Kkp)N z{dZy}2>gTpQ`*@8M^#;Me1}Gg^3ez?P|>bJHK@cSBp5+t1%ja$74WMKZt?K2$X_Nj_DB2Lawe9kGhoxi1cE9Mmm#W~J4 zC_WtbwdWO|gX`L(cpmOYZz#^cEB(IWAEP{9DbD!}n`Z05?Jyek4JyvRTY7=w@1lL@ zC>|Pa^DR>RS&aXy6u%DjtyX*k;-Ojbufu-5;{3g%P;+?kmfgOsk z!Z`eb;{192i;DB-!5=7Ig>mB(#cObVbFv3s7mlCVigWz5DgG|zR}VXQr{dRRJl~`E zM-&)lc~0^5xbM8C_}-vr9(YsnJ4Rdnsp9;;>r2J?dy3z^)cSFJ9>Mcnt>WX+p6eBV zhsSNjM`K*wrue;xtG$XJ#q-OHiq~M=`%Lj4W1etU&cO07#e5@I@#84}GR1q5Pm|&g z1Z}=QQG6Qi`+F2G9b@hPruY*m|53#kWm)@A6#pmePs_FE`MT`Rw8xVae+%=mT*ddJ zzKay+dDlwC>qgo9lZwBM`^e7}|2D>rt%{$CdBrZpXXE-FRQzd-Z?8J|=ZfEr`@-pY z1KTHr=d}wJzX1JouHxsQ{9(m!!FaXW!8a&gi2nNn2mgiQFQEKe9ej`C6EUyY=ir6Y z2e!krr`zLV#YbR#SgJVNU$6Ksv`>TLY~Q5#^JwQg6yF5iruegnx5pKaqklc6_*BH< ze#OV5A01GfpYz{RybSm2ql({;{yQ>%V0(@lYmYBe{0fXSAqStY_&SU;b&A)Iv-z)A zd<&lUZwIGhBXm56N0faN#?{|B_;$t1xZf$x<#}K68e7c3N8nT*3^CrB$pzMc$1Bd~ z62&jQ(Av#W{1MC>=YdoHxP^EQb;^D_`e|I)kF;5P+n)-K(D(S0DjzQAK4Je2k|*suwP~XE?)Qf3>hb(`M;yD;@SR#b3re=QhQk#CUbL$RCen zUjEyZJ-5$pVUH=AXaADJ{)n*0EzPqZcA1y-eGbd{k5T+jxcJi)XZu--hfuFM;MC4R zE9Gr(QudtBCdFTaPpilWLy~u!?$N!@8;r#!h__ClCcw2G)-tTd6DnI4V8WRew zA8|ZNd0;xYj<-3Av+gyDvu=gRA495_|E$O>Nj<@?2=XmQB`CnwK;%)aSd(Qu$ zu*aj7XaAwY{!7LA`EK0hR*c#WQ(zBdgX?yisrXHpUzI7&<*ZZuPR!Hd;G~O3K2P_T z%AWJtrZ|t2I~9L4!^vCa#rFHeTr4IX>9Q+o=xgA;+-;Q>;6P(I9SLi;a?6=}3xl`EB z7xssg{RX^$=oR)9=lr`~$Cdpt%$H6mUV!;k#%wFb?N*4mJp-J|kI?rFCo7KWRUl7s zbjQFPmH*usSg%oh=6SXpsGfJ9idy7tIX^0o?AJlq5SR0`9Kq#$DI~a@=adL8=Q9<8 z%lS-$;Bwy5BDkENv#3%;PU>JBltz0rQL)Cm-m+v!R7s;LU1{rGzc!ohZeyR z@}6*;;Bp-35M1`tF2QAglidE$3w5#r-iue*GE0t&#%YvF~Mbj|3dKtIQB9&`;@;N2l)5Zm{-C+lYm($;X2Xr z1jR2VXqKSha@@#L{2Xf@$PrwQCxwcyf_+GEInER-J`eUKf)|2O!tXQaG;uCZg|L_7 z(i+9tzCmy~UNtMuV^)jc%&0uAif>9ic* z_;)gi%W*7M*vs+iI>F_*#NWrKeB}6ZyRetz%maeU@nnbKa@^qGpQHTc`0&24m*c<) zRFdpvf1fP4?AQEvKgd34R$i70d)ZHK6nqLBo3u@E+3y|`T=uVhg3EsNs^GG}d?vW; z7h{IoLQwgKiSop8QHjfbu~~2#{|^Z+<9wIkGM?WMT*hr+M1Ohai}D1qPh~_^JQ5Nd zS$d>Ga2ba!g3CDU5M0J#x8O1kdj*$q7@!6-3zbvGVNh@xhatgb999S}z=!{y73a^-<3CjP_rbnP zO86qPI*qJ93! znl&Z!s%X41lG134{A-xs5H}&9dxO7iL1XRe+IZ2DrR9b5!qI4DxTf9x(c^VR|LF60$LifLqEtvODb6}Pv()a767 z<4<`E)xQM(qmYtsQyTvK+$GEZ>ookUp)376)9{b_`2Qvie`;%5r2aN@Jk<8P&GR1U z|JyYDH~IKKnuhFOxBB=ur{Pa+MT;!|@6GX0uisOi z_dx%hY54E)@!yq({~vw)pH9R7uRi{})9^p&<4<)OYWp4X@n4sQ|6w2hThj1<&&U6n zH2gpD@qZ-^|F3-f_om^Wf#+HozuVLB9|iwWCX?%1~uB{KHklu>VwPZ1$B|fW8LgSN;;b@Gpixm4Av^b@^8r=BIxL%D)Ky zoM`FLa3uXp z%&PT2Gt5u_)gkIrGyCZWkDC)_k^1zWPwRini2LcEfIh{STy*{EcPRYyOQ2r?XR1Gy zMe8qc=$FyJWR_B!^li2NRSx|wAN@R&i`I`j^dE)(%06YgqxEle=x5>vTmgTof4*6@ zK7Br9{-umRr%kes{Q0LnN*#ahb?7(v=+juG^}8MVWzfHtg^}v|?{?_-_~_I7Rjq%- zq2CGptU>hOa_HxLY8_?#&-BqBZz^Q6NNN8b=nppjjy3*%@m~S`Hk6;P{}n#^vmE-9 z@WCa2evE8V?>`RxV?O%yURt+*wL?D%{R1qF)R+%g${qSGG_aY4Ki8%Dhs>(=?{VnQ zJ=YkUrP3ySTVp<8xyt~*_V4-JnpMD>^yivY>py4w{jUF3=+pd0E?WN?hkni%)=S3U ze1o+9hYtN7=;Jc<6+!F2>(H<8(O=-BKgmp-{ObP!^jGyM+a0Yx-uU~qe;f2W;ZN;f zY*tzddTa4ok6<(g%16h=Ue|RER0m^Pj~3ILSN2*OMUdK zpg&Ay%>VyBsPwt~j8{4I+rG3G#W1A!UuIVJ=j(ruL;oo1-wuCH*q@K@a_GMd{Vuw= zW+DADv$8+y?}5I){wwm0=Z2#p3Y5lhy`uw{_D_9t*x=evy zhkn}$>(C89sz2qW^~ad!Q)(i8{VS$eM{Xy3)bG#7ry74#gg}S^(vtt$onjo5K8@vC zf4W1z1^N@=&q*flAYJM3?|{FyXMN75%u)V!lwXctVdKR9+%B6P`d!dJmxYk(^6W7F zW6U`-j15?N;Lmz|QXfCzDF1$xpUX+@Uu{DQT6>yI|=qw^&Dj3{jbfwAmh4^wPM z82=1&E`;-(WR==nTSfir%}LIV<7XoDxu3BASxLKh5xsN}3zwDCDGvWohjl6tzO>7J zoKADpe{F|y#3B3f*}3pXH5mt*JM3;NHI7)g{)}cDf4}zYT4t4+(Xr|JCCtkH+^! C%aD}- literal 0 HcmV?d00001 diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/test_at_cellularinformation.cpp b/features/cellular/UNITTESTS/at/at_cellularinformation/test_at_cellularinformation.cpp new file mode 100644 index 0000000000..d86c091cce --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularinformation/test_at_cellularinformation.cpp @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2018 ARM. All rights reserved. + */ +#include "CppUTest/TestHarness.h" +#include "test_at_cellularinformation.h" +#include +#include "ATHandler_stub.h" +#include "EventQueue.h" +#include "FileHandle_stub.h" +#include "ATHandler.h" +#include "AT_CellularInformation.h" +#include "AT_CellularBase.h" + +using namespace mbed; +using namespace events; + +Test_AT_CellularInformation::Test_AT_CellularInformation() +{ + +} + +Test_AT_CellularInformation::~Test_AT_CellularInformation() +{ +} + +void Test_AT_CellularInformation::test_AT_CellularInformation_get_manufacturer() +{ + EventQueue eq; + FileHandle_stub fh; + ATHandler ah(&fh, eq, 0); + AT_CellularInformation aci(ah); + + ATHandler_stub::nsapi_error_value = 8; + + char buf[8]; + CHECK(8 == aci.get_manufacturer(buf, 8)); +} + +void Test_AT_CellularInformation::test_AT_CellularInformation_get_model() +{ + EventQueue eq; + FileHandle_stub fh; + ATHandler ah(&fh, eq, 0); + AT_CellularInformation aci(ah); + + ATHandler_stub::nsapi_error_value = 7; + + char buf[8]; + CHECK(7 == aci.get_model(buf, 8)); +} + +void Test_AT_CellularInformation::test_AT_CellularInformation_get_revision() +{ + EventQueue eq; + FileHandle_stub fh; + ATHandler ah(&fh, eq, 0); + + //Used heap var here to visit heap constructor + AT_CellularInformation *aci = new AT_CellularInformation(ah); + + ATHandler_stub::nsapi_error_value = 6; + + char buf[8]; + CHECK(6 == aci->get_revision(buf, 8)); + + delete aci; +} + diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/test_at_cellularinformation.h b/features/cellular/UNITTESTS/at/at_cellularinformation/test_at_cellularinformation.h new file mode 100644 index 0000000000..7899871090 --- /dev/null +++ b/features/cellular/UNITTESTS/at/at_cellularinformation/test_at_cellularinformation.h @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2018 ARM. All rights reserved. + */ +#ifndef TEST_AT_CELLULARINFORMATION_H +#define TEST_AT_CELLULARINFORMATION_H + +class Test_AT_CellularInformation +{ +public: + Test_AT_CellularInformation(); + + virtual ~Test_AT_CellularInformation(); + + void test_AT_CellularInformation_get_manufacturer(); + + void test_AT_CellularInformation_get_model(); + + void test_AT_CellularInformation_get_revision(); +}; + +#endif // TEST_AT_CELLULARINFORMATION_H + diff --git a/features/cellular/UNITTESTS/at/at_cellularmultiplexer/AT_CellularMultiplexer_unit_tests b/features/cellular/UNITTESTS/at/at_cellularmultiplexer/AT_CellularMultiplexer_unit_tests new file mode 100755 index 0000000000000000000000000000000000000000..5e0c1abe1b81993d089008b60db9a1f4d4c65d73 GIT binary patch literal 373304 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