esp-idf
esp-idf copied to clipboard
Nimble BLE Crash ASSERT - ESP-IDF 5.2.1 (IDFGH-12741)
Answers checklist.
- [X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
- [X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
- [X] I have searched the issue tracker for a similar issue and not found a similar issue.
IDF version.
v5.2.1-485-g9b3ae86417
Espressif SoC revision.
esp32 v3
Operating System used.
Windows
How did you build your project?
Command line with Make
If you are using Windows, please specify command line type.
None
Development Kit.
esp32 v3
Power Supply used.
USB
What is the expected behavior?
Nimble BLE running with a SPP, not connected to it, websocket running, than sudden crash with this error:
ASSERT_PARAM(1536 0), in rwble.c at line 384 Guru Meditation Error: Core 0 panic'ed (IllegalInstruction). Exception was unhandled. Memory dump at 0x40090ff4: 0000f01d 00004136 f01d0000 0x40090ff4: btdm_sleep_check_duration at C:/Espressif/frameworks/esp-idf-v5.2/components/bt/controller/esp32/bt.c:919
Core 0 register dump: PC : 0x40090ffb PS : 0x00060c34 A0 : 0x8008be02 A1 : 0x3ffc2624 0x40090ffb: r_assert at C:/Espressif/frameworks/esp-idf-v5.2/components/bt/controller/esp32/bt.c:1926
A2 : 0x00000000 A3 : 0x00000600 A4 : 0x00000000 A5 : 0x3f43c735 A6 : 0x00000180 A7 : 0xfffffffc A8 : 0x8000814b A9 : 0x3ffc2594 A10 : 0x00000000 A11 : 0x3ffc25b7 A12 : 0x3ffc2563 A13 : 0x00000034 A14 : 0x00000000 A15 : 0x3ffc2568 SAR : 0x00000004 EXCCAUSE: 0x00000000 EXCVADDR: 0x00000000 LBEG : 0x400834fd LEND : 0x40083505 LCOUNT : 0x00000027 0x400834fd: esp_timer_impl_get_counter_reg at C:/Espressif/frameworks/esp-idf-v5.2/components/esp_timer/src/esp_timer_impl_lac.c:118 0x40083505: esp_timer_impl_get_counter_reg at C:/Espressif/frameworks/esp-idf-v5.2/components/esp_timer/src/esp_timer_impl_lac.c:128
Backtrace: 0x40090ff8:0x3ffc2624 |<-CORRUPTED 0x40090ff8: r_assert at C:/Espressif/frameworks/esp-idf-v5.2/components/bt/controller/esp32/bt.c:1925
ELF file SHA256: e4d9f909a
Rebooting in 3 seconds... Rebooting...
What is the actual behavior?
Crashed
Steps to reproduce.
Running normal until crash
Debug Logs.
ASSERT_PARAM(1536 0), in rwble.c at line 384
Guru Meditation Error: Core 0 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40090ff4: 0000f01d 00004136 f01d0000
0x40090ff4: btdm_sleep_check_duration at C:/Espressif/frameworks/esp-idf-v5.2/components/bt/controller/esp32/bt.c:919
Core 0 register dump:
PC : 0x40090ffb PS : 0x00060c34 A0 : 0x8008be02 A1 : 0x3ffc2624
0x40090ffb: r_assert at C:/Espressif/frameworks/esp-idf-v5.2/components/bt/controller/esp32/bt.c:1926
A2 : 0x00000000 A3 : 0x00000600 A4 : 0x00000000 A5 : 0x3f43c735
A6 : 0x00000180 A7 : 0xfffffffc A8 : 0x8000814b A9 : 0x3ffc2594
A10 : 0x00000000 A11 : 0x3ffc25b7 A12 : 0x3ffc2563 A13 : 0x00000034
A14 : 0x00000000 A15 : 0x3ffc2568 SAR : 0x00000004 EXCCAUSE: 0x00000000
EXCVADDR: 0x00000000 LBEG : 0x400834fd LEND : 0x40083505 LCOUNT : 0x00000027
0x400834fd: esp_timer_impl_get_counter_reg at C:/Espressif/frameworks/esp-idf-v5.2/components/esp_timer/src/esp_timer_impl_lac.c:118
0x40083505: esp_timer_impl_get_counter_reg at C:/Espressif/frameworks/esp-idf-v5.2/components/esp_timer/src/esp_timer_impl_lac.c:128
Backtrace: 0x40090ff8:0x3ffc2624 |<-CORRUPTED
0x40090ff8: r_assert at C:/Espressif/frameworks/esp-idf-v5.2/components/bt/controller/esp32/bt.c:1925
More Information.
No response
We will disable modem sleep to check if this solve the problem, but this is not right
With sleep disable in bluetooth the error doenst happen anymore, so, error are linked to the modem sleep in some scenario.
Same happen another time with the sleep disable and also wifi to ps none, panic´ed
heap: string at ROData: 0x3f414648 PC: 0x401165ad
The issue we have fixed in the latest master branch (fix commit 89b848d0186a8649b18653cfb1d43f148a251bad), but the branch is not synchronized yet, which will take some time.
please replace components/bt/controller/lib_esp32/esp32/libbtdm_app.a b2bdfeb.zip
Hi @zhp0406
please replace components/bt/controller/lib_esp32/esp32/libbtdm_app.a b2bdfeb.zip
I did replace it but now the problem occurs here not everytime, but occurs almost once a day.
ASSERT_PARAM(1536 0), in rwble.c at line 390 Guru Meditation Error: Core 0 panic'ed (IllegalInstruction). Exception was unhandled. Memory dump at 0x4009103c: 0000f01d 00004136 f01d0000 0x4009103c: btdm_sleep_check_duration at C:/Espressif/frameworks/esp-idf-v5.2/components/bt/controller/esp32/bt.c:919
Core 0 register dump: PC : 0x40091043 PS : 0x00060034 A0 : 0x8008bae6 A1 : 0x3ffc24b4 0x40091043: r_assert at C:/Espressif/frameworks/esp-idf-v5.2/components/bt/controller/esp32/bt.c:1926
A2 : 0x00000000 A3 : 0x00000600 A4 : 0x00000000 A5 : 0x3f41fbbc A6 : 0x00000186 A7 : 0xfffffffc A8 : 0x8000814b A9 : 0x3ffc2424 A10 : 0x00000000 A11 : 0x3ffc2447 A12 : 0x3ffc23f3 A13 : 0x00000030 A14 : 0x00000000 A15 : 0x3ffc23f8 SAR : 0x00000004 EXCCAUSE: 0x00000000 EXCVADDR: 0x00000000 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000
Backtrace: 0x40091040:0x3ffc24b4 |<-CORRUPTED 0x40091040: r_assert at C:/Espressif/frameworks/esp-idf-v5.2/components/bt/controller/esp32/bt.c:1925
ELF file SHA256: 79744ba5e
error in
/**
- This function re-write controller's function,
- As coredump can not show parameters in function which is in a .a file.
- After coredump fixing this issue, just delete this function. */ void IRAM_ATTR r_assert(const char *condition, int param0, int param1, const char *file, int line) { asm volatile("ill\n"); }
Even coredump is disable the problem happen anyway.
Also coredump is trashed in 5.2.1 in commit 9b3ae86417f5b812650e3382ad14d4139c563c60 (HEAD -> release/v5.2, origin/release/v5.2) Merge: eb7c381761 373e585bb7 Author: morris [email protected] Date: Thu Apr 25 16:31:22 2024 +0800
Merge branch 'bugfix/fix_gpio_etm_multi_task_v5.2' into 'release/v5.2'
fix(gpio_etm): allow one GPIO binds to multiple ETM tasks (v5.2)
See merge request espressif/esp-idf!30456
@filzek ok,thanks for your testing, Please help me test the latest lib. Thank you. make sure BT LIB version : 4fb2129(shown in boot log) 4fb2129.zip
still there BT crashes Software reset due to exception/panic (ESP_RST_PANIC) Reset (software or hardware) due to interrupt watchdog (ESP_RST_INT_WDT)
it print this ELx200 ELx200 ELx200 ELx200 ELx200 ELx200 ELx200 ELx200 ELx200 ELx200 ELx200 ELx200 ELx200 ELx200 ELx200 ELx200 ELx200 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 ELx600 and crash Reset (software or hardware) due to interrupt watchdog (ESP_RST_INT_WDT)
Thank you for your feedback. You can use the following library to test and provide me with the complete log: make sure: BTDM_INIT: BT controller compile version [257d8b4] 257d8b4.zip
ps: If the new library still can't solve your problem, could you please provide more detailed information about the scenario where the issue occurs and the steps to reproduce it? Thank you.
4fb2129.zip this lib also corrupted the wifi breaking the TLS/Wifi connection, corrumpting the wifi task.
Now we have build and it is running the new firmware with 257d8b4.zip with DEBUG logs turned on.
Thank you for your feedback. You can use the following library to test and provide me with the complete log: make sure: BTDM_INIT: BT controller compile version [257d8b4] 257d8b4.zip
ps: If the new library still can't solve your problem, could you please provide more detailed information about the scenario where the issue occurs and the steps to reproduce it? Thank you.
@zhp0406 still broken
D (4734845) HTTP_CLIENT: Write header[5]: POST /prod/node/data?node_id=4C6C13005A78 HTTP/1.1
User-Agent: ESP32 HTTP Client/1.0
Host: client.insights.espressif.com
Authorization: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiODRmZTBkZGUtOGZkMy00ZjAxLWFjZTctMjI5NmEyOTU2OGZhIiwiaXNzIjoiZTMyMmI1OWMtNjNjYy00ZTQwLThlYTItNGU3NzY2NTQ1Y2NhIiwic3ViIjoiNGFlMGU2MDYtMzQ1Ny00NjRiLTk2N2QtMzFkZDQ3MTM1ODk0IiwiZXhwIjoyMDI5OTg3NjgzLCJpYXQiOjE3MTQ2Mjc2ODN9.fgOhVzO-Qv8TKleBFFGgRvDTb_hs4IfoYgNbC47S9ZSggJdq1dQL3ckA72BmtSEPMgjJXUeW2suNkR6xJM5QO3_y0llnxewMwD_bfn6SNXDcUIEl6cL3FMZDY4sVI9Q_oTZweO4LWI3CxBvj7Xw9FhEf4hsJ_EEgPztHn4H03AVnASsLZyItiptvrKXpZU0Pr83KLe_bWFF3c2XA9Rcd5iL8VCF8K5Xyxd-hUA-FWSd6KH-egh0frTLFvfhALlNTNzKgHibIH3UOTVB63f3yeOFPBbaAaAUQ08Utm7dc2qaP6T1BpH-D8AKzL9QSU2F4LRvfE9tx8sD3bRKLudrjdQ
Content-type: application/octet-stream
Content-Length: 221
[0m D (4734835) NimBLE: subevent: 0x2[0m D (4735005) NimBLE: [0m D (4734995) tport_https: HTTP_EVENT_HEADER_SENT[0m D (4735005) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735025) NimBLE: subevent: 0x2[0m D (4735035) NimBLE: [0m D (4735035) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735055) NimBLE: subevent: 0x2[0m D (4735055) NimBLE: [0m D (4735065) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735075) NimBLE: subevent: 0x2[0m D (4735075) NimBLE: [0m D (4735085) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735095) NimBLE: subevent: 0x2[0m D (4735105) NimBLE: [0m D (4735105) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735115) NimBLE: subevent: 0x2[0m D (4735125) NimBLE: [0m D (4735125) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735135) NimBLE: subevent: 0x2[0m D (4735145) NimBLE: [0m D (4735155) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735165) NimBLE: subevent: 0x2[0m D (4735165) NimBLE: [0m D (4734845) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:1 posted to loop 0x3ffbdadc[0m D (4735175) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735205) NimBLE: subevent: 0x2[0m D (4735215) NimBLE: [0m D (4735215) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:2 posted to loop 0x3ffbdadc[0m D (4735275) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735275) NimBLE: subevent: 0x2[0m D (4735275) NimBLE: [0m D (4735325) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735325) NimBLE: subevent: 0x2[0m D (4735325) NimBLE: [0m D (4735365) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735365) NimBLE: subevent: 0x2[0m D (4735365) NimBLE: [0m D (4735445) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735445) NimBLE: subevent: 0x2[0m D (4735445) NimBLE: [0m D (4735445) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735465) NimBLE: subevent: 0x2[0m D (4735465) NimBLE: [0m D (4735475) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735475) HTTP_CLIENT: on_message_begin[0m D (4735485) NimBLE: subevent: 0x2[0m D (4735495) HTTP_CLIENT: HEADER=Date:Mon, 13 May 2024 23:10:48 GMT[0m D (4735495) NimBLE: [0m D (4735505) tport_https: HTTP_EVENT_ON_HEADER Date:Mon, 13 May 2024 23:10:48 GMT[0m D (4735515) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735525) HTTP_CLIENT: HEADER=Content-Type:application/json; charset=utf-8[0m D (4735545) NimBLE: subevent: 0x2[0m D (4735565) NimBLE: [0m D (4735555) tport_https: HTTP_EVENT_ON_HEADER Content-Type:application/json; charset=utf-8[0m D (4735565) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735595) NimBLE: subevent: 0x2[0m D (4735605) NimBLE: [0m D (4735585) HTTP_CLIENT: HEADER=Content-Length:9[0m D (4735545) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:3 posted to loop 0x3ffbdadc[0m D (4735615) tport_https: HTTP_EVENT_ON_HEADER Content-Length:9[0m D (4735635) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:3 posted to loop 0x3ffbdadc[0m D (4735655) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735645) HTTP_CLIENT: HEADER=Connection:keep-alive[0m D (4735675) NimBLE: subevent: 0x2[0m D (4735695) NimBLE: [0m D (4735685) tport_https: HTTP_EVENT_ON_HEADER Connection:keep-alive[0m D (4735695) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735725) NimBLE: subevent: 0x2[0m D (4735715) HTTP_CLIENT: HEADER=Apigw-Requestid:Xu2e1jL9IAMEMbg=[0m D (4735725) NimBLE: [0m D (4735745) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735745) tport_https: HTTP_EVENT_ON_HEADER Apigw-Requestid:Xu2e1jL9IAMEMbg=[0m D (4735755) NimBLE: subevent: 0x2[0m D (4735775) NimBLE: [0m D (4735775) HTTP_CLIENT: http_on_headers_complete, status=200, offset=181, nread=181[0m D (4735785) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735805) NimBLE: subevent: 0x2[0m D (4735795) HTTP_CLIENT: http_on_body 9[0m D (4735815) NimBLE: [0m D (4735825) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735845) NimBLE: subevent: 0x2[0m D (4735825) tport_https: HTTP_EVENT_ON_DATA, len=9[0m D (4735845) NimBLE: [0m D (4735865) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735855) tport_https: "SUCCESS" [0m D (4735875) NimBLE: subevent: 0x2[0m D (4735885) NimBLE: [0m D (4735875) HTTP_CLIENT: http_on_message_complete, parser=0x3ffe33c0[0m D (4735895) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735915) NimBLE: subevent: 0x2[0m D (4735905) HTTP_CLIENT: content_length = 9[0m D (4735935) tport_https: HTTP_EVENT_ON_FINISH[0m D (4735925) NimBLE: [0m D (4735945) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4735935) tport_https: HTTP_EVENT_DISCONNECTED[0m D (4735955) NimBLE: subevent: 0x2[0m D (4735985) NimBLE: [0m D (4735975) nvs: nvs_open_from_partition nvs 0[0m D (4735985) nvs: nvs_get i_meta_crc 4[0m D (4735985) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736005) NimBLE: subevent: 0x2[0m D (4735995) nvs: nvs_close 316[0m D (4736005) NimBLE: [0m D (4736025) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736015) nvs: nvs_open_from_partition nvs 0[0m D (4736035) NimBLE: subevent: 0x2[0m D (4736045) NimBLE: [0m D (4736045) nvs: nvs_get i_meta_crc 4[0m D (4736055) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736075) NimBLE: subevent: 0x2[0m D (4736065) nvs: nvs_close 317[0m D (4736075) NimBLE: [0m D (4736085) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736085) nvs: nvs_open_from_partition nvs 0[0m D (4736095) NimBLE: subevent: 0x2[0m D (4736115) NimBLE: [0m D (4736105) nvs: nvs_get i_meta_crc 4[0m D (4736125) nvs: nvs_close 318[0m D (4736115) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736145) NimBLE: subevent: 0x2[0m D (4736155) NimBLE: [0m D (4736155) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736165) NimBLE: subevent: 0x2[0m D (4736175) NimBLE: [0m D (4736175) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736185) NimBLE: subevent: 0x2[0m D (4736195) NimBLE: [0m D (4736205) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736215) NimBLE: subevent: 0x2[0m D (4736215) NimBLE: [0m D (4736225) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736235) NimBLE: subevent: 0x2[0m D (4736245) NimBLE: [0m D (4736245) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736255) NimBLE: subevent: 0x2[0m D (4736265) NimBLE: [0m D (4736265) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736285) NimBLE: subevent: 0x2[0m D (4736285) NimBLE: [0m D (4736295) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736305) NimBLE: subevent: 0x2[0m D (4736305) NimBLE: [0m D (4736315) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736325) NimBLE: subevent: 0x2[0m D (4736335) NimBLE: [0m D (4736335) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736345) NimBLE: subevent: 0x2[0m D (4736355) NimBLE: [0m D (4736355) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736365) NimBLE: subevent: 0x2[0m D (4736375) NimBLE: [0m D (4736385) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736395) NimBLE: subevent: 0x2[0m D (4736395) NimBLE: [0m D (4736405) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736415) NimBLE: subevent: 0x2[0m D (4736415) NimBLE: [0m D (4736425) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736435) NimBLE: subevent: 0x2[0m D (4736445) NimBLE: [0m D (4736445) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736455) NimBLE: subevent: 0x2[0m D (4736465) NimBLE: [0m D (4736465) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736485) NimBLE: subevent: 0x2[0m D (4736485) NimBLE: [0m D (4735675) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:3 posted to loop 0x3ffbdadc[0m D (4736515) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:3 posted to loop 0x3ffbdadc[0m D (4736535) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:3 posted to loop 0x3ffbdadc[0m D (4736555) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:4 posted to loop 0x3ffbdadc[0m D (4736555) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736585) NimBLE: subevent: 0x2[0m D (4736595) NimBLE: [0m D (4736595) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736605) NimBLE: subevent: 0x2[0m D (4736615) NimBLE: [0m D (4736615) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736625) NimBLE: subevent: 0x2[0m D (4736635) NimBLE: [0m D (4736645) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736655) NimBLE: subevent: 0x2[0m D (4736655) NimBLE: [0m D (4736665) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736675) NimBLE: subevent: 0x2[0m D (4736685) NimBLE: [0m D (4736685) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736695) NimBLE: subevent: 0x2[0m D (4736705) NimBLE: [0m D (4736705) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736715) NimBLE: subevent: 0x2[0m D (4736725) NimBLE: [0m D (4736725) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736745) NimBLE: subevent: 0x2[0m D (4736745) NimBLE: [0m D (4736755) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736765) NimBLE: subevent: 0x2[0m D (4736765) NimBLE: [0m D (4736775) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736785) NimBLE: subevent: 0x2[0m D (4736795) NimBLE: [0m D (4736805) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736805) NimBLE: subevent: 0x2[0m D (4736815) NimBLE: [0m D (4736815) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736835) NimBLE: subevent: 0x2[0m D (4736835) NimBLE: [0m D (4736845) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736855) NimBLE: subevent: 0x2[0m D (4736855) NimBLE: [0m D (4736865) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736875) NimBLE: subevent: 0x2[0m D (4736885) NimBLE: [0m D (4736885) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736895) NimBLE: subevent: 0x2[0m D (4736905) NimBLE: [0m D (4736905) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4736915) NimBLE: subevent: 0x2[0m D (4736925) NimBLE: [0m D (4736935) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:5 posted to loop 0x3ffbdadc[0m D (4736955) event: running post INSIGHTS_EVENT:0 with handler 0x4010ce9c and context 0x3ffe3e74 on loop 0x3ffbdadc[0m 0x4010ce9c: insights_event_handler at D:/Dropbox/Dev/Producao5/managed_components/espressif__esp_insights/src/esp_insights.c:244 D (4736975) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:6 posted to loop 0x3ffbdadc[0m D (4737075) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4737075) NimBLE: subevent: 0x2[0m D (4737075) NimBLE: [0m D (4737125) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4737125) NimBLE: subevent: 0x2[0m D (4737125) NimBLE: [0m D (4737125) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e [0m D (4737135) NimBLE: subevent: 0x2[0m D (4737145) NimBLE: ELx00000200 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600 ELx00000600
@zhp0406
Currently every 3 minutes we ran a insights post of memory and heap, also do a simple NIMBLE scan for all listened BLE for 30 seconds, just it, randomly it crashes wih the result as show below.
I am at:
commit f8319f08cca75236c29eecfce01886a671f4fc17 (HEAD -> release/v5.2, origin/release/v5.2) Merge: 83a73e994d dcf6b54e94 Author: Marius Vikhammer [email protected] Date: Thu May 9 15:41:59 2024 +0800
Merge branch 'fix/reduce-binary-size_v5.2' into 'release/v5.2'
Reduce binary size (v5.2)
See merge request espressif/esp-idf!30656
@filzek Thank you for your feedback. We still need to do further debugging on our side. We need to reproduce the issue locally. Could you provide us with an example to replicate the problem?
@zhp0406 the BLE code is: BLE INIT:
if(debug_nimble){
printf("INITIATING NIMBLE FRAMEWORK\n");
}
if (!nimble_started){
ret = nimble_port_init();
if (ret != ESP_OK) {
printf("ERROR nimble_port_init [%s] [%s] [%d]\n",__FILE__,__func__, __LINE__ );
if (debug_string_enable){
if (debug_string_ble) {
debug_add("%s %s initialize controller failed -err[%d][%s] WILL RESTART\n",__FILE__, __func__, ret, esp_err_to_name(ret));
wait(5000);
}
}
// esp_restart();
return;
}
else {
nimble_started = 1;
if (debug_ble)
printf("BLE INICIALIZADO PERFEITAMENTE\n");
}
}
esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_ADV, ESP_PWR_LVL_P9);
esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_DEFAULT, ESP_PWR_LVL_P9);
/* Initialize connection_handle array */
for (int i = 0; i <= CONFIG_BT_NIMBLE_MAX_CONNECTIONS; i++) {
conn_handle_subs[i] = false;
}
// /* Initialize uart driver and start uart task */
// ble_spp_uart_init();
ble_hs_cfg.reset_cb = ble_spp_server_on_reset;
ble_hs_cfg.sync_cb = ble_spp_server_on_sync;
ble_hs_cfg.gatts_register_cb = gatt_svr_register_cb;
ble_hs_cfg.store_status_cb = ble_store_util_status_rr;
ble_hs_cfg.sm_io_cap = 3;
#ifdef CONFIG_EXAMPLE_BONDING
ble_hs_cfg.sm_bonding = 1;
#endif
#ifdef CONFIG_EXAMPLE_MITM
ble_hs_cfg.sm_mitm = 1;
#endif
#ifdef CONFIG_EXAMPLE_USE_SC
ble_hs_cfg.sm_sc = 1;
#else
ble_hs_cfg.sm_sc = 0;
#endif
#ifdef CONFIG_EXAMPLE_BONDING
ble_hs_cfg.sm_our_key_dist = 1;
ble_hs_cfg.sm_their_key_dist = 1;
#endif
/* Register custom service */
ble_svc_gap_init();
ble_svc_gatt_init();
ret = ble_gatts_count_cfg(new_ble_svc_gatt_defs);
if (ret != 0) {
printf("ERROR ble_gatts_count_cfg\n");
}
ret = ble_gatts_add_svcs(new_ble_svc_gatt_defs);
if (ret != 0) {
printf("ERROR ble_gatts_add_svcs\n");
}
/* Set the default device name. */
ret = ble_svc_gap_device_name_set(SPP_DEVICE_NAME);
if (ret != 0) {
printf("ERROR ble_svc_gap_device_name_set\n");
}
local_mtu_ret = ble_att_set_preferred_mtu(273);
/* XXX Need to have template for store */
ble_store_config_init();
nimble_port_freertos_init(ble_spp_server_host_task);
esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_ADV, ESP_PWR_LVL_P9);
esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_DEFAULT, ESP_PWR_LVL_P9);
init_ble_device_list();
So all other calls
// Initialize the BLE device list in SPIRAM
static esp_err_t init_ble_device_list() {
// Allocate memory in SPIRAM for the devices list
if (!ble_devices){
ble_devices = TRACEABLE_HEAP_CAPS_MALLOC(MAX_DEVICES * sizeof(ble_device_t), MALLOC_CAP_SPIRAM);
if (!ble_devices) {
ESP_LOGE("BLESCAN", "Failed to allocate memory for BLE device list");
return ESP_ERR_NO_MEM;
}
memset(ble_devices, 0, MAX_DEVICES * sizeof(ble_device_t)); //MAX_DEVICES is set to 100
return ESP_OK;
}
else {
ESP_LOGE("BLESCAN", "Already allocate memory for BLE device list");
return ESP_OK;
}
return ESP_FAIL;
}
// Structure to hold the device information
typedef struct {
uint8_t bda[ESP_BD_ADDR_LEN];
char name[MAX_DEVICE_NAME_LEN];
float avg_rssi; // Average RSSI
int min_rssi; // Minimum RSSI observed
int max_rssi; // Maximum RSSI observed
int rssi_count; // Number of RSSI readings
time_t last_seen;
time_t last_cloud_update;
time_t last_local_update;
bool has_change;
int delete;
} ble_device_t;
// Event handler for BLE GAP events
static int ble_gap_event_handler(struct ble_gap_event *event, void *arg) {
switch (event->type) {
case BLE_GAP_EVENT_DISC: {
uint8_t reversed[6];
for (int i = 0; i < 6; i++) {
reversed[5 - i] = event->disc.addr.val[i];
}
if (debug_ble_scan)
printf("Device found: BDA %02x:%02x:%02x:%02x:%02x:%02x RSSI %d \n",
reversed[0], reversed[1], reversed[2],
reversed[3], reversed[4], reversed[5],
event->disc.rssi);
struct ble_hs_adv_fields fields;
memset(&fields, 0, sizeof(fields));
ble_hs_adv_parse_fields(&fields, event->disc.data, event->disc.length_data);
// Check if the first 3 octets of the BDA match the desired address
if (reversed[0] == 0xA1 &&
reversed[1] == 0xB2 &&
reversed[2] == 0xC3) {
char device_name[MAX_DEVICE_NAME_LEN] = {0};
if (fields.name != NULL && fields.name_len > 0) {
size_t name_len = fields.name_len > (MAX_DEVICE_NAME_LEN - 1) ? (MAX_DEVICE_NAME_LEN - 1) : fields.name_len;
strncpy(device_name, (char *)fields.name, name_len);
device_name[name_len] = '\0'; // Ensure null-termination
// You can update your device list or handle the found device here
// update_ble_device_list(reversed, device_name, event->disc.rssi);
}
update_ble_device_list(reversed, device_name, event->disc.rssi);
// Calculate the estimated distance
int rssi = event->disc.rssi;
int measured_power = -59; // Typical value for BLE, adjust for your device
float n = 2.0; // Environmental factor, typical values are between 2 and 4
float distance = pow(10, ((measured_power - rssi) / (10 * n)));
/// Print device info
if (debug_ble_scan){
printf("Filtered device found: BDA %02x:%02x:%02x:%02x:%02x:%02x, RSSI %d, Name: %s, Estimated distance: %.2f meters\n",
reversed[0], reversed[1], reversed[2],
reversed[3], reversed[4], reversed[5],
event->disc.rssi, device_name, distance);
}
}
break;
}
case BLE_GAP_EVENT_DISC_COMPLETE: {
if(ble_devices_list_change_1>0){
ble_devices_list_change = true;
}
if (debug_ble_scan){
printf("NIMBLE scanning complete.\n");
print_ble_devices();
}
break;
}
default:
break;
}
return 0;
}
static const struct ble_gap_disc_params ble_scan_params = {
.itvl = 0x50, // This is equivalent to Bluedroid's scan_interval
.window = 0x30, // Equivalent to Bluedroid's scan_window
.filter_policy = BLE_HCI_SCAN_FILT_NO_WL,
.limited = 0,
.passive = 0 // Set to 1 for passive scanning
};
void ble_scan(){
int rc = ble_gap_disc(BLE_OWN_ADDR_PUBLIC, 30000, &ble_scan_params, ble_gap_event_handler, NULL); //BLE_HS_FOREVER will run forever 30000 is like 30 seconds like bluedroid
if (rc != 0) {
printf("Error initiating BLE scan: %d\n", rc);
}
else {
if (debug_ble_scan)
printf("initiating NIMBLE scan: %d\n", rc);
}
}
static void update_ble_device_list(const uint8_t *bda, const char *name, int rssi) {
time_t now;
time(&now);
// First, try to find an existing entry with the same BDA and name
for (size_t i = 0; i < ble_device_count; ++i) {
if (memcmp(ble_devices[i].bda, bda, ESP_BD_ADDR_LEN) == 0 &&
strncmp(ble_devices[i].name, name, MAX_DEVICE_NAME_LEN) == 0) {
// BDA and name match, update the existing entry
ble_devices[i].avg_rssi = ((ble_devices[i].avg_rssi * ble_devices[i].rssi_count) + rssi) / (ble_devices[i].rssi_count + 1);
ble_devices[i].rssi_count++;
if (rssi < ble_devices[i].min_rssi) {
ble_devices[i].min_rssi = rssi;
ble_devices[ble_device_count].has_change = true;
}
if (rssi > ble_devices[i].max_rssi) {
ble_devices[i].max_rssi = rssi;
ble_devices[ble_device_count].has_change = true;
}
ble_devices[i].last_seen = now;
ble_devices_list_change_1++;
return;
}
}
// If no existing entry matches both BDA and name, add a new entry
if (ble_device_count < MAX_DEVICES) {
memcpy(ble_devices[ble_device_count].bda, bda, ESP_BD_ADDR_LEN);
strncpy(ble_devices[ble_device_count].name, name, MAX_DEVICE_NAME_LEN);
ble_devices[ble_device_count].avg_rssi = rssi;
ble_devices[ble_device_count].min_rssi = rssi;
ble_devices[ble_device_count].max_rssi = rssi;
ble_devices[ble_device_count].rssi_count = 1;
ble_devices[ble_device_count].last_seen = now;
ble_devices[ble_device_count].has_change = true;
ble_device_count++;
} else {
// Handle the case where the device list is full
printf("Device list is full. Unable to add new device.\n");
}
}
called every 3 minutes:
ble_scan();
The other active taks in esp32 system is: Zero crossing with timer dispatch to arm a triac with the correct power / dimer. Websocket connection, with queue for receive and send data, so, once the ble list is finished it creates a packet and send to the websocket and clear the ble list sent
thats all the code.
can you disclose how the nimble could lock it into ELx00000600 and also corrupt wifi task?
update the 5.2 to the latest commit at commit 70fc0e3037b240aacaf665d2c6f622ad54b510c0 (HEAD -> release/v5.2, origin/release/v5.2) Merge: 3b15317109 2fc047d61d Author: Jiang Jiang Jian [email protected] Date: Mon May 13 22:13:32 2024 +0800
Merge branch 'fix/some_fix_for_openthread_backport_5_2' into 'release/v5.2'
Fix/some fix for openthread (backport v5.2)
See merge request espressif/esp-idf!30796
lets test it again
@zhp0406 still problem,
we have update the sdk til
commit 70fc0e3037b240aacaf665d2c6f622ad54b510c0 (HEAD -> release/v5.2, origin/release/v5.2) Merge: 3b15317109 2fc047d61d Author: Jiang Jiang Jian [email protected] Date: Mon May 13 22:13:32 2024 +0800
Merge branch 'fix/some_fix_for_openthread_backport_5_2' into 'release/v5.2'
Fix/some fix for openthread (backport v5.2)
Guru Meditation Error: Core 0 panic'ed (IllegalInstruction). Exception was unhandled. Memory dump at 0x4009035c: 0000f01d 00004136 f01d0000 0x4009035c: btdm_sleep_check_duration at C:/Espressif/frameworks/esp-idf-v5.2/components/bt/controller/esp32/bt.c:919
Core 0 register dump: PC : 0x40090363 PS : 0x00060d34 A0 : 0x8008adfa A1 : 0x3ffc2554 0x40090363: r_assert at C:/Espressif/frameworks/esp-idf-v5.2/components/bt/controller/esp32/bt.c:1926
A2 : 0x00000000 A3 : 0x00000600 A4 : 0x00000000 A5 : 0x3f418669 A6 : 0x00000186 A7 : 0xfffffffc A8 : 0x8000814b A9 : 0x3ffc24c4 A10 : 0x00000000 A11 : 0x3ffc24e7 A12 : 0x3ffc2493 A13 : 0x00000030 A14 : 0x00000000 A15 : 0x3ffc2498 SAR : 0x00000004 EXCCAUSE: 0x00000000 EXCVADDR: 0x00000000 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000
Backtrace: 0x40090360:0x3ffc2554 |<-CORRUPTED 0x40090360: r_assert at C:/Espressif/frameworks/esp-idf-v5.2/components/bt/controller/esp32/bt.c:1925
Hi @zhp0406, we can confirm that the problem are direct related to the Bluetooh/BLE framework.
If we don't call the NimBLE initialization (keeping it disabled in the software), the problem does not occur. However, if we enable NimBLE without establishing any connection or invoking any BLE-related functions, the problem arises.
@filzek Could you test several other versions (for example, v5.2.0 or even earlier) to see if the issue persists? If the problem appeared in the recent versions, could you use the git bisect command to help identify the first commit where the issue occurred? I would greatly appreciate it.
@filzek Could you test several other versions (for example, v5.2.0 or even earlier) to see if the issue persists? If the problem appeared in the recent versions, could you use the git bisect command to help identify the first commit where the issue occurred? I would greatly appreciate it.
Hi @zhp0406,
we cant as even from the 5.2.0 the bug happen all the time, all version, until now no 5.2 can still without crash the ble with panic, wdt or a hard crash, major time the ble crash without any terminal output at all. So, all version are corrupted somehow and with problem.
Thank you for your feedback. If you find a working version, please let us know. Thank you!
@zhp0406
The problem doesn't happen at all with the old framework version 4.4.4. However, it does occur with the new versions 5.2, 5.2.1, and the latest git commit as described above.
One interesting thing we found out today is that if we enable verbose logging, the problem doesn't occur.
So, the problem are related to the BLE somehow creating some event that disturb the system into a crash state, sometime panic or wdt as ESP_RST_INT_WDT Reset (software or hardware) due to interrupt watchdog, so, we cant let the log run for release mode, and the BLE/Bluetooth driver doesnt show exact where the crash happen, maybe you could build a version with a func and LINE call to print there the problem calls the reset, is it possible?
It seems that this issue was introduced recently, as v4.4.4 is quite an old version. Could you use bisect to find the first commit where the issue occurs? Additionally, could you provide a complete example to reproduce this issue?
Cant provide full working code to debug as it is all private, but the basics running the websocket, the ble running, and the espressif insights the bug occurs.
D (11449) wl_flash: flush - result= 0x00000000, wl_dummy_sec_move_count= 0x00000007 D (11489) BTDM_INIT: Release DRAM [0x3ffb2730] - [0x3ffb6388] I (11489) BTDM_INIT: BT controller compile version [4012cfb]D (11489) intr_alloc: Connected src -5 to int 29 (cpu 0) [0m D (11499) BTDM_INIT: .data initialise [0x3ffae6e0] <== [0x4000d890] D (11509) BTDM_INIT: .bss initialise [0x3ffb0000] - [0x3ffb09a8] D (11519) BTDM_INIT: .bss initialise [0x3ffb09a8] - [0x3ffb1ddc] D (11539) BTDM_INIT: .bss initialise [0x3ffb1ddc] - [0x3ffb2730] D (11549) BTDM_INIT: .bss initialise [0x3ffb8000] - [0x3ffb9a20] D (11559) BTDM_INIT: .bss initialise [0x3ffbdb28] - [0x3ffbdb5c]
ASSERT_PARAM(1536 0), in rwble.c at line 390 Guru Meditation Error: Core 0 panic'ed (IllegalInstruction). Exception was unhandled. Memory dump at 0x4009205c: 0000f01d 00004136 f01d0000 0x4009205c: btdm_sleep_check_duration at C:/Espressif/frameworks/esp-idf-v5.2/components/bt/controller/esp32/bt.c:919
Core 0 register dump: PC : 0x40092063 PS : 0x00060034 A0 : 0x8008cb26 A1 : 0x3ffc26d4 0x40092063: r_assert at C:/Espressif/frameworks/esp-idf-v5.2/components/bt/controller/esp32/bt.c:1926
A2 : 0x00000000 A3 : 0x00000600 A4 : 0x00000000 A5 : 0x3f45a556 A6 : 0x00000186 A7 : 0xfffffffc A8 : 0x8000814b A9 : 0x3ffc2644 A10 : 0x00000000 A11 : 0x3ffc2667 A12 : 0x3ffc2613 A13 : 0x00000030 A14 : 0x00000000 A15 : 0x3ffc2618 SAR : 0x00000004 EXCCAUSE: 0x00000000 EXCVADDR: 0x00000000 LBEG : 0x40093164 LEND : 0x40093180 LCOUNT : 0xffffffff 0x40093164: memcpy at /builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/src/newlib/newlib/libc/machine/xtensa/memcpy.S:162 0x40093180: memcpy at /builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/src/newlib/newlib/libc/machine/xtensa/memcpy.S:197
Backtrace: 0x40092060:0x3ffc26d4 |<-CORRUPTED
ELF file SHA256: 602539c95
commit 9f4f8e24f2235098a022e57927fd1688f62578dc (HEAD -> release/v5.2, origin/release/v5.2) Merge: 5ff245f7f9 89c22c63e6 Author: Jiang Jiang Jian [email protected] Date: Fri May 24 21:20:22 2024 +0800
Merge branch 'fix/freertos_scheduler_suspend_crit_v5.2' into 'release/v5.2'
fix(freertos/idf): Add missing critical sections to vTaskSuspendAll() (v5.2)
Based on your description, the issue was introduced by commit 9f4f8e24f2235098a022e57927fd1688f62578dc. However, this commit was merged into the IDF recently(Date: Fri May 24 21:20:22 2024 +0800), while your issue was reported a month ago(2024.5.1). Are you sure this commit is the cause?
Thank you for your feedback. You can use the following library to test and provide me with the complete log: make sure: BTDM_INIT: BT controller compile version [257d8b4] 257d8b4.zip
ps: If the new library still can't solve your problem, could you please provide more detailed information about the scenario where the issue occurs and the steps to reproduce it? Thank you.
@zhp0406 the 257d8b4 also corrupts and prints the lines
ELx00000200 or ELx00000600
Based on your description, the issue was introduced by commit 9f4f8e2. However, this commit was merged into the IDF recently(Date: Fri May 24 21:20:22 2024 +0800), while your issue was reported a month ago(2024.5.1). Are you sure this commit is the cause?
not sure what is the commit that creates the problem, but it happens since the release 5.2, we will remove the lib and pull the lib from the repository as of 5.2.2. and test now.