Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

backtrace for abort / panic not available in coredump (IDFGH-4276) #6124

Closed
mmadela opened this issue Nov 17, 2020 · 26 comments
Closed

backtrace for abort / panic not available in coredump (IDFGH-4276) #6124

mmadela opened this issue Nov 17, 2020 · 26 comments
Labels
Resolution: Done Issue is done internally Status: Done Issue is done internally

Comments

@mmadela
Copy link

mmadela commented Nov 17, 2020

Environment

  • Development Kit: ESP32-Wrover-Kit or ESP32-DevKitC
  • Kit version (for WroverKit/PicoKit/DevKitC): v4
  • Module or chip used: ESP32-WROVER-B or ESP32-WROVER-B
  • IDF version (run git describe --tags to find it): v4.1
  • Build System: CMake
  • Compiler version (run xtensa-esp32-elf-gcc --version to find it): (crosstool-NG esp-2020r2) 8.2.0
  • Operating System: Windows
  • (Windows only) environment type: ESP Command Prompt
  • Using an IDE?: Yes Eclipse ESP-IDF Plugin
  • Power Supply: USB

Problem Description

the CoreDump component is intended to locate problems in the sources, but it cannot provide a backtrace in case of panic / assert / abort

Expected Behavior

Complete backtrace is available

Actual Behavior

Just 2 frames are available

#0  0x4008429c in invoke_abort () at D:/esp-idf/esp-idf-v4.1/components/esp32/panic.c:159
#1  0x40084698 in abort () at D:/esp-idf/esp-idf-v4.1/components/esp32/panic.c:174
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Steps to reproduce

  1. take an example (like examples / get-started / hello_world)
  2. put an assert(0); somewhere, for example in the loop, line 45 of hello_world_main.c, see below too
  3. configure coredump to flash in sdkconfig (or use attached config file)
  4. run the code
  5. read the dump via
    \esp-idf-v4.1\components\espcoredump\espcoredump.py -p COM15 info_corefile D:\eclipse_cpp\workspace\hello_world\build\hello-world.elf

Code to reproduce this issue

/* Hello World Example

   This example code is in the Public Domain (or CC0 licensed, at your option.)

   Unless required by applicable law or agreed to in writing, this
   software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
   CONDITIONS OF ANY KIND, either express or implied.
*/
#include <stdio.h>
#include "sdkconfig.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_system.h"
#include "esp_spi_flash.h"

#ifdef CONFIG_IDF_TARGET_ESP32
#define CHIP_NAME "ESP32"
#endif

#ifdef CONFIG_IDF_TARGET_ESP32S2BETA
#define CHIP_NAME "ESP32-S2 Beta"
#endif

void app_main(void)
{
    printf("Hello world!\n");

    /* Print chip information */
    esp_chip_info_t chip_info;
    esp_chip_info(&chip_info);
    printf("This is %s chip with %d CPU cores, WiFi%s%s, ",
            CHIP_NAME,
            chip_info.cores,
            (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "",
            (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "");

    printf("silicon revision %d, ", chip_info.revision);

    printf("%dMB %s flash\n", spi_flash_get_chip_size() / (1024 * 1024),
            (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");

    for (int i = 10; i >= 0; i--) {
        printf("Restarting in %d seconds...\n", i);
        vTaskDelay(1000 / portTICK_PERIOD_MS);
        assert(0);
    }
    printf("Restarting now.\n");
    fflush(stdout);
    esp_restart();
}

Other items if possible

@github-actions github-actions bot changed the title backtrace for abort / panic not available in coredump backtrace for abort / panic not available in coredump (IDFGH-4276) Nov 17, 2020
@igrr
Copy link
Member

igrr commented Nov 17, 2020

@mmadela Thanks for raising this issue. The issue is likely related to the handling of noreturn functions. When the last instruction of a noreturn function is a call to another function, the return address falls outside of the function boundary. This seems to cause gdb to interrupt the backtrace. We are looking into this issue and will post an update here once there is progress.

@maqian-cn
Copy link

i have a same problem. waiting for progress

@mmadela
Copy link
Author

mmadela commented Jun 10, 2021

in the meanwhile I realized, that a backtrace is present when coredump is downloaded from flash and parsed by the espcoredump.py

@maqian-cn
Copy link

maqian-cn commented Jun 21, 2021

`
if ((3 * 60 * pdMS_TO_TICKS(1000)) <= abs(xTaskGetTickCount() - xPrintTimeLogTick))
{

		xPrintTimeLogTick = xTaskGetTickCount();

		memset(time, 0, sizeof(time));

		Common_PrintTime(time, sizeof(time));

		ESP_LOGI(TAG, "Time: %s", time);

		ESP_LOGI(TAG, "Minimum Free memory: %d bytes", esp_get_minimum_free_heap_size());

		ESP_LOGI(TAG, "Free memory: %d bytes", esp_get_free_heap_size());

		assert(0);

}

`

in APP code, add "assert(0)" for testing coredump to flash.

coredump info below:

esptool.py v2.8
Serial port COM3
Connecting........_
Chip is ESP32D0WDQ5 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 24:6f:28:db:7b:f8
Uploading stub...
Running stub...
Stub running...
15928 (100 %)
15928 (100 %)
Read 15928 bytes at 0x3f0000 in 1.5 seconds (85.3 kbit/s)...
Hard resetting via RTS pin...

===============================================================
==================== ESP32 CORE DUMP START ====================

================== CURRENT THREAD REGISTERS ===================
pc 0x4008808b 0x4008808b <invoke_abort+27>
lbeg 0x400014fd 1073747197
lend 0x4000150d 1073747213
lcount 0xfffffffd 4294967293
sar 0x4 4
ps 0x60b20 396064
threadptr
br
scompare1
acclo
acchi
m0
m1
m2
m3
expstate
f64r_lo
f64r_hi
f64s
fcr
fsr
a0 0x40088364 1074299748
a1 0x3ffcb560 1073526112
a2 0x80040004 -2147221500
a3 0x2f 47
a4 0xc 12
a5 0xffffffff -1
a6 0x0 0
a7 0xfffffffe -2
a8 0x0 0
a9 0x3ffcb540 1073526080
a10 0x0 0
a11 0x3ffcb4f1 1073526001
a12 0x3ffcb49f 1073525919
a13 0x31 49
a14 0x0 0
a15 0x3ffcb4a2 1073525922

==================== CURRENT THREAD STACK =====================
#0 0x4008808b in invoke_abort () at D:/esp-idf/components/esp32/panic.c:156
#1 0x40088364 in abort () at D:/esp-idf/components/esp32/panic.c:171
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

======================== THREADS INFO =========================
Id Target Id Frame
19 process 18 0x4008a6e8 in xQueueGenericReceive (xQueue=0x3ffafae8, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at D:/esp-idf/components/freertos/queue.c:1592
18 process 17 0x4008a6e8 in xQueueGenericReceive (xQueue=0x3ffcd6fc, pvBuffer=0x3ffceb70, xTicksToWait=4294967295, xJustPeeking=0) at D:/esp-idf/components/freertos/queue.c:1592
17 process 16 0x4008a6e8 in xQueueGenericReceive (xQueue=0x3ffaeab0, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at D:/esp-idf/components/freertos/queue.c:1592
16 process 15 0x4008a6e8 in xQueueGenericReceive (xQueue=0x3ffafccc, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at D:/esp-idf/components/freertos/queue.c:1592
15 process 14 0x4008a6e8 in xQueueGenericReceive (xQueue=0x3ffd9238, pvBuffer=0x3ffd7e00, xTicksToWait=4294967295, xJustPeeking=0) at D:/esp-idf/components/freertos/queue.c:1592
14 process 13 0x4008a6e8 in xQueueGenericReceive (xQueue=0x3ffc795c, pvBuffer=0x3ffcd39c, xTicksToWait=4294967295, xJustPeeking=0) at D:/esp-idf/components/freertos/queue.c:1592
13 process 12 0x4008a6e8 in xQueueGenericReceive (/builds/idf/crosstool-NG/.build/src/gdb-7.10/gdb/inline-frame.c:171: internal-error: inline_frame_this_id: Assertion !frame_id_eq (*this_id, outer_frame_id)' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) [answered Y; input not from terminal] /builds/idf/crosstool-NG/.build/src/gdb-7.10/gdb/inline-frame.c:171: internal-error: inline_frame_this_id: Assertion !frame_id_eq (*this_id, outer_frame_id)' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) [answered Y; input not from terminal]
Reading symbols from .\build\ec600s-esp32-pg.elf...done.
[New

]
[New process 1]
[New process 2]
[New process 3]
[New process 4]
[New process 5]
[New process 6]
[New process 7]
[New process 8]
[New process 9]
[New process 10]
[New process 11]
[New process 12]
[New process 13]
[New process 14]
[New process 15]
[New process 16]
[New process 17]
[New process 18]
[Current thread is 1 ()]

======================= ALL MEMORY REGIONS ========================
Name Address Size Attrs
.rtc.text 0x400c0000 0x0 RW
.rtc.dummy 0x3ff80000 0x0 RW
.rtc.force_fast 0x3ff80000 0x0 RW
.rtc_noinit 0x50000000 0x0 RW
.rtc.force_slow 0x50000000 0x0 RW
.iram0.vectors 0x40080000 0x400 R XA
.iram0.text 0x40080400 0x1649c R XA
.dram0.data 0x3ffb0000 0x49b4 RW A
.noinit 0x3ffb49b4 0x0 RW
.flash.rodata 0x3f400020 0x3446c RW A
.flash.text 0x400d0018 0xabe8c R XA
.coredump.tasks.data 0x3ffcb6c8 0x16c RW
.coredump.tasks.data 0x3ffcb4a0 0x214 RW
.coredump.tasks.data 0x3ffc8624 0x16c RW
.coredump.tasks.data 0x3ffc8480 0x190 RW
.coredump.tasks.data 0x3ffc8db0 0x16c RW
.coredump.tasks.data 0x3ffc8c00 0x19c RW
.coredump.tasks.data 0x3ffdfb0c 0x16c RW
.coredump.tasks.data 0x3ffddef0 0x1bc RW
.coredump.tasks.data 0x3ffdf458 0x16c RW
.coredump.tasks.data 0x3ffdf200 0x244 RW
.coredump.tasks.data 0x3ffc9c44 0x16c RW
.coredump.tasks.data 0x3ffc9ae0 0x150 RW
.coredump.tasks.data 0x3ffdfe04 0x16c RW
.coredump.tasks.data 0x3ffe2070 0x200 RW
.coredump.tasks.data 0x3ffc7710 0x16c RW
.coredump.tasks.data 0x3ffcc450 0x1f0 RW
.coredump.tasks.data 0x3ffd6f04 0x16c RW
.coredump.tasks.data 0x3ffd6d50 0x1a0 RW
.coredump.tasks.data 0x3ffd5e58 0x16c RW
.coredump.tasks.data 0x3ffd5bf0 0x254 RW
.coredump.tasks.data 0x3ffd8f14 0x16c RW
.coredump.tasks.data 0x3ffd8d60 0x1a0 RW
.coredump.tasks.data 0x3ffd9c9c 0x16c RW
.coredump.tasks.data 0x3ffd9ad0 0x1b8 RW
.coredump.tasks.data 0x3ffdfc88 0x16c RW
.coredump.tasks.data 0x3ffe10b0 0x1b0 RW
.coredump.tasks.data 0x3ffcd464 0x16c RW
.coredump.tasks.data 0x3ffcd290 0x1c0 RW
.coredump.tasks.data 0x3ffd7f88 0x16c RW
.coredump.tasks.data 0x3ffd7cd0 0x2a4 RW
.coredump.tasks.data 0x3ffafd34 0x16c RW
.coredump.tasks.data 0x3ffc6710 0x188 RW
.coredump.tasks.data 0x3ffaf728 0x16c RW
.coredump.tasks.data 0x3ffaf580 0x194 RW
.coredump.tasks.data 0x3ffcec1c 0x16c RW
.coredump.tasks.data 0x3ffcea50 0x1b8 RW
.coredump.tasks.data 0x3ffafb50 0x16c RW
.coredump.tasks.data 0x3ffc6100 0x188 RW

===================== ESP32 CORE DUMP END =====================

Done!

==================== CURRENT THREAD STACK =====================
#0 0x4008808b in invoke_abort () at D:/esp-idf/components/esp32/panic.c:156
#1 0x40088364 in abort () at D:/esp-idf/components/esp32/panic.c:171
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

why Backtrace had not saved into flash? @mmadela @igrr

@mmadela
Copy link
Author

mmadela commented Jun 21, 2021

Backtrace is saved to flash only if this is configured so, see sdkconfig

@jkunkee
Copy link

jkunkee commented Jun 21, 2021

Core dumps store the backtraces of CONFIG_ESP32_CORE_DUMP_MAX_TASKS_NUM threads. The core dump analysis that @maqian-cn shared contains two backtraces, so I'm not sure what their point of confusion is.

It may help at this point to provide another concrete and clear example of what the issue is: during core dump analysis, stack traces on threads that have called abort() or panic() stop after the second stack frame. I am using ESP-IDF v4.2.1.

I ran into this this week: my ESP32 project (lc-esp32) has some long-term stability issues, so I have enabled some of the IDF and FreeRTOS heap debugging features--notably in this case the "panic on memory allocation failure" feature:

CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS=y

I also configured it to save core dumps:

CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH=y
CONFIG_ESP32_COREDUMP_DATA_FORMAT_ELF=y
CONFIG_ESP32_COREDUMP_CHECKSUM_CRC32=y
CONFIG_ESP32_ENABLE_COREDUMP=y
CONFIG_ESP32_CORE_DUMP_MAX_TASKS_NUM=16
CONFIG_ESP32_CORE_DUMP_STACK_SIZE=0

It looks like I can't attach my binary or core dump here, but here's my sdkconfig.

When I invoke espcoredump.py from the ESP-IDF Terminal in VS Code:

python $env:IDF_PATH\components\espcoredump\espcoredump.py info_corefile --core .\core.bin --core-format raw .\build\lc-esp32.elf

I get this full dump analysis is attached. Note that several threads have full backtraces to vPortTaskWrapper, like this:

==================== THREAD 2 (TCB: 0x3ffbdb1c, name: 'IDLE1') =====================
#0  0x400edfcd in esp_pm_impl_waiti () at C:/esp/esp-idf/components/esp32/pm_esp32.c:484
#1  0x400d5a5d in esp_vApplicationIdleHook () at C:/esp/esp-idf/components/esp_common/src/freertos_hooks.c:63
#2  0x4008b9ea in prvIdleTask (pvParameters=0x0) at C:/esp/esp-idf/components/freertos/tasks.c:3386
#3  0x4008ac9d in vPortTaskWrapper (pxCode=0x4008b9d0 <prvIdleTask>, pvParameters=0x0) at C:/esp/esp-idf/components/freertos/xtensa/port.c:143

The faulting thread, however, is truncated:

==================== THREAD 1 (TCB: 0x3ffcdad8, name: 'httpd') =====================
#0  0x4008a38b in panic_abort (details=0x3f402b88 \"Memory allocation failed\") at C:/esp/esp-idf/components/esp_system/panic.c:341
#1  0x4008ac88 in esp_system_abort (details=0x3f402b88 \"Memory allocation failed\") at C:/esp/esp-idf/components/esp_system/system_api.c:106
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

I'm lucky that the details buffer is useful here; I have some other data suggesting a memory leak, and I'll be pursuing that next. For other panic() or abort() calls, I've just been guessing based on the thread name and using printf-style debugging.

Hopefully @igrr will be able to chime in with news sometime soon.

@maqian-cn
Copy link

maqian-cn commented Jun 22, 2021

It is the configuration info in sdkconfig file below.

CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH=y
CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set
CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE is not set
CONFIG_ESP32_ENABLE_COREDUMP=y
CONFIG_ESP32_CORE_DUMP_MAX_TASKS_NUM=64

I have configured the coredump to flash option. and the coredump info is that has been read from esp32 by “python espcoredump.py -p COM3 info_corefile -o 4128768 .\build\ec600s-esp32.elf”

I am using ESP-IDF v3.3.4.

@jkunkee @mmadela

@mmadela
Copy link
Author

mmadela commented Jun 22, 2021

please verify, if your partitions.csv contains line
coredump, data, coredump,, 64K

@maqian-cn
Copy link

It is the partition table info below.

# Espressif ESP32 New Partition Table,,,,,
# Name,Type,SubType,Offset,Size,Flags
nvs,data,nvs,,16K,
otadata,data,ota,,8K,
phy_init,data,phy,,4K,
#ota_0,app,ota_0,,1536K,
#ota_1,app,ota_1,,1536K,
ota_0,app,ota_0,,1984K,
ota_1,app,ota_1,,1984K,
coredump,data,coredump,,64K
#custom,data,fat,,896K

@mmadela

@mmadela
Copy link
Author

mmadela commented Jun 22, 2021

try to read the crash data
python.exe \esp-idf\esp-idf-v4.1\components/esptool_py/esptool/esptool.py -p COM19 -b 460800 read_flash 0x14000 65536 coredump.raw
adjust port and replace address 0x14000 with valid one for your case (I think it is listed out during compilation)

then parse the file
esp-idf\esp-idf-v4.2\components\espcoredump\espcoredump.py info_corefile path_to_your_poject.elf --core coredump.raw --core-format raw

@maqian-cn
Copy link

debug code below:

		if ((3 * 60 * pdMS_TO_TICKS(1000)) <= abs(xTaskGetTickCount() - xPrintTimeLogTick))
		{
			xPrintTimeLogTick = xTaskGetTickCount();
			memset(time, 0, sizeof(time));
			Common_PrintTime(time, sizeof(time));
			ESP_LOGI(TAG, "Time: %s", time);
			ESP_LOGI(TAG, "Minimum Free memory: %d bytes", esp_get_minimum_free_heap_size());
			ESP_LOGI(TAG, "Free memory: %d bytes", esp_get_free_heap_size());
			assert(0);
#if (E_SYSCONFIG_ONENET_DATASENDT_STATISTICS)
			Ctrl_OneNetDataSendStatistics(pCtrlObjHandle, time);
#endif
#if (E_SYSCONFIG_TASK_STATISTICS)
			Ctrl_AllTaskStatistics();
#endif
		}

According to your @mmadela reply

D:\module-esp32>python esptool.py -p COM3 -b 460800 read_flash 0x3f0000 65536 coredump.raw
esptool.py v2.8
Serial port COM3
Connecting........
Detecting chip type... ESP32
Chip is ESP32D0WDQ5 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: c8:2b:96:a1:c3:d0
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
65536 (100 %)
65536 (100 %)
Read 65536 bytes at 0x3f0000 in 1.8 seconds (292.5 kbit/s)...
D:\module-esp32>python espcoredump.py info_corefile .\build\module-esp32.elf --core coredump.raw --core-format raw
espcoredump.py v0.3-dev
===============================================================
==================== ESP32 CORE DUMP START ====================

================== CURRENT THREAD REGISTERS ===================
pc             0x4008779f       0x4008779f <invoke_abort+27>
lbeg           0x400014fd       1073747197
lend           0x4000150d       1073747213
lcount         0xfffffffd       4294967293
sar            0x4      4
ps             0x60720  395040
threadptr      <unavailable>
br             <unavailable>
scompare1      <unavailable>
acclo          <unavailable>
acchi          <unavailable>
m0             <unavailable>
m1             <unavailable>
m2             <unavailable>
m3             <unavailable>
expstate       <unavailable>
f64r_lo        <unavailable>
f64r_hi        <unavailable>
f64s           <unavailable>
fcr            <unavailable>
fsr            <unavailable>
a0             0x40087a78       1074297464
a1             0x3ffc01d0       1073480144
a2             0x80040004       -2147221500
a3             0x2f     47
a4             0xc      12
a5             0xffffffff       -1
a6             0x0      0
a7             0xfffffffe       -2
a8             0x0      0
a9             0x3ffc01b0       1073480112
a10            0x0      0
a11            0x3ffc0161       1073480033
a12            0x3ffc010f       1073479951
a13            0x31     49
a14            0x0      0
a15            0x3ffc0112       1073479954

==================== CURRENT THREAD STACK =====================
#0  0x4008779f in invoke_abort () at D:/esp-idf/components/esp32/panic.c:156
#1  0x40087a78 in abort () at D:/esp-idf/components/esp32/panic.c:171
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

======================== THREADS INFO =========================
  Id   Target Id         Frame
  18   process 17        0x40089dd8 in xQueueGenericReceive (xQueue=0x3ffafee8, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at D:/esp-idf/components/freertos/queue.c:1592
  17   process 16        0x40089dd8 in xQueueGenericReceive (xQueue=0x3ffd1074, pvBuffer=0x3ffd0188, xTicksToWait=4294967295, xJustPeeking=0) at D:/esp-idf/components/freertos/queue.c:1592
  16   process 15        0x40089dd8 in xQueueGenericReceive (xQueue=0x3ffd3d5c, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at D:/esp-idf/components/freertos/queue.c:1592
  15   process 14        0x40089dd8 in xQueueGenericReceive (xQueue=0x3ffc2004, pvBuffer=0x3ffc3480, xTicksToWait=4294967295, xJustPeeking=0) at D:/esp-idf/components/freertos/queue.c:1592
  14   process 13        0x40089dd8 in xQueueGenericReceive (xQueue=0x3ffaeab0, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at D:/esp-idf/components/freertos/queue.c:1592
  13   process 12        0x40089dd8 in xQueueGenericReceive (xQueue=0x3ffce24c, pvBuffer=0x3ffcce10, xTicksToWait=4294967295, xJustPeeking=0) at D:/esp-idf/components/freertos/queue.c:1592
  12   process 11        0x40089dd8 in xQueueGenericReceive (xQueue=0x3ffbc89c, pvBuffer=0x3ffc1d0c, xTicksToWait=4294967295, xJustPeeking=0) at D:/esp-idf/components/freertos/queue.c:1592
  11   process 10        0x40089dd8 in xQueueGenericReceive (xQueue=0x3ffaff50, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at D:/esp-idf/components/freertos/queue.c:1592
  10   process 9         /builds/idf/crosstool-NG/.build/src/gdb-7.10/gdb/inline-frame.c:171: internal-error: inline_frame_this_id: Assertion `!frame_id_eq (*this_id, outer_frame_id)' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) [answered Y; input not from terminal]
/builds/idf/crosstool-NG/.build/src/gdb-7.10/gdb/inline-frame.c:171: internal-error: inline_frame_this_id: Assertion `!frame_id_eq (*this_id, outer_frame_id)' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) [answered Y; input not from terminal]
Reading symbols from .\\build\\module-esp32.elf...done.
[New <main task>]
[New process 1]
[New process 2]
[New process 3]
[New process 4]
[New process 5]
[New process 6]
[New process 7]
[New process 8]
[New process 9]
[New process 10]
[New process 11]
[New process 12]
[New process 13]
[New process 14]
[New process 15]
[New process 16]
[New process 17]
[Current thread is 1 (<main task>)]

======================= ALL MEMORY REGIONS ========================
Name   Address   Size   Attrs
.rtc.text 0x400c0000 0x0 RW
.rtc.dummy 0x3ff80000 0x0 RW
.rtc.force_fast 0x3ff80000 0x0 RW
.rtc_noinit 0x50000000 0x0 RW
.rtc.force_slow 0x50000000 0x0 RW
.iram0.vectors 0x40080000 0x400 R XA
.iram0.text 0x40080400 0x15ddc R XA
.dram0.data 0x3ffb0000 0x3f58 RW A
.noinit 0x3ffb3f58 0x0 RW
.flash.rodata 0x3f400020 0x43334 RW A
.flash.text 0x400d0018 0xc8ea8 R XA
.coredump.tasks.data 0x3ffc0338 0x16c RW
.coredump.tasks.data 0x3ffc0110 0x214 RW
.coredump.tasks.data 0x3ffcf4b4 0x16c RW
.coredump.tasks.data 0x3ffcf180 0x320 RW
.coredump.tasks.data 0x3ffbd5b0 0x16c RW
.coredump.tasks.data 0x3ffbd400 0x19c RW
.coredump.tasks.data 0x3ffbdd3c 0x16c RW
.coredump.tasks.data 0x3ffbdb90 0x198 RW
.coredump.tasks.data 0x3ffcb708 0x16c RW
.coredump.tasks.data 0x3ffcb450 0x2a4 RW
.coredump.tasks.data 0x3ffbc650 0x16c RW
.coredump.tasks.data 0x3ffc10c0 0x1f0 RW
.coredump.tasks.data 0x3ffcdf28 0x16c RW
.coredump.tasks.data 0x3ffcdd70 0x1a4 RW
.coredump.tasks.data 0x3ffca77c 0x16c RW
.coredump.tasks.data 0x3ffca470 0x2f8 RW
.coredump.tasks.data 0x3ffcfe64 0x16c RW
.coredump.tasks.data 0x3ffcfca0 0x1b0 RW
.coredump.tasks.data 0x3ffbe7d0 0x16c RW
.coredump.tasks.data 0x3ffbe660 0x15c RW
.coredump.tasks.data 0x3ffbb5a0 0x16c RW
.coredump.tasks.data 0x3ffbb400 0x18c RW
.coredump.tasks.data 0x3ffc1dd4 0x16c RW
.coredump.tasks.data 0x3ffc1c00 0x1c0 RW
.coredump.tasks.data 0x3ffccf9c 0x16c RW
.coredump.tasks.data 0x3ffccce0 0x2a8 RW
.coredump.tasks.data 0x3ffafb28 0x16c RW
.coredump.tasks.data 0x3ffaf980 0x194 RW
.coredump.tasks.data 0x3ffc3524 0x16c RW
.coredump.tasks.data 0x3ffc3360 0x1b0 RW
.coredump.tasks.data 0x3ffd69dc 0x16c RW
.coredump.tasks.data 0x3ffd67b0 0x218 RW
.coredump.tasks.data 0x3ffd5440 0x16c RW
.coredump.tasks.data 0x3ffd5150 0x2dc RW
.coredump.tasks.data 0x3ffbb014 0x16c RW
.coredump.tasks.data 0x3ffbae80 0x180 RW

===================== ESP32 CORE DUMP END =====================
===============================================================
Done!

==================== CURRENT THREAD STACK =====================
#0 0x4008779f in invoke_abort () at D:/esp-idf/components/esp32/panic.c:156
#1 0x40087a78 in abort () at D:/esp-idf/components/esp32/panic.c:171
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

it is still “Backtrace stopped” yet.

@mmadela

@mmadela
Copy link
Author

mmadela commented Jun 25, 2021

may be it lays on IDF version, you are using 3.3.4, I am 4.1.1

@igrr
Copy link
Member

igrr commented Oct 22, 2021

@mmadela @maqian-cn backtrace issue has been fixed in the new toolchain release, esp-2021r2. This toolchain version will be included into the upcoming v4.4 release of ESP-IDF.

If you are using older versions of ESP-IDF, you won't be able to use esp-2021r2 toolchain. However it is sufficient to use just the xtensa-esp32-elf-gdb tool from the new toolchain, when you are decoding the coredump. You can still compile the code with the toolchain version required by your copy of IDF.

noahp added a commit to memfault/conda-recipes that referenced this issue Oct 26, 2021
Pull in the patch from here:

> espressif/esp-idf#6124 (comment)

Which was applied to the espressif binutils-gdb fork here:

> espressif/binutils-gdb@9a47478
noahp added a commit to memfault/conda-recipes that referenced this issue Oct 27, 2021
Pull in the patch from here:

> espressif/esp-idf#6124 (comment)

Which was applied to the espressif binutils-gdb fork here:

> espressif/binutils-gdb@9a47478
noahp added a commit to memfault/conda-recipes that referenced this issue Oct 27, 2021
Pull in the patch from here:

> espressif/esp-idf#6124 (comment)

Which was applied to the espressif binutils-gdb fork here:

> espressif/binutils-gdb@9a47478

Verified after the patch, loading a core file with a previously-truncated
backtrace now shows the full backtrace.
noahp added a commit to memfault/conda-recipes that referenced this issue Oct 27, 2021
Pull in the patch from here:

> espressif/esp-idf#6124 (comment)

Which was applied to the espressif binutils-gdb fork here:

> espressif/binutils-gdb@9a47478

Verified after the patch, loading a core file with a previously-truncated
backtrace now shows the full backtrace.
espressif-bot pushed a commit that referenced this issue Oct 28, 2021
    Updated GDB to 9.2 version for xtensa chips
    Fixed coredump work for xtensa chips
    Fixed backtrace for xtensa chips
    Fixed multilib for riscv32 chips
    Fixed running GDB on some RaspberryPi configuration for riscv32 chip
    Fixed support of fnmatch(), iconv() and some other posix functions in stdlib

    Closes #6124
    Closes #2484
    Closes #3264
    Closes espressif/crosstool-NG#13
    Closes espressif/crosstool-NG#16
espressif-bot pushed a commit that referenced this issue Oct 29, 2021
    Updated GDB to 9.2 version for xtensa chips
    Fixed coredump work for xtensa chips
    Fixed backtrace for xtensa chips
    Fixed multilib for riscv32 chips
    Fixed running GDB on some RaspberryPi configuration for riscv32 chip
    Fixed support of fnmatch(), iconv() and some other posix functions in stdlib

    Closes #6124
    Closes #2484
    Closes #3264
    Closes espressif/crosstool-NG#13
    Closes espressif/crosstool-NG#16
@espressif-bot espressif-bot added Status: In Progress Work is in progress and removed Status: Reviewing Issue is being reviewed labels Feb 11, 2022
@igrr igrr reopened this Feb 11, 2022
@igrr
Copy link
Member

igrr commented Feb 11, 2022

Unfortunately the fix for the backtraces on abort call which we introduced in esp-2021r2 release has caused a significant regression (#8065, #8342, espressif/openocd-esp32#210). We will revert it for now and release esp-2021r2-patch3 release. I'm reopening this issue and will update it when a new fix is available. I'm sorry for the inconvenience!

@KaeLL
Copy link
Contributor

KaeLL commented Jun 6, 2022

@igrr Do you have a recommendation for a way to break the app like abort but that will show correctly on the core dump while the fix isn't merged?

@ztefanjo
Copy link

ztefanjo commented Jun 9, 2022

@igrr: We are also experiencing this issue on v4.4.1 and would really appreciate a fix. Is there any type of work-around that we can do to get meaningful core-dumps in case of panic?

@ztefanjo
Copy link

@igrr, @KaeLL : I can confirm that this issue is related to the noreturn functions. As a workaround, we have patched away all "noreturns" from functions related to panic/abort and now we get more meaningful coredumps.
As the optimization benefit is very small for these kind of functions, perhaps it should be considered to apply this on e.g. v4.4.x until the real problem is solved?
Remove-noreturn-on-panic-to-improve-CoreDump - Copy.patch.txt

@igrr
Copy link
Member

igrr commented Jun 16, 2022

Hi @ztefanjo, i'm sorry I have missed your previous comment, I was on leave. Here is the patch you can apply to release/v4.4 to prevent the issue for noreturn functions.
0001-system-add-workaround-for-interrupted-backtraces-on-.patch.txt

We had this change in review a while ago, but it wasn't accepted because the issue may still occur for "noreturn" functions in application code. Given that we had to revert the fix in GDB, I'll put this patch for review once again.

@KaeLL for your question, you can trigger some exception (like *((int*)1) = 0;) or use the __builtin_trap(); compiler built-in.

@danfleck
Copy link

danfleck commented Aug 4, 2022

@igrr When using the patch I get this error (this is on a newly checked out version of v4.4 after applying the patch).

In file included from esp/esp-idf-v4.4/components/esp_system/ubsan.c:33:
esp/esp-idf-v4.4/components/esp_system/ubsan.c: In function '__ubsan_default_handler':
esp/esp-idf-v4.4/components/esp_system/ubsan.c:166:52: error: 'buf' undeclared (first use in this function)
     PROTECT_NORETURN_BACKTRACE_1(esp_system_abort, buf);

Changing 'buf' to 'msg' does fix the problem, but you may want to fix the patch.

@espressif-bot espressif-bot added Resolution: NA Issue resolution is unavailable Status: Done Issue is done internally Resolution: Done Issue is done internally and removed Status: In Progress Work is in progress Resolution: NA Issue resolution is unavailable labels Aug 29, 2022
@igrr
Copy link
Member

igrr commented Sep 2, 2022

We have updated GDB used in the master branch to fix this issue. The updates to release branches are in progress.

@KaeLL
Copy link
Contributor

KaeLL commented Sep 2, 2022

Will there be backports? Will it make the cut for 5.0?

espressif-bot pushed a commit that referenced this issue Sep 2, 2022
@Lapshin
Copy link
Collaborator

Lapshin commented Sep 2, 2022

Will there be backports? Will it make the cut for 5.0?

@KaeLL, it's already avaliabe in 5.0 branch (06cdc0e)

Also, it will be patched for v4.4 soon

@AAJAY5
Copy link

AAJAY5 commented Sep 15, 2022

How to get backtrace from esp_core_dump_summary_t ?

  • I have enabled coredump to flash and it is working fine. Now, i get the coredump_summary using this functions.
  • I want to save this summary to sdcard. I want to use this summary to work with EspExceptionDecoder.
  • is that possible? and How?
if (esp_core_dump_image_get(&out_addr, &out_size) == ESP_OK) {
        esp_core_dump_summary_t coredump_summary;
        ESP_ERROR_CHECK(esp_core_dump_get_summary(&coredump_summary));
        // save this coredump
    }

@igrr

espressif-bot pushed a commit that referenced this issue Sep 15, 2022
@johnboiles
Copy link

johnboiles commented Nov 8, 2022

Patching esp-idf with this change fixed the backtrace for me in 4.4.2. Looking forward to an official fix in the stable release though!

diff --git a/components/esp_common/include/esp_err.h b/components/esp_common/include/esp_err.h
index f317f8a09f..8a574d905d 100644
--- a/components/esp_common/include/esp_err.h
+++ b/components/esp_common/include/esp_err.h
@@ -75,7 +75,7 @@ const char *esp_err_to_name(esp_err_t code);
 const char *esp_err_to_name_r(esp_err_t code, char *buf, size_t buflen);
 
 /** @cond */
-void _esp_error_check_failed(esp_err_t rc, const char *file, int line, const char *function, const char *expression) __attribute__((noreturn));
+void _esp_error_check_failed(esp_err_t rc, const char *file, int line, const char *function, const char *expression);
 
 /** @cond */
 void _esp_error_check_failed_without_abort(esp_err_t rc, const char *file, int line, const char *function, const char *expression);
diff --git a/components/esp_rom/include/esp32c3/rom/libc_stubs.h b/components/esp_rom/include/esp32c3/rom/libc_stubs.h
index 233355e9c2..14fffb3bae 100644
--- a/components/esp_rom/include/esp32c3/rom/libc_stubs.h
+++ b/components/esp_rom/include/esp32c3/rom/libc_stubs.h
@@ -77,7 +77,7 @@ struct syscall_stub_table
     void (*_retarget_lock_release_recursive)(_LOCK_T lock);
     int (*_printf_float)(struct _reent *data, void *pdata, FILE * fp, int (*pfunc) (struct _reent *, FILE *, const char *, size_t len), va_list * ap);
     int (*_scanf_float) (struct _reent *rptr, void *pdata, FILE *fp, va_list *ap);
-    void (*__assert_func) (const char *file, int line, const char * func, const char *failedexpr) __attribute__((noreturn));
+    void (*__assert_func) (const char *file, int line, const char * func, const char *failedexpr);
     void (*__sinit) (struct _reent *r);
     void (*_cleanup_r) (struct _reent* r);
 };
diff --git a/components/esp_rom/include/esp32h2/rom/libc_stubs.h b/components/esp_rom/include/esp32h2/rom/libc_stubs.h
index df78851c1b..3b653718d0 100644
--- a/components/esp_rom/include/esp32h2/rom/libc_stubs.h
+++ b/components/esp_rom/include/esp32h2/rom/libc_stubs.h
@@ -90,7 +90,7 @@ struct syscall_stub_table
 #endif
     int (*_printf_float)(struct _reent *data, void *pdata, FILE * fp, int (*pfunc) (struct _reent *, FILE *, const char *, size_t len), va_list * ap);
     int (*_scanf_float) (struct _reent *rptr, void *pdata, FILE *fp, va_list *ap);
-    void (*__assert_func) (const char *file, int line, const char * func, const char *failedexpr) __attribute__((noreturn));
+    void (*__assert_func) (const char *file, int line, const char * func, const char *failedexpr);
     void (*__sinit) (struct _reent *r);
     void (*_cleanup_r) (struct _reent* r);
 };
diff --git a/components/esp_rom/include/esp32s3/rom/libc_stubs.h b/components/esp_rom/include/esp32s3/rom/libc_stubs.h
index 1298eeda55..80589169f4 100644
--- a/components/esp_rom/include/esp32s3/rom/libc_stubs.h
+++ b/components/esp_rom/include/esp32s3/rom/libc_stubs.h
@@ -78,7 +78,7 @@ struct syscall_stub_table
     void (*_retarget_lock_release_recursive)(_LOCK_T lock);
     int (*_printf_float)(struct _reent *data, void *pdata, FILE * fp, int (*pfunc) (struct _reent *, FILE *, const char *, size_t len), va_list * ap);
     int (*_scanf_float) (struct _reent *rptr, void *pdata, FILE *fp, va_list *ap);
-    void (*__assert_func) (const char *file, int line, const char * func, const char *failedexpr) __attribute__((noreturn));
+    void (*__assert_func) (const char *file, int line, const char * func, const char *failedexpr);
     void (*__sinit) (struct _reent *r);
     void (*_cleanup_r) (struct _reent* r);
 };
diff --git a/components/esp_system/esp_system.c b/components/esp_system/esp_system.c
index 8d2457b2c0..35e762ffc7 100644
--- a/components/esp_system/esp_system.c
+++ b/components/esp_system/esp_system.c
@@ -123,7 +123,7 @@ const char *esp_get_idf_version(void)
     return IDF_VER;
 }
 
-void __attribute__((noreturn)) esp_system_abort(const char *details)
+void esp_system_abort(const char *details)
 {
     panic_abort(details);
 }
diff --git a/components/esp_system/include/esp_private/panic_internal.h b/components/esp_system/include/esp_private/panic_internal.h
index d43a705aba..c42941c427 100644
--- a/components/esp_system/include/esp_private/panic_internal.h
+++ b/components/esp_system/include/esp_private/panic_internal.h
@@ -76,7 +76,7 @@ void panic_print_hex(int h);
 #define panic_print_hex(h)
 #endif
 
-void __attribute__((noreturn)) panic_abort(const char *details);
+void panic_abort(const char *details);
 
 void panic_arch_fill_info(void *frame, panic_info_t *info);
 
diff --git a/components/esp_system/include/esp_system.h b/components/esp_system/include/esp_system.h
index b98b719490..373d85dce9 100644
--- a/components/esp_system/include/esp_system.h
+++ b/components/esp_system/include/esp_system.h
@@ -129,7 +129,7 @@ uint32_t esp_get_minimum_free_heap_size( void );
  *
  * @param details Details that will be displayed during panic handling.
  */
-void  __attribute__((noreturn)) esp_system_abort(const char* details);
+void esp_system_abort(const char* details);
 
 #ifdef __cplusplus
 }
diff --git a/components/esp_system/panic.c b/components/esp_system/panic.c
index 722975b7c7..a45c31ec01 100644
--- a/components/esp_system/panic.c
+++ b/components/esp_system/panic.c
@@ -385,7 +385,7 @@ void esp_panic_handler(panic_info_t *info)
 }
 
 
-void IRAM_ATTR __attribute__((noreturn, no_sanitize_undefined)) panic_abort(const char *details)
+void IRAM_ATTR __attribute__((no_sanitize_undefined)) panic_abort(const char *details)
 {
     g_panic_abort = true;
     s_panic_abort_details = (char *) details;
diff --git a/components/esp_system/ubsan.c b/components/esp_system/ubsan.c
index 8f5e123cc7..fa4e0f35f0 100644
--- a/components/esp_system/ubsan.c
+++ b/components/esp_system/ubsan.c
@@ -111,7 +111,7 @@ struct invalid_builtin_data {
 };
 
 
-static void __ubsan_default_handler(struct source_location *loc, const char *func) __attribute__((noreturn));
+static void __ubsan_default_handler(struct source_location *loc, const char *func);
 
 /*
  * When compiling with -fsanitize=undefined the compiler expects functions
diff --git a/components/newlib/abort.c b/components/newlib/abort.c
index 38ae5b73c4..daf8d601d6 100644
--- a/components/newlib/abort.c
+++ b/components/newlib/abort.c
@@ -19,7 +19,7 @@
 #include "soc/soc_caps.h"
 #include "hal/cpu_hal.h"
 
-void __attribute__((noreturn)) abort(void)
+void abort(void)
 {
     #define ERR_STR1  "abort() was called at PC 0x"
     #define ERR_STR2  " on core "
diff --git a/components/newlib/assert.c b/components/newlib/assert.c
index 29173d56f6..4ab5ee3c35 100644
--- a/components/newlib/assert.c
+++ b/components/newlib/assert.c
@@ -37,7 +37,7 @@ static inline void ra_to_str(char *addr)
 /* Overriding assert function so that whenever assert is called from critical section,
  * it does not lead to a crash of its own.
  */
-void __attribute__((noreturn)) __assert_func(const char *file, int line, const char *func, const char *expr)
+void __assert_func(const char *file, int line, const char *func, const char *expr)
 {
 #if CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT
     char buff[sizeof(ASSERT_STR) + 11 + 1] = ASSERT_STR;
@@ -86,7 +86,7 @@ void __attribute__((noreturn)) __assert_func(const char *file, int line, const c
 #endif  /* CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT */
 }
 
-void __attribute__((noreturn)) __assert(const char *file, int line, const char *failedexpr)
+void __assert(const char *file, int line, const char *failedexpr)
 {
     __assert_func(file, line, NULL, failedexpr);
 }

@hitecSmartHome
Copy link

CONFIG_ESP32_CORE_DUMP_STACK_SIZE

Have you found a solution?

@hitecSmartHome
Copy link

hitecSmartHome commented Apr 15, 2024

I did this

void Sys::saveCoreDump(){
    size_t size = 0;
    size_t address = 0;
    char* coreDump;
    if( !alloc(coreDump, 640) ){ return; } // Check if allocation was successfull
    if (esp_core_dump_image_get(&address, &size) != ESP_OK) { free(coreDump); return; } // Try to get the bin image pointers
    const esp_partition_t* pt = NULL;
    pt = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_COREDUMP, "coredump");
    if (pt == NULL) { free(coreDump); return; } // Check if we found the partition or not.
    uint8_t bf[256];
    int16_t toRead;
    db.remove(CORE_DUMP_PATH); // Remove the previous file if any
    for (int16_t i = 0; i < (size / 256) + 1; i++) {
        strcpy(coreDump, "");
        toRead = (size - i * 256) > 256 ? 256 : (size - i * 256);
        esp_err_t er = esp_partition_read(pt, i * 256, bf, toRead);
        if (er != ESP_OK) {
            break;
        }
        for (int16_t j = 0; j < 256; j++) {
            char str_tmp[3];
            sprintf(str_tmp, "%02x", bf[j]);
            strcat(coreDump, str_tmp);
        }
        db.append(CORE_DUMP_PATH, coreDump); // Append the bin content
    }
    esp_core_dump_image_erase(); // Erase partition
    free(coreDump);
}
esp_err_t Sys::esp_core_dump_image_erase() {
    /* Find the partition that could potentially contain a (previous) core dump. */
    const esp_partition_t* core_part = esp_partition_find_first(ESP_PARTITION_TYPE_DATA,
        ESP_PARTITION_SUBTYPE_DATA_COREDUMP,
    "coredump");
    if (!core_part) {
        logger.write("No core dump partition found!|n");
        return ESP_ERR_NOT_FOUND;
    }
    if (core_part->size < sizeof(uint32_t)) {
        logger.write("Too small core dump partition!\n");
        return ESP_ERR_INVALID_SIZE;
    }

    esp_err_t err = ESP_OK;
    err = esp_partition_erase_range(core_part, 0, core_part->size);
    if (err != ESP_OK) {
        Serial.printf("Failed to erase core dump partition (%d)!\n", err);
        return err;
    }

    // on encrypted flash esp_partition_erase_range will leave encrypted
    // garbage instead of 0xFFFFFFFF so overwriting again to safely signalize
    // deleted coredumps
    const uint32_t invalid_size = 0xFFFFFFFF;
    err = esp_partition_write(core_part, 0, &invalid_size, sizeof(invalid_size));
    if (err != ESP_OK) {
        logger.write("Failed to write core dump partition size (%d)!\n", err);
    }

    return err;
}

Where db.append is just a wrapper for LittleFs append.
I got the folllowing downloadable file:

646c0000000100000000000000000000000000007f454c4601010100000000000000000004005e00010000000000000034000000000000000000000034002000260028000000000004000000f40400000000000000000000c02a0000c02a0000060000000000000001000000b42f000058fbfd3f58fbfd3f640100006401000006000000000000000100000018310000a0f6fd3fa0f6fd3fb0040000b0040000060000000000000001000000c8350000d4ecfb3fd4ecfb3f64010000640100000600000000000000010000002c37000040ebfb3f40ebfb3f8001000080010000060000000000000001000000ac38000040f4fb3f40f4fb3f6401000064010000060000000000000001000000103a0000b0f2fb3fb0f2fb3f8001000080010000060000000000000001000000903b000018dffb3f18dffb3f6401000064010000060000000000000001000000f43c000070dbfc3f70dbfc3f8001000080010000060000000000000001000000743e000098a6fd3f98a6fd3f6401000064010000060000000000000001000000d83f000090a4fd3f90a4fd3f0002000000020000060000000000000001000000d84100006cb1fd3f6cb1fd3f64010000640100000600000000000000010000003c430000a0d4fe3fa0d4fe3f8001000080010000060000000000000001000000bc44000058acfc3f58acfc3f640100006401000006000000000000000100000020460000b0aafc3fb0aafc3fa0010000a0010000060000000000000001000000c0470000fcdcfc3ffcdcfc3f64010000640100000600000000000000010000002449000030effc3f30effc3fe0010000e0010000060000000000000001000000044b0000acfdfb3facfdfb3f6401000064010000060000000000000001000000684c000020fcfb3f20fcfb3f8001000080010000060000000000000001000000e84d0000b464fd3fb464fd3f64010000640100000600000000000000010000004c4f0000a061fd3fa061fd3f00030000000300000600000000000000010000004c52000064defc3f64defc3f6401000064010000060000000000000001000000b053000020f8fc3f20f8fc3ff0010000f0010000060000000000000001000000a0550000ccdffc3fccdffc3f6401000064010000060000000000000001000000045700007008fd3f7008fd3fb0010000b0010000060000000000000001000000b4580000f4fdfd3ff4fdfd3f6401000064010000060000000000000001000000185a0000003bfc3f003bfc3fd0010000d0010000060000000000000001000000e85b000054fafa3f54fafa3f64010000640100000600000000000000010000004c5d0000c0a5fb3fc0a5fb3fa0010000a0010000060000000000000001000000ec5e0000ccf7fa3fccf7fa3f64010000640100000600000000000000010000005060000020f6fa3f20f6fa3fa0010000a0010000060000000000000001000000f061000048d4fb3f48d4fb3f640100006401000006000000000000000100000054630000a0d2fb3fa0d2fb3fa0010000a0010000060000000000000001000000f4640000c012fd3fc012fd3f6401000064010000060000000000000001000000586600001011fd3f1011fd3fa0010000a0010000060000000000000001000000f867000004b0fd3f04b0fd3f64010000640100000600000000000000010000005c69000030aefd3f30aefd3fc0010000c00100000600000000000000040000001c6b0000000000000000000014010000140100000600000000000000080000004c02000001000000434f52450045535000000000000000000000000000000000000000000000000058fbfd3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000007c3108402303060049c300406bc30040000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c09a088060f7fd3fa0f7fd3fb1f7fd3f1000000090dffd3f09000000070000000000000001000000b1f7fd3fb1f7fd3f03000000f857fc3f98e87a00ffff3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000004c02000001000000434f524500455350000000000000000000000000000000000000000000000000d4ecfb3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fe742640200d0600000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064b11c8000ecfb3f000000000100008025a2088040d2fb3f0300000023000600deac1c80d0ebfb3f00000000ffff3f007e1b3fe878f0f53f7cf0f53fffff3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000004c02000001000000434f52450045535000000000000000000000000000000000000000000000000040f4fb3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fe74264020050600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064b11c8070f3fb3f000000000100000020a708803014fb3f0300000023000600deac1c8040f3fb3f000000000100000025a208801014fb3f030000002300060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000004c02000001000000434f52450045535000000000000000000000000000000000000000000000000018dffb3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ac260840200b0600cd340840d5340840270000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fedd268030dcfc3f000000003ec91d00f0c91d00230b0600200b060001000000ac26088010dcfc3fdc00f03f010000008801fb3f78f0f53fe8147b00ffff3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000004c02000001000000434f52450045535000000000000000000000000000000000000000000000000098a6fd3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ac26084020050600cd340840d5340840270000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fedd268050a5fd3f010000003ec91d003ec91d00230506002005060001000000ac26088030a5fd3fe000f03f010000008801fb3f00000000e8147b00ffff3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000004c02000001000000434f5245004553500000000000000000000000000000000000000000000000006cb1fd3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ac26084020050600e0c20040f6c20040000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fedd268060d5fe3f010000003ec91d003ec91d00230506002005060001000000ac26088040d5fe3fe000f03f010000008801fb3fcb27fe3fe8147b00ffff3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000004c02000001000000434f52450045535000000000000000000000000000000000000000000000000058acfc3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ac26084020030600cd340840d5340840ffff3fb30a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fedd268070abfc3f30abfc3f0000000020c7813f30abfc3f10000000ecaafc3f01000000ffff3fb300000000000000008801fb3f0000000000007b00ffff3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000004c02000001000000434f524500455350000000000000000000000000000000000000000000000000fcdcfc3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ac26084020030600e0c20040f6c20040ffffffff1500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea70880f0effc3f00000000ffffffffc465803f8065803f9465803f00000000ac260880d0effc3fdc00f03f010000008801fb3f23030600230306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000004c02000001000000434f524500455350000000000000000000000000000000000000000000000000acfdfb3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f0bf004020000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025a20880e0fcfb3f0000000023000600200006007078fb3f8478fb3f0100000048a50880b0fcfb3f7875fb3f7875fb3f0000000023000600230006000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000004c02000001000000434f524500455350000000000000000000000000000000000000000000000000b464fd3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ac2608402003060014221d401e221d40000000000f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004ca908806062fd3f00000000ffffffffd0ac803f8cac803fa0ac803f00000000ac2608804062fd3fdc00f03f010000008801fb3f23030600230306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000004c02000001000000434f52450045535000000000000000000000000000000000000000000000000064defc3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ac260840200c06006cc4004077c40040000000001900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea70880e0f8fc3f00000000ffffffffe467803fa067803fb467803f00000000ac260880c0f8fc3fdc00f03f010000008801fb3f230c0600230c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000004c02000001000000434f524500455350000000000000000000000000000000000000000000000000ccdffc3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ac26084020050600e0c20040f6c20040ffffffff0900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea708803009fd3f01000000ffffffff0467803fc066803fd466803f00000000ac2608801009fd3fe000f03f010000008801fb3f23050600230506000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000004c02000001000000434f524500455350000000000000000000000000000000000000000000000000f4fdfd3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ac260840200a0600e0c20040f6c20040ffffffff1a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea70880c03bfc3f00000000ffffffffa8d0813f64d0813f78d0813f00000000ac260880a03bfc3fdc00f03f010000008801fb3f230a0600230a06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000004c02000001000000434f52450045535000000000000000000000000000000000000000000000000054fafa3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ac260840200f060000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004ca9088080a6fb3f01000000ffffffff48fafa3f04fafa3f18fafa3f00000000ac26088060a6fb3fe000f03f010000008801fb3f230f0600230f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000004c02000001000000434f524500455350000000000000000000000000000000000000000000000000ccf7fa3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ac2608402005060000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004ca90880e0f6fa3f00000000ffffffffbcf1fa3f78f1fa3f8cf1fa3f00000000ac260880c0f6fa3fdc00f03f010000008801fb3f23050600230506000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000004c02000001000000434f52450045535000000000000000000000000000000000000000000000000048d4fb3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f0bf004020090600cd340840d534084027000000150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025a2088060d3fb3f00000000230906002009060001000000e8147b00ffff3f000100000030d3fb3f7875fb3f7875fb3f0000000023090600230906000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000004c02000001000000434f524500455350000000000000000000000000000000000000000000000000c012fd3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f0bf0040200b0600e0c20040f6c20040ffffffff200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025a20880d011fd3f00000000230b0600200b060000000000e8147b00ffff3f0001000000a011fd3f7875fb3f7875fb3f00000000230b0600230b06000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000004c02000001000000434f52450045535000000000000000000000000000000000000000000000000004b0fd3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ac26084020050600e0c20040f6c20040ffffffff0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea70880f0aefd3f01000000ffffffffb0df803f6cdf803f80df803f00000000ac260880d0aefd3fe000f03f010000008801fb3f23050600230506000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0f8fd3ff0fafd3fd2c91d00d076fb3fd076fb3f58fbfd3fc876fb3f140000000464803f0464803f58fbfd3f0000000005000000e4e3fd3f776562736f636b65745f7461736b0000ffffff7f50fbfd3f1200000000000000050000000100000090fdfd3f34be1e4011dc6d0077000000e4eafa3f4cebfa3fb4ebfa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fefbeadde7c31084033030600c09a088060f7fd3fa0f7fd3fb1f7fd3f1000000090dffd3f09000000070000000000000001000000b1f7fd3fb1f7fd3f03000000f857fc3f98e87a00ffff3f00100000001d0000000000000049c300406bc300400000000003000000f857fc3f5b3808408c82fa3f000000000000000000000000ffff3fb300000000000000000000000000000000000000000000000000000000000000000000000014221d401e221d4028e9088080f7fd3fa0f7fd3fb1f7fd3f0200000003000000000080917065803f99c90880a0f7fd3f100000000000000010000000bcf7fd3f200000000000000047d20880e0f7fd3fcc9dfb3f84fffd3f617373657274206661696c65643a203078343030386339393600000025a208800000000000000000200b0600010000003e40088000f8fd3fb89dfb3f84fffd3f020000007cb8fd3f0300000000000000f857088020f8fd3f84fffd3f35050000350500008cddfd3f17000000530000005d30208040f8fd3f84fffd3f0000000040000000b4b6fd3fe8147b0004000000629b1f8060f8fd3f84fffd3f040000000400000088fffd3f200000000000000061d01f8080f8fd3fb4dffd3f0000000020050600f857fc3f98e87a00ffff3f00c6d31f80a0f8fd3f9cdffd3f7c0000007c00000090dffd3f09000000070000003dd41f80c0f8fd3f9cdffd3f00000000000100005801000020000000cc000000251d2080e0f8fd3f14dffd3f00000000200f0600e445fc3f98e87a00ffff3f009819208000f9fd3f14dffd3f00000000080000007cb8fd3f0300000000000000550b218020f9fd3f60defd3f35050000350500008cddfd3f17000000530000004cb7208040f9fd3fa8b7fd3f94ddfd3f40000000b4b6fd3fe8147b0004000000e8c7208070f9fd3f20b7fd3fd40000000000000070f9fd3f74b6fd3f00000000010000001000000020000000cc000000fbca208090f9fd3fbcb6fd3f4d1100004d110000f857fc3f0300000014010000ac722580b0f9fd3f8897823f00000000e8e2fd3f10270000a4e2fd3fe8e2fd3fba722580d0f9fd3f8897823f889c823f000000005801000020000000cc0000008d6e2580f0f9fd3f8897823f0100000001000000ffffffff00000000000000000ec91e8010fafd3f8897823fffffffff8897823ffffeffff74e0fd3f34000000927f268030fafd3fffffffff34b8813f020000008897823f170000000100000064cf1e8050fafd3f2ce2fd3f70fafd3f02000000ec15fb3f74e0fd3f34000000927f268070fafd3fa4e2fd3f70fafd3f02000000102700002ce2fd3f34b8813f4a421b8090fafd3fa4e2fd3f78be813fffffffff1027000094e37d00ffff3f0079431b80b0fafd3f7408813f78be813fe8e2fd3f10270000a4e2fd3fe8e2fd3f00000000d0fafd3f7408813f010000000004000010270000102700000100008000000000f0fafd3f000000000000000001000000ffffffff0000000000000000000000000000000000000000000000000000000000000000fcfafd3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040ebfb3f60ecfb3fb4ac704848f4fb3f6c76fb3fd4ecfb3f6476fb3f19000000e7e7f20dcd5a2ee4d4ecfb3f0000000000000000d0e6fb3f49444c450023c4acb6d31c850502dd0000000000c0ecfb3f050000000000000000000000000000000000000000000000989ad66f00000000e4eafa3f4cebfa3fb4ebfa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002003fc0380840fe742640300d060064b11c8000ecfb3f000000000100008025a2088040d2fb3f0300000023000600deac1c80d0ebfb3f00000000ffff3f007e1b3fe878f0f53f7cf0f53fffff3f0016000000ffff000000000000000000000000000000000000ca3a084078f0f53fea9a0840fc73f83f000000000000000000000000ffff3fb30000000000000000000000000000000000000000000000000000000000000000ca3a084000000000ea9a08407ad8268020ecfb3f1471fb3f08000000ffff3fb30000000000000000000000000000000040ecfb3f00000000f475fb3f010000000000000001000000010000800000000060ecfb3f0000000000000000000000000100000004000000000000000000000000000000000000000000000000000000000000006cecfb3f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0f2fb3fd0f3fb3fa708f6276c76fb3fdcecfb3f40f4fb3f6476fb3f19000000c555ceca427fc0e040f4fb3f00000000000000003ceefb3f49444c4500ac8dcc24940f35ae5b4c000100000030f4fb3f06000000000000000000000000000000000000000000000007eaf15500000000e4eafa3f4cebfa3fb4ebfa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002003fc0380840fe7426403005060064b11c8070f3fb3f000000000100000020a708803014fb3f0300000023000600deac1c8040f3fb3f000000000100000025a208801014fb3f030000002300060000000000ffff000000000000000000000000000000000000ca3a08401014fb3fea9a08406c7bf83f000000000000000000000000ffff3fb30000000000000000000000000000000000000000000000000000000000000000ca3a084000000000ea9a08407ad8268090f3fb3f3471fb3f08000000ffff3fb300000000000000000000000000000000b0f3fb3f00000000f475fb3f0100000000000000d4ecfb3f0100008000000000d0f3fb3f000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000000dcf3fb3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070dbfc3f90dcfc3f3ec91d00a0a6fd3f5876fb3f18dffb3f5076fb3f0f0000000464803f0464803f18dffb3f000000000a000000f8b4fc3f53797374656d5461736b00004ca9080000000000f0dcfc3f0a000000000000000a000000000000005cfffd3f34be1e40dff7760300000000e4eafa3f4cebfa3fb4ebfa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000d015fd3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc0380840ac260840300b0600fedd268030dcfc3f000000003ec91d00f0c91d00230b0600200b060001000000ac26088010dcfc3fdc00f03f010000008801fb3f78f0f53fe8147b00ffff3f000a000000ffff000000000000cd340840d534084027000000ca3a084078f0f53fea9a08402c64f93f000000000000000000000000ffff3fb300000000000000000000000000000000000000000000000000000000ffff3fb3ca3a08402bc91d0000000000fc5a188050dcfc3f01000000e814fb3fd2c91d00230b0600200b0600010000000000000070dcfc3f9041fb3f01000000140000000000000018dffb3f010000800000000090dcfc3f0000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000009cdcfc3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090a4fd3f30a6fd3f3ec91d0074b1fd3f20dffb3f98a6fd3f5076fb3f0a00000020de803f20de803f98a6fd3f000000000f0000003c8bfd3f4861726477617265436f6e66696754000100000090a6fd3f10000000000000000f0000000000000000000000000000004e32490400000000e4eafa3f4cebfa3fb4ebfa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc0380840ac26084030050600fedd268050a5fd3f010000003ec91d003ec91d00230506002005060001000000ac26088030a5fd3fe000f03f010000008801fb3f00000000e8147b00ffff3f000a000000ffff000000000000cd340840d534084027000000ca3a084000000000ea9a0840cc2dfa3f000000000000000000000000ffff3fb300000000000000000000000000000000000000000000000000000000ffff3fb360a5fd3f7841fb3f110000005fb0158070a5fd3f01000000e814fb3f8fc7158090a5fd3f7841fb3f0b0000008cb0158090a5fd3f000000007841fb3f0d0000006aa5fd3f000000000002040099c71580b0a5fd3f7841fb3fecbc823f6300000066c91d000d00000070a5fd3faef81380d0a5fd3fa4bc823f0000000020000000000000002cbd823f0400000004f91380f0a5fd3fd03cfb3f000000007841fb3f2301060020010600010000000000000010a6fd3fd03cfb3f01000000140000000400000098a6fd3f010000800000000030a6fd3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ca6fd3f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0d4fe3fc0d5fe3f3ec91d0060acfc3fa0a6fd3f6cb1fd3f5076fb3f1700000034f1fa3f34f1fa3f6cb1fd3f00000000020000001088fe3f436f6d706f6e656e74735461736b00000100000020d6fe3f140000000000000002000000000000000000000000000000fb937e0300000000e4eafa3f4cebfa3fb4ebfa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc0380840ac26084030050600fedd268060d5fe3f010000003ec91d003ec91d00230506002005060001000000ac26088040d5fe3fe000f03f010000008801fb3fcb27fe3fe8147b00ffff3f0012000000ffff000000000000e0c20040f6c2004000000000ca3a0840cb27fe3fea9a08405c5dfb3f000000000000000000000000ffff3fb300000000000000000000000000000000000000000000000000000000ffff3fb3cb27fe3fe8147b00ffff3f0090cf0d8080d5fe3f01000000e814fb3f3cc91d0023050600200506000100000000000000a0d5fe3fc034fb3f0100000014000000040000006cb1fd3f0100008000000000c0d5fe3f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ccd5fe3f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0aafc3ff0abfc3f3ec91d0004ddfc3f74b1fd3f58acfc3f5076fb3f1800000020de803f20de803f58acfc3f00000000010000005484fc3f6c6f6f705461736b00000000000000000100000050acfc3f080000000000000001000000000000007016fd3f34be1e402d0ab60e0b000000e4eafa3f4cebfa3fb4ebfa3f00000000000000000100000000000000000000000cb3fd3f481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc0380840ac26084030030600fedd268070abfc3f30abfc3f0000000020c7813f30abfc3f10000000ecaafc3f01000000ffff3fb300000000000000008801fb3f0000000000007b00ffff3f000a000000ffff000000000000cd340840d5340840ffff3fb30800000030abfc3fa401803f1996168070abfc3f4c5ffb3f905ffb3f0000000000000000000000000000000000000000000000001000000000000000ffff3fb300000000e8147b00ffff3f000000000090abfc3fa445fb3fe814fb3fd0e1fc3f230306002003060001000000d06d1b80b0abfc3fd03cfb3fec44fb3f25a2088040d4fe3f030000002300060000000000d0abfc3ff46efb3f000000002436fb3f0400000058acfc3f0100008000000000f0abfc3f000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000fcabfc3f00000000800000001400a04100007042caf24971d4259d32d11f65c0d4259d329b038f2600c09d27b5c936390000000000000000000000000000000000000000000000000000000000000000000000000000000030effc3fb0f0fc3ff0c91d005876fb3f60acfc3ffcdcfc3f5076fb3f070000009c65803f9c65803ffcdcfc3f9465803f120000001ce5fc3f746954007375626e65744d6128ddfc00ffffff7f10f1fc3f0b0000000000000012000000000000000000000000000000dc01cf0000000000e4eafa3f4cebfa3fb4ebfa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc0380840ac26084030030600fea70880f0effc3f00000000ffffffffc465803f8065803f9465803f00000000ac260880d0effc3fdc00f03f010000008801fb3f23030600230306000000000015000000ffff000000000000e0c20040f6c20040ffffffffca3a084023030600ea9a08404c78f93f000000000000000000000000ffff3fb300000000000000000000000000000000000000000000000000000000cdcd000000000000b06a803f00000000e9321e8010f0fc3f7065803f80f0fc3f0000000000000000000000001100000052401d8050f0fc3f6065803f80f0fc3f000000003cc91d0070d8813f700e803fb400000060f0fc3ff4df813fb06a803fc465803f0000000000000000140000000000000080f0fc3fb0f7fd3f705d1e400000000080f0fc3fd4ed813f582e1e40b4000000ffff0000071000000000000000000000b0f0fc3f0000000000000000b0f7fd3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bcf0fc3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020fcfb3f40fdfb3fb57f09c5bc64fd3fe875fb3facfdfb3fe075fb3f180000008c78fb3f8c78fb3facfdfb3f8478fb3f01000000a8f5fb3f546d722053766300eed5639c88506e0000000000a0fdfb3f0700000000000000010000000000000000000000000000003a00000000000000e4eafa3f4cebfa3fb4ebfa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002003fc0380840f0bf00403000060025a20880e0fcfb3f0000000023000600200006007078fb3f8478fb3f0100000048a50880b0fcfb3f7875fb3f7875fb3f0000000023000600230006000100000000000000ffff000000000000000000000000000000000000ca3a084023000600ea9a0840dc84f83f000000000000000000000000ffff3fb30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bbe92680f0fcfb3f7075fb3fffffffff0000000010fdfb3ff014fb3f5c79fb3f010000000000000020000600010000000000000040fdfb3f0000000000000000000000000000000000000000000000006c79fb3f6479fb3f01000000000000000000000000000000000000000000000000000000000000004cfdfb3f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a061fd3f4064fd3f000000006cdefc3fb4fdfb3fb464fd3fe075fb3f14000000a8ac803fa8ac803fb464fd3fa0ac803f050000009016fd3f68747470640000000000000000000000ffffff7fa064fd3f0f000000000000000500000000000000ec66fd3f34be1e403e04000000000000e4eafa3f4cebfa3fb4ebfa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc0380840ac260840300306004ca908806062fd3f00000000ffffffffd0ac803f8cac803fa0ac803f00000000ac2608804062fd3fdc00f03f010000008801fb3f2303060023030600000000000f000000ffff00000000000014221d401e221d4000000000ca3a084023030600ea9a0840dcebf93f000000000000000000000000ffff3fb300000000000000000000000000000000000000000000000000000000cdcd000000000000ffff3f001e00000002321e808062fd3f00000000d0ac803f2de91e80e062fd3f320000001064fd3f743b1d80c062fd3f6cac803f0000000000000000dc0d00000000000000000000ffffffff2463fd3f01000000000000007cac803f7cac803fffffffff000003002de91e80e062fd3f320000001064fd3f000000000000000001000000320000003c601c808063fd3fc8a9803f6cac803f1c63fd3f3063fd3f00000000ffffffff00000000000000001064fd3f00000000000000000000000000000000000000006cac803f00000000000003000000000000000000000000000000000000000000000000006063fd3f5c371e40010000000000000000000000010000005c01803f000000008063fd3f320000006cac803f0000000000000000010000003200000000000000f063fd3fec84803f00000000c0380840c05f1c4030000500000000004064fd3f000000000000000000000000f0381d40000000001064fd3f000000002065fd3fec15fb3f32000000050000008216fb3f000000007f16fb3f010000003ca9803f050000002867fd3f00000000000000004064fd3f0000000000000000dcebf93f00000000000000000000000000000000000000000000000000000000000000000000030000000000300000001064fd3f3f00000000000000310000000000000000000000000000000000000000000000000000004c64fd3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f8fc3fb0f9fc3f635f4574d4dffc3fbc64fd3f64defc3fe075fb3f05000000bc67803fbc67803f64defc3fb467803f1400000020f1fc3f7379735f65767400cc9dfb3fcc9dfb000000000010fafc3f0c00000000000000140000000000000000000000000000006102000000000000e4eafa3f4cebfa3fb4ebfa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc0380840ac260840300c0600fea70880e0f8fc3f00000000ffffffffe467803fa067803fb467803f00000000ac260880c0f8fc3fdc00f03f010000008801fb3f230c0600230c06000000000019000000ffff0000000000006cc4004077c4004000000000ca3a0840230c0600ea9a08404c81f93f000000000000000000000000ffff3fb300000000000000000000000000000000000000000000000000000000cdcd000000000000200206000100000078c2268000f9fc3f9067803f50f9fc3f00000000000000000467803fb066803ff3c3268040f9fc3f64e4fc3fffffffff00000000f61000002006060001000000ffffffff40f9fc3f64e4fc3f00000000e467803f0000000000000000010000000000000090f9fc3f64e4fc3fffffffff0101000098ab413f0400000094bafb3f00000000000000000000000000000000ffffffffad06000000000000000000000000000000000000ffffffff0000000000000000b0f9fc3f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bcf9fc3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007008fd3fc009fd3ff0110000fcfdfd3f6cdefc3fccdffc3fe075fb3f06000000dc66803fdc66803fccdffc3fd466803f1300000024fafc3f61726475696e6f5f6576656e7473000001000000200afd3f0d000000000000001300000000000000b0fdfd3f34be1e4037a4030000000000e4eafa3f4cebfa3fb4ebfa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc0380840ac26084030050600fea708803009fd3f01000000ffffffff0467803fc066803fd466803f00000000ac2608801009fd3fe000f03f010000008801fb3f23050600230506000000000009000000ffff000000000000e0c20040f6c20040ffffffffca3a084023050600ea9a08405c91f93f000000000000000001000000ffff3fb300000000000000000000000000000000000000000000000000000000abab0000200606000100000000000000bfcf19805009fd3fb066803f9009fd3f0467803fc066803fd466803f00000000000000009009fd3f7852fb3f0000000000000000021e0000d849264090391640ffffffff2800000016000000000000000467803f00000000000000000100008000000000c009fd3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000cc09fd3f00000000800000001400a04100007042caf24971d4259d32d11f65c0d4259d329b038f2600c09d27b5c9363900000000000000000000000000000000000000000000000000000000000000000000000000000000003bfc3f703cfc3f000000005cfafa3fd4dffc3ff4fdfd3fe075fb3f1800000080d0813f80d0813ff4fdfd3f78d0813f01000000dc2cfc3f6d646e7300fefd3f5cfafa3fd4dffc0000000000d03cfc3f1300000000000000010000000000000094fffd3f34be1e40f22f000000000000e4eafa3f4cebfa3fb4ebfa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc0380840ac260840300a0600fea70880c03bfc3f00000000ffffffffa8d0813f64d0813f78d0813f00000000ac260880a03bfc3fdc00f03f010000008801fb3f230a0600230a0600000000001a000000ffff000000000000e0c20040f6c20040ffffffffca3a0840230a0600ea9a08400cc4f83f000000000000000000000000ffff3fb300000000000000000000000000000000000000000000000000000000cdcd0000e91400000000000000000000222a1b80e03bfc3f54d0813f283cfc3f88ef813f70d8813f2a66fb3fdf01000000000000203cfc3f80c6813f4c6dfb3f0000000000270000d0b5fd3f48b6fd3fffffffff0000000070e3fc3f00000000a8d0813f0000000000000000b0d3813f00000000703cfc3f00000000000000000cc4f83f0000000070e3fc3f000000000000000078ef813f80c6813f00000000000000000000000000000000d0c6813f78ef813f0800000002000000203cfc3f0000000000000000000000000000000000000000000000007c3cfc3f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0a5fb3f00a7fb3f7436be20d4f7fa3ffcfdfd3f54fafa3fe075fb3f0100000020fafa3f20fafa3f54fafa3f18fafa3f1800000068a1fb3f6970633100c21a1312592480c0b46f000100000060a7fb3f0200000000000000180000000000000000000000000000009d63050000000000e4eafa3f4cebfa3fb4ebfa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc0380840ac260840300f06004ca9088080a6fb3f01000000ffffffff48fafa3f04fafa3f18fafa3f00000000ac26088060a6fb3fe000f03f010000008801fb3f230f0600230f06000000000004000000ffff000000000000000000000000000000000000ca3a0840230f0600ea9a08409c2ef83f000000000000000000000000ffff3fb300000000000000000000000000000000000000000000000000000000abab000080a6fb3f7075fb3fc875fb3f57240880a0a6fb3f0000000048fafa3fe814fb3f18000000200f06000100000000000000e0a6fb3f040000002070fb3f000000009a670000c475fb3f01000000ffffffff00000000040000002070fb3ff4f9fa3ff4f9fa3fffffffff94f9fa3f0000000000a7fb3f0000000000000000000000003070fb3fd847084001000000b5310880607dfe3fc05d0000127adb0600000000000000000ca7fb3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f6fa3f60f7fa3fdff7893850d4fb3f5cfafa3fccf7fa3fe075fb3f0100000094f1fa3f94f1fa3fccf7fa3f8cf1fa3f18000000c8f1fa3f697063300084379db123cfb3900ae70000000000c0f7fa3f010000000000000018000000000000000000000000000000c198080000000000e4eafa3f4cebfa3fb4ebfa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc0380840ac260840300506004ca90880e0f6fa3f00000000ffffffffbcf1fa3f78f1fa3f8cf1fa3f00000000ac260880c0f6fa3fdc00f03f010000008801fb3f23050600230506000000000004000000ffff000000000000000000000000000000000000ca3a084023050600ea9a0840fc7ef73f000000000000000000000000ffff3fb300000000000000000000000000000000000000000000000000000000cdcd00002305060023050600000000005724088000f7fa3f00000000bcf1fa3fbcf1fa3f78f1fa3f8cf1fa3f000000000000000040f7fa3f000000001c70fb3f00000000990c1000c475fb3f01000000ffffffff00000000000000001c70fb3f68f1fa3f68f1fa3fffffffff08f1fa3f0000000060f7fa3f0000000000000000000000002c70fb3fd84708400000000018d02680c03bfe3fd875fb3f0000000000000000000000006cf7fa3f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0d2fb3fe0d3fb3f422a6fc5c812fd3fd4f7fa3f48d4fb3fe075fb3f030000001476fb3f1476fb3f48d4fb3f000000001600000044c6fb3f6573705f74696d657200a3fd2c93cf000000000040d4fb3f03000000000000001600000000000000000000000000000046b71d0000000000e4eafa3f4cebfa3fb4ebfa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100003fc0380840f0bf00403009060025a2088060d3fb3f00000000230906002009060001000000e8147b00ffff3f000100000030d3fb3f7875fb3f7875fb3f0000000023090600230906000100000015000000ffff000000000000cd340840d534084027000000ca3a084023090600ea9a08407c5bf83f000000000000000000000000ffff3fb300000000000000000000000000000000000000000000000000000000ffff3fb3000000000000000000000000ccdb268070d3fb3f7075fb3fffffffff51bc1c8090d3fb3f48d5fb3f01000000eec81d0023090600200906000100000000000000b0d3fb3fd0fdfd3f6f895974ffffffff5878fb3fe814fb3f961fb6e800000000e0d3fb3f0000000000000000000000009ac54f740000000080841e0000000000000000000000000001000000000000000000000000000000000000000000000000000000ecd3fb3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001011fd3f5012fd3f000000000cb0fd3f50d4fb3fc012fd3fe075fb3f0a0000000464803f0464803fc012fd3f000000000f000000bc0afd3f656d61635f7278000000000000000000ffffff7fb012fd3f0e000000000000000f0000000000000000000000000000008857200000000000e4eafa3f4cebfa3fb4ebfa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100003fc0380840f0bf0040300b060025a20880d011fd3f00000000230b0600200b060000000000e8147b00ffff3f0001000000a011fd3f7875fb3f7875fb3f00000000230b0600230b06000100000020000000ffff000000000000e0c20040f6c20040ffffffffca3a0840230b0600ea9a0840ec99f93f000000000000000000000000ffff3fb300000000000000000000000000000000000000000000000000000000a83f1c80e011fd3f4814fd3f5ca0823fccdb2680e011fd3f7075fb3fffffffffe9471c800012fd3fc013fd3f010000003bc91d00230b0600200b060001000000000000002012fd3f386c803f00000000ffffffff5878fb3fe814fb3f01000080000000005012fd3f00000000000000003c000000000000000000000000000000f20500000000000000000000000000000000000000000000000000000000000000000000000000005c12fd3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030aefd3f90affd3f00000000e875fb3fc812fd3f04b0fd3fe075fb3f0100000088df803f88df803f04b0fd3f80df803f1800000000a8fd3f756172745f6576656e745f7461736b00ffffff7ff0affd3f110000000000000018000000000000000000000000000000ad09540700000000e4eafa3f4cebfa3fb4ebfa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc0380840ac26084030050600fea70880f0aefd3f01000000ffffffffb0df803f6cdf803f80df803f00000000ac260880d0aefd3fe000f03f010000008801fb3f23050600230506000000000008000000ffff000000000000e0c20040f6c20040ffffffffca3a084023050600ea9a08402c37fa3f000000000000000000000000ffff3fb300000000000000000000000000000000000000000000000000000000abab000010affd3f7841fb3f4c6efb3f20631b8010affd3f5cdf803f50affd3f000000000000000048de803ff4dd803f0000000050affd3f4c6efb3fffffffff000000003bc91d002007060001000000ffffffff50affd3f4c6efb3fffffffffb0df803f0000000000000000010000800000000090affd3f0000000000000000010000007014fb3f04000000010000005cdf803f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009caffd3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000480000004a2000004553505f434f52455f44554d505f494e464f00450001000031326364313732636165646163643066000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000094000000a502000045585452415f494e464f002a58fbfd3fe80000001d000000ee00000000000000c200000000000000c300000000000000c400000000000000c500000000000000c600000000000000b100000058d31c40b200000000000000b300000000000000b400000000000000b500000000000000b6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000598e2779000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000094000000a502000045585452415f494e464f002a58fbfd3fe80000001d000000ee00000000000000c200000000000000c300000000000000c400000000000000c500000000000000c600000000000000b100000058d31c40b200000000000000b3000000

I don't know how to decode this. I'm trying the espcoredump.py script for now to get a meaningfull output.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Resolution: Done Issue is done internally Status: Done Issue is done internally
Projects
None yet
Development

No branches or pull requests