Просмотр исходного кода

Merge branch 'feature/core_dump_crc' into 'master'

Core Dump CRC

See merge request idf/esp-idf!1290
Ivan Grokhotkov 7 лет назад
Родитель
Сommit
fb56ce7d5c

+ 12 - 8
components/esp32/Kconfig

@@ -272,8 +272,10 @@ config TRACEMEM_RESERVE_DRAM
     default 0x4000 if MEMMAP_TRACEMEM && !MEMMAP_TRACEMEM_TWOBANKS
     default 0x0
 
+menu "Core dump"
+
 choice ESP32_COREDUMP_TO_FLASH_OR_UART
-    prompt "Core dump destination"
+    prompt "Data destination"
     default ESP32_ENABLE_COREDUMP_TO_NONE
     help
         Select place to store core dump: flash, uart or none (to disable core dumps generation).
@@ -298,20 +300,22 @@ config ESP32_ENABLE_COREDUMP
     help
         Enables/disable core dump module.
 
+config ESP32_CORE_DUMP_MAX_TASKS_NUM
+    int "Maximum number of tasks"
+    depends on ESP32_ENABLE_COREDUMP
+    default 64
+    help
+        Maximum number of tasks snapshots in core dump.
+
 config ESP32_CORE_DUMP_UART_DELAY
-    int "Core dump print to UART delay"
+    int "Delay before print to UART"
     depends on ESP32_ENABLE_COREDUMP_TO_UART
     default 0
     help
         Config delay (in ms) before printing core dump to UART.
         Delay can be interrupted by pressing Enter key.
 
-config ESP32_CORE_DUMP_LOG_LEVEL
-    int "Core dump module logging level"
-    depends on ESP32_ENABLE_COREDUMP
-    default 1
-    help
-        Config core dump module logging level (0-5).
+endmenu
 
 choice NUMBER_OF_UNIVERSAL_MAC_ADDRESS
     bool "Number of universally administered (by IEEE) MAC address"

+ 107 - 43
components/esp32/core_dump.c

@@ -24,12 +24,14 @@
 #include "esp_panic.h"
 #include "esp_partition.h"
 #include "esp_clk.h"
+#include "esp_core_dump.h"
 
-#if CONFIG_ESP32_ENABLE_COREDUMP
-#define LOG_LOCAL_LEVEL CONFIG_ESP32_CORE_DUMP_LOG_LEVEL
 #include "esp_log.h"
-const static DRAM_ATTR char TAG[] = "esp_core_dump";
+const static DRAM_ATTR char TAG[] __attribute__((unused)) = "esp_core_dump";
+
+typedef uint32_t core_dump_crc_t;
 
+#if CONFIG_ESP32_ENABLE_COREDUMP
 #define ESP_COREDUMP_LOG( level, format, ... )  if (LOG_LOCAL_LEVEL >= level)   { ets_printf(DRAM_STR(format), esp_log_early_timestamp(), (const char *)TAG, ##__VA_ARGS__); }
 #define ESP_COREDUMP_LOGE( format, ... )  ESP_COREDUMP_LOG(ESP_LOG_ERROR, LOG_FORMAT(E, format), ##__VA_ARGS__)
 #define ESP_COREDUMP_LOGW( format, ... )  ESP_COREDUMP_LOG(ESP_LOG_WARN, LOG_FORMAT(W, format), ##__VA_ARGS__)
@@ -43,9 +45,9 @@ const static DRAM_ATTR char TAG[] = "esp_core_dump";
 #define ESP_COREDUMP_LOG_PROCESS( format, ... )  do{/*(__VA_ARGS__);*/}while(0)
 #endif
 
-// TODO: allow user to set this in menuconfig or get tasks iteratively
-#define COREDUMP_MAX_TASKS_NUM              32
 #define COREDUMP_MAX_TASK_STACK_SIZE        (64*1024)
+#define COREDUMP_VERSION                    1
+
 
 typedef esp_err_t (*esp_core_dump_write_prepare_t)(void *priv, uint32_t *data_len);
 typedef esp_err_t (*esp_core_dump_write_start_t)(void *priv);
@@ -74,6 +76,7 @@ typedef struct _core_dump_write_config_t
 typedef struct _core_dump_header_t
 {
     uint32_t data_len;  // data length
+    uint32_t version;   // core dump struct version
     uint32_t tasks_num; // number of tasks
     uint32_t tcb_sz;    // size of TCB
 } core_dump_header_t;
@@ -101,7 +104,7 @@ static void esp_core_dump_write(XtExcFrame *frame, core_dump_write_config_t *wri
 {
     int cur_task_bad = 0;
     esp_err_t err;
-    TaskSnapshot_t tasks[COREDUMP_MAX_TASKS_NUM];
+    TaskSnapshot_t tasks[CONFIG_ESP32_CORE_DUMP_MAX_TASKS_NUM];
     UBaseType_t tcb_sz, tcb_sz_padded, task_num;
     uint32_t data_len = 0, i, len;
     union
@@ -110,7 +113,7 @@ static void esp_core_dump_write(XtExcFrame *frame, core_dump_write_config_t *wri
         core_dump_task_header_t task_hdr;
     } dump_data;
 
-    task_num = uxTaskGetSnapshotAll(tasks, COREDUMP_MAX_TASKS_NUM, &tcb_sz);
+    task_num = uxTaskGetSnapshotAll(tasks, CONFIG_ESP32_CORE_DUMP_MAX_TASKS_NUM, &tcb_sz);
     // take TCB padding into account, actual TCB size will be stored in header
     if (tcb_sz % sizeof(uint32_t))
         tcb_sz_padded = (tcb_sz / sizeof(uint32_t) + 1) * sizeof(uint32_t);
@@ -143,9 +146,9 @@ static void esp_core_dump_write(XtExcFrame *frame, core_dump_write_config_t *wri
             else {
 #if CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH
                 XtExcFrame *task_frame2 = (XtExcFrame *)tasks[i].pxTopOfStack;
-#endif
                 ESP_COREDUMP_LOG_PROCESS("Task EXIT/PC/PS/A0/SP %x %x %x %x %x",
                     task_frame2->exit, task_frame2->pc, task_frame2->ps, task_frame2->a0, task_frame2->a1);
+#endif
             }
         }
         len = (uint32_t)tasks[i].pxEndOfStack - (uint32_t)tasks[i].pxTopOfStack;
@@ -188,6 +191,7 @@ static void esp_core_dump_write(XtExcFrame *frame, core_dump_write_config_t *wri
     }
     // write header
     dump_data.hdr.data_len  = data_len;
+    dump_data.hdr.version   = COREDUMP_VERSION;
     dump_data.hdr.tasks_num = task_num - write_cfg->bad_tasks_num;
     dump_data.hdr.tcb_sz    = tcb_sz;
     err = write_cfg->write(write_cfg->priv, &dump_data, sizeof(core_dump_header_t));
@@ -248,13 +252,10 @@ static void esp_core_dump_write(XtExcFrame *frame, core_dump_write_config_t *wri
 
 #if CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH
 
-// magic numbers to control core dump data consistency
-#define COREDUMP_FLASH_MAGIC_START    0xE32C04EDUL
-#define COREDUMP_FLASH_MAGIC_END      0xE32C04EDUL
-
 typedef struct _core_dump_write_flash_data_t
 {
-    uint32_t    off;
+    uint32_t        off; // current offset in partition
+    core_dump_crc_t crc; // CRC of dumped data
 } core_dump_write_flash_data_t;
 
 typedef struct _core_dump_partition_t
@@ -267,15 +268,20 @@ typedef struct _core_dump_partition_t
 
 typedef struct _core_dump_flash_config_t
 {
-    // core dump partition start
+    // core dump partition config
     core_dump_partition_t partition;
-    // core dump partition size
-    uint32_t              crc;
+    // CRC of core dump partition config
+    core_dump_crc_t       partition_config_crc;
 } core_dump_flash_config_t;
 
 // core dump flash data
 static core_dump_flash_config_t s_core_flash_config;
 
+static inline core_dump_crc_t esp_core_dump_calc_flash_config_crc(void)
+{
+    return crc32_le(0, (uint8_t const *)&s_core_flash_config.partition, sizeof(s_core_flash_config.partition));
+}
+
 static uint32_t esp_core_dump_write_flash_padded(size_t off, uint8_t *data, uint32_t data_size)
 {
     esp_err_t err;
@@ -302,8 +308,9 @@ static uint32_t esp_core_dump_write_flash_padded(size_t off, uint8_t *data, uint
     if (len) {
         // write last bytes with padding, actual TCB len can be retrieved by esptool from core dump header
         rom_data.data32 = 0;
-        for (k = 0; k < len; k++)
+        for (k = 0; k < len; k++) {
             rom_data.data8[k] = *(data + data_len + k);
+        }
         err = spi_flash_write(off + data_len, &rom_data, sizeof(uint32_t));
         if (err != ESP_OK) {
             ESP_COREDUMP_LOGE("Failed to finish write data to flash (%d)!", err);
@@ -322,18 +329,19 @@ static esp_err_t esp_core_dump_flash_write_prepare(void *priv, uint32_t *data_le
     core_dump_write_flash_data_t *wr_data = (core_dump_write_flash_data_t *)priv;
 
     // check for available space in partition
-    // add space for 2 magics. TODO: change to CRC
-    if ((*data_len + 2*sizeof(uint32_t)) > s_core_flash_config.partition.size) {
+    if ((*data_len + sizeof(uint32_t)) > s_core_flash_config.partition.size) {
         ESP_COREDUMP_LOGE("Not enough space to save core dump!");
         return ESP_ERR_NO_MEM;
     }
-    *data_len += 2*sizeof(uint32_t);
+    // add space for CRC
+    *data_len += sizeof(core_dump_crc_t);
 
-    wr_data->off = 0;
+    memset(wr_data, 0, sizeof(*wr_data));
 
     sec_num = *data_len / SPI_FLASH_SEC_SIZE;
-    if (*data_len % SPI_FLASH_SEC_SIZE)
+    if (*data_len % SPI_FLASH_SEC_SIZE) {
         sec_num++;
+    }
     assert(sec_num * SPI_FLASH_SEC_SIZE <= s_core_flash_config.partition.size);
     err = spi_flash_erase_range(s_core_flash_config.partition.start + 0, sec_num * SPI_FLASH_SEC_SIZE);
     if (err != ESP_OK) {
@@ -362,9 +370,7 @@ static esp_err_t esp_core_dump_flash_write_word(core_dump_write_flash_data_t *wr
 
 static esp_err_t esp_core_dump_flash_write_start(void *priv)
 {
-    core_dump_write_flash_data_t *wr_data = (core_dump_write_flash_data_t *)priv;
-    // save magic 1
-    return esp_core_dump_flash_write_word(wr_data, COREDUMP_FLASH_MAGIC_START);
+    return ESP_OK;
 }
 
 static esp_err_t esp_core_dump_flash_write_end(void *priv)
@@ -381,17 +387,16 @@ static esp_err_t esp_core_dump_flash_write_end(void *priv)
     if (err != ESP_OK) {
         ESP_COREDUMP_LOGE("Failed to read flash (%d)!", err);
         return err;
-    }
-    else {
+    } else {
         ESP_COREDUMP_LOG_PROCESS("Data from flash:");
         for (uint32_t i = 0; i < sizeof(rom_data)/sizeof(rom_data.data32[0]); i++) {
             ESP_COREDUMP_LOG_PROCESS("%x", rom_data.data32[i]);
         }
     }
 #endif
-
-    // save magic 2
-    return esp_core_dump_flash_write_word(wr_data, COREDUMP_FLASH_MAGIC_END);
+    // write core dump CRC
+    ESP_COREDUMP_LOG_PROCESS("Dump data CRC = 0x%x", wr_data->crc);
+    return esp_core_dump_flash_write_word(wr_data, wr_data->crc);
 }
 
 static esp_err_t esp_core_dump_flash_write_data(void *priv, void * data, uint32_t data_len)
@@ -400,10 +405,12 @@ static esp_err_t esp_core_dump_flash_write_data(void *priv, void * data, uint32_
     core_dump_write_flash_data_t *wr_data = (core_dump_write_flash_data_t *)priv;
 
     uint32_t len = esp_core_dump_write_flash_padded(s_core_flash_config.partition.start + wr_data->off, data, data_len);
-    if (len != data_len)
+    if (len != data_len) {
         return ESP_FAIL;
+    }
 
     wr_data->off += len;
+    wr_data->crc = crc32_le(wr_data->crc, data, data_len);
 
     return err;
 }
@@ -413,10 +420,14 @@ void esp_core_dump_to_flash(XtExcFrame *frame)
     core_dump_write_config_t wr_cfg;
     core_dump_write_flash_data_t wr_data;
 
-    uint32_t crc = crc32_le(UINT32_MAX, (uint8_t const *)&s_core_flash_config.partition,
-                            sizeof(s_core_flash_config.partition));
-    if (s_core_flash_config.crc != crc) {
-        ESP_COREDUMP_LOGE("Core dump flash config is corrupted! CRC=0x%x instead of 0x%x", crc, s_core_flash_config.crc);
+    core_dump_crc_t crc = esp_core_dump_calc_flash_config_crc();
+    if (s_core_flash_config.partition_config_crc != crc) {
+        ESP_COREDUMP_LOGE("Core dump flash config is corrupted! CRC=0x%x instead of 0x%x", crc, s_core_flash_config.partition_config_crc);
+        return;
+    }
+    // check that partition can hold at least core dump data length
+    if (s_core_flash_config.partition.start == 0 || s_core_flash_config.partition.size < sizeof(uint32_t)) {
+        ESP_COREDUMP_LOGE("Invalid flash partition config!");
         return;
     }
 
@@ -500,10 +511,11 @@ static esp_err_t esp_core_dump_uart_write_data(void *priv, void * data, uint32_t
 static int esp_core_dump_uart_get_char() {
     int i;
     uint32_t reg = (READ_PERI_REG(UART_STATUS_REG(0)) >> UART_RXFIFO_CNT_S) & UART_RXFIFO_CNT;
-    if (reg)
+    if (reg) {
         i = READ_PERI_REG(UART_FIFO_REG(0));
-    else
+    } else {
         i = -1;
+    }
     return i;
 }
 
@@ -532,8 +544,9 @@ void esp_core_dump_to_uart(XtExcFrame *frame)
     ch = esp_core_dump_uart_get_char();
     while (!(ch == '\n' || ch == '\r')) {
         tm_cur = xthal_get_ccount() / cpu_ticks_per_ms;
-        if (tm_cur >= tm_end)
+        if (tm_cur >= tm_end){
             break;
+        }
         ch = esp_core_dump_uart_get_char();
     }
     ESP_COREDUMP_LOGI("Print core dump to uart...");
@@ -554,15 +567,66 @@ void esp_core_dump_init()
         return;
     }
     ESP_COREDUMP_LOGI("Found partition '%s' @ %x %d bytes", core_part->label, core_part->address, core_part->size);
-    s_core_flash_config.partition.start = core_part->address;
-    s_core_flash_config.partition.size  = core_part->size;
-    s_core_flash_config.crc             = crc32_le(UINT32_MAX, (uint8_t const *)&s_core_flash_config.partition,
-                                                    sizeof(s_core_flash_config.partition));
+    s_core_flash_config.partition.start      = core_part->address;
+    s_core_flash_config.partition.size       = core_part->size;
+    s_core_flash_config.partition_config_crc = esp_core_dump_calc_flash_config_crc();
 #endif
 #if CONFIG_ESP32_ENABLE_COREDUMP_TO_UART
     ESP_COREDUMP_LOGI("Init core dump to UART");
 #endif
 }
 
-#endif
+esp_err_t esp_core_dump_image_get(size_t* out_addr, size_t *out_size)
+{
+    esp_err_t err;
+    const void *core_data;
+    spi_flash_mmap_handle_t core_data_handle;
+
+
+    if (out_addr == NULL || out_size == NULL) {
+        return ESP_ERR_INVALID_ARG;
+    }
+
+    const esp_partition_t *core_part = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_COREDUMP, NULL);
+    if (!core_part) {
+        ESP_LOGE(TAG, "No core dump partition found!");
+        return ESP_FAIL;
+    }
+    if (core_part->size < sizeof(uint32_t)) {
+        ESP_LOGE(TAG, "Too small core dump partition!");
+        return ESP_FAIL;
+    }
+
+    err = esp_partition_mmap(core_part, 0,  sizeof(uint32_t),
+                             SPI_FLASH_MMAP_DATA, &core_data, &core_data_handle);
+    if (err != ESP_OK) {
+        ESP_LOGE(TAG, "Failed to mmap core dump data (%d)!", err);
+        return err;
+    }
+    uint32_t *dw = (uint32_t *)core_data;
+    *out_size = *dw;
+    spi_flash_munmap(core_data_handle);
+
+    // remap full core dump with CRC
+    err = esp_partition_mmap(core_part, 0, *out_size,
+                             SPI_FLASH_MMAP_DATA, &core_data, &core_data_handle);
+    if (err != ESP_OK) {
+        ESP_LOGE(TAG, "Failed to mmap core dump data (%d)!", err);
+        return err;
+    }
+    uint32_t *crc = (uint32_t *)(((uint8_t *)core_data) + *out_size);
+    crc--; // Point to CRC field
+    // Calc CRC over core dump data except for CRC field
+    core_dump_crc_t cur_crc = crc32_le(0, (uint8_t const *)core_data, *out_size - sizeof(core_dump_crc_t));
+    if (*crc != cur_crc) {
+        ESP_LOGE(TAG, "Core dump data CRC check failed: 0x%x -> 0x%x!", *crc, cur_crc);
+        spi_flash_munmap(core_data_handle);
+        return ESP_FAIL;
+    }
 
+    spi_flash_munmap(core_data_handle);
+
+    *out_addr = core_part->address;
+    return ESP_OK;
+}
+#endif

+ 5 - 0
components/esp32/cpu_start.c

@@ -382,6 +382,11 @@ void start_cpu0_default(void)
 
 #if CONFIG_ESP32_ENABLE_COREDUMP
     esp_core_dump_init();
+    size_t core_data_sz = 0;
+    size_t core_data_addr = 0;
+    if (esp_core_dump_image_get(&core_data_addr, &core_data_sz) == ESP_OK && core_data_sz > 0) {
+        ESP_LOGI(TAG, "Found core dump %d bytes in flash @ 0x%x", core_data_sz, core_data_addr);
+    }
 #endif
 
     portBASE_TYPE res = xTaskCreatePinnedToCore(&main_task, "main",

+ 38 - 17
components/esp32/include/esp_core_dump.h

@@ -14,6 +14,11 @@
 #ifndef ESP_CORE_DUMP_H_
 #define ESP_CORE_DUMP_H_
 
+
+/**************************************************************************************/
+/******************************** EXCEPTION MODE API **********************************/
+/**************************************************************************************/
+
 /**
  * @brief  Initializes core dump module internal data.
  *
@@ -25,29 +30,29 @@ void esp_core_dump_init();
  * @brief  Saves core dump to flash.
  *
  * The structure of data stored in flash is as follows:
- * |   MAGIC1   |
+ *
  * |  TOTAL_LEN |  TASKS_NUM | TCB_SIZE |
  * | TCB_ADDR_1 | STACK_TOP_1 | STACK_END_1 | TCB_1 | STACK_1 |
  * .            .       .         .
  * .            .       .         .
  * | TCB_ADDR_N | STACK_TOP_N | STACK_END_N | TCB_N | STACK_N |
- * |   MAGIC2   |
+ * |    CRC32   |
+ *
  * Core dump in flash consists of header and data for every task in the system at the moment of crash.
- * For flash data integrity control two magic numbers are used at the beginning and the end of core dump.
+ * For flash data integrity control CRC is used at the end of core the dump data.
  * The structure of core dump data is described below in details.
- * 1) MAGIC1 and MAGIC2 are special numbers stored at the beginning and the end of core dump.
- *    They are used to control core dump data integrity. Size of every number is 4 bytes.
- * 2) Core dump starts with header:
- * 2.1) TOTAL_LEN is total length of core dump data in flash including magic numbers. Size is 4 bytes.
- * 2.2) TASKS_NUM is the number of tasks for which data are stored. Size is 4 bytes.
- * 2.3) TCB_SIZE is the size of task's TCB structure. Size is 4 bytes.
- * 3) Core dump header is followed by the data for every task in the system.
+ * 1) Core dump starts with header:
+ * 1.1) TOTAL_LEN is total length of core dump data in flash including CRC. Size is 4 bytes.
+ * 1.2) TASKS_NUM is the number of tasks for which data are stored. Size is 4 bytes.
+ * 1.3) TCB_SIZE is the size of task's TCB structure. Size is 4 bytes.
+ * 2) Core dump header is followed by the data for every task in the system.
  *    Task data are started with task header:
- * 3.1) TCB_ADDR is the address of TCB in memory. Size is 4 bytes.
- * 3.2) STACK_TOP is the top of task's stack (address of the topmost stack item). Size is 4 bytes.
- * 3.2) STACK_END is the end of task's stack (address from which task's stack starts). Size is 4 bytes.
- * 4) Task header is followed by TCB data. Size is TCB_SIZE bytes.
- * 5) Task's stack is placed after TCB data. Size is (STACK_END - STACK_TOP) bytes.
+ * 2.1) TCB_ADDR is the address of TCB in memory. Size is 4 bytes.
+ * 2.2) STACK_TOP is the top of task's stack (address of the topmost stack item). Size is 4 bytes.
+ * 2.2) STACK_END is the end of task's stack (address from which task's stack starts). Size is 4 bytes.
+ * 3) Task header is followed by TCB data. Size is TCB_SIZE bytes.
+ * 4) Task's stack is placed after TCB data. Size is (STACK_END - STACK_TOP) bytes.
+ * 5) CRC is placed at the end of the data.
  */
 void esp_core_dump_to_flash();
 
@@ -55,10 +60,26 @@ void esp_core_dump_to_flash();
  * @brief  Print base64-encoded core dump to UART.
  *
  * The structure of core dump data is the same as for data stored in flash (@see esp_core_dump_to_flash) with some notes:
- * 1) Magic numbers are not present in core dump printed to UART.
- * 2) Since magic numbers are omitted TOTAL_LEN does not include their size.
+ * 1) CRC is not present in core dump printed to UART.
+ * 2) Since CRC is omitted TOTAL_LEN does not include its size.
  * 3) Printed base64 data are surrounded with special messages to help user recognize the start and end of actual data.
  */
 void esp_core_dump_to_uart();
 
+
+/**************************************************************************************/
+/*********************************** USER MODE API ************************************/
+/**************************************************************************************/
+
+/**
+ * @brief  Retrieves address and size of coredump data in flash.
+ *         This function is always available, even when core dump is disabled in menuconfig.
+ *
+ * @param  out_addr   pointer to store image address in flash.
+ * @param  out_size   pointer to store image size in flash (including CRC). In bytes.
+ *
+ * @return ESP_OK on success, otherwise \see esp_err_t
+ */
+esp_err_t esp_core_dump_image_get(size_t* out_addr, size_t *out_size);
+
 #endif

+ 79 - 50
components/espcoredump/espcoredump.py

@@ -24,6 +24,8 @@ import struct
 import array
 import errno
 import base64
+import binascii
+import logging
 
 idf_path = os.getenv('IDF_PATH')
 if idf_path:
@@ -35,7 +37,7 @@ except ImportError:
     print("Esptool is not found! Set proper $IDF_PATH in environment.")
     sys.exit(2)
 
-__version__ = "0.2-dev"
+__version__ = "0.3-dev"
 
 if os.name == 'nt':
     CLOSE_FDS = False
@@ -327,7 +329,7 @@ class ESPCoreDumpElfFile(esptool.ELFFile):
         if len(section_header) == 0:
             raise ESPCoreDumpError("No section header found at offset %04x in ELF file." % section_header_offs)
         if len(section_header) % LEN_SEC_HEADER != 0:
-            print('WARNING: Unexpected ELF section header length %04x is not mod-%02x' % (len(section_header),LEN_SEC_HEADER))
+            logging.warning('Unexpected ELF section header length %04x is not mod-%02x' % (len(section_header),LEN_SEC_HEADER))
 
         # walk through the section header and extract all sections
         section_header_offsets = range(0, len(section_header), LEN_SEC_HEADER)
@@ -343,7 +345,7 @@ class ESPCoreDumpElfFile(esptool.ELFFile):
             raise ESPCoreDumpError("ELF file has no STRTAB section at shstrndx %d" % shstrndx)
         _,sec_type,_,_,sec_size,sec_offs = read_section_header(shstrndx * LEN_SEC_HEADER)
         if sec_type != esptool.ELFFile.SEC_TYPE_STRTAB:
-            print('WARNING: ELF file has incorrect STRTAB section type 0x%02x' % sec_type)
+            logging.warning('ELF file has incorrect STRTAB section type 0x%02x' % sec_type)
         f.seek(sec_offs)
         string_table = f.read(sec_size)
 
@@ -370,7 +372,7 @@ class ESPCoreDumpElfFile(esptool.ELFFile):
         if len(seg_table) == 0:
             raise ESPCoreDumpError("No program header table found at offset %04x in ELF file." % seg_table_offs)
         if len(seg_table) % LEN_SEG_HEADER != 0:
-            print('WARNING: Unexpected ELF program header table length %04x is not mod-%02x' % (len(seg_table),LEN_SEG_HEADER))
+            logging.warning('Unexpected ELF program header table length %04x is not mod-%02x' % (len(seg_table),LEN_SEG_HEADER))
 
         # walk through the program segment table and extract all segments
         seg_table_offs = range(0, len(seg_table), LEN_SEG_HEADER)
@@ -456,7 +458,8 @@ class ESPCoreDumpLoaderError(ESPCoreDumpError):
 class ESPCoreDumpLoader(object):
     """Core dump loader base class
     """
-    ESP32_COREDUMP_HDR_FMT      = '<3L'
+    ESP32_COREDUMP_VESION       = 1
+    ESP32_COREDUMP_HDR_FMT      = '<4L'
     ESP32_COREDUMP_HDR_SZ       = struct.calcsize(ESP32_COREDUMP_HDR_FMT)
     ESP32_COREDUMP_TSK_HDR_FMT  = '<3L'
     ESP32_COREDUMP_TSK_HDR_SZ   = struct.calcsize(ESP32_COREDUMP_TSK_HDR_FMT)
@@ -564,7 +567,7 @@ class ESPCoreDumpLoader(object):
             os.remove(fname)
         except OSError as e:
             if e.errno != errno.ENOENT:
-                print("Warning failed to remove temp file '%s' (%d)!" % (fname, e.errno))
+                logging.warning("Failed to remove temp file '%s' (%d)!" % (fname, e.errno))
 
     def cleanup(self):
         """Cleans up loader resources
@@ -579,7 +582,9 @@ class ESPCoreDumpLoader(object):
         """
         core_off = off
         data = self.read_data(core_off, self.ESP32_COREDUMP_HDR_SZ)
-        tot_len,task_num,tcbsz = struct.unpack_from(self.ESP32_COREDUMP_HDR_FMT, data)
+        tot_len,coredump_ver,task_num,tcbsz = struct.unpack_from(self.ESP32_COREDUMP_HDR_FMT, data)
+        if coredump_ver > self.ESP32_COREDUMP_VESION:
+            raise ESPCoreDumpLoaderError("Core dump version '%d' is not supported! Should be up to '%d'." % (coredump_ver, self.ESP32_COREDUMP_VESION))
         tcbsz_aligned = tcbsz
         if tcbsz_aligned % 4:
             tcbsz_aligned = 4*(old_div(tcbsz_aligned,4) + 1)
@@ -601,16 +606,25 @@ class ESPCoreDumpLoader(object):
                 stack_len_aligned = 4*(old_div(stack_len_aligned,4) + 1)
                 
             core_off += self.ESP32_COREDUMP_TSK_HDR_SZ
+            logging.info("Read TCB %d bytes @ 0x%x" % (tcbsz_aligned, tcb_addr))
             data = self.read_data(core_off, tcbsz_aligned)
-            if tcbsz != tcbsz_aligned:
-                core_elf.add_program_segment(tcb_addr, data[:tcbsz - tcbsz_aligned], ESPCoreDumpElfFile.PT_LOAD, ESPCoreDumpSegment.PF_R | ESPCoreDumpSegment.PF_W)
-            else:
-                core_elf.add_program_segment(tcb_addr, data, ESPCoreDumpElfFile.PT_LOAD, ESPCoreDumpSegment.PF_R | ESPCoreDumpSegment.PF_W)
+            try:
+                if tcbsz != tcbsz_aligned:
+                    core_elf.add_program_segment(tcb_addr, data[:tcbsz - tcbsz_aligned], ESPCoreDumpElfFile.PT_LOAD, ESPCoreDumpSegment.PF_R | ESPCoreDumpSegment.PF_W)
+                else:
+                    core_elf.add_program_segment(tcb_addr, data, ESPCoreDumpElfFile.PT_LOAD, ESPCoreDumpSegment.PF_R | ESPCoreDumpSegment.PF_W)
+            except ESPCoreDumpError as e:
+                logging.warning("Skip TCB %d bytes @ 0x%x. (Reason: %s)" % (tcbsz_aligned, tcb_addr, e))
+
             core_off += tcbsz_aligned
+            logging.info("Read stack %d bytes @ 0x%x" % (stack_len_aligned, stack_base))
             data = self.read_data(core_off, stack_len_aligned)
             if stack_len != stack_len_aligned:
                 data = data[:stack_len - stack_len_aligned]
-            core_elf.add_program_segment(stack_base, data, ESPCoreDumpElfFile.PT_LOAD, ESPCoreDumpSegment.PF_R | ESPCoreDumpSegment.PF_W)
+            try:
+                core_elf.add_program_segment(stack_base, data, ESPCoreDumpElfFile.PT_LOAD, ESPCoreDumpSegment.PF_R | ESPCoreDumpSegment.PF_W)
+            except ESPCoreDumpError as e:
+                logging.warning("Skip task's (%x) stack %d bytes @ 0x%x. (Reason: %s)" % (tcb_addr, stack_len_aligned, stack_base, e))
             core_off += stack_len_aligned
             try:
                 task_regs = self._get_registers_from_stack(data, stack_end > stack_top)
@@ -624,12 +638,18 @@ class ESPCoreDumpLoader(object):
             notes += note
 
         # add notes
-        core_elf.add_program_segment(0, notes, ESPCoreDumpElfFile.PT_NOTE, 0)
+        try:
+            core_elf.add_program_segment(0, notes, ESPCoreDumpElfFile.PT_NOTE, 0)
+        except ESPCoreDumpError as e:
+            logging.warning("Skip NOTES segment %d bytes @ 0x%x. (Reason: %s)" % (len(notes), 0, e))
         # add ROM text sections
         if rom_elf:
             for ps in rom_elf.program_segments:
                 if ps.flags & ESPCoreDumpSegment.PF_X:
-                    core_elf.add_program_segment(ps.addr, ps.data, ESPCoreDumpElfFile.PT_LOAD, ps.flags)
+                    try:
+                        core_elf.add_program_segment(ps.addr, ps.data, ESPCoreDumpElfFile.PT_LOAD, ps.flags)
+                    except ESPCoreDumpError as e:
+                        logging.warning("Skip ROM segment %d bytes @ 0x%x. (Reason: %s)" % (len(ps.data), ps.addr, e))
     
         core_elf.e_type = ESPCoreDumpElfFile.ET_CORE
         core_elf.e_machine = ESPCoreDumpElfFile.EM_XTENSA
@@ -690,12 +710,10 @@ class ESPCoreDumpFileLoader(ESPCoreDumpLoader):
 class ESPCoreDumpFlashLoader(ESPCoreDumpLoader):
     """Core dump flash loader class
     """
-    ESP32_COREDUMP_FLASH_MAGIC_START    = 0xE32C04ED
-    ESP32_COREDUMP_FLASH_MAGIC_END      = 0xE32C04ED
-    ESP32_COREDUMP_FLASH_MAGIC_FMT      = '<L'
-    ESP32_COREDUMP_FLASH_MAGIC_SZ       = struct.calcsize(ESP32_COREDUMP_FLASH_MAGIC_FMT)
-    ESP32_COREDUMP_FLASH_HDR_FMT        = '<4L'
-    ESP32_COREDUMP_FLASH_HDR_SZ         = struct.calcsize(ESP32_COREDUMP_FLASH_HDR_FMT)
+    ESP32_COREDUMP_FLASH_CRC_FMT    = '<L'
+    ESP32_COREDUMP_FLASH_CRC_SZ     = struct.calcsize(ESP32_COREDUMP_FLASH_CRC_FMT)
+    ESP32_COREDUMP_FLASH_LEN_FMT    = '<L'
+    ESP32_COREDUMP_FLASH_LEN_SZ     = struct.calcsize(ESP32_COREDUMP_FLASH_LEN_FMT)
 
     def __init__(self, off, tool_path=None, chip='esp32', port=None, baud=None):
         """Constructor for core dump flash loader
@@ -722,7 +740,7 @@ class ESPCoreDumpFlashLoader(ESPCoreDumpLoader):
             tool_args.extend(['-p', self.port])
         if self.baud:
             tool_args.extend(['-b', str(self.baud)])
-        tool_args.extend(['read_flash', str(off), str(self.ESP32_COREDUMP_FLASH_HDR_SZ), ''])
+        tool_args.extend(['read_flash', str(off), str(self.ESP32_COREDUMP_FLASH_LEN_SZ), ''])
 
         self.fcore_name = None
         try:
@@ -737,11 +755,11 @@ class ESPCoreDumpFlashLoader(ESPCoreDumpLoader):
             tool_args[-2] = str(self. dump_sz)
             et_out = subprocess.check_output(tool_args)
             print(et_out.decode('utf-8'))
-        except subprocess.CalledProcessError as e: 
-            print("esptool script execution failed with err %d" % e.returncode)
-            print("Command ran: '%s'" % e.cmd)
-            print("Command out:")
-            print(e.output)
+        except subprocess.CalledProcessError as e:
+            logging.error("esptool script execution failed with err %d" % e.returncode)
+            logging.info("Command ran: '%s'" % e.cmd)
+            logging.info("Command out:")
+            logging.info(e.output)
             if self.fcore_name:
                 self.remove_tmp_file(self.fcore_name)
             raise e
@@ -750,26 +768,20 @@ class ESPCoreDumpFlashLoader(ESPCoreDumpLoader):
     def _read_core_dump_length(self, f):
         """Reads core dump length
         """
-        data = f.read(4*4)
-        mag1,tot_len,task_num,tcbsz = struct.unpack_from(self.ESP32_COREDUMP_FLASH_HDR_FMT, data)
-        if mag1 != self.ESP32_COREDUMP_FLASH_MAGIC_START:
-            raise ESPCoreDumpLoaderError("Invalid start magic number!")
+        data = f.read(self.ESP32_COREDUMP_FLASH_LEN_SZ)
+        tot_len, = struct.unpack_from(self.ESP32_COREDUMP_FLASH_LEN_FMT, data)
         return tot_len
 
     def create_corefile(self, core_fname=None, rom_elf=None):
         """Checks flash coredump data integrity and creates ELF file
         """
-        data = self.read_data(0, self.ESP32_COREDUMP_FLASH_MAGIC_SZ)
-        mag1, = struct.unpack_from(self.ESP32_COREDUMP_FLASH_MAGIC_FMT, data)
-        if mag1 != self.ESP32_COREDUMP_FLASH_MAGIC_START:
-            raise ESPCoreDumpLoaderError("Invalid start marker %x" % mag1)
-
-        data = self.read_data(self.dump_sz-self.ESP32_COREDUMP_FLASH_MAGIC_SZ, self.ESP32_COREDUMP_FLASH_MAGIC_SZ)
-        mag2, = struct.unpack_from(self.ESP32_COREDUMP_FLASH_MAGIC_FMT, data)
-        if mag2 != self.ESP32_COREDUMP_FLASH_MAGIC_END:
-            raise ESPCoreDumpLoaderError("Invalid end marker %x" % mag2)
-        
-        return super(ESPCoreDumpFlashLoader, self).create_corefile(core_fname, off=self.ESP32_COREDUMP_FLASH_MAGIC_SZ, rom_elf=rom_elf)
+        data = self.read_data(self.dump_sz - self.ESP32_COREDUMP_FLASH_CRC_SZ, self.ESP32_COREDUMP_FLASH_CRC_SZ)
+        dump_crc, = struct.unpack_from(self.ESP32_COREDUMP_FLASH_CRC_FMT, data)
+        data = self.read_data(0, self.dump_sz - self.ESP32_COREDUMP_FLASH_CRC_SZ)
+        data_crc = binascii.crc32(data) & 0xffffffff
+        if dump_crc != data_crc:
+            raise ESPCoreDumpLoaderError("Invalid core dump CRC %x, should be %x" % (data_crc, dump_crc))        
+        return super(ESPCoreDumpFlashLoader, self).create_corefile(core_fname)
 
 
 class GDBMIOutRecordHandler(object):
@@ -836,7 +848,7 @@ class GDBMIResultHandler(GDBMIOutRecordHandler):
                 if self.result_str.startswith(','):
                     self.result_str = self.result_str[1:]
                 else:
-                    print("Invalid result format: '%s'" % ln)
+                    logging.error("Invalid result format: '%s'" % ln)
             else:
                 self.result_str = ''
             return True
@@ -856,7 +868,7 @@ class GDBMIResultHandler(GDBMIOutRecordHandler):
             return
         if self._parse_rc(ln, self.RC_EXIT):
             return
-        print("Unknown GDB/MI result: '%s'" % ln)
+        logging.error("Unknown GDB/MI result: '%s'" % ln)
 
 
 class GDBMIStreamConsoleHandler(GDBMIOutStreamHandler):
@@ -886,7 +898,7 @@ def dbg_corefile(args):
         loader = ESPCoreDumpFlashLoader(args.off, port=args.port)
         core_fname = loader.create_corefile(args.save_core, rom_elf=rom_elf)
         if not core_fname:
-            print("Failed to create corefile!")
+            logging.error("Failed to create corefile!")
             loader.cleanup()
             return
     else:
@@ -895,7 +907,7 @@ def dbg_corefile(args):
             loader = ESPCoreDumpFileLoader(core_fname, args.core_format == 'b64')
             core_fname = loader.create_corefile(args.save_core, rom_elf=rom_elf)
             if not core_fname:
-                print("Failed to create corefile!")
+                logging.error("Failed to create corefile!")
                 loader.cleanup()
                 return
 
@@ -964,12 +976,12 @@ def info_corefile(args):
         p.stdin.write(bytearray("-interpreter-exec console \"%s\"\n" % gdb_cmd, encoding='utf-8'))
         gdbmi_read2prompt(p.stdout, handlers)
         if not handlers[GDBMIResultHandler.TAG].result_class or handlers[GDBMIResultHandler.TAG].result_class == GDBMIResultHandler.RC_EXIT:
-            print("GDB exited (%s / %s)!" % (handlers[GDBMIResultHandler.TAG].result_class, handlers[GDBMIResultHandler.TAG].result_str))
+            logging.error("GDB exited (%s / %s)!" % (handlers[GDBMIResultHandler.TAG].result_class, handlers[GDBMIResultHandler.TAG].result_str))
             p.wait()
-            print("Problem occured! GDB exited, restart it.")
+            logging.error("Problem occured! GDB exited, restart it.")
             p = gdbmi_start(handlers, [])
         elif handlers[GDBMIResultHandler.TAG].result_class != GDBMIResultHandler.RC_DONE:
-            print("GDB/MI command failed (%s / %s)!" % (handlers[GDBMIResultHandler.TAG].result_class, handlers[GDBMIResultHandler.TAG].result_str))
+            logging.error("GDB/MI command failed (%s / %s)!" % (handlers[GDBMIResultHandler.TAG].result_class, handlers[GDBMIResultHandler.TAG].result_str))
         return p
 
     loader = None
@@ -978,7 +990,7 @@ def info_corefile(args):
         loader = ESPCoreDumpFlashLoader(args.off, port=args.port)
         core_fname = loader.create_corefile(args.save_core, rom_elf=rom_elf)
         if not core_fname:
-            print("Failed to create corefile!")
+            logging.error("Failed to create corefile!")
             loader.cleanup()
             return
     else:
@@ -987,7 +999,7 @@ def info_corefile(args):
             loader = ESPCoreDumpFileLoader(core_fname, args.core_format == 'b64')
             core_fname = loader.create_corefile(args.save_core, rom_elf=rom_elf)
             if not core_fname:
-                print("Failed to create corefile!")
+                logging.error("Failed to create corefile!")
                 loader.cleanup()
                 return
 
@@ -1115,6 +1127,7 @@ def main():
     parser_debug_coredump = subparsers.add_parser(
         'dbg_corefile',
         help='Starts GDB debugging session with specified corefile')
+    parser_debug_coredump.add_argument('--debug', '-d', help='Log level (0..3)', type=int, default=2)
     parser_debug_coredump.add_argument('--gdb', '-g', help='Path to gdb', default='xtensa-esp32-elf-gdb')
     parser_debug_coredump.add_argument('--core', '-c', help='Path to core dump file (if skipped core dump will be read from flash)', type=str)
     parser_debug_coredump.add_argument('--core-format', '-t', help='(elf, raw or b64). File specified with "-c" is an ELF ("elf"), raw (raw) or base64-encoded (b64) binary', type=str, default='elf')
@@ -1126,6 +1139,7 @@ def main():
     parser_info_coredump = subparsers.add_parser(
         'info_corefile',
         help='Print core dump info from file')
+    parser_info_coredump.add_argument('--debug', '-d', help='Log level (0..3)', type=int, default=0)
     parser_info_coredump.add_argument('--gdb', '-g', help='Path to gdb', default='xtensa-esp32-elf-gdb')
     parser_info_coredump.add_argument('--core', '-c', help='Path to core dump file (if skipped core dump will be read from flash)', type=str)
     parser_info_coredump.add_argument('--core-format', '-t', help='(elf, raw or b64). File specified with "-c" is an ELF ("elf"), raw (raw) or base64-encoded (b64) binary', type=str, default='elf')
@@ -1141,6 +1155,21 @@ def main():
 
     args = parser.parse_args()
 
+    log_level = logging.CRITICAL
+    if args.debug == 0:
+        log_level = logging.CRITICAL
+    elif args.debug == 1:
+        log_level = logging.ERROR
+    elif args.debug == 2:
+        log_level = logging.WARNING
+    elif args.debug == 3:
+        log_level = logging.INFO
+    else:
+        log_level = logging.DEBUG
+    # logging.warning('Watch out!')  # will print a message to the console
+    # logging.info('I told you so')  # will not print anything
+    logging.basicConfig(format='%(levelname)s:%(message)s', level=log_level)
+
     print('espcoredump.py v%s' % __version__)
 
     operation_func = globals()[args.operation]

+ 119 - 111
components/espcoredump/test/coredump.b64

@@ -1,158 +1,166 @@
-lBoAAAkAAABkAQAA
-BD77PwB7+z/QfPs/
-cHv7P3B8+z9tAAAAPC37Pzwt+z8EPvs/NC37PxIAAAClpaWlpaWlpQQ++z8AAAAA
-BwAAANR0+z91bmFsaWduZWRfcHRyX3QAAQAAANB8+z8AAAAAIAgGAAcAAAAAAAAA
-AAAAAAAAAAAAAAAAjOj6P/To+j9c6fo/AAAAAAAAAAABAAAAAAAAAHg8QD8AAAAA
+HBwAAAEAAAAJAAAAZAEAAA==
+9ID7P/B++z/sgPs/
+QH/7P4CA+z9rAAAATC37P0wt+z/0gPs/RC37PxIAAACjT4txhJQrK/SA+z8AAAAA
+BwAAAPB4+z91bmFsaWduZWRfcHRyX3QAAQAAAOyA+z8AAAAAIAgGAAcAAAAAAAAA
+AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAAFgvQD8AAAAA
 SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAA=
-aDtAP20hDUAwBAYASCENgMB7+z8CAAAANjxAPwB8+z/06Po/AAAAAAAAAAAFAAAA
-rf///yAAAABsPvs/AQAAAIAAAAABAAAAAAAAAAAAAAAdAAAABQAAAP0UAEANFQBA
-/////wEAAACAAAAAfCEIQIwP+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAEAAACAAAAAAQAAAAAAAABIIQ2A8Hv7PwEAAAD06Po/
-pycNgPB7+z8KAAAA9Oj6PwB8+z/06Po/AAAAAAAAAACQIQ2AIHz7PwoAAAABAAAA
-kztAPx4AAAA1PEA/AQAAACMABgABAAAAIQAGAKA6+z8AAAAAUHz7PwAAAAAAAAAA
-AwAAAFB8+z8AAAAAAAAAAGwQ+z8EPvs/AAAAAAAAAAAAAAAAcHz7PwAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHx8+z8AAAAA
+AAAAAAAAAAAAAAAAAAAAAADTDKk=
+HwAAAKkiDUAwBAYAhCINgLB/+z8CAAAAVi9AP/B/+z8U6fo/AAAAAAAAAAAFAAAA
+rf///yAAAABcgfs/AQAAAIAAAAABAAAAAQAAAB8AAAAdAAAABQAAAP0UAEANFQBA
++P///wEAAACAAAAAoCEIQLAB+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAEAAACAAAAAAQAAAAEAAACEIg2A4H/7PwEAAAAU6fo/
+HygNgOB/+z8KAAAAFOn6P/B/+z8U6fo/AAAAAAAAAADMIg2AEID7PwoAAAABAAAA
+sy5APx4AAABVL0A/AQAAAAAAAAAAd/s/QCINQAAAAABgTQiAQID7PwAAAAAAAAAA
+Y00IgECA+z8AAAAAAAAAAGgQ+z8BAAAAIQAGAPB2+z8AAAAAYID7P7QiDUAAAAAA
+IwAGAPSA+z8AAAAAAAAAAAAAAACAgPs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjID7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
-/Fb7P5BV+z/0Vvs/
-kFX7P5BW+z/ZclwZcFz7P7As+z/8Vvs/qCz7PxkAAADVIwJJEo189/xW+z8AAAAA
-AAAAAPhS+z9JRExFMAAweiWIEpHwtvYAAAAAAPRW+z8AAAAAIAIGAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAjOj6P/To+j9c6fo/AAAAAAAAAAABAAAAAAAAAHg8QD8AAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+0Ff7PyBW+z/IV/s/
+IFb7P2BX+z9IbutSRF/7P8As+z/QV/s/uCz7PxkAAACbAEY/rLGittBX+z8AAAAA
+AAAAAMxR+z9JRExFMADlCigSQ5E2PU0AAAAAAMhX+z8AAAAAIAAGAAAAAAAAAAAA
+AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAAFgvQD8AAAAA
 SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAA8448=
-2CEIQIZKDkAwAgYAuFcIgFBW+z8IAAAAAAAAAAEAAABoXPs/AAAAAAEAAACsK/s/
-kCv7PwAAAAABAAAAAAAAAAEAAAAhAAYAIwgGAAAAAADcSwiAEFb7PwAAAAAAAAAA
-AAAAANEjCEABAAAA6GQIQAHp+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAIQAGACMIBgAAAAAAcFb7PwAAAAAAAAAA
-AQAAAGhc+z8AAAAAAQAAAAAAAACQVvs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnFb7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAADCNHc=
+/CEIQKa/DUAwAgYAVhYNgOBW+z8AAAAAAQAAAAAAAAABAAAA4ADwPwEAAAA+Ew2A
+sFb7PwAAAAABAAAAX08IgGCI+z8DAAAAIwAGAAAAAABgK/s/OBMNQAAAAAAAAAAA
+AAAAAPUjCEBgiPs/5GkIQJDY+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
+AQAAAAAAAAAAAAAAAAAAAP//P7MAAAAAAAAAAAAAAADdXAiAAFf7PwgAAAAAAAAA
+AAAAAAEAAADgAPA/AQAAAGBNCIAgV/s/AAAAAAAAAAABAAAAAQAAACEABgAjBAYA
+AAAAAEBX+z/UXAhAAAAAACMABgA8X/s/AAAAAAEAAAAAAAAAYFf7PwAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGxX+z8AAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAA=
-aFz7PwBb+z9gXPs/
-AFv7PwBc+z9TsePnsCz7PwRX+z9oXPs/qCz7PxkAAACoWji9Rc4eO2hc+z8AAAAA
-AAAAAGRY+z9JRExFMQBwjmCRXQvnOuwAAQAAAGBc+z8AAAAAIA4GAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAjOj6P/To+j9c6fo/AAAAAAAAAAABAAAAAAAAAHg8QD8AAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+PF/7P5Bd+z80X/s/
+kF37P9Be+z/fg6T1wCz7P9hX+z88X/s/uCz7PxkAAAC+waeWpT7XiDxf+z8AAAAA
+AAAAADhZ+z9JRExFMQDubL2eTufksFwAAQAAADRf+z8AAAAAIA4GAAAAAAAAAAAA
+AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAAFgvQD8AAAAA
 SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAACbsV8=
-2CEIQIZKDkAwDgYAuFcIgMBb+z8IAAAAAQAAAAAAAAD8Vvs/AAAAAAEAAADMK/s/
-kCv7PwAAAAABAACAAAAAAAEAAAAhAAYAAAAAAAAAAAAgAAYAAQAAAAAAAAAAAAAA
-AAAAANEjCEABAAAA6GQIQBzv+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAIQAGAAAAAAAAAAAA4Fv7PwAAAAAAAAAA
-AAAAAPxW+z8AAAAAAQAAAAAAAAAAXPs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFz7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAACMeJk=
+/CEIQKa/DUAwDgYAVhYNgFBe+z8AAAAAAQAAgAAAAAABAAAAAwAAACMABgA+Ew2A
+IF77PwAAAAAjCAYAIAgGAAEAAAAgCAYAIwAGAAAAAAAzEw2AAF77PwAAAAAAAAAA
+AAAAAPUjCEABAAAA5GkIQADg+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAF9PCICQNvs/AwAAACMABgDdXAiAcF77PwgAAAABAAAA
+AAAAAAEAAAADAAAAIwAGAGBNCICQXvs/AAAAAAAAAAABAAAAAQAAACEABgAAAAAA
+AAAAALBe+z/UXAhAAAAAACMABgDQV/s/AAAAAAEAAAAAAAAA0F77PwAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANxe+z8AAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAA==
-nDz7P2Bz+z/MdPs/
-YHP7P2B0+z/RAAAAnCz7P3Q/+z+cPPs/lCz7PxQAAAAkbPs/JGz7P5w8+z8AAAAA
-BQAAANBs+z9iYWRfcHRyX3Rhc2sApaUA////f8x0+z8AAAAAIQAGAAUAAAAAAAAA
-AAAAAAAAAAAAAAAAjOj6P/To+j9c6fo/AAAAAAAAAAABAAAAAAAAAHg8QD8AAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+iHf7PwB2+z+Ad/s/
+AHb7PyB3+z/PAAAArCz7P2iK+z+Id/s/pCz7PxQAAAB0bvs/dG77P4h3+z8AAAAA
+BQAAAIRv+z9iYWRfcHRyX3Rhc2sAciwA////f4B3+z8AAAAAIQAGAAUAAAAAAAAA
+AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAAFgvQD8AAAAA
 SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAClpaU=
-2CEIQJ5VCEAwAgYAEyENgCB0+z/RAAAAAAAAAGwQ+z+cPPs/AAAAAAAAAACeVQiA
-AHT7PwAAAADRAAAAIwAGAAEAAAAhAAYAcFv7PwAAAACkJw2A4HP7P/0UAEANFQBA
-+f///9EjCEABAAAA6GQIQHwH+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAACMABgABAAAAIQAGAHBb+z8AAAAAQHT7PwAAAAAAAAAA
-bBD7P5w8+z8AAAAAAAAAAAAAAABgdPs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbHT7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAC6vHI=
+/CEIQMZaCEAwAgYATyINgMB2+z/PAAAAAAAAAGgQ+z8BAAAAIQAGACMIBgDGWgiA
+oHb7PwAAAADPAAAAIwAGAKg4+z8AAAAAAAAAAAAAAAAcKA2AgHb7P/0UAEANFQBA
++f////UjCECoOPs/5GkIQFD4+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAACMABgCoOPs/AAAAAAAAAABgTQiA4Hb7PwAAAAAAAAAA
+aBD7PwEAAAAhAAYAIwgGAAAAAAAAd/s/QCINQAAAAAAjAAYAiHf7PwAAAAAAAAAA
+AAAAACB3+z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAsd/s/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
-bD/7P3CD+z/UhPs/
-cIP7P3CE+z/RAAAApDz7P5ws+z9sP/s/lCz7Pw8AAAC4PPs/JGz7P2w/+z8AAAAA
-CgAAANh8+z9mYWlsZWRfYXNzZXJ0X3QAAAAAANSE+z8AAAAAIQAGAAoAAAAAAAAA
-AAAAAAAAAAAAAAAAjOj6P/To+j9c6fo/AAAAAAAAAAABAAAAAAAAAHg8QD8AAAAA
+YIr7P9CI+z9Yivs/
+0Ij7P/CJ+z/PAAAAkHf7P6ws+z9givs/pCz7Pw8AAACkd/s/dG77P2CK+z8AAAAA
+CgAAAFyC+z9mYWlsZWRfYXNzZXJ0X3QAAAAAAFiK+z8AAAAAIQAGAAoAAAAAAAAA
+AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAAFgvQD8AAAAA
 SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAA=
-2CEIQJ5VCEAwAgYAoyANgDCE+z/RAAAAAAAAAGwQ+z9sP/s/AAAAAAAAAACeVQiA
-EIT7PwAAAADRAAAAIwAGAAEAAAAhAAYAAAAAAAAAAACkJw2A8IP7P/0UAEANFQBA
-+P///9EjCEABAAAA6GQIQIwX+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAACMABgABAAAAIQAGAAAAAAAAAAAAUIT7PwAAAAAAAAAA
-bBD7P2w/+z8AAAAAAAAAAAAAAABwhPs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfIT7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAACApb8=
+/CEIQMZaCEAwAgYA1yENgJCJ+z/PAAAAAAAAAGgQ+z8BAAAAIQAGAAAAAADGWgiA
+cIn7PwAAAADPAAAA9QoNgIBP+z8ACAAAAQAAAAAAAAAcKA2AUIn7P/0UAEANFQBA
++P////UjCECAT/s/5GkIQCAL+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAPUKDYCAT/s/AAgAAAEAAABgTQiAsIn7PwAAAAAAAAAA
+aBD7PwEAAAAhAAYAAAAAAAAAAADQifs/yCENQAAAAAAjAAYAYIr7PwAAAAAAAAAA
+AAAAAPCJ+z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAD8ifs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAA=
-yGb7P0Bl+z/AZvs/
-QGX7P2Bm+z8AAAAAiCz7P4gs+z/IZvs/gCz7PxgAAAD8Xfs//F37P8hm+z/0Xfs/
-AQAAAMRe+z9UbXIgU3ZjAFUPn9OBr6IAAAAAAMBm+z8AAAAAIQAGAAEAAAAAAAAA
-AAAAAAAAAAAAAAAAjOj6P/To+j9c6fo/AAAAAAAAAAABAAAAAAAAAHg8QD8AAAAA
+AAAAAAAAAAA=
+nGn7P9Bn+z+Uafs/
+0Gf7PzBp+z8AAAAAmCz7P5gs+z+cafs/kCz7PxgAAADQYPs/0GD7P5xp+z/IYPs/
+AQAAAJhh+z9UbXIgU3ZjAO3yYwslr9QAAAAAAJRp+z8AAAAAIQAGAAEAAAAAAAAA
+AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAAFgvQD8AAAAA
 SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAADm+Zc=
-2CEIQJxiCEAwCAYAj2MIgABm+z+oLvs/AAAAAAEAAAAMUfs/AAAAAAEAAACcYgiA
-4GX7PwAAAAAALPs/GF77PwAAAAAAAAAAAAAAAAAAAAClpaWlpaWlpQAAAAAAAAAA
-AAAAANEjCEAAAAAA6GQIQHz5+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMGb7PwAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAHz5+j8AAAAAAAAAAAAAAAAAAAAAYGb7PwAAAAAAAAAA
-AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAABsZvs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAD/LIY=
+/CEIQOobCEAwAgYAmGcIgJBo+z8AAAAAECz7P+xg+z8AAAAAAAAAACMABgDqGwiA
+cGj7P9wA8D8BAAAAWBD7P6wu+z8DAAAAIwAGAAAAAACQaPs/AAAAAAAAAAAAAAAA
+AAAAAPUjCECsLvs/5GkIQGDq+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLaAiAsGj7P7gu+z8AAAAA
+AAAAAHxoCEAAAAAAAAAAAGBNCIDgaPs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AQAAAAEAAAAhAAYAAAAAAAAAAAAQafs/fGgIQAAAAAABAAAAAAAAAAAAAAAAAAAA
+IwAGAGRQ+z8AAAAAAQAAAAAAAAAwafs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPGn7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-iPr6PwD5+j+A+vo/
-APn6PyD6+j/akPlfPDv7P6D9+j+I+vo/JCz7PwMAAABc6vo/XOr6P4j6+j9U6vo/
-FgAAAITq+j9lc3BfdGltZXIAH+HpXvQAAAAAAID6+j8AAAAAIQAGABYAAAAAAAAA
-AAAAAAAAAAAAAAAAjOj6P/To+j9c6fo/AAAAAAAAAAABAAAAAAAAAHg8QD8AAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAA=
+qPj6PwD3+j+g+Po/
+APf6P0D4+j/Ae/kysDj7P0Qz+z+o+Po/NCz7PwMAAAB86vo/fOr6P6j4+j906vo/
+FgAAAKTq+j9lc3BfdGltZXIACf0y2LkAAAAAAKD4+j8AAAAAIQAGABYAAAAAAAAA
+AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAAFgvQD8AAAAA
 SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAACISzU=
-2CEIQK1GCEAwAAYA+xQNgMD5+j8w6vo/AAAAAHjq+j8AAAAAAQAAAAEAAACtRgiA
-oPn6PwAAAACcLvs/nC77PwEAAAAhAAYAAAAAAAAAAAClpaWlpaWlpQAAAAAAAAAA
-AAAAANEjCEABAAAA6GQIQDyN+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6PwAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAACndYo=
+/CEIQO1LCEAwAAYAVw0NgMD3+j9Q6vo/AAAAAJjq+j8AAAAAAQAAAAAAAADtSwiA
+oPf6PwAAAACsLvs/rC77P0D++j8DAAAAIw4GAAAAAAClpaWlpaWlpQAAAAAAAAAA
+AAAAAPUjCEBA/vo/5GkIQHB5+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAABEDQ1AAAAAAAAAAABgTQiAAPj6PwAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAACD6+j8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAs+vo/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAACD4+j9EDQ1AAAAAACMABgCo+Po/AAAAAAEAAAAAAAAAQPj6PwAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEz4+j8AAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-NDv7P4A5+z8sO/s/
-gDn7P8A6+z/APAiILCz7P5D6+j80O/s/JCz7PwEAAAAs//o/LP/6PzQ7+z8k//o/
-GAAAADA3+z9pcGMxAMP571b2wMSsI4QAAQAAACw7+z8AAAAAIQAGABgAAAAAAAAA
-AAAAAAAAAAAAAAAAjOj6P/To+j9c6fo/AAAAAAAAAAABAAAAAAAAAHg8QD8AAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
+qDj7P+A2+z+gOPs/
+4Db7P0A4+z91SCX+PCz7P7D4+j+oOPs/NCz7PwEAAADM//o/zP/6P6g4+z/E//o/
+GAAAAKQ0+z9pcGMxALIBlPDJy90p94EAAQAAAKA4+z8AAAAAIQAGABgAAAAAAAAA
+AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAAFgvQD8AAAAA
 SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAADZjgQ=
-2CEIQEoRCEAwAAYArUYIgEA6+z8BAAAAnC77P6Au+z+QfP4/AAAAACMHBgBKEQiA
-IDr7P+AA8D8BAAAALBD7PwEAAAAgAAYAIwAGAAAAAABAOvs/AQAAAAAAAAAAAAAA
-AAAAANEjCEABAAAA6GQIQNzN+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAP//P7MAAAAAAAAAAAAAAACzEQiAYDr7PwD/+j8AAAAA
-AQAAAAEAAAAgAAYAIwAGAAAAAACgOvs/AQAAAPgvCEAAAAAACQAAAAAAAAAjBwYA
-/////6A6+z8BAAAA+C8IQEj/+j8AAAAAAQAAAAAAAAAAAAAAwDr7PwAAAAAAAAAA
-AQAAAAAAAAAAAAAAAAAAACwPCICAff4/KAAAACgAAAAAAAAAAAAAAMw6+z8AAAAA
+AAAAAAAAAAAAAAAAAAAAAACbtaM=
+/CEIQOobCEAwCAYA7UsIgKA3+z8BAAAArC77P7Au+z8KAAAAAACAABwA9D/qGwiA
+gDf7P+AA8D8BAAAAWBD7PwEAAAAgCAYAIwAGAAAAAACgN/s/AQAAAAAAAAAAAAAA
+AAAAAPUjCEABAAAA5GkIQHC5+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAP//P7MAAAAAAAAAAAAAAAB3IAiAwDf7P6D/+j8AAAAA
+AQAAAAEAAAAgCAYAIwAGAGBNCIAAOPs/AQAAAJQ2CEAAAAAABwAAAAAAgAAcAPQ/
+/////wA4+z8BAAAAlDYIQOj/+j8AAAAAAQAAAAAAAAAAAAAAIDj7P0ggCEABAAAA
+AQAAAKg4+z8AAAAAAAAAAAAAAABAOPs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+oA8IgIB9/j8oAAAAKAAAAAAAAAAAAAAATDj7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
-mP36P6A1+z8oN/s/
-oDX7P8A2+z9UgfpzkPr6Pyws+z+Y/fo/JCz7PwEAAABw/fo/cP36P5j9+j9o/fo/
-GAAAACwz+z9pcGMwAIY9HgrUf/61qBQAAAAAACg3+z8AAAAAIQAGABgAAAAAAAAA
-AAAAAAAAAAAAAAAAjOj6P/To+j9c6fo/AAAAAAAAAAABAAAAAAAAAHg8QD8AAAAA
+AAAAAAAAAAAAAAAAAAAAAA==
+PDP7P/D9+j+Y//o/
+8P36PzD/+j/93uTnsPj6Pzws+z88M/s/NCz7PwEAAAB0+/o/dPv6Pzwz+z9s+/o/
+GAAAAJz7+j9pcGMwAAEM7FM1T1a8hf4AAAAAAJj/+j8AAAAAIQAGABgAAAAAAAAA
+AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAAFgvQD8AAAAA
 SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAADEsn4=
-2CEIQK1GCEAwAAYAsxEIgGA2+z9E/fo/AAAAAIz9+j8AAAAAAQAAAAEAAACtRgiA
-QDb7PwAAAACcLvs/nC77P/A6/j8AAAAAAgAAAAAAAAClpaWlpaWlpQAAAAAAAAAA
-AAAAANEjCEDwOv4/6GQIQNzJ+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoDb7PwAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAACwrJk=
+/CEIQO1LCEAwDgYAdyAIgLD++j9I+/o/AAAAAJD7+j8AAAAAAQAAAAIAAADtSwiA
+kP76PwAAAACsLvs/rC77P83NAAABAAAAAAAAAAAAAAClpaWlpaWlpQAAAAAAAAAA
+AAAAAPUjCEDNzQAA5GkIQGCA+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAABIIAhAAAAAAAAAAABgTQiA8P76PwAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAMA2+z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACqDgiAoDv+Pwws+z/kLvs/
-AAAAAAAAAADMNvs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAABD/+j9IIAhAAAAAACMDBgA8M/s/AQAAAAEAAAAAAAAAMP/6PwAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAB4PCICQO/4/HCz7P/Au+z8AAAAAAAAAADz/+j8AAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAA=
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==

+ 521 - 492
components/espcoredump/test/expected_output

@@ -1,13 +1,13 @@
-espcoredump.py v0.2-dev
+espcoredump.py v0.3-dev
 ===============================================================
 ==================== ESP32 CORE DUMP START ====================
 
 ================== CURRENT THREAD REGISTERS ===================
-pc             0x400d216d	0x400d216d <recur_func+77>
+pc             0x400d22a9	0x400d22a9 <recur_func+77>
 lbeg           0x400014fd	1073747197
 lend           0x4000150d	1073747213
-lcount         0xffffffff	4294967295
-sar            0x0	0
+lcount         0xfffffff8	4294967288
+sar            0x1f	31
 ps             0x60420	394272
 threadptr      <unavailable>
 br             <unavailable>
@@ -24,516 +24,545 @@ f64r_hi        <unavailable>
 f64s           <unavailable>
 fcr            <unavailable>
 fsr            <unavailable>
-a0             0x400d2148	1074602312
-a1             0x3ffb7bc0	1073445824
+a0             0x400d2284	1074602628
+a1             0x3ffb7fb0	1073446832
 a2             0x2	2
-a3             0x3f403c36	1061174326
-a4             0x3ffb7c00	1073445888
-a5             0x3ffae8f4	1073408244
+a3             0x3f402f56	1061171030
+a4             0x3ffb7ff0	1073446896
+a5             0x3ffae914	1073408276
 a6             0x0	0
 a7             0x0	0
 a8             0x5	5
 a9             0xffffffad	-83
 a10            0x20	32
-a11            0x3ffb3e6c	1073430124
+a11            0x3ffb815c	1073447260
 a12            0x1	1
 a13            0x80	128
 a14            0x1	1
-a15            0x0	0
+a15            0x1	1
 
 ==================== CURRENT THREAD STACK =====================
-#0  0x400d216d in recur_func () at /home/dragon/esp/esp-idf/examples/get-started/hello_world/main/hello_world_main.c:70
-#1  0x400d2148 in recur_func () at /home/dragon/esp/esp-idf/examples/get-started/hello_world/main/hello_world_main.c:63
-#2  0x400d2148 in recur_func () at /home/dragon/esp/esp-idf/examples/get-started/hello_world/main/hello_world_main.c:63
-#3  0x400d2190 in unaligned_ptr_task (pvParameter=0x0) at /home/dragon/esp/esp-idf/examples/get-started/hello_world/main/hello_world_main.c:80
+#0  0x400d22a9 in recur_func () at /home/alexey/projects/esp/core_dump_test/main/core_dump_test_main.c:78
+#1  0x400d2284 in recur_func () at /home/alexey/projects/esp/core_dump_test/main/core_dump_test_main.c:71
+#2  0x400d2284 in recur_func () at /home/alexey/projects/esp/core_dump_test/main/core_dump_test_main.c:71
+#3  0x400d22cc in unaligned_ptr_task (pvParameter=0x0) at /home/alexey/projects/esp/core_dump_test/main/core_dump_test_main.c:88
+#4  0x40084d60 in vPortTaskWrapper (pxCode=0x400d22b4 <unaligned_ptr_task>, pvParameters=0x0) at /home/alexey/projects/esp/esp-idf/components/freertos/port.c:143
 
 ======================== THREADS INFO =========================
   Id   Target Id         Frame 
-  9    process 8         0x400846ad in xQueueGenericReceive (xQueue=0x3ffafd44, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at /home/dragon/esp/esp-idf/components/freertos/queue.c:1591
-  8    process 7         0x4008114a in esp_crosscore_int_send_yield (core_id=1) at /home/dragon/esp/esp-idf/components/esp32/crosscore_int.c:112
-  7    process 6         0x400846ad in xQueueGenericReceive (xQueue=0x3ffaea30, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at /home/dragon/esp/esp-idf/components/freertos/queue.c:1591
-  6    process 5         0x4008629c in prvProcessTimerOrBlockTask (xNextExpireTime=<optimized out>, xListWasEmpty=<optimized out>) at /home/dragon/esp/esp-idf/components/freertos/timers.c:588
-  5    process 4         0x4008559e in vTaskDelay (xTicksToDelay=<optimized out>) at /home/dragon/esp/esp-idf/components/freertos/tasks.c:1491
-  4    process 3         0x4008559e in vTaskDelay (xTicksToDelay=<optimized out>) at /home/dragon/esp/esp-idf/components/freertos/tasks.c:1491
-  3    process 2         0x400e4a86 in esp_vApplicationWaitiHook () at /home/dragon/esp/esp-idf/components/esp32/freertos_hooks.c:66
-  2    process 1         0x400e4a86 in esp_vApplicationWaitiHook () at /home/dragon/esp/esp-idf/components/esp32/freertos_hooks.c:66
-* 1    <main task>       0x400d216d in recur_func () at /home/dragon/esp/esp-idf/examples/get-started/hello_world/main/hello_world_main.c:70
+  9    process 8         0x40084bed in xQueueGenericReceive (xQueue=0x3ffafb48, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at /home/alexey/projects/esp/esp-idf/components/freertos/queue.c:1591
+  8    process 7         0x40081bea in esp_crosscore_int_send_yield (core_id=1) at /home/alexey/projects/esp/esp-idf/components/esp32/crosscore_int.c:112
+  7    process 6         0x40084bed in xQueueGenericReceive (xQueue=0x3ffaea50, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at /home/alexey/projects/esp/esp-idf/components/freertos/queue.c:1591
+  6    process 5         0x40081bea in esp_crosscore_int_send_yield (core_id=0) at /home/alexey/projects/esp/esp-idf/components/esp32/crosscore_int.c:112
+  5    process 4         0x40085ac6 in vTaskDelay (xTicksToDelay=<optimized out>) at /home/alexey/projects/esp/esp-idf/components/freertos/tasks.c:1484
+  4    process 3         0x40085ac6 in vTaskDelay (xTicksToDelay=<optimized out>) at /home/alexey/projects/esp/esp-idf/components/freertos/tasks.c:1484
+  3    process 2         0x400dbfa6 in esp_pm_impl_waiti () at /home/alexey/projects/esp/esp-idf/components/esp32/pm_esp32.c:487
+  2    process 1         0x400dbfa6 in esp_pm_impl_waiti () at /home/alexey/projects/esp/esp-idf/components/esp32/pm_esp32.c:487
+* 1    <main task>       0x400d22a9 in recur_func () at /home/alexey/projects/esp/core_dump_test/main/core_dump_test_main.c:78
 
 ======================= 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 0x93f8 RWXA
-.dram0.data 0x3ffb0000 0x2288 RW A
-.noinit 0x3ffb2288 0x0 RW  
-.flash.rodata 0x3f400020 0x6cd4 RW A
-.flash.text 0x400d0018 0x14cb4 R XA
-.coredump.tasks.data 0x3ffb3e04 0x164 RW 
-.coredump.tasks.data 0x3ffb7b00 0x1d0 RW 
-.coredump.tasks.data 0x3ffb56fc 0x164 RW 
-.coredump.tasks.data 0x3ffb5590 0x164 RW 
-.coredump.tasks.data 0x3ffb5c68 0x164 RW 
-.coredump.tasks.data 0x3ffb5b00 0x160 RW 
-.coredump.tasks.data 0x3ffb3c9c 0x164 RW 
-.coredump.tasks.data 0x3ffb7360 0x16c RW 
-.coredump.tasks.data 0x3ffb3f6c 0x164 RW 
-.coredump.tasks.data 0x3ffb8370 0x164 RW 
-.coredump.tasks.data 0x3ffb66c8 0x164 RW 
-.coredump.tasks.data 0x3ffb6540 0x180 RW 
-.coredump.tasks.data 0x3ffafa88 0x164 RW 
-.coredump.tasks.data 0x3ffaf900 0x180 RW 
-.coredump.tasks.data 0x3ffb3b34 0x164 RW 
-.coredump.tasks.data 0x3ffb3980 0x1ac RW 
-.coredump.tasks.data 0x3ffafd98 0x164 RW 
-.coredump.tasks.data 0x3ffb35a0 0x188 RW 
+.iram0.text 0x40080400 0x9a50 RWXA
+.dram0.data 0x3ffb0000 0x229c RW A
+.noinit 0x3ffb229c 0x0 RW  
+.flash.rodata 0x3f400020 0x7ec0 RW A
+.flash.text 0x400d0018 0xc1d4 R XA
+.coredump.tasks.data 0x3ffb80f4 0x164 RW 
+.coredump.tasks.data 0x3ffb7ef0 0x1fc RW 
+.coredump.tasks.data 0x3ffb57d0 0x164 RW 
+.coredump.tasks.data 0x3ffb5620 0x1a8 RW 
+.coredump.tasks.data 0x3ffb5f3c 0x164 RW 
+.coredump.tasks.data 0x3ffb5d90 0x1a4 RW 
+.coredump.tasks.data 0x3ffb7788 0x164 RW 
+.coredump.tasks.data 0x3ffb7600 0x180 RW 
+.coredump.tasks.data 0x3ffb8a60 0x164 RW 
+.coredump.tasks.data 0x3ffb88d0 0x188 RW 
+.coredump.tasks.data 0x3ffb699c 0x164 RW 
+.coredump.tasks.data 0x3ffb67d0 0x1c4 RW 
+.coredump.tasks.data 0x3ffaf8a8 0x164 RW 
+.coredump.tasks.data 0x3ffaf700 0x1a0 RW 
+.coredump.tasks.data 0x3ffb38a8 0x164 RW 
+.coredump.tasks.data 0x3ffb36e0 0x1c0 RW 
+.coredump.tasks.data 0x3ffb333c 0x164 RW 
+.coredump.tasks.data 0x3ffafdf0 0x1a8 RW 
 
 ====================== CORE DUMP MEMORY CONTENTS ========================
-.coredump.tasks.data 0x3ffb3e04 0x164 RW 
-0x3ffb3e04:	0x3ffb7b70	0x3ffb7c70	0x0000006d	0x3ffb2d3c
-0x3ffb3e14:	0x3ffb2d3c	0x3ffb3e04	0x3ffb2d34	0x00000012
-0x3ffb3e24:	0xa5a5a5a5	0xa5a5a5a5	0x3ffb3e04	0x00000000
-0x3ffb3e34:	0x00000007	0x3ffb74d4	0x6c616e75	0x656e6769
-0x3ffb3e44:	0x74705f64	0x00745f72	0x00000001	0x3ffb7cd0
-0x3ffb3e54:	0x00000000	0x00060820	0x00000007	0x00000000
-0x3ffb3e64:	0x00000000	0x00000000	0x00000000	0x3ffae88c
-0x3ffb3e74:	0x3ffae8f4	0x3ffae95c	0x00000000	0x00000000
-0x3ffb3e84:	0x00000001	0x00000000	0x3f403c78	0x00000000
-0x3ffb3e94:	0x40001d48	0x00000000	0x00000000	0x00000000
-0x3ffb3ea4:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3eb4:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3ec4:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3ed4:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3ee4:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3ef4:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3f04:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3f14:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3f24:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3f34:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3f44:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3f54:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3f64:	0x00000000
-.coredump.tasks.data 0x3ffb7b00 0x1d0 RW 
-0x3ffb7b00:	0x3f403b68	0x400d216d	0x00060430	0x800d2148
-0x3ffb7b10:	0x3ffb7bc0	0x00000002	0x3f403c36	0x3ffb7c00
-0x3ffb7b20:	0x3ffae8f4	0x00000000	0x00000000	0x00000005
-0x3ffb7b30:	0xffffffad	0x00000020	0x3ffb3e6c	0x00000001
-0x3ffb7b40:	0x00000080	0x00000001	0x00000000	0x00000000
-0x3ffb7b50:	0x0000001d	0x00000005	0x400014fd	0x4000150d
-0x3ffb7b60:	0xffffffff	0x00000001	0x00000080	0x4008217c
-0x3ffb7b70:	0x3ffb0f8c	0x00000000	0x00000000	0x00000000
-0x3ffb7b80:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffb7b90:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7ba0:	0x00000001	0x00000080	0x00000001	0x00000000
-0x3ffb7bb0:	0x800d2148	0x3ffb7bf0	0x00000001	0x3ffae8f4
-0x3ffb7bc0:	0x800d27a7	0x3ffb7bf0	0x0000000a	0x3ffae8f4
-0x3ffb7bd0:	0x3ffb7c00	0x3ffae8f4	0x00000000	0x00000000
-0x3ffb7be0:	0x800d2190	0x3ffb7c20	0x0000000a	0x00000001
-0x3ffb7bf0:	0x3f403b93	0x0000001e	0x3f403c35	0x00000001
-0x3ffb7c00:	0x00060023	0x00000001	0x00060021	0x3ffb3aa0
-0x3ffb7c10:	0x00000000	0x3ffb7c50	0x00000000	0x00000000
-0x3ffb7c20:	0x00000003	0x3ffb7c50	0x00000000	0x00000000
-0x3ffb7c30:	0x3ffb106c	0x3ffb3e04	0x00000000	0x00000000
-0x3ffb7c40:	0x00000000	0x3ffb7c70	0x00000000	0x00000000
-0x3ffb7c50:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7c60:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7c70:	0x00000000	0x00000000	0x3ffb7c7c	0x00000000
-0x3ffb7c80:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7c90:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7ca0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7cb0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7cc0:	0x00000000	0x00000000	0x00000000	0x00000000
-.coredump.tasks.data 0x3ffb56fc 0x164 RW 
-0x3ffb56fc:	0x3ffb5590	0x3ffb5690	0x195c72d9	0x3ffb5c70
-0x3ffb570c:	0x3ffb2cb0	0x3ffb56fc	0x3ffb2ca8	0x00000019
-0x3ffb571c:	0x490223d5	0xf77c8d12	0x3ffb56fc	0x00000000
-0x3ffb572c:	0x00000000	0x3ffb52f8	0x454c4449	0x7a300030
-0x3ffb573c:	0x91128825	0x00f6b6f0	0x00000000	0x3ffb56f4
-0x3ffb574c:	0x00000000	0x00060220	0x00000000	0x00000000
-0x3ffb575c:	0x00000000	0x00000000	0x00000000	0x3ffae88c
-0x3ffb576c:	0x3ffae8f4	0x3ffae95c	0x00000000	0x00000000
-0x3ffb577c:	0x00000001	0x00000000	0x3f403c78	0x00000000
-0x3ffb578c:	0x40001d48	0x00000000	0x00000000	0x00000000
-0x3ffb579c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb57ac:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb57bc:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb57cc:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb57dc:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb57ec:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb57fc:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb580c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb581c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb582c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb583c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb584c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb585c:	0x8fe33c00
-.coredump.tasks.data 0x3ffb5590 0x164 RW 
-0x3ffb5590:	0x400821d8	0x400e4a86	0x00060230	0x800857b8
-0x3ffb55a0:	0x3ffb5650	0x00000008	0x00000000	0x00000001
-0x3ffb55b0:	0x3ffb5c68	0x00000000	0x00000001	0x3ffb2bac
-0x3ffb55c0:	0x3ffb2b90	0x00000000	0x00000001	0x00000000
-0x3ffb55d0:	0x00000001	0x00060021	0x00060823	0x00000000
-0x3ffb55e0:	0x80084bdc	0x3ffb5610	0x00000000	0x00000000
-0x3ffb55f0:	0x00000000	0x400823d1	0x00000001	0x400864e8
-0x3ffb5600:	0x3ffae901	0x00000000	0x00000000	0x00000000
-0x3ffb5610:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffb5620:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5630:	0x00000000	0x00000001	0x00060021	0x00060823
-0x3ffb5640:	0x00000000	0x3ffb5670	0x00000000	0x00000000
-0x3ffb5650:	0x00000001	0x3ffb5c68	0x00000000	0x00000001
-0x3ffb5660:	0x00000000	0x3ffb5690	0x00000000	0x00000000
-0x3ffb5670:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5680:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5690:	0x00000000	0x00000000	0x3ffb569c	0x00000000
-0x3ffb56a0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb56b0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb56c0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb56d0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb56e0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb56f0:	0x00000000
-.coredump.tasks.data 0x3ffb5c68 0x164 RW 
-0x3ffb5c68:	0x3ffb5b00	0x3ffb5c00	0xe7e3b153	0x3ffb2cb0
-0x3ffb5c78:	0x3ffb5704	0x3ffb5c68	0x3ffb2ca8	0x00000019
-0x3ffb5c88:	0xbd385aa8	0x3b1ece45	0x3ffb5c68	0x00000000
-0x3ffb5c98:	0x00000000	0x3ffb5864	0x454c4449	0x8e700031
-0x3ffb5ca8:	0x0b5d9160	0x00ec3ae7	0x00000001	0x3ffb5c60
-0x3ffb5cb8:	0x00000000	0x00060e20	0x00000000	0x00000000
-0x3ffb5cc8:	0x00000000	0x00000000	0x00000000	0x3ffae88c
-0x3ffb5cd8:	0x3ffae8f4	0x3ffae95c	0x00000000	0x00000000
-0x3ffb5ce8:	0x00000001	0x00000000	0x3f403c78	0x00000000
-0x3ffb5cf8:	0x40001d48	0x00000000	0x00000000	0x00000000
-0x3ffb5d08:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5d18:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5d28:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5d38:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5d48:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5d58:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5d68:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5d78:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5d88:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5d98:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5da8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5db8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5dc8:	0x5fb19b00
-.coredump.tasks.data 0x3ffb5b00 0x160 RW 
-0x3ffb5b00:	0x400821d8	0x400e4a86	0x00060e30	0x800857b8
-0x3ffb5b10:	0x3ffb5bc0	0x00000008	0x00000001	0x00000000
-0x3ffb5b20:	0x3ffb56fc	0x00000000	0x00000001	0x3ffb2bcc
-0x3ffb5b30:	0x3ffb2b90	0x00000000	0x80000001	0x00000000
-0x3ffb5b40:	0x00000001	0x00060021	0x00000000	0x00000000
-0x3ffb5b50:	0x00060020	0x00000001	0x00000000	0x00000000
-0x3ffb5b60:	0x00000000	0x400823d1	0x00000001	0x400864e8
-0x3ffb5b70:	0x3ffaef1c	0x00000000	0x00000000	0x00000000
-0x3ffb5b80:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffb5b90:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5ba0:	0x00000000	0x00000001	0x00060021	0x00000000
-0x3ffb5bb0:	0x00000000	0x3ffb5be0	0x00000000	0x00000000
-0x3ffb5bc0:	0x00000000	0x3ffb56fc	0x00000000	0x00000001
-0x3ffb5bd0:	0x00000000	0x3ffb5c00	0x00000000	0x00000000
-0x3ffb5be0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5bf0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5c00:	0x00000000	0x00000000	0x3ffb5c0c	0x00000000
-0x3ffb5c10:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5c20:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5c30:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5c40:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5c50:	0x00000000	0x00000000	0x00000000	0x00000000
-.coredump.tasks.data 0x3ffb3c9c 0x164 RW 
-0x3ffb3c9c:	0x3ffb7360	0x3ffb7460	0x000000d1	0x3ffb2c9c
-0x3ffb3cac:	0x3ffb3f74	0x3ffb3c9c	0x3ffb2c94	0x00000014
-0x3ffb3cbc:	0x3ffb6c24	0x3ffb6c24	0x3ffb3c9c	0x00000000
-0x3ffb3ccc:	0x00000005	0x3ffb6cd0	0x5f646162	0x5f727470
-0x3ffb3cdc:	0x6b736174	0x00a5a500	0x7fffffff	0x3ffb74cc
-0x3ffb3cec:	0x00000000	0x00060021	0x00000005	0x00000000
-0x3ffb3cfc:	0x00000000	0x00000000	0x00000000	0x3ffae88c
-0x3ffb3d0c:	0x3ffae8f4	0x3ffae95c	0x00000000	0x00000000
-0x3ffb3d1c:	0x00000001	0x00000000	0x3f403c78	0x00000000
-0x3ffb3d2c:	0x40001d48	0x00000000	0x00000000	0x00000000
-0x3ffb3d3c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3d4c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3d5c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3d6c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3d7c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3d8c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3d9c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3dac:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3dbc:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3dcc:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3ddc:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3dec:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3dfc:	0xa5a5a500
-.coredump.tasks.data 0x3ffb7360 0x16c RW 
-0x3ffb7360:	0x400821d8	0x4008559e	0x00060230	0x800d2113
-0x3ffb7370:	0x3ffb7420	0x000000d1	0x00000000	0x3ffb106c
-0x3ffb7380:	0x3ffb3c9c	0x00000000	0x00000000	0x8008559e
-0x3ffb7390:	0x3ffb7400	0x00000000	0x000000d1	0x00060023
-0x3ffb73a0:	0x00000001	0x00060021	0x3ffb5b70	0x00000000
-0x3ffb73b0:	0x800d27a4	0x3ffb73e0	0x400014fd	0x4000150d
-0x3ffb73c0:	0xfffffff9	0x400823d1	0x00000001	0x400864e8
-0x3ffb73d0:	0x3ffb077c	0x00000000	0x00000000	0x00000000
-0x3ffb73e0:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffb73f0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7400:	0x00060023	0x00000001	0x00060021	0x3ffb5b70
-0x3ffb7410:	0x00000000	0x3ffb7440	0x00000000	0x00000000
-0x3ffb7420:	0x3ffb106c	0x3ffb3c9c	0x00000000	0x00000000
-0x3ffb7430:	0x00000000	0x3ffb7460	0x00000000	0x00000000
-0x3ffb7440:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7450:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7460:	0x00000000	0x00000000	0x3ffb746c	0x00000000
-0x3ffb7470:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7480:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7490:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb74a0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb74b0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb74c0:	0x00000000	0x00000000	0x00000000
-.coredump.tasks.data 0x3ffb3f6c 0x164 RW 
-0x3ffb3f6c:	0x3ffb8370	0x3ffb8470	0x000000d1	0x3ffb3ca4
-0x3ffb3f7c:	0x3ffb2c9c	0x3ffb3f6c	0x3ffb2c94	0x0000000f
-0x3ffb3f8c:	0x3ffb3cb8	0x3ffb6c24	0x3ffb3f6c	0x00000000
-0x3ffb3f9c:	0x0000000a	0x3ffb7cd8	0x6c696166	0x615f6465
-0x3ffb3fac:	0x72657373	0x00745f74	0x00000000	0x3ffb84d4
-0x3ffb3fbc:	0x00000000	0x00060021	0x0000000a	0x00000000
-0x3ffb3fcc:	0x00000000	0x00000000	0x00000000	0x3ffae88c
-0x3ffb3fdc:	0x3ffae8f4	0x3ffae95c	0x00000000	0x00000000
-0x3ffb3fec:	0x00000001	0x00000000	0x3f403c78	0x00000000
-0x3ffb3ffc:	0x40001d48	0x00000000	0x00000000	0x00000000
-0x3ffb400c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb401c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb402c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb403c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb404c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb405c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb406c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb407c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb408c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb409c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb40ac:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb40bc:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb40cc:	0x00000000
-.coredump.tasks.data 0x3ffb8370 0x164 RW 
-0x3ffb8370:	0x400821d8	0x4008559e	0x00060230	0x800d20a3
-0x3ffb8380:	0x3ffb8430	0x000000d1	0x00000000	0x3ffb106c
-0x3ffb8390:	0x3ffb3f6c	0x00000000	0x00000000	0x8008559e
-0x3ffb83a0:	0x3ffb8410	0x00000000	0x000000d1	0x00060023
-0x3ffb83b0:	0x00000001	0x00060021	0x00000000	0x00000000
-0x3ffb83c0:	0x800d27a4	0x3ffb83f0	0x400014fd	0x4000150d
-0x3ffb83d0:	0xfffffff8	0x400823d1	0x00000001	0x400864e8
-0x3ffb83e0:	0x3ffb178c	0x00000000	0x00000000	0x00000000
-0x3ffb83f0:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffb8400:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb8410:	0x00060023	0x00000001	0x00060021	0x00000000
-0x3ffb8420:	0x00000000	0x3ffb8450	0x00000000	0x00000000
-0x3ffb8430:	0x3ffb106c	0x3ffb3f6c	0x00000000	0x00000000
-0x3ffb8440:	0x00000000	0x3ffb8470	0x00000000	0x00000000
-0x3ffb8450:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb8460:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb8470:	0x00000000	0x00000000	0x3ffb847c	0x00000000
-0x3ffb8480:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb8490:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb84a0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb84b0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb84c0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb84d0:	0x00000000
-.coredump.tasks.data 0x3ffb66c8 0x164 RW 
-0x3ffb66c8:	0x3ffb6540	0x3ffb6660	0x00000000	0x3ffb2c88
-0x3ffb66d8:	0x3ffb2c88	0x3ffb66c8	0x3ffb2c80	0x00000018
-0x3ffb66e8:	0x3ffb5dfc	0x3ffb5dfc	0x3ffb66c8	0x3ffb5df4
-0x3ffb66f8:	0x00000001	0x3ffb5ec4	0x20726d54	0x00637653
-0x3ffb6708:	0xd39f0f55	0x00a2af81	0x00000000	0x3ffb66c0
-0x3ffb6718:	0x00000000	0x00060021	0x00000001	0x00000000
-0x3ffb6728:	0x00000000	0x00000000	0x00000000	0x3ffae88c
-0x3ffb6738:	0x3ffae8f4	0x3ffae95c	0x00000000	0x00000000
-0x3ffb6748:	0x00000001	0x00000000	0x3f403c78	0x00000000
-0x3ffb6758:	0x40001d48	0x00000000	0x00000000	0x00000000
-0x3ffb6768:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6778:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6788:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6798:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb67a8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb67b8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb67c8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb67d8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb67e8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb67f8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6808:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6818:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6828:	0x97f9e600
-.coredump.tasks.data 0x3ffb6540 0x180 RW 
-0x3ffb6540:	0x400821d8	0x4008629c	0x00060830	0x8008638f
-0x3ffb6550:	0x3ffb6600	0x3ffb2ea8	0x00000000	0x00000001
-0x3ffb6560:	0x3ffb510c	0x00000000	0x00000001	0x8008629c
-0x3ffb6570:	0x3ffb65e0	0x00000000	0x3ffb2c00	0x3ffb5e18
-0x3ffb6580:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6590:	0xa5a5a5a5	0xa5a5a5a5	0x00000000	0x00000000
-0x3ffb65a0:	0x00000000	0x400823d1	0x00000000	0x400864e8
-0x3ffb65b0:	0x3ffaf97c	0x00000000	0x00000000	0x00000000
-0x3ffb65c0:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffb65d0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb65e0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb65f0:	0x00000000	0x3ffb6630	0x00000000	0x00000000
-0x3ffb6600:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6610:	0x3ffaf97c	0x00000000	0x00000000	0x00000000
-0x3ffb6620:	0x00000000	0x3ffb6660	0x00000000	0x00000000
-0x3ffb6630:	0x00000001	0x00000000	0x00000000	0x00000000
-0x3ffb6640:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6650:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6660:	0x00000000	0x00000000	0x3ffb666c	0x00000000
-0x3ffb6670:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6680:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6690:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb66a0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb66b0:	0x00000000	0x00000000	0x00000000	0x00000000
-.coredump.tasks.data 0x3ffafa88 0x164 RW 
-0x3ffafa88:	0x3ffaf900	0x3ffafa20	0x5ff990da	0x3ffb3b3c
-0x3ffafa98:	0x3ffafda0	0x3ffafa88	0x3ffb2c24	0x00000003
-0x3ffafaa8:	0x3ffaea5c	0x3ffaea5c	0x3ffafa88	0x3ffaea54
-0x3ffafab8:	0x00000016	0x3ffaea84	0x5f707365	0x656d6974
-0x3ffafac8:	0xe11f0072	0x00f45ee9	0x00000000	0x3ffafa80
-0x3ffafad8:	0x00000000	0x00060021	0x00000016	0x00000000
-0x3ffafae8:	0x00000000	0x00000000	0x00000000	0x3ffae88c
-0x3ffafaf8:	0x3ffae8f4	0x3ffae95c	0x00000000	0x00000000
-0x3ffafb08:	0x00000001	0x00000000	0x3f403c78	0x00000000
-0x3ffafb18:	0x40001d48	0x00000000	0x00000000	0x00000000
-0x3ffafb28:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafb38:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafb48:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafb58:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafb68:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafb78:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafb88:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafb98:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafba8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafbb8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafbc8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafbd8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafbe8:	0x354b8800
-.coredump.tasks.data 0x3ffaf900 0x180 RW 
-0x3ffaf900:	0x400821d8	0x400846ad	0x00060030	0x800d14fb
-0x3ffaf910:	0x3ffaf9c0	0x3ffaea30	0x00000000	0x3ffaea78
-0x3ffaf920:	0x00000000	0x00000001	0x00000001	0x800846ad
-0x3ffaf930:	0x3ffaf9a0	0x00000000	0x3ffb2e9c	0x3ffb2e9c
-0x3ffaf940:	0x00000001	0x00060021	0x00000000	0x00000000
-0x3ffaf950:	0xa5a5a5a5	0xa5a5a5a5	0x00000000	0x00000000
-0x3ffaf960:	0x00000000	0x400823d1	0x00000001	0x400864e8
-0x3ffaf970:	0x3ffa8d3c	0x00000000	0x00000000	0x00000000
-0x3ffaf980:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffaf990:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffaf9a0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffaf9b0:	0x00000000	0x3ffafa00	0x00000000	0x00000000
-0x3ffaf9c0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffaf9d0:	0xffffffff	0x00000000	0x00000000	0x00000000
-0x3ffaf9e0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffaf9f0:	0x00000000	0x3ffafa20	0x00000000	0x00000000
-0x3ffafa00:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafa10:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafa20:	0x00000000	0x00000000	0x3ffafa2c	0x00000000
-0x3ffafa30:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafa40:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafa50:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafa60:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafa70:	0x00000000	0x00000000	0x00000000	0x00000000
-.coredump.tasks.data 0x3ffb3b34 0x164 RW 
-0x3ffb3b34:	0x3ffb3980	0x3ffb3ac0	0x88083cc0	0x3ffb2c2c
-0x3ffb3b44:	0x3ffafa90	0x3ffb3b34	0x3ffb2c24	0x00000001
-0x3ffb3b54:	0x3ffaff2c	0x3ffaff2c	0x3ffb3b34	0x3ffaff24
-0x3ffb3b64:	0x00000018	0x3ffb3730	0x31637069	0xeff9c300
-0x3ffb3b74:	0xc4c0f656	0x008423ac	0x00000001	0x3ffb3b2c
-0x3ffb3b84:	0x00000000	0x00060021	0x00000018	0x00000000
-0x3ffb3b94:	0x00000000	0x00000000	0x00000000	0x3ffae88c
-0x3ffb3ba4:	0x3ffae8f4	0x3ffae95c	0x00000000	0x00000000
-0x3ffb3bb4:	0x00000001	0x00000000	0x3f403c78	0x00000000
-0x3ffb3bc4:	0x40001d48	0x00000000	0x00000000	0x00000000
-0x3ffb3bd4:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3be4:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3bf4:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c04:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c14:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c24:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c34:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c44:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c54:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c64:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c74:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c84:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c94:	0x048ed900
-.coredump.tasks.data 0x3ffb3980 0x1ac RW 
-0x3ffb3980:	0x400821d8	0x4008114a	0x00060030	0x800846ad
-0x3ffb3990:	0x3ffb3a40	0x00000001	0x3ffb2e9c	0x3ffb2ea0
-0x3ffb39a0:	0x3ffe7c90	0x00000000	0x00060723	0x8008114a
-0x3ffb39b0:	0x3ffb3a20	0x3ff000e0	0x00000001	0x3ffb102c
-0x3ffb39c0:	0x00000001	0x00060020	0x00060023	0x00000000
-0x3ffb39d0:	0x3ffb3a40	0x00000001	0x00000000	0x00000000
-0x3ffb39e0:	0x00000000	0x400823d1	0x00000001	0x400864e8
-0x3ffb39f0:	0x3ffacddc	0x00000000	0x00000000	0x00000000
-0x3ffb3a00:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffb3a10:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3a20:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffb3a30:	0x800811b3	0x3ffb3a60	0x3ffaff00	0x00000000
-0x3ffb3a40:	0x00000001	0x00000001	0x00060020	0x00060023
-0x3ffb3a50:	0x00000000	0x3ffb3aa0	0x00000001	0x40082ff8
-0x3ffb3a60:	0x00000000	0x00000009	0x00000000	0x00060723
-0x3ffb3a70:	0xffffffff	0x3ffb3aa0	0x00000001	0x40082ff8
-0x3ffb3a80:	0x3ffaff48	0x00000000	0x00000001	0x00000000
-0x3ffb3a90:	0x00000000	0x3ffb3ac0	0x00000000	0x00000000
-0x3ffb3aa0:	0x00000001	0x00000000	0x00000000	0x00000000
-0x3ffb3ab0:	0x80080f2c	0x3ffe7d80	0x00000028	0x00000028
-0x3ffb3ac0:	0x00000000	0x00000000	0x3ffb3acc	0x00000000
-0x3ffb3ad0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3ae0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3af0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3b00:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3b10:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3b20:	0x00000000	0x00000000	0x00000000
-.coredump.tasks.data 0x3ffafd98 0x164 RW 
-0x3ffafd98:	0x3ffb35a0	0x3ffb36c0	0x73fa8154	0x3ffafa90
-0x3ffafda8:	0x3ffb2c2c	0x3ffafd98	0x3ffb2c24	0x00000001
-0x3ffafdb8:	0x3ffafd70	0x3ffafd70	0x3ffafd98	0x3ffafd68
-0x3ffafdc8:	0x00000018	0x3ffb332c	0x30637069	0x1e3d8600
-0x3ffafdd8:	0xfe7fd40a	0x0014a8b5	0x00000000	0x3ffb3728
-0x3ffafde8:	0x00000000	0x00060021	0x00000018	0x00000000
-0x3ffafdf8:	0x00000000	0x00000000	0x00000000	0x3ffae88c
-0x3ffafe08:	0x3ffae8f4	0x3ffae95c	0x00000000	0x00000000
-0x3ffafe18:	0x00000001	0x00000000	0x3f403c78	0x00000000
-0x3ffafe28:	0x40001d48	0x00000000	0x00000000	0x00000000
-0x3ffafe38:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafe48:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafe58:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafe68:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafe78:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafe88:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafe98:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafea8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafeb8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafec8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafed8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafee8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafef8:	0x7eb2c400
-.coredump.tasks.data 0x3ffb35a0 0x188 RW 
-0x3ffb35a0:	0x400821d8	0x400846ad	0x00060030	0x800811b3
-0x3ffb35b0:	0x3ffb3660	0x3ffafd44	0x00000000	0x3ffafd8c
-0x3ffb35c0:	0x00000000	0x00000001	0x00000001	0x800846ad
-0x3ffb35d0:	0x3ffb3640	0x00000000	0x3ffb2e9c	0x3ffb2e9c
-0x3ffb35e0:	0x3ffe3af0	0x00000000	0x00000002	0x00000000
-0x3ffb35f0:	0xa5a5a5a5	0xa5a5a5a5	0x00000000	0x00000000
-0x3ffb3600:	0x00000000	0x400823d1	0x3ffe3af0	0x400864e8
-0x3ffb3610:	0x3ffac9dc	0x00000000	0x00000000	0x00000000
-0x3ffb3620:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffb3630:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3640:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3650:	0x00000000	0x3ffb36a0	0x00000000	0x00000000
-0x3ffb3660:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3670:	0xffffffff	0x00000000	0x00000000	0x00000000
-0x3ffb3680:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3690:	0x00000000	0x3ffb36c0	0x00000000	0x00000000
-0x3ffb36a0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb36b0:	0x80080eaa	0x3ffe3ba0	0x3ffb2c0c	0x3ffb2ee4
-0x3ffb36c0:	0x00000000	0x00000000	0x3ffb36cc	0x00000000
-0x3ffb36d0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb36e0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb36f0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3700:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3710:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3720:	0x00000000	0x00000000
+.coredump.tasks.data 0x3ffb80f4 0x164 RW 
+0x3ffb80f4:	0x3ffb7f40	0x3ffb8080	0x0000006b	0x3ffb2d4c
+0x3ffb8104:	0x3ffb2d4c	0x3ffb80f4	0x3ffb2d44	0x00000012
+0x3ffb8114:	0x718b4fa3	0x2b2b9484	0x3ffb80f4	0x00000000
+0x3ffb8124:	0x00000007	0x3ffb78f0	0x6c616e75	0x656e6769
+0x3ffb8134:	0x74705f64	0x00745f72	0x00000001	0x3ffb80ec
+0x3ffb8144:	0x00000000	0x00060820	0x00000007	0x00000000
+0x3ffb8154:	0x00000000	0x00000000	0x00000000	0x3ffae8ac
+0x3ffb8164:	0x3ffae914	0x3ffae97c	0x00000000	0x00000000
+0x3ffb8174:	0x00000001	0x00000000	0x3f402f58	0x00000000
+0x3ffb8184:	0x40001d48	0x00000000	0x00000000	0x00000000
+0x3ffb8194:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb81a4:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb81b4:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb81c4:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb81d4:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb81e4:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb81f4:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8204:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8214:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8224:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8234:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8244:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8254:	0xa90cd300
+.coredump.tasks.data 0x3ffb7ef0 0x1fc RW 
+0x3ffb7ef0:	0x0000001f	0x400d22a9	0x00060430	0x800d2284
+0x3ffb7f00:	0x3ffb7fb0	0x00000002	0x3f402f56	0x3ffb7ff0
+0x3ffb7f10:	0x3ffae914	0x00000000	0x00000000	0x00000005
+0x3ffb7f20:	0xffffffad	0x00000020	0x3ffb815c	0x00000001
+0x3ffb7f30:	0x00000080	0x00000001	0x00000001	0x0000001f
+0x3ffb7f40:	0x0000001d	0x00000005	0x400014fd	0x4000150d
+0x3ffb7f50:	0xfffffff8	0x00000001	0x00000080	0x400821a0
+0x3ffb7f60:	0x3ffb01b0	0x00000000	0x00000000	0x00000000
+0x3ffb7f70:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffb7f80:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7f90:	0x00000001	0x00000080	0x00000001	0x00000001
+0x3ffb7fa0:	0x800d2284	0x3ffb7fe0	0x00000001	0x3ffae914
+0x3ffb7fb0:	0x800d281f	0x3ffb7fe0	0x0000000a	0x3ffae914
+0x3ffb7fc0:	0x3ffb7ff0	0x3ffae914	0x00000000	0x00000000
+0x3ffb7fd0:	0x800d22cc	0x3ffb8010	0x0000000a	0x00000001
+0x3ffb7fe0:	0x3f402eb3	0x0000001e	0x3f402f55	0x00000001
+0x3ffb7ff0:	0x00000000	0x3ffb7700	0x400d2240	0x00000000
+0x3ffb8000:	0x80084d60	0x3ffb8040	0x00000000	0x00000000
+0x3ffb8010:	0x80084d63	0x3ffb8040	0x00000000	0x00000000
+0x3ffb8020:	0x3ffb1068	0x00000001	0x00060021	0x3ffb76f0
+0x3ffb8030:	0x00000000	0x3ffb8060	0x400d22b4	0x00000000
+0x3ffb8040:	0x00060023	0x3ffb80f4	0x00000000	0x00000000
+0x3ffb8050:	0x00000000	0x3ffb8080	0x00000000	0x00000000
+0x3ffb8060:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8070:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8080:	0x00000000	0x00000000	0x3ffb808c	0x00000000
+0x3ffb8090:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb80a0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb80b0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb80c0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb80d0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb80e0:	0x00000000	0x00000000	0x00000000
+.coredump.tasks.data 0x3ffb57d0 0x164 RW 
+0x3ffb57d0:	0x3ffb5620	0x3ffb5760	0x52eb6e48	0x3ffb5f44
+0x3ffb57e0:	0x3ffb2cc0	0x3ffb57d0	0x3ffb2cb8	0x00000019
+0x3ffb57f0:	0x3f46009b	0xb6a2b1ac	0x3ffb57d0	0x00000000
+0x3ffb5800:	0x00000000	0x3ffb51cc	0x454c4449	0x0ae50030
+0x3ffb5810:	0x91431228	0x004d3d36	0x00000000	0x3ffb57c8
+0x3ffb5820:	0x00000000	0x00060020	0x00000000	0x00000000
+0x3ffb5830:	0x00000000	0x00000000	0x00000000	0x3ffae8ac
+0x3ffb5840:	0x3ffae914	0x3ffae97c	0x00000000	0x00000000
+0x3ffb5850:	0x00000001	0x00000000	0x3f402f58	0x00000000
+0x3ffb5860:	0x40001d48	0x00000000	0x00000000	0x00000000
+0x3ffb5870:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5880:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5890:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb58a0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb58b0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb58c0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb58d0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb58e0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb58f0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5900:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5910:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5920:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5930:	0x7734c200
+.coredump.tasks.data 0x3ffb5620 0x1a8 RW 
+0x3ffb5620:	0x400821fc	0x400dbfa6	0x00060230	0x800d1656
+0x3ffb5630:	0x3ffb56e0	0x00000000	0x00000001	0x00000000
+0x3ffb5640:	0x00000001	0x3ff000e0	0x00000001	0x800d133e
+0x3ffb5650:	0x3ffb56b0	0x00000000	0x00000001	0x80084f5f
+0x3ffb5660:	0x3ffb8860	0x00000003	0x00060023	0x00000000
+0x3ffb5670:	0x3ffb2b60	0x400d1338	0x00000000	0x00000000
+0x3ffb5680:	0x00000000	0x400823f5	0x3ffb8860	0x400869e4
+0x3ffb5690:	0x3ffad890	0x00000000	0x00000000	0x00000000
+0x3ffb56a0:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffb56b0:	0x00000001	0x00000000	0x00000000	0x00000000
+0x3ffb56c0:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffb56d0:	0x80085cdd	0x3ffb5700	0x00000008	0x00000000
+0x3ffb56e0:	0x00000000	0x00000001	0x3ff000e0	0x00000001
+0x3ffb56f0:	0x80084d60	0x3ffb5720	0x00000000	0x00000000
+0x3ffb5700:	0x00000001	0x00000001	0x00060021	0x00060423
+0x3ffb5710:	0x00000000	0x3ffb5740	0x40085cd4	0x00000000
+0x3ffb5720:	0x00060023	0x3ffb5f3c	0x00000000	0x00000001
+0x3ffb5730:	0x00000000	0x3ffb5760	0x00000000	0x00000000
+0x3ffb5740:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5750:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5760:	0x00000000	0x00000000	0x3ffb576c	0x00000000
+0x3ffb5770:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5780:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5790:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb57a0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb57b0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb57c0:	0x00000000	0x00000000
+.coredump.tasks.data 0x3ffb5f3c 0x164 RW 
+0x3ffb5f3c:	0x3ffb5d90	0x3ffb5ed0	0xf5a483df	0x3ffb2cc0
+0x3ffb5f4c:	0x3ffb57d8	0x3ffb5f3c	0x3ffb2cb8	0x00000019
+0x3ffb5f5c:	0x96a7c1be	0x88d73ea5	0x3ffb5f3c	0x00000000
+0x3ffb5f6c:	0x00000000	0x3ffb5938	0x454c4449	0x6cee0031
+0x3ffb5f7c:	0xe74e9ebd	0x005cb0e4	0x00000001	0x3ffb5f34
+0x3ffb5f8c:	0x00000000	0x00060e20	0x00000000	0x00000000
+0x3ffb5f9c:	0x00000000	0x00000000	0x00000000	0x3ffae8ac
+0x3ffb5fac:	0x3ffae914	0x3ffae97c	0x00000000	0x00000000
+0x3ffb5fbc:	0x00000001	0x00000000	0x3f402f58	0x00000000
+0x3ffb5fcc:	0x40001d48	0x00000000	0x00000000	0x00000000
+0x3ffb5fdc:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5fec:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5ffc:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb600c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb601c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb602c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb603c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb604c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb605c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb606c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb607c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb608c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb609c:	0x99788c00
+.coredump.tasks.data 0x3ffb5d90 0x1a4 RW 
+0x3ffb5d90:	0x400821fc	0x400dbfa6	0x00060e30	0x800d1656
+0x3ffb5da0:	0x3ffb5e50	0x00000000	0x80000001	0x00000000
+0x3ffb5db0:	0x00000001	0x00000003	0x00060023	0x800d133e
+0x3ffb5dc0:	0x3ffb5e20	0x00000000	0x00060823	0x00060820
+0x3ffb5dd0:	0x00000001	0x00060820	0x00060023	0x00000000
+0x3ffb5de0:	0x800d1333	0x3ffb5e00	0x00000000	0x00000000
+0x3ffb5df0:	0x00000000	0x400823f5	0x00000001	0x400869e4
+0x3ffb5e00:	0x3ffae000	0x00000000	0x00000000	0x00000000
+0x3ffb5e10:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffb5e20:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5e30:	0x80084f5f	0x3ffb3690	0x00000003	0x00060023
+0x3ffb5e40:	0x80085cdd	0x3ffb5e70	0x00000008	0x00000001
+0x3ffb5e50:	0x00000000	0x00000001	0x00000003	0x00060023
+0x3ffb5e60:	0x80084d60	0x3ffb5e90	0x00000000	0x00000000
+0x3ffb5e70:	0x00000001	0x00000001	0x00060021	0x00000000
+0x3ffb5e80:	0x00000000	0x3ffb5eb0	0x40085cd4	0x00000000
+0x3ffb5e90:	0x00060023	0x3ffb57d0	0x00000000	0x00000001
+0x3ffb5ea0:	0x00000000	0x3ffb5ed0	0x00000000	0x00000000
+0x3ffb5eb0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5ec0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5ed0:	0x00000000	0x00000000	0x3ffb5edc	0x00000000
+0x3ffb5ee0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5ef0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5f00:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5f10:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5f20:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5f30:	0x00000000
+.coredump.tasks.data 0x3ffb7788 0x164 RW 
+0x3ffb7788:	0x3ffb7600	0x3ffb7720	0x000000cf	0x3ffb2cac
+0x3ffb7798:	0x3ffb8a68	0x3ffb7788	0x3ffb2ca4	0x00000014
+0x3ffb77a8:	0x3ffb6e74	0x3ffb6e74	0x3ffb7788	0x00000000
+0x3ffb77b8:	0x00000005	0x3ffb6f84	0x5f646162	0x5f727470
+0x3ffb77c8:	0x6b736174	0x002c7200	0x7fffffff	0x3ffb7780
+0x3ffb77d8:	0x00000000	0x00060021	0x00000005	0x00000000
+0x3ffb77e8:	0x00000000	0x00000000	0x00000000	0x3ffae8ac
+0x3ffb77f8:	0x3ffae914	0x3ffae97c	0x00000000	0x00000000
+0x3ffb7808:	0x00000001	0x00000000	0x3f402f58	0x00000000
+0x3ffb7818:	0x40001d48	0x00000000	0x00000000	0x00000000
+0x3ffb7828:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7838:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7848:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7858:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7868:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7878:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7888:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7898:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb78a8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb78b8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb78c8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb78d8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb78e8:	0x72bcba00
+.coredump.tasks.data 0x3ffb7600 0x180 RW 
+0x3ffb7600:	0x400821fc	0x40085ac6	0x00060230	0x800d224f
+0x3ffb7610:	0x3ffb76c0	0x000000cf	0x00000000	0x3ffb1068
+0x3ffb7620:	0x00000001	0x00060021	0x00060823	0x80085ac6
+0x3ffb7630:	0x3ffb76a0	0x00000000	0x000000cf	0x00060023
+0x3ffb7640:	0x3ffb38a8	0x00000000	0x00000000	0x00000000
+0x3ffb7650:	0x800d281c	0x3ffb7680	0x400014fd	0x4000150d
+0x3ffb7660:	0xfffffff9	0x400823f5	0x3ffb38a8	0x400869e4
+0x3ffb7670:	0x3ffaf850	0x00000000	0x00000000	0x00000000
+0x3ffb7680:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffb7690:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb76a0:	0x00060023	0x3ffb38a8	0x00000000	0x00000000
+0x3ffb76b0:	0x80084d60	0x3ffb76e0	0x00000000	0x00000000
+0x3ffb76c0:	0x3ffb1068	0x00000001	0x00060021	0x00060823
+0x3ffb76d0:	0x00000000	0x3ffb7700	0x400d2240	0x00000000
+0x3ffb76e0:	0x00060023	0x3ffb7788	0x00000000	0x00000000
+0x3ffb76f0:	0x00000000	0x3ffb7720	0x00000000	0x00000000
+0x3ffb7700:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7710:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7720:	0x00000000	0x00000000	0x3ffb772c	0x00000000
+0x3ffb7730:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7740:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7750:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7760:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7770:	0x00000000	0x00000000	0x00000000	0x00000000
+.coredump.tasks.data 0x3ffb8a60 0x164 RW 
+0x3ffb8a60:	0x3ffb88d0	0x3ffb89f0	0x000000cf	0x3ffb7790
+0x3ffb8a70:	0x3ffb2cac	0x3ffb8a60	0x3ffb2ca4	0x0000000f
+0x3ffb8a80:	0x3ffb77a4	0x3ffb6e74	0x3ffb8a60	0x00000000
+0x3ffb8a90:	0x0000000a	0x3ffb825c	0x6c696166	0x615f6465
+0x3ffb8aa0:	0x72657373	0x00745f74	0x00000000	0x3ffb8a58
+0x3ffb8ab0:	0x00000000	0x00060021	0x0000000a	0x00000000
+0x3ffb8ac0:	0x00000000	0x00000000	0x00000000	0x3ffae8ac
+0x3ffb8ad0:	0x3ffae914	0x3ffae97c	0x00000000	0x00000000
+0x3ffb8ae0:	0x00000001	0x00000000	0x3f402f58	0x00000000
+0x3ffb8af0:	0x40001d48	0x00000000	0x00000000	0x00000000
+0x3ffb8b00:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8b10:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8b20:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8b30:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8b40:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8b50:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8b60:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8b70:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8b80:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8b90:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8ba0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8bb0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8bc0:	0xbfa58000
+.coredump.tasks.data 0x3ffb88d0 0x188 RW 
+0x3ffb88d0:	0x400821fc	0x40085ac6	0x00060230	0x800d21d7
+0x3ffb88e0:	0x3ffb8990	0x000000cf	0x00000000	0x3ffb1068
+0x3ffb88f0:	0x00000001	0x00060021	0x00000000	0x80085ac6
+0x3ffb8900:	0x3ffb8970	0x00000000	0x000000cf	0x800d0af5
+0x3ffb8910:	0x3ffb4f80	0x00000800	0x00000001	0x00000000
+0x3ffb8920:	0x800d281c	0x3ffb8950	0x400014fd	0x4000150d
+0x3ffb8930:	0xfffffff8	0x400823f5	0x3ffb4f80	0x400869e4
+0x3ffb8940:	0x3ffb0b20	0x00000000	0x00000000	0x00000000
+0x3ffb8950:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffb8960:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8970:	0x800d0af5	0x3ffb4f80	0x00000800	0x00000001
+0x3ffb8980:	0x80084d60	0x3ffb89b0	0x00000000	0x00000000
+0x3ffb8990:	0x3ffb1068	0x00000001	0x00060021	0x00000000
+0x3ffb89a0:	0x00000000	0x3ffb89d0	0x400d21c8	0x00000000
+0x3ffb89b0:	0x00060023	0x3ffb8a60	0x00000000	0x00000000
+0x3ffb89c0:	0x00000000	0x3ffb89f0	0x00000000	0x00000000
+0x3ffb89d0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb89e0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb89f0:	0x00000000	0x00000000	0x3ffb89fc	0x00000000
+0x3ffb8a00:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8a10:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8a20:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8a30:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8a40:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8a50:	0x00000000	0x00000000
+.coredump.tasks.data 0x3ffb699c 0x164 RW 
+0x3ffb699c:	0x3ffb67d0	0x3ffb6930	0x00000000	0x3ffb2c98
+0x3ffb69ac:	0x3ffb2c98	0x3ffb699c	0x3ffb2c90	0x00000018
+0x3ffb69bc:	0x3ffb60d0	0x3ffb60d0	0x3ffb699c	0x3ffb60c8
+0x3ffb69cc:	0x00000001	0x3ffb6198	0x20726d54	0x00637653
+0x3ffb69dc:	0x0b63f2ed	0x00d4af25	0x00000000	0x3ffb6994
+0x3ffb69ec:	0x00000000	0x00060021	0x00000001	0x00000000
+0x3ffb69fc:	0x00000000	0x00000000	0x00000000	0x3ffae8ac
+0x3ffb6a0c:	0x3ffae914	0x3ffae97c	0x00000000	0x00000000
+0x3ffb6a1c:	0x00000001	0x00000000	0x3f402f58	0x00000000
+0x3ffb6a2c:	0x40001d48	0x00000000	0x00000000	0x00000000
+0x3ffb6a3c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6a4c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6a5c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6a6c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6a7c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6a8c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6a9c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6aac:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6abc:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6acc:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6adc:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6aec:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6afc:	0x862cff00
+.coredump.tasks.data 0x3ffb67d0 0x1c4 RW 
+0x3ffb67d0:	0x400821fc	0x40081bea	0x00060230	0x80086798
+0x3ffb67e0:	0x3ffb6890	0x00000000	0x3ffb2c10	0x3ffb60ec
+0x3ffb67f0:	0x00000000	0x00000000	0x00060023	0x80081bea
+0x3ffb6800:	0x3ffb6870	0x3ff000dc	0x00000001	0x3ffb1058
+0x3ffb6810:	0x3ffb2eac	0x00000003	0x00060023	0x00000000
+0x3ffb6820:	0x3ffb6890	0x00000000	0x00000000	0x00000000
+0x3ffb6830:	0x00000000	0x400823f5	0x3ffb2eac	0x400869e4
+0x3ffb6840:	0x3ffaea60	0x00000000	0x00000000	0x00000000
+0x3ffb6850:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffb6860:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6870:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6880:	0x8008688b	0x3ffb68b0	0x3ffb2eb8	0x00000000
+0x3ffb6890:	0x00000000	0x4008687c	0x00000000	0x00000000
+0x3ffb68a0:	0x80084d60	0x3ffb68e0	0x00000000	0x00000000
+0x3ffb68b0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb68c0:	0x00000001	0x00000001	0x00060021	0x00000000
+0x3ffb68d0:	0x00000000	0x3ffb6910	0x4008687c	0x00000000
+0x3ffb68e0:	0x00000001	0x00000000	0x00000000	0x00000000
+0x3ffb68f0:	0x00060023	0x3ffb5064	0x00000000	0x00000001
+0x3ffb6900:	0x00000000	0x3ffb6930	0x00000000	0x00000000
+0x3ffb6910:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6920:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6930:	0x00000000	0x00000000	0x3ffb693c	0x00000000
+0x3ffb6940:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6950:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6960:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6970:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6980:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6990:	0x00000000
+.coredump.tasks.data 0x3ffaf8a8 0x164 RW 
+0x3ffaf8a8:	0x3ffaf700	0x3ffaf840	0x32f97bc0	0x3ffb38b0
+0x3ffaf8b8:	0x3ffb3344	0x3ffaf8a8	0x3ffb2c34	0x00000003
+0x3ffaf8c8:	0x3ffaea7c	0x3ffaea7c	0x3ffaf8a8	0x3ffaea74
+0x3ffaf8d8:	0x00000016	0x3ffaeaa4	0x5f707365	0x656d6974
+0x3ffaf8e8:	0xfd090072	0x00b9d832	0x00000000	0x3ffaf8a0
+0x3ffaf8f8:	0x00000000	0x00060021	0x00000016	0x00000000
+0x3ffaf908:	0x00000000	0x00000000	0x00000000	0x3ffae8ac
+0x3ffaf918:	0x3ffae914	0x3ffae97c	0x00000000	0x00000000
+0x3ffaf928:	0x00000001	0x00000000	0x3f402f58	0x00000000
+0x3ffaf938:	0x40001d48	0x00000000	0x00000000	0x00000000
+0x3ffaf948:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf958:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf968:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf978:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf988:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf998:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf9a8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf9b8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf9c8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf9d8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf9e8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf9f8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffafa08:	0x8a75a700
+.coredump.tasks.data 0x3ffaf700 0x1a0 RW 
+0x3ffaf700:	0x400821fc	0x40084bed	0x00060030	0x800d0d57
+0x3ffaf710:	0x3ffaf7c0	0x3ffaea50	0x00000000	0x3ffaea98
+0x3ffaf720:	0x00000000	0x00000001	0x00000000	0x80084bed
+0x3ffaf730:	0x3ffaf7a0	0x00000000	0x3ffb2eac	0x3ffb2eac
+0x3ffaf740:	0x3ffafe40	0x00000003	0x00060e23	0x00000000
+0x3ffaf750:	0xa5a5a5a5	0xa5a5a5a5	0x00000000	0x00000000
+0x3ffaf760:	0x00000000	0x400823f5	0x3ffafe40	0x400869e4
+0x3ffaf770:	0x3ffa7970	0x00000000	0x00000000	0x00000000
+0x3ffaf780:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffaf790:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf7a0:	0x00000000	0x400d0d44	0x00000000	0x00000000
+0x3ffaf7b0:	0x80084d60	0x3ffaf800	0x00000000	0x00000000
+0x3ffaf7c0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf7d0:	0xffffffff	0x00000000	0x00000000	0x00000000
+0x3ffaf7e0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf7f0:	0x00000000	0x3ffaf820	0x400d0d44	0x00000000
+0x3ffaf800:	0x00060023	0x3ffaf8a8	0x00000000	0x00000001
+0x3ffaf810:	0x00000000	0x3ffaf840	0x00000000	0x00000000
+0x3ffaf820:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf830:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf840:	0x00000000	0x00000000	0x3ffaf84c	0x00000000
+0x3ffaf850:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf860:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf870:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf880:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf890:	0x00000000	0x00000000	0x00000000	0x00000000
+.coredump.tasks.data 0x3ffb38a8 0x164 RW 
+0x3ffb38a8:	0x3ffb36e0	0x3ffb3840	0xfe254875	0x3ffb2c3c
+0x3ffb38b8:	0x3ffaf8b0	0x3ffb38a8	0x3ffb2c34	0x00000001
+0x3ffb38c8:	0x3ffaffcc	0x3ffaffcc	0x3ffb38a8	0x3ffaffc4
+0x3ffb38d8:	0x00000018	0x3ffb34a4	0x31637069	0x9401b200
+0x3ffb38e8:	0xddcbc9f0	0x0081f729	0x00000001	0x3ffb38a0
+0x3ffb38f8:	0x00000000	0x00060021	0x00000018	0x00000000
+0x3ffb3908:	0x00000000	0x00000000	0x00000000	0x3ffae8ac
+0x3ffb3918:	0x3ffae914	0x3ffae97c	0x00000000	0x00000000
+0x3ffb3928:	0x00000001	0x00000000	0x3f402f58	0x00000000
+0x3ffb3938:	0x40001d48	0x00000000	0x00000000	0x00000000
+0x3ffb3948:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3958:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3968:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3978:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3988:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3998:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb39a8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb39b8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb39c8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb39d8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb39e8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb39f8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3a08:	0xa3b59b00
+.coredump.tasks.data 0x3ffb36e0 0x1c0 RW 
+0x3ffb36e0:	0x400821fc	0x40081bea	0x00060830	0x80084bed
+0x3ffb36f0:	0x3ffb37a0	0x00000001	0x3ffb2eac	0x3ffb2eb0
+0x3ffb3700:	0x0000000a	0x00800000	0x3ff4001c	0x80081bea
+0x3ffb3710:	0x3ffb3780	0x3ff000e0	0x00000001	0x3ffb1058
+0x3ffb3720:	0x00000001	0x00060820	0x00060023	0x00000000
+0x3ffb3730:	0x3ffb37a0	0x00000001	0x00000000	0x00000000
+0x3ffb3740:	0x00000000	0x400823f5	0x00000001	0x400869e4
+0x3ffb3750:	0x3ffab970	0x00000000	0x00000000	0x00000000
+0x3ffb3760:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffb3770:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3780:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffb3790:	0x80082077	0x3ffb37c0	0x3ffaffa0	0x00000000
+0x3ffb37a0:	0x00000001	0x00000001	0x00060820	0x00060023
+0x3ffb37b0:	0x80084d60	0x3ffb3800	0x00000001	0x40083694
+0x3ffb37c0:	0x00000000	0x00000007	0x00800000	0x3ff4001c
+0x3ffb37d0:	0xffffffff	0x3ffb3800	0x00000001	0x40083694
+0x3ffb37e0:	0x3ffaffe8	0x00000000	0x00000001	0x00000000
+0x3ffb37f0:	0x00000000	0x3ffb3820	0x40082048	0x00000001
+0x3ffb3800:	0x00000001	0x3ffb38a8	0x00000000	0x00000000
+0x3ffb3810:	0x00000000	0x3ffb3840	0x00000000	0x00000000
+0x3ffb3820:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3830:	0x80080fa0	0x3ffe7d80	0x00000028	0x00000028
+0x3ffb3840:	0x00000000	0x00000000	0x3ffb384c	0x00000000
+0x3ffb3850:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3860:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3870:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3880:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3890:	0x00000000	0x00000000	0x00000000	0x00000000
+.coredump.tasks.data 0x3ffb333c 0x164 RW 
+0x3ffb333c:	0x3ffafdf0	0x3ffaff30	0xe7e4defd	0x3ffaf8b0
+0x3ffb334c:	0x3ffb2c3c	0x3ffb333c	0x3ffb2c34	0x00000001
+0x3ffb335c:	0x3ffafb74	0x3ffafb74	0x3ffb333c	0x3ffafb6c
+0x3ffb336c:	0x00000018	0x3ffafb9c	0x30637069	0xec0c0100
+0x3ffb337c:	0x564f3553	0x00fe85bc	0x00000000	0x3ffaff98
+0x3ffb338c:	0x00000000	0x00060021	0x00000018	0x00000000
+0x3ffb339c:	0x00000000	0x00000000	0x00000000	0x3ffae8ac
+0x3ffb33ac:	0x3ffae914	0x3ffae97c	0x00000000	0x00000000
+0x3ffb33bc:	0x00000001	0x00000000	0x3f402f58	0x00000000
+0x3ffb33cc:	0x40001d48	0x00000000	0x00000000	0x00000000
+0x3ffb33dc:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb33ec:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb33fc:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb340c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb341c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb342c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb343c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb344c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb345c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb346c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb347c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb348c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb349c:	0x99acb000
+.coredump.tasks.data 0x3ffafdf0 0x1a8 RW 
+0x3ffafdf0:	0x400821fc	0x40084bed	0x00060e30	0x80082077
+0x3ffafe00:	0x3ffafeb0	0x3ffafb48	0x00000000	0x3ffafb90
+0x3ffafe10:	0x00000000	0x00000001	0x00000002	0x80084bed
+0x3ffafe20:	0x3ffafe90	0x00000000	0x3ffb2eac	0x3ffb2eac
+0x3ffafe30:	0x0000cdcd	0x00000001	0x00000000	0x00000000
+0x3ffafe40:	0xa5a5a5a5	0xa5a5a5a5	0x00000000	0x00000000
+0x3ffafe50:	0x00000000	0x400823f5	0x0000cdcd	0x400869e4
+0x3ffafe60:	0x3ffa8060	0x00000000	0x00000000	0x00000000
+0x3ffafe70:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffafe80:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffafe90:	0x00000000	0x40082048	0x00000000	0x00000000
+0x3ffafea0:	0x80084d60	0x3ffafef0	0x00000000	0x00000000
+0x3ffafeb0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffafec0:	0xffffffff	0x00000000	0x00000000	0x00000000
+0x3ffafed0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffafee0:	0x00000000	0x3ffaff10	0x40082048	0x00000000
+0x3ffafef0:	0x00060323	0x3ffb333c	0x00000001	0x00000001
+0x3ffaff00:	0x00000000	0x3ffaff30	0x00000000	0x00000000
+0x3ffaff10:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaff20:	0x80080f1e	0x3ffe3b90	0x3ffb2c1c	0x3ffb2ef0
+0x3ffaff30:	0x00000000	0x00000000	0x3ffaff3c	0x00000000
+0x3ffaff40:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaff50:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaff60:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaff70:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaff80:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaff90:	0x00000000	0x00000000
 
 ===================== ESP32 CORE DUMP END =====================
 ===============================================================

+ 521 - 492
components/espcoredump/test/expected_output_new_CT

@@ -1,13 +1,13 @@
-espcoredump.py v0.2-dev
+espcoredump.py v0.3-dev
 ===============================================================
 ==================== ESP32 CORE DUMP START ====================
 
 ================== CURRENT THREAD REGISTERS ===================
-pc             0x400d216d	0x400d216d <recur_func+77>
+pc             0x400d22a9	0x400d22a9 <recur_func+77>
 lbeg           0x400014fd	1073747197
 lend           0x4000150d	1073747213
-lcount         0xffffffff	4294967295
-sar            0x0	0
+lcount         0xfffffff8	4294967288
+sar            0x1f	31
 ps             0x60420	394272
 threadptr      <unavailable>
 br             <unavailable>
@@ -24,516 +24,545 @@ f64r_hi        <unavailable>
 f64s           <unavailable>
 fcr            <unavailable>
 fsr            <unavailable>
-a0             0x400d2148	1074602312
-a1             0x3ffb7bc0	1073445824
+a0             0x400d2284	1074602628
+a1             0x3ffb7fb0	1073446832
 a2             0x2	2
-a3             0x3f403c36	1061174326
-a4             0x3ffb7c00	1073445888
-a5             0x3ffae8f4	1073408244
+a3             0x3f402f56	1061171030
+a4             0x3ffb7ff0	1073446896
+a5             0x3ffae914	1073408276
 a6             0x0	0
 a7             0x0	0
 a8             0x5	5
 a9             0xffffffad	-83
 a10            0x20	32
-a11            0x3ffb3e6c	1073430124
+a11            0x3ffb815c	1073447260
 a12            0x1	1
 a13            0x80	128
 a14            0x1	1
-a15            0x0	0
+a15            0x1	1
 
 ==================== CURRENT THREAD STACK =====================
-#0  0x400d216d in recur_func () at /home/dragon/esp/esp-idf/examples/get-started/hello_world/main/hello_world_main.c:70
-#1  0x400d2148 in recur_func () at /home/dragon/esp/esp-idf/examples/get-started/hello_world/main/hello_world_main.c:63
-#2  0x400d2148 in recur_func () at /home/dragon/esp/esp-idf/examples/get-started/hello_world/main/hello_world_main.c:63
-#3  0x400d2190 in unaligned_ptr_task (pvParameter=0x0) at /home/dragon/esp/esp-idf/examples/get-started/hello_world/main/hello_world_main.c:80
+#0  0x400d22a9 in recur_func () at /home/alexey/projects/esp/core_dump_test/main/core_dump_test_main.c:78
+#1  0x400d2284 in recur_func () at /home/alexey/projects/esp/core_dump_test/main/core_dump_test_main.c:71
+#2  0x400d2284 in recur_func () at /home/alexey/projects/esp/core_dump_test/main/core_dump_test_main.c:71
+#3  0x400d22cc in unaligned_ptr_task (pvParameter=0x0) at /home/alexey/projects/esp/core_dump_test/main/core_dump_test_main.c:88
+#4  0x40084d60 in vPortTaskWrapper (pxCode=0x400d22b4 <unaligned_ptr_task>, pvParameters=0x0) at /home/alexey/projects/esp/esp-idf/components/freertos/port.c:143
 
 ======================== THREADS INFO =========================
   Id   Target Id         Frame 
-* 1    <main task>       0x400d216d in recur_func () at /home/dragon/esp/esp-idf/examples/get-started/hello_world/main/hello_world_main.c:70
-  2    process 1         0x400e4a86 in esp_vApplicationWaitiHook () at /home/dragon/esp/esp-idf/components/esp32/freertos_hooks.c:66
-  3    process 2         0x400e4a86 in esp_vApplicationWaitiHook () at /home/dragon/esp/esp-idf/components/esp32/freertos_hooks.c:66
-  4    process 3         0x4008559e in vTaskDelay (xTicksToDelay=<optimized out>) at /home/dragon/esp/esp-idf/components/freertos/tasks.c:1491
-  5    process 4         0x4008559e in vTaskDelay (xTicksToDelay=<optimized out>) at /home/dragon/esp/esp-idf/components/freertos/tasks.c:1491
-  6    process 5         0x4008629c in prvProcessTimerOrBlockTask (xNextExpireTime=<optimized out>, xListWasEmpty=<optimized out>) at /home/dragon/esp/esp-idf/components/freertos/timers.c:588
-  7    process 6         0x400846ad in xQueueGenericReceive (xQueue=0x3ffaea30, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at /home/dragon/esp/esp-idf/components/freertos/queue.c:1591
-  8    process 7         0x4008114a in esp_crosscore_int_send_yield (core_id=1) at /home/dragon/esp/esp-idf/components/esp32/crosscore_int.c:112
-  9    process 8         0x400846ad in xQueueGenericReceive (xQueue=0x3ffafd44, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at /home/dragon/esp/esp-idf/components/freertos/queue.c:1591
+* 1    <main task>       0x400d22a9 in recur_func () at /home/alexey/projects/esp/core_dump_test/main/core_dump_test_main.c:78
+  2    process 1         0x400dbfa6 in esp_pm_impl_waiti () at /home/alexey/projects/esp/esp-idf/components/esp32/pm_esp32.c:487
+  3    process 2         0x400dbfa6 in esp_pm_impl_waiti () at /home/alexey/projects/esp/esp-idf/components/esp32/pm_esp32.c:487
+  4    process 3         0x40085ac6 in vTaskDelay (xTicksToDelay=<optimized out>) at /home/alexey/projects/esp/esp-idf/components/freertos/tasks.c:1484
+  5    process 4         0x40085ac6 in vTaskDelay (xTicksToDelay=<optimized out>) at /home/alexey/projects/esp/esp-idf/components/freertos/tasks.c:1484
+  6    process 5         0x40081bea in esp_crosscore_int_send_yield (core_id=0) at /home/alexey/projects/esp/esp-idf/components/esp32/crosscore_int.c:112
+  7    process 6         0x40084bed in xQueueGenericReceive (xQueue=0x3ffaea50, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at /home/alexey/projects/esp/esp-idf/components/freertos/queue.c:1591
+  8    process 7         0x40081bea in esp_crosscore_int_send_yield (core_id=1) at /home/alexey/projects/esp/esp-idf/components/esp32/crosscore_int.c:112
+  9    process 8         0x40084bed in xQueueGenericReceive (xQueue=0x3ffafb48, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at /home/alexey/projects/esp/esp-idf/components/freertos/queue.c:1591
 
 ======================= 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 0x93f8 RWXA
-.dram0.data 0x3ffb0000 0x2288 RW A
-.noinit 0x3ffb2288 0x0 RW  
-.flash.rodata 0x3f400020 0x6cd4 RW A
-.flash.text 0x400d0018 0x14cb4 R XA
-.coredump.tasks.data 0x3ffb3e04 0x164 RW 
-.coredump.tasks.data 0x3ffb7b00 0x1d0 RW 
-.coredump.tasks.data 0x3ffb56fc 0x164 RW 
-.coredump.tasks.data 0x3ffb5590 0x164 RW 
-.coredump.tasks.data 0x3ffb5c68 0x164 RW 
-.coredump.tasks.data 0x3ffb5b00 0x160 RW 
-.coredump.tasks.data 0x3ffb3c9c 0x164 RW 
-.coredump.tasks.data 0x3ffb7360 0x16c RW 
-.coredump.tasks.data 0x3ffb3f6c 0x164 RW 
-.coredump.tasks.data 0x3ffb8370 0x164 RW 
-.coredump.tasks.data 0x3ffb66c8 0x164 RW 
-.coredump.tasks.data 0x3ffb6540 0x180 RW 
-.coredump.tasks.data 0x3ffafa88 0x164 RW 
-.coredump.tasks.data 0x3ffaf900 0x180 RW 
-.coredump.tasks.data 0x3ffb3b34 0x164 RW 
-.coredump.tasks.data 0x3ffb3980 0x1ac RW 
-.coredump.tasks.data 0x3ffafd98 0x164 RW 
-.coredump.tasks.data 0x3ffb35a0 0x188 RW 
+.iram0.text 0x40080400 0x9a50 RWXA
+.dram0.data 0x3ffb0000 0x229c RW A
+.noinit 0x3ffb229c 0x0 RW  
+.flash.rodata 0x3f400020 0x7ec0 RW A
+.flash.text 0x400d0018 0xc1d4 R XA
+.coredump.tasks.data 0x3ffb80f4 0x164 RW 
+.coredump.tasks.data 0x3ffb7ef0 0x1fc RW 
+.coredump.tasks.data 0x3ffb57d0 0x164 RW 
+.coredump.tasks.data 0x3ffb5620 0x1a8 RW 
+.coredump.tasks.data 0x3ffb5f3c 0x164 RW 
+.coredump.tasks.data 0x3ffb5d90 0x1a4 RW 
+.coredump.tasks.data 0x3ffb7788 0x164 RW 
+.coredump.tasks.data 0x3ffb7600 0x180 RW 
+.coredump.tasks.data 0x3ffb8a60 0x164 RW 
+.coredump.tasks.data 0x3ffb88d0 0x188 RW 
+.coredump.tasks.data 0x3ffb699c 0x164 RW 
+.coredump.tasks.data 0x3ffb67d0 0x1c4 RW 
+.coredump.tasks.data 0x3ffaf8a8 0x164 RW 
+.coredump.tasks.data 0x3ffaf700 0x1a0 RW 
+.coredump.tasks.data 0x3ffb38a8 0x164 RW 
+.coredump.tasks.data 0x3ffb36e0 0x1c0 RW 
+.coredump.tasks.data 0x3ffb333c 0x164 RW 
+.coredump.tasks.data 0x3ffafdf0 0x1a8 RW 
 
 ====================== CORE DUMP MEMORY CONTENTS ========================
-.coredump.tasks.data 0x3ffb3e04 0x164 RW 
-0x3ffb3e04:	0x3ffb7b70	0x3ffb7c70	0x0000006d	0x3ffb2d3c
-0x3ffb3e14:	0x3ffb2d3c	0x3ffb3e04	0x3ffb2d34	0x00000012
-0x3ffb3e24:	0xa5a5a5a5	0xa5a5a5a5	0x3ffb3e04	0x00000000
-0x3ffb3e34:	0x00000007	0x3ffb74d4	0x6c616e75	0x656e6769
-0x3ffb3e44:	0x74705f64	0x00745f72	0x00000001	0x3ffb7cd0
-0x3ffb3e54:	0x00000000	0x00060820	0x00000007	0x00000000
-0x3ffb3e64:	0x00000000	0x00000000	0x00000000	0x3ffae88c
-0x3ffb3e74:	0x3ffae8f4	0x3ffae95c	0x00000000	0x00000000
-0x3ffb3e84:	0x00000001	0x00000000	0x3f403c78	0x00000000
-0x3ffb3e94:	0x40001d48	0x00000000	0x00000000	0x00000000
-0x3ffb3ea4:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3eb4:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3ec4:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3ed4:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3ee4:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3ef4:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3f04:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3f14:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3f24:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3f34:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3f44:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3f54:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3f64:	0x00000000
-.coredump.tasks.data 0x3ffb7b00 0x1d0 RW 
-0x3ffb7b00:	0x3f403b68	0x400d216d	0x00060430	0x800d2148
-0x3ffb7b10:	0x3ffb7bc0	0x00000002	0x3f403c36	0x3ffb7c00
-0x3ffb7b20:	0x3ffae8f4	0x00000000	0x00000000	0x00000005
-0x3ffb7b30:	0xffffffad	0x00000020	0x3ffb3e6c	0x00000001
-0x3ffb7b40:	0x00000080	0x00000001	0x00000000	0x00000000
-0x3ffb7b50:	0x0000001d	0x00000005	0x400014fd	0x4000150d
-0x3ffb7b60:	0xffffffff	0x00000001	0x00000080	0x4008217c
-0x3ffb7b70:	0x3ffb0f8c	0x00000000	0x00000000	0x00000000
-0x3ffb7b80:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffb7b90:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7ba0:	0x00000001	0x00000080	0x00000001	0x00000000
-0x3ffb7bb0:	0x800d2148	0x3ffb7bf0	0x00000001	0x3ffae8f4
-0x3ffb7bc0:	0x800d27a7	0x3ffb7bf0	0x0000000a	0x3ffae8f4
-0x3ffb7bd0:	0x3ffb7c00	0x3ffae8f4	0x00000000	0x00000000
-0x3ffb7be0:	0x800d2190	0x3ffb7c20	0x0000000a	0x00000001
-0x3ffb7bf0:	0x3f403b93	0x0000001e	0x3f403c35	0x00000001
-0x3ffb7c00:	0x00060023	0x00000001	0x00060021	0x3ffb3aa0
-0x3ffb7c10:	0x00000000	0x3ffb7c50	0x00000000	0x00000000
-0x3ffb7c20:	0x00000003	0x3ffb7c50	0x00000000	0x00000000
-0x3ffb7c30:	0x3ffb106c	0x3ffb3e04	0x00000000	0x00000000
-0x3ffb7c40:	0x00000000	0x3ffb7c70	0x00000000	0x00000000
-0x3ffb7c50:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7c60:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7c70:	0x00000000	0x00000000	0x3ffb7c7c	0x00000000
-0x3ffb7c80:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7c90:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7ca0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7cb0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7cc0:	0x00000000	0x00000000	0x00000000	0x00000000
-.coredump.tasks.data 0x3ffb56fc 0x164 RW 
-0x3ffb56fc:	0x3ffb5590	0x3ffb5690	0x195c72d9	0x3ffb5c70
-0x3ffb570c:	0x3ffb2cb0	0x3ffb56fc	0x3ffb2ca8	0x00000019
-0x3ffb571c:	0x490223d5	0xf77c8d12	0x3ffb56fc	0x00000000
-0x3ffb572c:	0x00000000	0x3ffb52f8	0x454c4449	0x7a300030
-0x3ffb573c:	0x91128825	0x00f6b6f0	0x00000000	0x3ffb56f4
-0x3ffb574c:	0x00000000	0x00060220	0x00000000	0x00000000
-0x3ffb575c:	0x00000000	0x00000000	0x00000000	0x3ffae88c
-0x3ffb576c:	0x3ffae8f4	0x3ffae95c	0x00000000	0x00000000
-0x3ffb577c:	0x00000001	0x00000000	0x3f403c78	0x00000000
-0x3ffb578c:	0x40001d48	0x00000000	0x00000000	0x00000000
-0x3ffb579c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb57ac:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb57bc:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb57cc:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb57dc:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb57ec:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb57fc:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb580c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb581c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb582c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb583c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb584c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb585c:	0x8fe33c00
-.coredump.tasks.data 0x3ffb5590 0x164 RW 
-0x3ffb5590:	0x400821d8	0x400e4a86	0x00060230	0x800857b8
-0x3ffb55a0:	0x3ffb5650	0x00000008	0x00000000	0x00000001
-0x3ffb55b0:	0x3ffb5c68	0x00000000	0x00000001	0x3ffb2bac
-0x3ffb55c0:	0x3ffb2b90	0x00000000	0x00000001	0x00000000
-0x3ffb55d0:	0x00000001	0x00060021	0x00060823	0x00000000
-0x3ffb55e0:	0x80084bdc	0x3ffb5610	0x00000000	0x00000000
-0x3ffb55f0:	0x00000000	0x400823d1	0x00000001	0x400864e8
-0x3ffb5600:	0x3ffae901	0x00000000	0x00000000	0x00000000
-0x3ffb5610:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffb5620:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5630:	0x00000000	0x00000001	0x00060021	0x00060823
-0x3ffb5640:	0x00000000	0x3ffb5670	0x00000000	0x00000000
-0x3ffb5650:	0x00000001	0x3ffb5c68	0x00000000	0x00000001
-0x3ffb5660:	0x00000000	0x3ffb5690	0x00000000	0x00000000
-0x3ffb5670:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5680:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5690:	0x00000000	0x00000000	0x3ffb569c	0x00000000
-0x3ffb56a0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb56b0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb56c0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb56d0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb56e0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb56f0:	0x00000000
-.coredump.tasks.data 0x3ffb5c68 0x164 RW 
-0x3ffb5c68:	0x3ffb5b00	0x3ffb5c00	0xe7e3b153	0x3ffb2cb0
-0x3ffb5c78:	0x3ffb5704	0x3ffb5c68	0x3ffb2ca8	0x00000019
-0x3ffb5c88:	0xbd385aa8	0x3b1ece45	0x3ffb5c68	0x00000000
-0x3ffb5c98:	0x00000000	0x3ffb5864	0x454c4449	0x8e700031
-0x3ffb5ca8:	0x0b5d9160	0x00ec3ae7	0x00000001	0x3ffb5c60
-0x3ffb5cb8:	0x00000000	0x00060e20	0x00000000	0x00000000
-0x3ffb5cc8:	0x00000000	0x00000000	0x00000000	0x3ffae88c
-0x3ffb5cd8:	0x3ffae8f4	0x3ffae95c	0x00000000	0x00000000
-0x3ffb5ce8:	0x00000001	0x00000000	0x3f403c78	0x00000000
-0x3ffb5cf8:	0x40001d48	0x00000000	0x00000000	0x00000000
-0x3ffb5d08:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5d18:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5d28:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5d38:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5d48:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5d58:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5d68:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5d78:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5d88:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5d98:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5da8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5db8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5dc8:	0x5fb19b00
-.coredump.tasks.data 0x3ffb5b00 0x160 RW 
-0x3ffb5b00:	0x400821d8	0x400e4a86	0x00060e30	0x800857b8
-0x3ffb5b10:	0x3ffb5bc0	0x00000008	0x00000001	0x00000000
-0x3ffb5b20:	0x3ffb56fc	0x00000000	0x00000001	0x3ffb2bcc
-0x3ffb5b30:	0x3ffb2b90	0x00000000	0x80000001	0x00000000
-0x3ffb5b40:	0x00000001	0x00060021	0x00000000	0x00000000
-0x3ffb5b50:	0x00060020	0x00000001	0x00000000	0x00000000
-0x3ffb5b60:	0x00000000	0x400823d1	0x00000001	0x400864e8
-0x3ffb5b70:	0x3ffaef1c	0x00000000	0x00000000	0x00000000
-0x3ffb5b80:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffb5b90:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5ba0:	0x00000000	0x00000001	0x00060021	0x00000000
-0x3ffb5bb0:	0x00000000	0x3ffb5be0	0x00000000	0x00000000
-0x3ffb5bc0:	0x00000000	0x3ffb56fc	0x00000000	0x00000001
-0x3ffb5bd0:	0x00000000	0x3ffb5c00	0x00000000	0x00000000
-0x3ffb5be0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5bf0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5c00:	0x00000000	0x00000000	0x3ffb5c0c	0x00000000
-0x3ffb5c10:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5c20:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5c30:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5c40:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb5c50:	0x00000000	0x00000000	0x00000000	0x00000000
-.coredump.tasks.data 0x3ffb3c9c 0x164 RW 
-0x3ffb3c9c:	0x3ffb7360	0x3ffb7460	0x000000d1	0x3ffb2c9c
-0x3ffb3cac:	0x3ffb3f74	0x3ffb3c9c	0x3ffb2c94	0x00000014
-0x3ffb3cbc:	0x3ffb6c24	0x3ffb6c24	0x3ffb3c9c	0x00000000
-0x3ffb3ccc:	0x00000005	0x3ffb6cd0	0x5f646162	0x5f727470
-0x3ffb3cdc:	0x6b736174	0x00a5a500	0x7fffffff	0x3ffb74cc
-0x3ffb3cec:	0x00000000	0x00060021	0x00000005	0x00000000
-0x3ffb3cfc:	0x00000000	0x00000000	0x00000000	0x3ffae88c
-0x3ffb3d0c:	0x3ffae8f4	0x3ffae95c	0x00000000	0x00000000
-0x3ffb3d1c:	0x00000001	0x00000000	0x3f403c78	0x00000000
-0x3ffb3d2c:	0x40001d48	0x00000000	0x00000000	0x00000000
-0x3ffb3d3c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3d4c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3d5c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3d6c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3d7c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3d8c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3d9c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3dac:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3dbc:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3dcc:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3ddc:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3dec:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3dfc:	0xa5a5a500
-.coredump.tasks.data 0x3ffb7360 0x16c RW 
-0x3ffb7360:	0x400821d8	0x4008559e	0x00060230	0x800d2113
-0x3ffb7370:	0x3ffb7420	0x000000d1	0x00000000	0x3ffb106c
-0x3ffb7380:	0x3ffb3c9c	0x00000000	0x00000000	0x8008559e
-0x3ffb7390:	0x3ffb7400	0x00000000	0x000000d1	0x00060023
-0x3ffb73a0:	0x00000001	0x00060021	0x3ffb5b70	0x00000000
-0x3ffb73b0:	0x800d27a4	0x3ffb73e0	0x400014fd	0x4000150d
-0x3ffb73c0:	0xfffffff9	0x400823d1	0x00000001	0x400864e8
-0x3ffb73d0:	0x3ffb077c	0x00000000	0x00000000	0x00000000
-0x3ffb73e0:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffb73f0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7400:	0x00060023	0x00000001	0x00060021	0x3ffb5b70
-0x3ffb7410:	0x00000000	0x3ffb7440	0x00000000	0x00000000
-0x3ffb7420:	0x3ffb106c	0x3ffb3c9c	0x00000000	0x00000000
-0x3ffb7430:	0x00000000	0x3ffb7460	0x00000000	0x00000000
-0x3ffb7440:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7450:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7460:	0x00000000	0x00000000	0x3ffb746c	0x00000000
-0x3ffb7470:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7480:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb7490:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb74a0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb74b0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb74c0:	0x00000000	0x00000000	0x00000000
-.coredump.tasks.data 0x3ffb3f6c 0x164 RW 
-0x3ffb3f6c:	0x3ffb8370	0x3ffb8470	0x000000d1	0x3ffb3ca4
-0x3ffb3f7c:	0x3ffb2c9c	0x3ffb3f6c	0x3ffb2c94	0x0000000f
-0x3ffb3f8c:	0x3ffb3cb8	0x3ffb6c24	0x3ffb3f6c	0x00000000
-0x3ffb3f9c:	0x0000000a	0x3ffb7cd8	0x6c696166	0x615f6465
-0x3ffb3fac:	0x72657373	0x00745f74	0x00000000	0x3ffb84d4
-0x3ffb3fbc:	0x00000000	0x00060021	0x0000000a	0x00000000
-0x3ffb3fcc:	0x00000000	0x00000000	0x00000000	0x3ffae88c
-0x3ffb3fdc:	0x3ffae8f4	0x3ffae95c	0x00000000	0x00000000
-0x3ffb3fec:	0x00000001	0x00000000	0x3f403c78	0x00000000
-0x3ffb3ffc:	0x40001d48	0x00000000	0x00000000	0x00000000
-0x3ffb400c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb401c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb402c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb403c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb404c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb405c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb406c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb407c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb408c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb409c:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb40ac:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb40bc:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb40cc:	0x00000000
-.coredump.tasks.data 0x3ffb8370 0x164 RW 
-0x3ffb8370:	0x400821d8	0x4008559e	0x00060230	0x800d20a3
-0x3ffb8380:	0x3ffb8430	0x000000d1	0x00000000	0x3ffb106c
-0x3ffb8390:	0x3ffb3f6c	0x00000000	0x00000000	0x8008559e
-0x3ffb83a0:	0x3ffb8410	0x00000000	0x000000d1	0x00060023
-0x3ffb83b0:	0x00000001	0x00060021	0x00000000	0x00000000
-0x3ffb83c0:	0x800d27a4	0x3ffb83f0	0x400014fd	0x4000150d
-0x3ffb83d0:	0xfffffff8	0x400823d1	0x00000001	0x400864e8
-0x3ffb83e0:	0x3ffb178c	0x00000000	0x00000000	0x00000000
-0x3ffb83f0:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffb8400:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb8410:	0x00060023	0x00000001	0x00060021	0x00000000
-0x3ffb8420:	0x00000000	0x3ffb8450	0x00000000	0x00000000
-0x3ffb8430:	0x3ffb106c	0x3ffb3f6c	0x00000000	0x00000000
-0x3ffb8440:	0x00000000	0x3ffb8470	0x00000000	0x00000000
-0x3ffb8450:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb8460:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb8470:	0x00000000	0x00000000	0x3ffb847c	0x00000000
-0x3ffb8480:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb8490:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb84a0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb84b0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb84c0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb84d0:	0x00000000
-.coredump.tasks.data 0x3ffb66c8 0x164 RW 
-0x3ffb66c8:	0x3ffb6540	0x3ffb6660	0x00000000	0x3ffb2c88
-0x3ffb66d8:	0x3ffb2c88	0x3ffb66c8	0x3ffb2c80	0x00000018
-0x3ffb66e8:	0x3ffb5dfc	0x3ffb5dfc	0x3ffb66c8	0x3ffb5df4
-0x3ffb66f8:	0x00000001	0x3ffb5ec4	0x20726d54	0x00637653
-0x3ffb6708:	0xd39f0f55	0x00a2af81	0x00000000	0x3ffb66c0
-0x3ffb6718:	0x00000000	0x00060021	0x00000001	0x00000000
-0x3ffb6728:	0x00000000	0x00000000	0x00000000	0x3ffae88c
-0x3ffb6738:	0x3ffae8f4	0x3ffae95c	0x00000000	0x00000000
-0x3ffb6748:	0x00000001	0x00000000	0x3f403c78	0x00000000
-0x3ffb6758:	0x40001d48	0x00000000	0x00000000	0x00000000
-0x3ffb6768:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6778:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6788:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6798:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb67a8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb67b8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb67c8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb67d8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb67e8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb67f8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6808:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6818:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6828:	0x97f9e600
-.coredump.tasks.data 0x3ffb6540 0x180 RW 
-0x3ffb6540:	0x400821d8	0x4008629c	0x00060830	0x8008638f
-0x3ffb6550:	0x3ffb6600	0x3ffb2ea8	0x00000000	0x00000001
-0x3ffb6560:	0x3ffb510c	0x00000000	0x00000001	0x8008629c
-0x3ffb6570:	0x3ffb65e0	0x00000000	0x3ffb2c00	0x3ffb5e18
-0x3ffb6580:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6590:	0xa5a5a5a5	0xa5a5a5a5	0x00000000	0x00000000
-0x3ffb65a0:	0x00000000	0x400823d1	0x00000000	0x400864e8
-0x3ffb65b0:	0x3ffaf97c	0x00000000	0x00000000	0x00000000
-0x3ffb65c0:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffb65d0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb65e0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb65f0:	0x00000000	0x3ffb6630	0x00000000	0x00000000
-0x3ffb6600:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6610:	0x3ffaf97c	0x00000000	0x00000000	0x00000000
-0x3ffb6620:	0x00000000	0x3ffb6660	0x00000000	0x00000000
-0x3ffb6630:	0x00000001	0x00000000	0x00000000	0x00000000
-0x3ffb6640:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6650:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6660:	0x00000000	0x00000000	0x3ffb666c	0x00000000
-0x3ffb6670:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6680:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb6690:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb66a0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb66b0:	0x00000000	0x00000000	0x00000000	0x00000000
-.coredump.tasks.data 0x3ffafa88 0x164 RW 
-0x3ffafa88:	0x3ffaf900	0x3ffafa20	0x5ff990da	0x3ffb3b3c
-0x3ffafa98:	0x3ffafda0	0x3ffafa88	0x3ffb2c24	0x00000003
-0x3ffafaa8:	0x3ffaea5c	0x3ffaea5c	0x3ffafa88	0x3ffaea54
-0x3ffafab8:	0x00000016	0x3ffaea84	0x5f707365	0x656d6974
-0x3ffafac8:	0xe11f0072	0x00f45ee9	0x00000000	0x3ffafa80
-0x3ffafad8:	0x00000000	0x00060021	0x00000016	0x00000000
-0x3ffafae8:	0x00000000	0x00000000	0x00000000	0x3ffae88c
-0x3ffafaf8:	0x3ffae8f4	0x3ffae95c	0x00000000	0x00000000
-0x3ffafb08:	0x00000001	0x00000000	0x3f403c78	0x00000000
-0x3ffafb18:	0x40001d48	0x00000000	0x00000000	0x00000000
-0x3ffafb28:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafb38:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafb48:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafb58:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafb68:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafb78:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafb88:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafb98:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafba8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafbb8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafbc8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafbd8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafbe8:	0x354b8800
-.coredump.tasks.data 0x3ffaf900 0x180 RW 
-0x3ffaf900:	0x400821d8	0x400846ad	0x00060030	0x800d14fb
-0x3ffaf910:	0x3ffaf9c0	0x3ffaea30	0x00000000	0x3ffaea78
-0x3ffaf920:	0x00000000	0x00000001	0x00000001	0x800846ad
-0x3ffaf930:	0x3ffaf9a0	0x00000000	0x3ffb2e9c	0x3ffb2e9c
-0x3ffaf940:	0x00000001	0x00060021	0x00000000	0x00000000
-0x3ffaf950:	0xa5a5a5a5	0xa5a5a5a5	0x00000000	0x00000000
-0x3ffaf960:	0x00000000	0x400823d1	0x00000001	0x400864e8
-0x3ffaf970:	0x3ffa8d3c	0x00000000	0x00000000	0x00000000
-0x3ffaf980:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffaf990:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffaf9a0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffaf9b0:	0x00000000	0x3ffafa00	0x00000000	0x00000000
-0x3ffaf9c0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffaf9d0:	0xffffffff	0x00000000	0x00000000	0x00000000
-0x3ffaf9e0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffaf9f0:	0x00000000	0x3ffafa20	0x00000000	0x00000000
-0x3ffafa00:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafa10:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafa20:	0x00000000	0x00000000	0x3ffafa2c	0x00000000
-0x3ffafa30:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafa40:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafa50:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafa60:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafa70:	0x00000000	0x00000000	0x00000000	0x00000000
-.coredump.tasks.data 0x3ffb3b34 0x164 RW 
-0x3ffb3b34:	0x3ffb3980	0x3ffb3ac0	0x88083cc0	0x3ffb2c2c
-0x3ffb3b44:	0x3ffafa90	0x3ffb3b34	0x3ffb2c24	0x00000001
-0x3ffb3b54:	0x3ffaff2c	0x3ffaff2c	0x3ffb3b34	0x3ffaff24
-0x3ffb3b64:	0x00000018	0x3ffb3730	0x31637069	0xeff9c300
-0x3ffb3b74:	0xc4c0f656	0x008423ac	0x00000001	0x3ffb3b2c
-0x3ffb3b84:	0x00000000	0x00060021	0x00000018	0x00000000
-0x3ffb3b94:	0x00000000	0x00000000	0x00000000	0x3ffae88c
-0x3ffb3ba4:	0x3ffae8f4	0x3ffae95c	0x00000000	0x00000000
-0x3ffb3bb4:	0x00000001	0x00000000	0x3f403c78	0x00000000
-0x3ffb3bc4:	0x40001d48	0x00000000	0x00000000	0x00000000
-0x3ffb3bd4:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3be4:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3bf4:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c04:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c14:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c24:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c34:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c44:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c54:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c64:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c74:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c84:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3c94:	0x048ed900
-.coredump.tasks.data 0x3ffb3980 0x1ac RW 
-0x3ffb3980:	0x400821d8	0x4008114a	0x00060030	0x800846ad
-0x3ffb3990:	0x3ffb3a40	0x00000001	0x3ffb2e9c	0x3ffb2ea0
-0x3ffb39a0:	0x3ffe7c90	0x00000000	0x00060723	0x8008114a
-0x3ffb39b0:	0x3ffb3a20	0x3ff000e0	0x00000001	0x3ffb102c
-0x3ffb39c0:	0x00000001	0x00060020	0x00060023	0x00000000
-0x3ffb39d0:	0x3ffb3a40	0x00000001	0x00000000	0x00000000
-0x3ffb39e0:	0x00000000	0x400823d1	0x00000001	0x400864e8
-0x3ffb39f0:	0x3ffacddc	0x00000000	0x00000000	0x00000000
-0x3ffb3a00:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffb3a10:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3a20:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffb3a30:	0x800811b3	0x3ffb3a60	0x3ffaff00	0x00000000
-0x3ffb3a40:	0x00000001	0x00000001	0x00060020	0x00060023
-0x3ffb3a50:	0x00000000	0x3ffb3aa0	0x00000001	0x40082ff8
-0x3ffb3a60:	0x00000000	0x00000009	0x00000000	0x00060723
-0x3ffb3a70:	0xffffffff	0x3ffb3aa0	0x00000001	0x40082ff8
-0x3ffb3a80:	0x3ffaff48	0x00000000	0x00000001	0x00000000
-0x3ffb3a90:	0x00000000	0x3ffb3ac0	0x00000000	0x00000000
-0x3ffb3aa0:	0x00000001	0x00000000	0x00000000	0x00000000
-0x3ffb3ab0:	0x80080f2c	0x3ffe7d80	0x00000028	0x00000028
-0x3ffb3ac0:	0x00000000	0x00000000	0x3ffb3acc	0x00000000
-0x3ffb3ad0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3ae0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3af0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3b00:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3b10:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3b20:	0x00000000	0x00000000	0x00000000
-.coredump.tasks.data 0x3ffafd98 0x164 RW 
-0x3ffafd98:	0x3ffb35a0	0x3ffb36c0	0x73fa8154	0x3ffafa90
-0x3ffafda8:	0x3ffb2c2c	0x3ffafd98	0x3ffb2c24	0x00000001
-0x3ffafdb8:	0x3ffafd70	0x3ffafd70	0x3ffafd98	0x3ffafd68
-0x3ffafdc8:	0x00000018	0x3ffb332c	0x30637069	0x1e3d8600
-0x3ffafdd8:	0xfe7fd40a	0x0014a8b5	0x00000000	0x3ffb3728
-0x3ffafde8:	0x00000000	0x00060021	0x00000018	0x00000000
-0x3ffafdf8:	0x00000000	0x00000000	0x00000000	0x3ffae88c
-0x3ffafe08:	0x3ffae8f4	0x3ffae95c	0x00000000	0x00000000
-0x3ffafe18:	0x00000001	0x00000000	0x3f403c78	0x00000000
-0x3ffafe28:	0x40001d48	0x00000000	0x00000000	0x00000000
-0x3ffafe38:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafe48:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafe58:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafe68:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafe78:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafe88:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafe98:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafea8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafeb8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafec8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafed8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafee8:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffafef8:	0x7eb2c400
-.coredump.tasks.data 0x3ffb35a0 0x188 RW 
-0x3ffb35a0:	0x400821d8	0x400846ad	0x00060030	0x800811b3
-0x3ffb35b0:	0x3ffb3660	0x3ffafd44	0x00000000	0x3ffafd8c
-0x3ffb35c0:	0x00000000	0x00000001	0x00000001	0x800846ad
-0x3ffb35d0:	0x3ffb3640	0x00000000	0x3ffb2e9c	0x3ffb2e9c
-0x3ffb35e0:	0x3ffe3af0	0x00000000	0x00000002	0x00000000
-0x3ffb35f0:	0xa5a5a5a5	0xa5a5a5a5	0x00000000	0x00000000
-0x3ffb3600:	0x00000000	0x400823d1	0x3ffe3af0	0x400864e8
-0x3ffb3610:	0x3ffac9dc	0x00000000	0x00000000	0x00000000
-0x3ffb3620:	0xb33fffff	0x00000000	0x00000000	0x00000000
-0x3ffb3630:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3640:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3650:	0x00000000	0x3ffb36a0	0x00000000	0x00000000
-0x3ffb3660:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3670:	0xffffffff	0x00000000	0x00000000	0x00000000
-0x3ffb3680:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3690:	0x00000000	0x3ffb36c0	0x00000000	0x00000000
-0x3ffb36a0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb36b0:	0x80080eaa	0x3ffe3ba0	0x3ffb2c0c	0x3ffb2ee4
-0x3ffb36c0:	0x00000000	0x00000000	0x3ffb36cc	0x00000000
-0x3ffb36d0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb36e0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb36f0:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3700:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3710:	0x00000000	0x00000000	0x00000000	0x00000000
-0x3ffb3720:	0x00000000	0x00000000
+.coredump.tasks.data 0x3ffb80f4 0x164 RW 
+0x3ffb80f4:	0x3ffb7f40	0x3ffb8080	0x0000006b	0x3ffb2d4c
+0x3ffb8104:	0x3ffb2d4c	0x3ffb80f4	0x3ffb2d44	0x00000012
+0x3ffb8114:	0x718b4fa3	0x2b2b9484	0x3ffb80f4	0x00000000
+0x3ffb8124:	0x00000007	0x3ffb78f0	0x6c616e75	0x656e6769
+0x3ffb8134:	0x74705f64	0x00745f72	0x00000001	0x3ffb80ec
+0x3ffb8144:	0x00000000	0x00060820	0x00000007	0x00000000
+0x3ffb8154:	0x00000000	0x00000000	0x00000000	0x3ffae8ac
+0x3ffb8164:	0x3ffae914	0x3ffae97c	0x00000000	0x00000000
+0x3ffb8174:	0x00000001	0x00000000	0x3f402f58	0x00000000
+0x3ffb8184:	0x40001d48	0x00000000	0x00000000	0x00000000
+0x3ffb8194:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb81a4:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb81b4:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb81c4:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb81d4:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb81e4:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb81f4:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8204:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8214:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8224:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8234:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8244:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8254:	0xa90cd300
+.coredump.tasks.data 0x3ffb7ef0 0x1fc RW 
+0x3ffb7ef0:	0x0000001f	0x400d22a9	0x00060430	0x800d2284
+0x3ffb7f00:	0x3ffb7fb0	0x00000002	0x3f402f56	0x3ffb7ff0
+0x3ffb7f10:	0x3ffae914	0x00000000	0x00000000	0x00000005
+0x3ffb7f20:	0xffffffad	0x00000020	0x3ffb815c	0x00000001
+0x3ffb7f30:	0x00000080	0x00000001	0x00000001	0x0000001f
+0x3ffb7f40:	0x0000001d	0x00000005	0x400014fd	0x4000150d
+0x3ffb7f50:	0xfffffff8	0x00000001	0x00000080	0x400821a0
+0x3ffb7f60:	0x3ffb01b0	0x00000000	0x00000000	0x00000000
+0x3ffb7f70:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffb7f80:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7f90:	0x00000001	0x00000080	0x00000001	0x00000001
+0x3ffb7fa0:	0x800d2284	0x3ffb7fe0	0x00000001	0x3ffae914
+0x3ffb7fb0:	0x800d281f	0x3ffb7fe0	0x0000000a	0x3ffae914
+0x3ffb7fc0:	0x3ffb7ff0	0x3ffae914	0x00000000	0x00000000
+0x3ffb7fd0:	0x800d22cc	0x3ffb8010	0x0000000a	0x00000001
+0x3ffb7fe0:	0x3f402eb3	0x0000001e	0x3f402f55	0x00000001
+0x3ffb7ff0:	0x00000000	0x3ffb7700	0x400d2240	0x00000000
+0x3ffb8000:	0x80084d60	0x3ffb8040	0x00000000	0x00000000
+0x3ffb8010:	0x80084d63	0x3ffb8040	0x00000000	0x00000000
+0x3ffb8020:	0x3ffb1068	0x00000001	0x00060021	0x3ffb76f0
+0x3ffb8030:	0x00000000	0x3ffb8060	0x400d22b4	0x00000000
+0x3ffb8040:	0x00060023	0x3ffb80f4	0x00000000	0x00000000
+0x3ffb8050:	0x00000000	0x3ffb8080	0x00000000	0x00000000
+0x3ffb8060:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8070:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8080:	0x00000000	0x00000000	0x3ffb808c	0x00000000
+0x3ffb8090:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb80a0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb80b0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb80c0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb80d0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb80e0:	0x00000000	0x00000000	0x00000000
+.coredump.tasks.data 0x3ffb57d0 0x164 RW 
+0x3ffb57d0:	0x3ffb5620	0x3ffb5760	0x52eb6e48	0x3ffb5f44
+0x3ffb57e0:	0x3ffb2cc0	0x3ffb57d0	0x3ffb2cb8	0x00000019
+0x3ffb57f0:	0x3f46009b	0xb6a2b1ac	0x3ffb57d0	0x00000000
+0x3ffb5800:	0x00000000	0x3ffb51cc	0x454c4449	0x0ae50030
+0x3ffb5810:	0x91431228	0x004d3d36	0x00000000	0x3ffb57c8
+0x3ffb5820:	0x00000000	0x00060020	0x00000000	0x00000000
+0x3ffb5830:	0x00000000	0x00000000	0x00000000	0x3ffae8ac
+0x3ffb5840:	0x3ffae914	0x3ffae97c	0x00000000	0x00000000
+0x3ffb5850:	0x00000001	0x00000000	0x3f402f58	0x00000000
+0x3ffb5860:	0x40001d48	0x00000000	0x00000000	0x00000000
+0x3ffb5870:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5880:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5890:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb58a0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb58b0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb58c0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb58d0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb58e0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb58f0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5900:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5910:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5920:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5930:	0x7734c200
+.coredump.tasks.data 0x3ffb5620 0x1a8 RW 
+0x3ffb5620:	0x400821fc	0x400dbfa6	0x00060230	0x800d1656
+0x3ffb5630:	0x3ffb56e0	0x00000000	0x00000001	0x00000000
+0x3ffb5640:	0x00000001	0x3ff000e0	0x00000001	0x800d133e
+0x3ffb5650:	0x3ffb56b0	0x00000000	0x00000001	0x80084f5f
+0x3ffb5660:	0x3ffb8860	0x00000003	0x00060023	0x00000000
+0x3ffb5670:	0x3ffb2b60	0x400d1338	0x00000000	0x00000000
+0x3ffb5680:	0x00000000	0x400823f5	0x3ffb8860	0x400869e4
+0x3ffb5690:	0x3ffad890	0x00000000	0x00000000	0x00000000
+0x3ffb56a0:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffb56b0:	0x00000001	0x00000000	0x00000000	0x00000000
+0x3ffb56c0:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffb56d0:	0x80085cdd	0x3ffb5700	0x00000008	0x00000000
+0x3ffb56e0:	0x00000000	0x00000001	0x3ff000e0	0x00000001
+0x3ffb56f0:	0x80084d60	0x3ffb5720	0x00000000	0x00000000
+0x3ffb5700:	0x00000001	0x00000001	0x00060021	0x00060423
+0x3ffb5710:	0x00000000	0x3ffb5740	0x40085cd4	0x00000000
+0x3ffb5720:	0x00060023	0x3ffb5f3c	0x00000000	0x00000001
+0x3ffb5730:	0x00000000	0x3ffb5760	0x00000000	0x00000000
+0x3ffb5740:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5750:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5760:	0x00000000	0x00000000	0x3ffb576c	0x00000000
+0x3ffb5770:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5780:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5790:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb57a0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb57b0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb57c0:	0x00000000	0x00000000
+.coredump.tasks.data 0x3ffb5f3c 0x164 RW 
+0x3ffb5f3c:	0x3ffb5d90	0x3ffb5ed0	0xf5a483df	0x3ffb2cc0
+0x3ffb5f4c:	0x3ffb57d8	0x3ffb5f3c	0x3ffb2cb8	0x00000019
+0x3ffb5f5c:	0x96a7c1be	0x88d73ea5	0x3ffb5f3c	0x00000000
+0x3ffb5f6c:	0x00000000	0x3ffb5938	0x454c4449	0x6cee0031
+0x3ffb5f7c:	0xe74e9ebd	0x005cb0e4	0x00000001	0x3ffb5f34
+0x3ffb5f8c:	0x00000000	0x00060e20	0x00000000	0x00000000
+0x3ffb5f9c:	0x00000000	0x00000000	0x00000000	0x3ffae8ac
+0x3ffb5fac:	0x3ffae914	0x3ffae97c	0x00000000	0x00000000
+0x3ffb5fbc:	0x00000001	0x00000000	0x3f402f58	0x00000000
+0x3ffb5fcc:	0x40001d48	0x00000000	0x00000000	0x00000000
+0x3ffb5fdc:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5fec:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5ffc:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb600c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb601c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb602c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb603c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb604c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb605c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb606c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb607c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb608c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb609c:	0x99788c00
+.coredump.tasks.data 0x3ffb5d90 0x1a4 RW 
+0x3ffb5d90:	0x400821fc	0x400dbfa6	0x00060e30	0x800d1656
+0x3ffb5da0:	0x3ffb5e50	0x00000000	0x80000001	0x00000000
+0x3ffb5db0:	0x00000001	0x00000003	0x00060023	0x800d133e
+0x3ffb5dc0:	0x3ffb5e20	0x00000000	0x00060823	0x00060820
+0x3ffb5dd0:	0x00000001	0x00060820	0x00060023	0x00000000
+0x3ffb5de0:	0x800d1333	0x3ffb5e00	0x00000000	0x00000000
+0x3ffb5df0:	0x00000000	0x400823f5	0x00000001	0x400869e4
+0x3ffb5e00:	0x3ffae000	0x00000000	0x00000000	0x00000000
+0x3ffb5e10:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffb5e20:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5e30:	0x80084f5f	0x3ffb3690	0x00000003	0x00060023
+0x3ffb5e40:	0x80085cdd	0x3ffb5e70	0x00000008	0x00000001
+0x3ffb5e50:	0x00000000	0x00000001	0x00000003	0x00060023
+0x3ffb5e60:	0x80084d60	0x3ffb5e90	0x00000000	0x00000000
+0x3ffb5e70:	0x00000001	0x00000001	0x00060021	0x00000000
+0x3ffb5e80:	0x00000000	0x3ffb5eb0	0x40085cd4	0x00000000
+0x3ffb5e90:	0x00060023	0x3ffb57d0	0x00000000	0x00000001
+0x3ffb5ea0:	0x00000000	0x3ffb5ed0	0x00000000	0x00000000
+0x3ffb5eb0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5ec0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5ed0:	0x00000000	0x00000000	0x3ffb5edc	0x00000000
+0x3ffb5ee0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5ef0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5f00:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5f10:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5f20:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb5f30:	0x00000000
+.coredump.tasks.data 0x3ffb7788 0x164 RW 
+0x3ffb7788:	0x3ffb7600	0x3ffb7720	0x000000cf	0x3ffb2cac
+0x3ffb7798:	0x3ffb8a68	0x3ffb7788	0x3ffb2ca4	0x00000014
+0x3ffb77a8:	0x3ffb6e74	0x3ffb6e74	0x3ffb7788	0x00000000
+0x3ffb77b8:	0x00000005	0x3ffb6f84	0x5f646162	0x5f727470
+0x3ffb77c8:	0x6b736174	0x002c7200	0x7fffffff	0x3ffb7780
+0x3ffb77d8:	0x00000000	0x00060021	0x00000005	0x00000000
+0x3ffb77e8:	0x00000000	0x00000000	0x00000000	0x3ffae8ac
+0x3ffb77f8:	0x3ffae914	0x3ffae97c	0x00000000	0x00000000
+0x3ffb7808:	0x00000001	0x00000000	0x3f402f58	0x00000000
+0x3ffb7818:	0x40001d48	0x00000000	0x00000000	0x00000000
+0x3ffb7828:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7838:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7848:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7858:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7868:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7878:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7888:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7898:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb78a8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb78b8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb78c8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb78d8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb78e8:	0x72bcba00
+.coredump.tasks.data 0x3ffb7600 0x180 RW 
+0x3ffb7600:	0x400821fc	0x40085ac6	0x00060230	0x800d224f
+0x3ffb7610:	0x3ffb76c0	0x000000cf	0x00000000	0x3ffb1068
+0x3ffb7620:	0x00000001	0x00060021	0x00060823	0x80085ac6
+0x3ffb7630:	0x3ffb76a0	0x00000000	0x000000cf	0x00060023
+0x3ffb7640:	0x3ffb38a8	0x00000000	0x00000000	0x00000000
+0x3ffb7650:	0x800d281c	0x3ffb7680	0x400014fd	0x4000150d
+0x3ffb7660:	0xfffffff9	0x400823f5	0x3ffb38a8	0x400869e4
+0x3ffb7670:	0x3ffaf850	0x00000000	0x00000000	0x00000000
+0x3ffb7680:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffb7690:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb76a0:	0x00060023	0x3ffb38a8	0x00000000	0x00000000
+0x3ffb76b0:	0x80084d60	0x3ffb76e0	0x00000000	0x00000000
+0x3ffb76c0:	0x3ffb1068	0x00000001	0x00060021	0x00060823
+0x3ffb76d0:	0x00000000	0x3ffb7700	0x400d2240	0x00000000
+0x3ffb76e0:	0x00060023	0x3ffb7788	0x00000000	0x00000000
+0x3ffb76f0:	0x00000000	0x3ffb7720	0x00000000	0x00000000
+0x3ffb7700:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7710:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7720:	0x00000000	0x00000000	0x3ffb772c	0x00000000
+0x3ffb7730:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7740:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7750:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7760:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb7770:	0x00000000	0x00000000	0x00000000	0x00000000
+.coredump.tasks.data 0x3ffb8a60 0x164 RW 
+0x3ffb8a60:	0x3ffb88d0	0x3ffb89f0	0x000000cf	0x3ffb7790
+0x3ffb8a70:	0x3ffb2cac	0x3ffb8a60	0x3ffb2ca4	0x0000000f
+0x3ffb8a80:	0x3ffb77a4	0x3ffb6e74	0x3ffb8a60	0x00000000
+0x3ffb8a90:	0x0000000a	0x3ffb825c	0x6c696166	0x615f6465
+0x3ffb8aa0:	0x72657373	0x00745f74	0x00000000	0x3ffb8a58
+0x3ffb8ab0:	0x00000000	0x00060021	0x0000000a	0x00000000
+0x3ffb8ac0:	0x00000000	0x00000000	0x00000000	0x3ffae8ac
+0x3ffb8ad0:	0x3ffae914	0x3ffae97c	0x00000000	0x00000000
+0x3ffb8ae0:	0x00000001	0x00000000	0x3f402f58	0x00000000
+0x3ffb8af0:	0x40001d48	0x00000000	0x00000000	0x00000000
+0x3ffb8b00:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8b10:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8b20:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8b30:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8b40:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8b50:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8b60:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8b70:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8b80:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8b90:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8ba0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8bb0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8bc0:	0xbfa58000
+.coredump.tasks.data 0x3ffb88d0 0x188 RW 
+0x3ffb88d0:	0x400821fc	0x40085ac6	0x00060230	0x800d21d7
+0x3ffb88e0:	0x3ffb8990	0x000000cf	0x00000000	0x3ffb1068
+0x3ffb88f0:	0x00000001	0x00060021	0x00000000	0x80085ac6
+0x3ffb8900:	0x3ffb8970	0x00000000	0x000000cf	0x800d0af5
+0x3ffb8910:	0x3ffb4f80	0x00000800	0x00000001	0x00000000
+0x3ffb8920:	0x800d281c	0x3ffb8950	0x400014fd	0x4000150d
+0x3ffb8930:	0xfffffff8	0x400823f5	0x3ffb4f80	0x400869e4
+0x3ffb8940:	0x3ffb0b20	0x00000000	0x00000000	0x00000000
+0x3ffb8950:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffb8960:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8970:	0x800d0af5	0x3ffb4f80	0x00000800	0x00000001
+0x3ffb8980:	0x80084d60	0x3ffb89b0	0x00000000	0x00000000
+0x3ffb8990:	0x3ffb1068	0x00000001	0x00060021	0x00000000
+0x3ffb89a0:	0x00000000	0x3ffb89d0	0x400d21c8	0x00000000
+0x3ffb89b0:	0x00060023	0x3ffb8a60	0x00000000	0x00000000
+0x3ffb89c0:	0x00000000	0x3ffb89f0	0x00000000	0x00000000
+0x3ffb89d0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb89e0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb89f0:	0x00000000	0x00000000	0x3ffb89fc	0x00000000
+0x3ffb8a00:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8a10:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8a20:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8a30:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8a40:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb8a50:	0x00000000	0x00000000
+.coredump.tasks.data 0x3ffb699c 0x164 RW 
+0x3ffb699c:	0x3ffb67d0	0x3ffb6930	0x00000000	0x3ffb2c98
+0x3ffb69ac:	0x3ffb2c98	0x3ffb699c	0x3ffb2c90	0x00000018
+0x3ffb69bc:	0x3ffb60d0	0x3ffb60d0	0x3ffb699c	0x3ffb60c8
+0x3ffb69cc:	0x00000001	0x3ffb6198	0x20726d54	0x00637653
+0x3ffb69dc:	0x0b63f2ed	0x00d4af25	0x00000000	0x3ffb6994
+0x3ffb69ec:	0x00000000	0x00060021	0x00000001	0x00000000
+0x3ffb69fc:	0x00000000	0x00000000	0x00000000	0x3ffae8ac
+0x3ffb6a0c:	0x3ffae914	0x3ffae97c	0x00000000	0x00000000
+0x3ffb6a1c:	0x00000001	0x00000000	0x3f402f58	0x00000000
+0x3ffb6a2c:	0x40001d48	0x00000000	0x00000000	0x00000000
+0x3ffb6a3c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6a4c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6a5c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6a6c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6a7c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6a8c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6a9c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6aac:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6abc:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6acc:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6adc:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6aec:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6afc:	0x862cff00
+.coredump.tasks.data 0x3ffb67d0 0x1c4 RW 
+0x3ffb67d0:	0x400821fc	0x40081bea	0x00060230	0x80086798
+0x3ffb67e0:	0x3ffb6890	0x00000000	0x3ffb2c10	0x3ffb60ec
+0x3ffb67f0:	0x00000000	0x00000000	0x00060023	0x80081bea
+0x3ffb6800:	0x3ffb6870	0x3ff000dc	0x00000001	0x3ffb1058
+0x3ffb6810:	0x3ffb2eac	0x00000003	0x00060023	0x00000000
+0x3ffb6820:	0x3ffb6890	0x00000000	0x00000000	0x00000000
+0x3ffb6830:	0x00000000	0x400823f5	0x3ffb2eac	0x400869e4
+0x3ffb6840:	0x3ffaea60	0x00000000	0x00000000	0x00000000
+0x3ffb6850:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffb6860:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6870:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6880:	0x8008688b	0x3ffb68b0	0x3ffb2eb8	0x00000000
+0x3ffb6890:	0x00000000	0x4008687c	0x00000000	0x00000000
+0x3ffb68a0:	0x80084d60	0x3ffb68e0	0x00000000	0x00000000
+0x3ffb68b0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb68c0:	0x00000001	0x00000001	0x00060021	0x00000000
+0x3ffb68d0:	0x00000000	0x3ffb6910	0x4008687c	0x00000000
+0x3ffb68e0:	0x00000001	0x00000000	0x00000000	0x00000000
+0x3ffb68f0:	0x00060023	0x3ffb5064	0x00000000	0x00000001
+0x3ffb6900:	0x00000000	0x3ffb6930	0x00000000	0x00000000
+0x3ffb6910:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6920:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6930:	0x00000000	0x00000000	0x3ffb693c	0x00000000
+0x3ffb6940:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6950:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6960:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6970:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6980:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb6990:	0x00000000
+.coredump.tasks.data 0x3ffaf8a8 0x164 RW 
+0x3ffaf8a8:	0x3ffaf700	0x3ffaf840	0x32f97bc0	0x3ffb38b0
+0x3ffaf8b8:	0x3ffb3344	0x3ffaf8a8	0x3ffb2c34	0x00000003
+0x3ffaf8c8:	0x3ffaea7c	0x3ffaea7c	0x3ffaf8a8	0x3ffaea74
+0x3ffaf8d8:	0x00000016	0x3ffaeaa4	0x5f707365	0x656d6974
+0x3ffaf8e8:	0xfd090072	0x00b9d832	0x00000000	0x3ffaf8a0
+0x3ffaf8f8:	0x00000000	0x00060021	0x00000016	0x00000000
+0x3ffaf908:	0x00000000	0x00000000	0x00000000	0x3ffae8ac
+0x3ffaf918:	0x3ffae914	0x3ffae97c	0x00000000	0x00000000
+0x3ffaf928:	0x00000001	0x00000000	0x3f402f58	0x00000000
+0x3ffaf938:	0x40001d48	0x00000000	0x00000000	0x00000000
+0x3ffaf948:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf958:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf968:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf978:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf988:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf998:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf9a8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf9b8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf9c8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf9d8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf9e8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf9f8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffafa08:	0x8a75a700
+.coredump.tasks.data 0x3ffaf700 0x1a0 RW 
+0x3ffaf700:	0x400821fc	0x40084bed	0x00060030	0x800d0d57
+0x3ffaf710:	0x3ffaf7c0	0x3ffaea50	0x00000000	0x3ffaea98
+0x3ffaf720:	0x00000000	0x00000001	0x00000000	0x80084bed
+0x3ffaf730:	0x3ffaf7a0	0x00000000	0x3ffb2eac	0x3ffb2eac
+0x3ffaf740:	0x3ffafe40	0x00000003	0x00060e23	0x00000000
+0x3ffaf750:	0xa5a5a5a5	0xa5a5a5a5	0x00000000	0x00000000
+0x3ffaf760:	0x00000000	0x400823f5	0x3ffafe40	0x400869e4
+0x3ffaf770:	0x3ffa7970	0x00000000	0x00000000	0x00000000
+0x3ffaf780:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffaf790:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf7a0:	0x00000000	0x400d0d44	0x00000000	0x00000000
+0x3ffaf7b0:	0x80084d60	0x3ffaf800	0x00000000	0x00000000
+0x3ffaf7c0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf7d0:	0xffffffff	0x00000000	0x00000000	0x00000000
+0x3ffaf7e0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf7f0:	0x00000000	0x3ffaf820	0x400d0d44	0x00000000
+0x3ffaf800:	0x00060023	0x3ffaf8a8	0x00000000	0x00000001
+0x3ffaf810:	0x00000000	0x3ffaf840	0x00000000	0x00000000
+0x3ffaf820:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf830:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf840:	0x00000000	0x00000000	0x3ffaf84c	0x00000000
+0x3ffaf850:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf860:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf870:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf880:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaf890:	0x00000000	0x00000000	0x00000000	0x00000000
+.coredump.tasks.data 0x3ffb38a8 0x164 RW 
+0x3ffb38a8:	0x3ffb36e0	0x3ffb3840	0xfe254875	0x3ffb2c3c
+0x3ffb38b8:	0x3ffaf8b0	0x3ffb38a8	0x3ffb2c34	0x00000001
+0x3ffb38c8:	0x3ffaffcc	0x3ffaffcc	0x3ffb38a8	0x3ffaffc4
+0x3ffb38d8:	0x00000018	0x3ffb34a4	0x31637069	0x9401b200
+0x3ffb38e8:	0xddcbc9f0	0x0081f729	0x00000001	0x3ffb38a0
+0x3ffb38f8:	0x00000000	0x00060021	0x00000018	0x00000000
+0x3ffb3908:	0x00000000	0x00000000	0x00000000	0x3ffae8ac
+0x3ffb3918:	0x3ffae914	0x3ffae97c	0x00000000	0x00000000
+0x3ffb3928:	0x00000001	0x00000000	0x3f402f58	0x00000000
+0x3ffb3938:	0x40001d48	0x00000000	0x00000000	0x00000000
+0x3ffb3948:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3958:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3968:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3978:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3988:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3998:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb39a8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb39b8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb39c8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb39d8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb39e8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb39f8:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3a08:	0xa3b59b00
+.coredump.tasks.data 0x3ffb36e0 0x1c0 RW 
+0x3ffb36e0:	0x400821fc	0x40081bea	0x00060830	0x80084bed
+0x3ffb36f0:	0x3ffb37a0	0x00000001	0x3ffb2eac	0x3ffb2eb0
+0x3ffb3700:	0x0000000a	0x00800000	0x3ff4001c	0x80081bea
+0x3ffb3710:	0x3ffb3780	0x3ff000e0	0x00000001	0x3ffb1058
+0x3ffb3720:	0x00000001	0x00060820	0x00060023	0x00000000
+0x3ffb3730:	0x3ffb37a0	0x00000001	0x00000000	0x00000000
+0x3ffb3740:	0x00000000	0x400823f5	0x00000001	0x400869e4
+0x3ffb3750:	0x3ffab970	0x00000000	0x00000000	0x00000000
+0x3ffb3760:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffb3770:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3780:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffb3790:	0x80082077	0x3ffb37c0	0x3ffaffa0	0x00000000
+0x3ffb37a0:	0x00000001	0x00000001	0x00060820	0x00060023
+0x3ffb37b0:	0x80084d60	0x3ffb3800	0x00000001	0x40083694
+0x3ffb37c0:	0x00000000	0x00000007	0x00800000	0x3ff4001c
+0x3ffb37d0:	0xffffffff	0x3ffb3800	0x00000001	0x40083694
+0x3ffb37e0:	0x3ffaffe8	0x00000000	0x00000001	0x00000000
+0x3ffb37f0:	0x00000000	0x3ffb3820	0x40082048	0x00000001
+0x3ffb3800:	0x00000001	0x3ffb38a8	0x00000000	0x00000000
+0x3ffb3810:	0x00000000	0x3ffb3840	0x00000000	0x00000000
+0x3ffb3820:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3830:	0x80080fa0	0x3ffe7d80	0x00000028	0x00000028
+0x3ffb3840:	0x00000000	0x00000000	0x3ffb384c	0x00000000
+0x3ffb3850:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3860:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3870:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3880:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb3890:	0x00000000	0x00000000	0x00000000	0x00000000
+.coredump.tasks.data 0x3ffb333c 0x164 RW 
+0x3ffb333c:	0x3ffafdf0	0x3ffaff30	0xe7e4defd	0x3ffaf8b0
+0x3ffb334c:	0x3ffb2c3c	0x3ffb333c	0x3ffb2c34	0x00000001
+0x3ffb335c:	0x3ffafb74	0x3ffafb74	0x3ffb333c	0x3ffafb6c
+0x3ffb336c:	0x00000018	0x3ffafb9c	0x30637069	0xec0c0100
+0x3ffb337c:	0x564f3553	0x00fe85bc	0x00000000	0x3ffaff98
+0x3ffb338c:	0x00000000	0x00060021	0x00000018	0x00000000
+0x3ffb339c:	0x00000000	0x00000000	0x00000000	0x3ffae8ac
+0x3ffb33ac:	0x3ffae914	0x3ffae97c	0x00000000	0x00000000
+0x3ffb33bc:	0x00000001	0x00000000	0x3f402f58	0x00000000
+0x3ffb33cc:	0x40001d48	0x00000000	0x00000000	0x00000000
+0x3ffb33dc:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb33ec:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb33fc:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb340c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb341c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb342c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb343c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb344c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb345c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb346c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb347c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb348c:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffb349c:	0x99acb000
+.coredump.tasks.data 0x3ffafdf0 0x1a8 RW 
+0x3ffafdf0:	0x400821fc	0x40084bed	0x00060e30	0x80082077
+0x3ffafe00:	0x3ffafeb0	0x3ffafb48	0x00000000	0x3ffafb90
+0x3ffafe10:	0x00000000	0x00000001	0x00000002	0x80084bed
+0x3ffafe20:	0x3ffafe90	0x00000000	0x3ffb2eac	0x3ffb2eac
+0x3ffafe30:	0x0000cdcd	0x00000001	0x00000000	0x00000000
+0x3ffafe40:	0xa5a5a5a5	0xa5a5a5a5	0x00000000	0x00000000
+0x3ffafe50:	0x00000000	0x400823f5	0x0000cdcd	0x400869e4
+0x3ffafe60:	0x3ffa8060	0x00000000	0x00000000	0x00000000
+0x3ffafe70:	0xb33fffff	0x00000000	0x00000000	0x00000000
+0x3ffafe80:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffafe90:	0x00000000	0x40082048	0x00000000	0x00000000
+0x3ffafea0:	0x80084d60	0x3ffafef0	0x00000000	0x00000000
+0x3ffafeb0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffafec0:	0xffffffff	0x00000000	0x00000000	0x00000000
+0x3ffafed0:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffafee0:	0x00000000	0x3ffaff10	0x40082048	0x00000000
+0x3ffafef0:	0x00060323	0x3ffb333c	0x00000001	0x00000001
+0x3ffaff00:	0x00000000	0x3ffaff30	0x00000000	0x00000000
+0x3ffaff10:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaff20:	0x80080f1e	0x3ffe3b90	0x3ffb2c1c	0x3ffb2ef0
+0x3ffaff30:	0x00000000	0x00000000	0x3ffaff3c	0x00000000
+0x3ffaff40:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaff50:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaff60:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaff70:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaff80:	0x00000000	0x00000000	0x00000000	0x00000000
+0x3ffaff90:	0x00000000	0x00000000
 
 ===================== ESP32 CORE DUMP END =====================
 ===============================================================

BIN
components/espcoredump/test/test.elf


+ 6 - 1
components/freertos/include/freertos/FreeRTOSConfig.h

@@ -300,7 +300,12 @@ extern void vPortCleanUpTCB ( void *pxTCB );
 #define configXT_BOARD                      1   /* Board mode */
 #define configXT_SIMULATOR					0
 
-#define configENABLE_TASK_SNAPSHOT			1
+#if CONFIG_ESP32_ENABLE_COREDUMP
+#define configENABLE_TASK_SNAPSHOT          1
+#endif
+#ifndef configENABLE_TASK_SNAPSHOT
+#define configENABLE_TASK_SNAPSHOT          1
+#endif
 
 #if CONFIG_SYSVIEW_ENABLE
 #ifndef __ASSEMBLER__

+ 16 - 9
components/spi_flash/flash_ops.c

@@ -69,19 +69,26 @@ static spi_flash_counters_t s_flash_stats;
 #endif //CONFIG_SPI_FLASH_ENABLE_COUNTERS
 
 static esp_err_t spi_flash_translate_rc(esp_rom_spiflash_result_t rc);
+static bool is_safe_write_address(size_t addr, size_t size);
 
 const DRAM_ATTR spi_flash_guard_funcs_t g_flash_guard_default_ops = {
-    .start     = spi_flash_disable_interrupts_caches_and_other_cpu,
-    .end       = spi_flash_enable_interrupts_caches_and_other_cpu,
-    .op_lock   = spi_flash_op_lock,
-    .op_unlock = spi_flash_op_unlock
+    .start                  = spi_flash_disable_interrupts_caches_and_other_cpu,
+    .end                    = spi_flash_enable_interrupts_caches_and_other_cpu,
+    .op_lock                = spi_flash_op_lock,
+    .op_unlock              = spi_flash_op_unlock,
+#if !CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED
+    .is_safe_write_address  = is_safe_write_address
+#endif
 };
 
 const DRAM_ATTR spi_flash_guard_funcs_t g_flash_guard_no_os_ops = {
-    .start      = spi_flash_disable_interrupts_caches_and_other_cpu_no_os,
-    .end        = spi_flash_enable_interrupts_caches_no_os,
-    .op_lock    = 0,
-    .op_unlock  = 0
+    .start                  = spi_flash_disable_interrupts_caches_and_other_cpu_no_os,
+    .end                    = spi_flash_enable_interrupts_caches_no_os,
+    .op_lock                = 0,
+    .op_unlock              = 0,
+#if !CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED
+    .is_safe_write_address  = 0
+#endif
 };
 
 static const spi_flash_guard_funcs_t *s_flash_guard_ops;
@@ -100,7 +107,7 @@ static const spi_flash_guard_funcs_t *s_flash_guard_ops;
 #define CHECK_WRITE_ADDRESS(ADDR, SIZE)
 #else /* FAILS or ABORTS */
 #define CHECK_WRITE_ADDRESS(ADDR, SIZE) do {                            \
-        if (!is_safe_write_address(ADDR, SIZE)) {                       \
+        if (s_flash_guard_ops && s_flash_guard_ops->is_safe_write_address && !s_flash_guard_ops->is_safe_write_address(ADDR, SIZE)) {                       \
             return ESP_ERR_INVALID_ARG;                                 \
         }                                                               \
     } while(0)

+ 14 - 5
components/spi_flash/include/esp_spi_flash.h

@@ -313,6 +313,10 @@ typedef void (*spi_flash_op_lock_func_t)(void);
  * @brief SPI flash operation unlock function.
  */
 typedef void (*spi_flash_op_unlock_func_t)(void);
+/**
+ * @brief Function to protect SPI flash critical regions corruption.
+ */
+typedef bool (*spi_flash_is_safe_write_address_t)(size_t addr, size_t size);
 
 /**
  * Structure holding SPI flash access critical sections management functions.
@@ -332,6 +336,9 @@ typedef void (*spi_flash_op_unlock_func_t)(void);
  *   - 'op_unlock' unlocks access to flash API internal data.
  *   These two functions are recursive and can be used around the outside of multiple calls to
  *   'start' & 'end', in order to create atomic multi-part flash operations.
+ * 3) When CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is disabled, flash writing/erasing
+ *    API checks for addresses provided by user to avoid corruption of critical flash regions
+ *    (bootloader, partition table, running application etc.).
  *
  * Different versions of the guarding functions should be used depending on the context of
  * execution (with or without functional OS). In normal conditions when flash API is called
@@ -343,10 +350,13 @@ typedef void (*spi_flash_op_unlock_func_t)(void);
  *       For example structure can be placed in DRAM and functions in IRAM sections.
  */
 typedef struct {
-    spi_flash_guard_start_func_t    start;      /**< critical section start function. */
-    spi_flash_guard_end_func_t      end;        /**< critical section end function. */
-    spi_flash_op_lock_func_t        op_lock;    /**< flash access API lock function.*/
-    spi_flash_op_unlock_func_t      op_unlock;  /**< flash access API unlock function.*/
+    spi_flash_guard_start_func_t        start;      /**< critical section start function. */
+    spi_flash_guard_end_func_t          end;        /**< critical section end function. */
+    spi_flash_op_lock_func_t            op_lock;    /**< flash access API lock function.*/
+    spi_flash_op_unlock_func_t          op_unlock;  /**< flash access API unlock function.*/
+#if !CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED
+    spi_flash_is_safe_write_address_t   is_safe_write_address; /**< checks flash write addresses.*/
+#endif
 } spi_flash_guard_funcs_t;
 
 /**
@@ -359,7 +369,6 @@ typedef struct {
  */
 void spi_flash_guard_set(const spi_flash_guard_funcs_t* funcs);
 
-
 /**
  * @brief Get the guard functions used for flash access
  *

+ 4 - 3
docs/en/api-guides/core_dump.rst

@@ -18,15 +18,15 @@ Configuration
 
 There are a number of core dump related configuration options which user can choose in configuration menu of the application (`make menuconfig`).
 
-1. Core dump data destination (`Components -> ESP32-specific config -> Core dump destination`):
+1. Core dump data destination (`Components -> ESP32-specific config -> Core dump -> Data destination`):
 
 * Disable core dump generation
 * Save core dump to flash
 * Print core dump to UART
 
-2. Logging level of core dump module (`Components -> ESP32-specific config -> Core dump module logging level`). Value is a number from 0 (no output) to 5 (most verbose).
+2. Maximum number of tasks snapshots in core dump (`Components -> ESP32-specific config -> Core dump -> Maximum number of tasks`).
 
-3. Delay before core dump will be printed to UART (`Components -> ESP32-specific config -> Core dump print to UART delay`). Value is in ms.
+3. Delay before core dump is printed to UART (`Components -> ESP32-specific config -> Core dump -> Delay before print to UART`). Value is in ms.
 
 
 Save core dump to flash
@@ -89,6 +89,7 @@ Generic command syntax:
     * info_corefile. Retrieve core dump and print useful info.
     * dbg_corefile. Retrieve core dump and start GDB session with it.
 :Command Arguments:
+    * --debug,-d DEBUG.             Log level (0..3).
     * --gdb,-g GDB.                 Path to gdb to use for data retrieval.
     * --core,-c CORE.               Path to core dump file to use (if skipped core dump will be read from flash).
     * --core-format,-t CORE_FORMAT. Specifies that file passed with "-c" is an ELF ("elf"), dumped raw binary ("raw") or base64-encoded ("b64") format.