[MDEV-15566] System tablespace does not easily key rotate to unencrypted Created: 2018-03-14  Updated: 2018-05-29  Resolved: 2018-04-06

Status: Closed
Project: MariaDB Server
Component/s: Encryption, Storage Engine - InnoDB, Storage Engine - XtraDB
Affects Version/s: 10.1, 10.2, 10.3
Fix Version/s: 10.1.33, 10.2.15, 10.3.6

Type: Bug Priority: Major
Reporter: Jan Lindström (Inactive) Assignee: Jan Lindström (Inactive)
Resolution: Fixed Votes: 0
Labels: None


 Description   

mtr test case:

 
--source include/have_innodb.inc
# Test uses restart
--source include/not_embedded.inc
--source filekeys_plugin.inc
 
--disable_warnings
set global innodb_file_per_table=OFF;
set global innodb_file_format='Barracuda';
--enable_warnings
 
call mtr.add_suppression("mysqld: file-key-management-filename is not set");
call mtr.add_suppression("Plugin 'file_key_management' init function returned error.");
call mtr.add_suppression("Plugin 'file_key_management' registration as a ENCRYPTION failed.");
 
create table t1(a int not null primary key, b char(200)) engine=innodb;
insert into t1 values (1, 'secretdata');
 
--echo
--echo # Restart server with encryption
-- let $restart_parameters=--plugin-load-add=$FILE_KEY_MANAGEMENT_SO --loose-file-key-management --loose-file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys.txt --file-key-management-encryption-algorithm=aes_cbc --innodb-encrypt-tables=ON --innodb-encryption-threads=4 --innodb-tablespaces-encryption --innodb-encryption-rotate-key-age=15
-- source include/restart_mysqld.inc
 
--echo # Wait until encryption threads have encrypted all tablespaces
 
--let $tables_count= `select count(*) from information_schema.tables where engine = 'InnoDB'`
--let $wait_timeout= 600
--let $wait_condition=SELECT COUNT(*) >= $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND ROTATING_OR_FLUSHING = 0;
--source include/wait_condition.inc
 
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
 
--echo # Success!
 
SELECT * from t1;
 
--echo # Now turn off encryption and wait for threads to decrypt all tablespaces
SET GLOBAL innodb_encrypt_tables = off;
 
--let $wait_condition=SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND ROTATING_OR_FLUSHING = 0;
--source include/wait_condition.inc
 
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
 
--echo # Success!
 
--echo
--echo # Restart server with no encryption setup, there should be no crashes
--let $restart_parameters=--skip-file-key-management --innodb-encrypt-tables=OFF --innodb-encryption-threads=0 --innodb-tablespaces-encryption
-- source include/restart_mysqld.inc
 
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
 
SELECT * from t1;
DROP TABLE t1;

Causes following crash:

encryption.innodb-remove-encryption 'innodb_plugin' [ fail ]
        Test ended at 2018-04-04 10:51:38
 
CURRENT_TEST: encryption.innodb-remove-encryption
mysqltest: At line 53: query 'SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0' failed: 2013: Lost connection to MySQL server during query
 
The result from queries just before the failure was:
< snip >
mysql/innodb_table_stats
mysql/innodb_index_stats
./ibdata1
# Success!
SELECT * from t1;
a	b
1	secretdata
# Now turn off encryption and wait for threads to decrypt all tablespaces
SET GLOBAL innodb_encrypt_tables = off;
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
NAME
mysql/innodb_table_stats
mysql/innodb_index_stats
./ibdata1
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
NAME
# Success!
 
# Restart server with no encryption setup, there should be no crashes
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
 
More results from queries before failure can be found in /home/jan/mysql/10.1-tmp/mysql-test/var/log/innodb-remove-encryption.log
 
 
Server [mysqld.1 - pid: 24973, winpid: 24973, exit: 256] failed during test run
Server log from this test:
----------SERVER LOG START-----------
2018-04-04 10:51:17 140011536948352 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld (mysqld 10.1.32-MariaDB-debug) starting as process 24666 ...
2018-04-04 10:51:17 140011536948352 [Warning] Could not increase number of max_open_files to more than 1024 (request: 4162)
2018-04-04 10:51:17 140011536948352 [ERROR] mysqld: file-key-management-filename is not set
2018-04-04 10:51:17 140011536948352 [ERROR] Plugin 'file_key_management' init function returned error.
2018-04-04 10:51:17 140011536948352 [ERROR] Plugin 'file_key_management' registration as a ENCRYPTION failed.
2018-04-04 10:51:17 140011536948352 [Note] Plugin 'partition' is disabled.
2018-04-04 10:51:17 140011536948352 [Note] Plugin 'SEQUENCE' is disabled.
2018-04-04 10:51:17 140011536948352 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2018-04-04 10:51:17 140011536948352 [Note] InnoDB:  InnoDB: !!!!!!!! UNIV_DEBUG switched on !!!!!!!!!
2018-04-04 10:51:17 140011536948352 [Note] InnoDB:  InnoDB: !!!!!!!! UNIV_SYNC_DEBUG switched on !!!!!!!!!
2018-04-04 10:51:17 140011536948352 [Note] InnoDB: The InnoDB memory heap is disabled
2018-04-04 10:51:17 140011536948352 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2018-04-04 10:51:17 140011536948352 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2018-04-04 10:51:17 140011536948352 [Note] InnoDB: Compressed tables use zlib 1.2.8
2018-04-04 10:51:17 140011536948352 [Note] InnoDB: Using Linux native AIO
2018-04-04 10:51:17 140011536948352 [Note] InnoDB: Using SSE crc32 instructions
2018-04-04 10:51:17 140011536948352 [Note] InnoDB: Initializing buffer pool, size = 8.0M
2018-04-04 10:51:17 140011536948352 [Note] InnoDB: Completed initialization of buffer pool
2018-04-04 10:51:17 140011536948352 [Note] InnoDB: Highest supported file format is Barracuda.
2018-04-04 10:51:18 140011536948352 [Note] InnoDB: 128 rollback segment(s) are active.
2018-04-04 10:51:18 140011536948352 [Note] InnoDB: Waiting for purge to start
2018-04-04 10:51:18 140011536948352 [Note] InnoDB: 5.6.37 started; log sequence number 1629444
2018-04-04 10:51:18 140011143952128 [Note] InnoDB: Dumping buffer pool(s) not yet started
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_SYS_DATAFILES' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_SYS_TABLESTATS' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_CMP' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'XTRADB_READ_VIEW' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'XTRADB_RSEG' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_FT_DELETED' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_LOCK_WAITS' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'CHANGED_PAGE_BITMAPS' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_TABLESPACES_ENCRYPTION' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_SYS_FIELDS' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'XTRADB_INTERNAL_HASH_TABLES' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_TABLESPACES_SCRUBBING' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_CMPMEM_RESET' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_FT_INDEX_TABLE' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_FT_BEING_DELETED' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_MUTEXES' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_FT_CONFIG' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'FEEDBACK' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_FT_INDEX_CACHE' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_FT_DEFAULT_STOPWORD' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_CMP_RESET' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_SYS_COLUMNS' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_CMP_PER_INDEX_RESET' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_SYS_TABLESPACES' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_SYS_SEMAPHORE_WAITS' is disabled.
2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_SYS_INDEXES' is disabled.
2018-04-04 10:51:18 140011536948352 [Warning] /home/jan/mysql/10.1-tmp/sql/mysqld: unknown option '--loose-pam-debug'
2018-04-04 10:51:18 140011536948352 [Warning] /home/jan/mysql/10.1-tmp/sql/mysqld: unknown option '--loose-skip-plugin-innodb-changed-pages'
2018-04-04 10:51:18 140011536948352 [Note] Server socket created on IP: '127.0.0.1'.
2018-04-04 10:51:18 140011536948352 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld: ready for connections.
Version: '10.1.32-MariaDB-debug'  socket: '/home/jan/mysql/10.1-tmp/mysql-test/var/tmp/mysqld.1.sock'  port: 16000  Source distribution
2018-04-04 10:51:18 140011536009984 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld: Normal shutdown
2018-04-04 10:51:18 140011536009984 [Note] Event Scheduler: Purging the queue. 0 events
2018-04-04 10:51:18 140011206850304 [Note] InnoDB: FTS optimize thread exiting.
2018-04-04 10:51:18 140011536009984 [Note] InnoDB: Starting shutdown...
2018-04-04 10:51:20 140011536009984 [Note] InnoDB: Shutdown completed; log sequence number 1632558
2018-04-04 10:51:20 140011536009984 [Note] Debug sync points hit:                   1008
2018-04-04 10:51:20 140011536009984 [Note] Debug sync points executed:              0
2018-04-04 10:51:20 140011536009984 [Note] Debug sync points max active per thread: 0
2018-04-04 10:51:20 140011536009984 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld: Shutdown complete
 
2018-04-04 10:51:21 140671079197824 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld (mysqld 10.1.32-MariaDB-debug) starting as process 24760 ...
2018-04-04 10:51:21 140671079197824 [Warning] Could not increase number of max_open_files to more than 1024 (request: 4162)
2018-04-04 10:51:21 140671079197824 [Note] Plugin 'partition' is disabled.
2018-04-04 10:51:21 140671079197824 [Note] Plugin 'SEQUENCE' is disabled.
2018-04-04 10:51:21 140671079197824 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2018-04-04 10:51:21 140671079197824 [Note] InnoDB:  InnoDB: !!!!!!!! UNIV_DEBUG switched on !!!!!!!!!
2018-04-04 10:51:21 140671079197824 [Note] InnoDB:  InnoDB: !!!!!!!! UNIV_SYNC_DEBUG switched on !!!!!!!!!
2018-04-04 10:51:21 140671079197824 [Note] InnoDB: The InnoDB memory heap is disabled
2018-04-04 10:51:21 140671079197824 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2018-04-04 10:51:21 140671079197824 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2018-04-04 10:51:21 140671079197824 [Note] InnoDB: Compressed tables use zlib 1.2.8
2018-04-04 10:51:21 140671079197824 [Note] InnoDB: Using Linux native AIO
2018-04-04 10:51:21 140671079197824 [Note] InnoDB: Using SSE crc32 instructions
2018-04-04 10:51:21 140671079197824 [Note] InnoDB: Initializing buffer pool, size = 8.0M
2018-04-04 10:51:21 140671079197824 [Note] InnoDB: Completed initialization of buffer pool
2018-04-04 10:51:21 140671079197824 [Note] InnoDB: Highest supported file format is Barracuda.
2018-04-04 10:51:22 140671079197824 [Note] InnoDB: 128 rollback segment(s) are active.
2018-04-04 10:51:22 140671079197824 [Note] InnoDB: Waiting for purge to start
2018-04-04 10:51:22 140671079197824 [Note] InnoDB: 5.6.37 started; log sequence number 1632558
2018-04-04 10:51:22 140671079197824 [Note] InnoDB: Creating #1 encryption thread id 140670677280512 total threads 4.
2018-04-04 10:51:22 140671079197824 [Note] InnoDB: Creating #2 encryption thread id 140670660507392 total threads 4.
2018-04-04 10:51:22 140670685673216 [Note] InnoDB: Dumping buffer pool(s) not yet started
2018-04-04 10:51:22 140671079197824 [Note] InnoDB: Creating #3 encryption thread id 140670652114688 total threads 4.
2018-04-04 10:51:22 140671079197824 [Note] InnoDB: Creating #4 encryption thread id 140670643721984 total threads 4.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_SYS_DATAFILES' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_SYS_TABLESTATS' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_CMP' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'XTRADB_READ_VIEW' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'XTRADB_RSEG' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_FT_DELETED' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_LOCK_WAITS' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'CHANGED_PAGE_BITMAPS' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_SYS_FIELDS' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'XTRADB_INTERNAL_HASH_TABLES' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_TABLESPACES_SCRUBBING' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_CMPMEM_RESET' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_FT_INDEX_TABLE' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_FT_BEING_DELETED' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_MUTEXES' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_FT_CONFIG' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'FEEDBACK' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_FT_INDEX_CACHE' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_FT_DEFAULT_STOPWORD' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_CMP_RESET' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_SYS_COLUMNS' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_CMP_PER_INDEX_RESET' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_SYS_TABLESPACES' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_SYS_SEMAPHORE_WAITS' is disabled.
2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_SYS_INDEXES' is disabled.
2018-04-04 10:51:22 140671079197824 [Warning] /home/jan/mysql/10.1-tmp/sql/mysqld: unknown option '--loose-pam-debug'
2018-04-04 10:51:22 140671079197824 [Warning] /home/jan/mysql/10.1-tmp/sql/mysqld: unknown option '--loose-skip-plugin-innodb-changed-pages'
2018-04-04 10:51:22 140671079197824 [Note] Server socket created on IP: '127.0.0.1'.
2018-04-04 10:51:22 140671079197824 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld: ready for connections.
Version: '10.1.32-MariaDB-debug'  socket: '/home/jan/mysql/10.1-tmp/mysql-test/var/tmp/mysqld.1.sock'  port: 16000  Source distribution
2018-04-04 10:51:34 140671078259456 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld: Normal shutdown
2018-04-04 10:51:34 140671078259456 [Note] Event Scheduler: Purging the queue. 0 events
2018-04-04 10:51:34 140670748571392 [Note] InnoDB: FTS optimize thread exiting.
2018-04-04 10:51:34 140671078259456 [Note] InnoDB: Starting shutdown...
2018-04-04 10:51:36 140671078259456 [Note] InnoDB: Shutdown completed; log sequence number 1636206
2018-04-04 10:51:36 140671078259456 [Note] Debug sync points hit:                   2182
2018-04-04 10:51:36 140671078259456 [Note] Debug sync points executed:              0
2018-04-04 10:51:36 140671078259456 [Note] Debug sync points max active per thread: 0
2018-04-04 10:51:36 140671078259456 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld: Shutdown complete
 
2018-04-04 10:51:36 140568167758976 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld (mysqld 10.1.32-MariaDB-debug) starting as process 24974 ...
2018-04-04 10:51:36 140568167758976 [Warning] Could not increase number of max_open_files to more than 1024 (request: 4162)
2018-04-04 10:51:36 140568167758976 [Note] Plugin 'file_key_management' is disabled.
2018-04-04 10:51:36 140568167758976 [Note] Plugin 'partition' is disabled.
2018-04-04 10:51:36 140568167758976 [Note] Plugin 'SEQUENCE' is disabled.
2018-04-04 10:51:37 140568167758976 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2018-04-04 10:51:37 140568167758976 [Note] InnoDB:  InnoDB: !!!!!!!! UNIV_DEBUG switched on !!!!!!!!!
2018-04-04 10:51:37 140568167758976 [Note] InnoDB:  InnoDB: !!!!!!!! UNIV_SYNC_DEBUG switched on !!!!!!!!!
2018-04-04 10:51:37 140568167758976 [Note] InnoDB: The InnoDB memory heap is disabled
2018-04-04 10:51:37 140568167758976 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2018-04-04 10:51:37 140568167758976 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2018-04-04 10:51:37 140568167758976 [Note] InnoDB: Compressed tables use zlib 1.2.8
2018-04-04 10:51:37 140568167758976 [Note] InnoDB: Using Linux native AIO
2018-04-04 10:51:37 140568167758976 [Note] InnoDB: Using SSE crc32 instructions
2018-04-04 10:51:37 140568167758976 [Note] InnoDB: Initializing buffer pool, size = 8.0M
2018-04-04 10:51:37 140568167758976 [Note] InnoDB: Completed initialization of buffer pool
2018-04-04 10:51:37 140568167758976 [Note] InnoDB: Highest supported file format is Barracuda.
2018-04-04 10:51:38 140568167758976 [Note] InnoDB: 128 rollback segment(s) are active.
2018-04-04 10:51:38 140568167758976 [Note] InnoDB: Waiting for purge to start
2018-04-04 10:51:38 140567828735744 [ERROR] InnoDB: Database page corruption on disk or a failed file read of tablespace ./ibdata1 page  [page id: space=0, page number=307]. You may have to recover from a backup.
2018-04-04 10:51:38 7fd87f7fa700 InnoDB: Page dump in ascii and hex (16384 bytes):
 len 16384; hex 9651612d00000133ffffffffffffffff000000000018ed5145bf000000018a4108a7000000005d8b2a76e34137e5190c09f2627d33a05ad2bcb86c1291e29191473eaf4883c15e3c3f6d055b3fe4520fb6cd3fdaf392b852dfa108b1886966fee2d30ce32fd607a71c62e16a40b633dbfcfa1b550c5280e2e1b4b6a7fb1d156753832ba6964d87c644422539c6ded02507e753ae5620451943c7eab13f0be4a0e4fa572af1147223bb3aa921b64d51fe800dd7f443f11dfd9e3d930c7dfe3a98e61f47bb078c9184c88416ce6faacebf0e3d8739396055b5a67dc72ed8c7ddfbe96e59bc26be2c955857b4c0877b5a4e72a7e6b8481d20c3563f67df68d8bf14ed0de1bbe88d4087d72c9dca27fd8e3fd21097fab3e4624452a1608bbfa63a7e74b8a4417df7180bd89e7d6d70b3d28f46c7b0df96774ae486f889b70956684f53b69767ec9c729bb4cfc0ad37991723e5a399898ae87f75814ebcb912e860e87019b567302c0a4727ec925ca13852bece07ed200f50dfb7f3a230507bce2fae787650c004a9647c4734f230bb8a93552dff4afde465d723869448d2a85d4863a4292377875f6bf38070505ffe202a286970696cc1e79e02addcfa0d8d0b4f40607b8b1f2f10355153de6aa2d230bf2c22bef1f8f49e543dd1e391f6f10d6dcf89ceac6f7bc93fe963c20e7f3f8c4512dc5632d7d2177245beaa6f605f2878ecea2f5c5f29f08511c5585acbb4094aea7ad29a4e6ba6d438c016b3905da754ada79f4399db4fd4a3f5d18b5353b2d2c98c70f6ab2e4aab89142bc1754a6ea0cee4a9b6849f6a12503f03d69c5119d7afa91c10a122c4a934204d1bd6cdb65a9b60949388779f0c9eb996522bc7b3502ef136dfc2bfcac1126b3823bfb786c94c0e9cb0d9cd8faaf1b08a1d49f9dda437dae042a6a5afb45855553f4e1ba0505a9b8f77108a13a1f617ba3bdff34101ca058d471a486be9c57198036a387a2a89e2ee2521ad6ff2927c4e91e10e1e652cd8dd524e63c989be892b88271bafd9967f382efcd4831199e0f24c63f88f2a619eb1bd28489fb1158cb99ecfb82ddfda0fb8ebf471bddcdff1e383847fd8b6dcdd97a4dea3be70b5c5a313e16f08556041712e04317dfaa8d43dc48555bcebb771d4c3e09dc012b9a194ed92651b915c4db2916d11b23050bcc39f4ebda3fab2a883ea43f6b830b304859b0d469fa801fe743b66f4160d20e7492682cd4172bcf656f36552f35cd7cbab780342e20b5ac5f53679baf5b1a381855973e2aed12714d452c64b524b038846c30e0cb151dea59ffaea956c3c740bc98d5e2472fe24deda052d3c3b172f505bdd271a0809464c0d5be9787eab2d7fed620dd72a0101e7cfb3aae2000a380fd1ab587306a954dadf8d8d6773d9c502b6cadd534c54d647d58980f6612d9eedd4235faab90fc8423a7b412822eeb80398f8d89a7f5b63839da16132e35f12e399c3d09b1b5e67e5d3b73d36988a1f432a8386f78ca0b7dffa02c8e9343e725b0262957b09a5a6c775f77b9faf631c361a78e54d526f560be767650d67a6a7cd16476f2c57c5fbf62b7f7a6381561e8a2266c7848ab1bd656814fd6babc77f275da64b4fba965fc10a052b56b18ba367c3062d294396ab0fecb8b6c58f788bcb60e46b75c616a03506e17566ca1d21e28b5b77600ac0fa0bac1555b23c4e7b2348670600fec023b258d961fae1763f6d840cdb45b73b3da0c728440b0b45a37b7e33a601ef3c2afadb45cf08ae38ca05d50cbefdcfd982f4395688bcc77912c9244acd12393e705f68d70af3b5b8b64f379cb7b7829be2659562f2b46cc4a92370f1f14b394c14fde60129fc5825c8b6851bbf474f523922d2de5b3735bed7ea19a90e4eedc65e4461ea3138c414b6d01ad03687536f51eed7cb5eb2d77f7d91057ce3a413d292ad3a7641291607adf2bfbf2b8ebfd578005d835995dcf654120b3f8ef4de2d8e17dbd48983290f0769d8ef273496ac68fb5a18a13b3bd4d4305e0ba43fb99195287a397e05486495c51afa5526867a8b188e044a2ebd05da99d33baadb1edd6cae579bd1edd000394566469b5c8b25304f27a1de84e8807e8210e10a519d2fb8d8275413055d17f9638eb1c9d67670d897ec99c12f841b6160fbd22bdc18982a3034cd8576e578a979eb773197fe82f482b0bcf35edab474b50ea962b00255ed39cf6c9673aa53eda8e8ac0dd8fac345cd33f15ecf169969892e7261a81099b216c1bf1c7a04010c12cc1915d17c0b11954bf0bdb675fbada0d25d1b15562763a49bdabb6d3ff0c3a8ccc1deed7f08b7aa8ed3a17e0cb5a2853c4dc0e2522e2a0f6f0c7823c225522bbe2ad7ba2a9462205eb413ff7ab9864ffde2a84868f42511049bf354c9407940b316fae1fe74793e256edc6dffa993c3d4a3229bf322c62b584e18e20f95a3b5edd2c74a8415fa99e5fc2656edccca6695436e219952b5522e477e58854bd0595dc062f0f202989ffeed3f0e8210eabe33d4916bbd6bc601559ad917ad4305cf8fd4d8bd1c2563e5e054572380a5b24c6a2a0651e8b2653c23a544adeb2929a8add793e2d1c3b48302b32098dd702d9a67f4577da7a4737b7dba96afa92aee4d5aef0ae04c7f06dc5e424b77fe7d45d2a384a9422b0cad80991112a5c86f00762acfa3d316af6dedc8eb2d4623967c0eb1397648e21c95a49b9a5af89affce5c776cd75795f58b8aa51b452204b08ab4d4c99870554e1eb0fb822dbce7412308342b157c35663c5e469ea61e21078e70e6a730b78c24fc8e5771a4c84df87ebddf1ce280f739d00e51883896e97350f751f42f22893f336488c355aa1e63ddf6f82e643b7f2292927fbe354e140e3154099234479ff36b4ff308d2e1202c12f292d92d0e2ee7e691f7d752bc8049924c28f16a4558c9790712d8b6a0fef8fec5ffa4121bf7b5ee2baff096c81be162e89e2d7ba95af2a7d32cd8b3a364f457e8a54f71f6ebc0f25e802851bc6cd25c9e9afe77a0dc81522d846c123682a0dc8137ff6335f1e96009ea86a8a57000dacc2a23f0b7ff6279bd142879d9522f4e3450f01052c8dc4eb84a0a2f7ff7ce03370178b2e68a5a0a45de500fac3f1b159a49028ca6b2a64d35758314cd274a759e5a4f5c4000a9422d8bd08e5f5aeb203848f3e5225b96e582db16b84ec406c2693266ee480b51eb7b78b1c4439289fa4553c49dac82eabeee890e052b5712cbfb8371d5d8312a9661d8939b3ffb85e94f7f53f4f0a1f71f84bc00b06bf5beb90964d6c698f2f8e5b59685a4a9226a6800f6327be50e2d0c3db09f44d9585ede0d3c818463f660d70bc66188d1492062de981bd8f8e2fe323cda7beaf6c50e6c485e3cbf51a33185949954f20bab517c13f5562ff570776d7b9c578e3f2e2a3fed8822fbda493a786c950754adeb1e80967faf7b46cd3797a0318ac8d697cebf5854083357b290487196c62479ae804f73ebc3a746df9aa564391fb055300731b2087254f3d23d7033a572dd35aec04c554f776c626530a81c6f89a45a0674c717a69bf06dc963cbe9377edf5a1acf99bb1e1383459046f27f2ceb88eedda31598c3ce08ce322d779b40a9a5eb42e15d62ad1cb1a2bcb08e05fa3d834dd1696aeafcb9ae99a51ae46567ce180d880ce0d9ace1103ddde435b2bf0ca6dc97b98f888e2621455d60d39c03649a83fce203faf7d982d5b7770f581231b5c8a07d0279709bc5717f2b2cb17e136afc37be93d98ab7221ae8e974422c8d46b0b713ca2d8a4cdc08cec3f3d335c7c8fc4fdbc246133e924c58438fb654792c1b188156ea2fd1b11f9613463bd7c2bf037070b992625175c5805977d064abce20baf854e0b686672c7d46eb16d3a64387edab6c1ae9cfeee2989b844f22bc3c9517a6577502c121b5f2d85d342a3a387ce11aefa333b6eb681ccdca0c36557082686077d3715c8ffb9b20b6567aa0d2345d0d07e7c1e0c2a2db2dc62ca9afcecc3857d24be0b8d0b439613e3a7c91e977802e68ea60fd2cd8d62388a5c83cf4552307ec68e5bd98dec22510dedfc3c060799283e362b56a44e422a109f2b240d0450e4bb5005b15184dfa947ce43066804e70ac38107bdea25c6387c4caf2b9386e28619a65c6ce804b7d4227683d205ecb4ed43200b7ab107e7964047326959614b5f8d00da8d19d4f66ab9421ecb98bcf597824428ac49c9622cf2f8ef73aeca383f53963bd4e52477b545694ffb038397e8c11c44683687b5eb9aa9ba614dedb3ff08501cf2545209190720b9af13bf9e5319b71abef641284802bc13cdf3c73f958d4438222645d92073f1df9ead8a5b3ed03fda6b2e5194951c38dcbd634dab3a3ba625a86dc81e0fd9b426b57bdc902752c7bcb8f6efc439bab59de71d58f70012c35195f2fb836eae8ea05b77509d64123bb3eb918f1ca97f2aeec293065dbd64d95fc1abfb9e646cb6181e83dcbfb8338cfccf581ead8cfc874573b2d502a2ebbf12372b2f397cfe3637d913ed909f49f5132693974756e17a86a5c09b778881ea4f5c68a4e5c589f06056132a814bc56eb9d4f4bc1a408811d1f779df634dd06eeb95ce4cad404999a9b66e35252466e5e50b87be7fcca9499b4f2004adbd86aed94955181e0043e5ec039555f38af55e9bf418d280517845ea55729372e3f7c0673e357dd08f3598749752f64dc1611ca4de8818951d5807cc121c0a76ea229b616ba7d6114f9c9dac2f7f6fe16f34b81895b50ded6d81bf7cfaebd99af5d697491e7192c87265fdde1b35cfc459545ba422bdbc843cac7cacfaebd93d133daec64991b07b336e483cc58b14ba8a4643ed05ba4b36c5cea24a655e96100187772fc40e03a732994d3622534143d57212b73345972cdcfa8ed36f36e9626d35aa005bb18cceeae1cc3ac205b79df80c117910eaa79879408fde75f5508034aab79b75a46f62cf7ee180b2ee758e81a6b0fdb883911b89fbe0eb166f9e912bd7fd861b5a49cd2bcfe4df5252dab6c79e58acc643e7401b15c8ea15d2e6a18be5f1766c67cbf2006f25bf5facd25a374ada538aedacd2b8feb74cbce9d694734691f14e5f8dc9ece895f76759a36d5b38b1f3225f7955bc22545b82d13010dd8adc853f69e6464e96f13710aa0cc57688cb72980044e2d0f146e4ac4a5a4550b179f2ac02ec1054a57e98a14c48dda342ddc40da9069745841acb85599930c6cc8bc043f8f53dbbfa38c1de92b0a95f396b9b969d63eb9a4581a3b770b048e12256f6b8809b37940bd56be69ed7930d4891af427ceccaaea1d259096e72444a33576261c19eea4f1cde6518bb0ed552b9730657ea375c96c85a415711f80fcaa10fbaf2eaa9e6973f348a8431a1364e36835a896ca89892c4606836615f048f4cb5d30e726c92d0c5d766c13f4634254d1d8f2aeb60c77e6dd8a413d283e290173f9cd17cb475052547d4cfed965ae61077a9e95a5f8c3123f1946315f475edec2463ceccebec98d46c8f5b6f5a0340091fd5897cf908ca576442700781a1cfb6af08a6103c02b2c0ad714857a6945dd9cbeb1650a79fe8d21a7f87e9ba7ab793d42a8ed274b200e3c20e0d97f663d905bff3f1a81e366d5733d9d4919156f0cbdb5ad249aba202063d5637f6a812d5973a4d9dec367b3d0bf6432ea3227805b58fdb0c3ad6e3d2c90ccc88e72203d791c99b02345aff1230fb7780ea3c41694abeafd6b5093edc7fc90918679fe83309f4fa2821f6f8e5f5d3fc6a7f57a700faeed57ab777d859fa07da3c3d295b1841cc22c61cf2666343d91390d7adc5cd5044562e18335b986c19a32ecfe40db6b2670d61e3b020c8af52403dd088f6811fa4c654422dfd3b896763564bf04c62e06622025992d609dc5835bdc39aa8d480f731e97ae3c5ca1844e5b48e0f4f3197425fdc84b4d53af3e4184330586fa800f64329193c1342f62f8fdaea7b5800377c8e3b83973dd41914146fed26c0913b0f47bfab030177406326287ccd3088f2b5b6d282eb763a35cc814eee2db060ba5302f589dbd08a1de1fa05d03ee3aaa9d97428c30ccfbc38c905fa5c6bfead900f521f9c9aa681c2d549babd5b23c36dfbf57205762fda399ad2aa27b979f49fafdb8219e0fd01fc97936c261c38e6b45863c5b969109e91e3778bf345ad42a234abfa911ddbed4b27c2efea7663789ef9a63bd235358bd75fbdd1966b63af53701a43593d59feb9b9ee82e8510b327a0ce2e77dca740994a7e7c8b696564b3e3dde0f7ac22f21176cfcdd39a9197e64a6c23e5e35898109a81a7e75ca8d45e5c825a764e143552b031b9c131f296e25524079c328e63dbe606f34e2559ac45f2a1a41a9da06226a815dda64d8832eaa4ad204d591e028965e2433d633f1b989b7cf03d2c0980d787171650605018004d910fa9ff3a943d7d08d87c1dad7188c72f65d101712c398908071c90f8e2b0cb3be8fdd17dcb9277ffce709f5184edb653ed98e0b8624488c00d7bd605e2a84c1bcb6cb3bf117c781bd591845df7a3ed357ab1ff3c6c5c1fe6747ee9b1034c38a56ce33d7d363961a0bdb0f3a485a71522078484d78dd3795ab82de9e9bbadbc9a917d1247be6e18047d601e6ce28802012ae11181cbf2972c138fadfeb96f1b9b812f7290c26794321c36ab3ef83941cb57f69784895a029b98aee774cdc13b3d0a0fb71af8a4b85d07eefbbe72e64dd1b085487fe1f9099803df20d69273c3e1047204b954ec37f0c91812a74ccf9f2a586e481abdda584a2ce8e049d658192b83065b15a31257162282823c8bd06cb9057af62c8ad330f536f21b73ccef3b1ca77dc66db25f48de83f5c9ac1a9e6ff7ccef4e5180102a774290b9b45eb805d7e7389c28c3ab81f07cab876ff843e79d452893dac26d217ea057bfc3b4f82533d43fbf1ca24f151aa86450cc45ef941217c31e76c8df94fef0e893358a727698769c44a2d4bc3f919f6f78c3366b85fa01bc936fba7b44488cbf7a8990f2a10cc2c7559955effca06fb259e122402b2883eb5f412d33cab973c25788d787295d14d0f5a2e19bd939cc880d03e3be88cdae85e7083baf3260067c39d9a2b955447ee8b8c51e6fe62fdd57cf5a96fc5e4632799b9d063a3ac4bb2147e219657e924642bafe571324c2d82e3084db9c6b48ac71d4c83e22f1d9cfc611f51ed887e0708dd3f4d8a93f2c983019d4e5b7d9fd652cd95b7c785190ba3ada552eb7fcd18129333fa8f0fc4156a9d96651c919b4c91feeb5691a98d5c137840c4e212c55e741100dc41bdb39a13660e21ca9142736177fa3c0a9b5b7fbea86be6dc0ebba4e873aefc3cd67202b7deb4ac30e60dfa19b21211ad7866d239c3476d81f2d0851d39884c6e1b0f06313c2cca262c4ec2019fdd7bcbfe5c233b840cd8ee5aac86747694969b81d3bade08b77f21c3e5a1d49a0d8d5660668ea2c5cfe1d44ae8c7e4d5ee1ea95ab365329006679c90559873a409028ac0dc98437fc9bcc0d038ed9996ddf8e04f1739109d34ce6a4fb96f070a693394d3107f3d5d7915947f142c1146f6c6bdab5091914eb03b493be78df5d926e6ec7a683bebb708bc7cf8c7f83079e1ed4324ce671d23e6d48cde91a8628be79d1a3392fd2a42da9851728fd1d90501c7560d0db5d4ffcbf7260611c37ac9629086e6d0450895aa57959a077fcb7df97e37887b3bfc6828cd900b7d29308917dcd783f819d085e7ef8986f5bbdf81a546672eaea1bd800bd2f92530378d7bbee3f2b2249acd09bc6cad533dc4cda688bc514b50f35e3a8effc4cd197e6a0e1e7d3eded3ad75f2fceae661c5ac875616dc3412617f9fa7981a38b8b985f1f61ef8e209248bad7de9e44dbaed7f838054514b3ccd635db39a4e0b0f5381932e0a285b981f0797d56259db84e122be1377643716bd19efda64b6846e2a1270b6c697508197ca70ecafad2d3a5686d9bf8b7d3bb2732ba50bc03c953325557e977acb2033a70e60d3a98953a28628cb32f188a379a0c6aab077aef27c3529a87285ecc48fd1621938c863d0ee0dec48b03628e903bb8f6fd896f28cf82ac8c48ca0dccec6f93b2053b6771c75126c2f908ceb9e2cf03d8b68ded976fd1a4d196f9e8a622c7c15345688ea354c93309c02f410fb2453474cda761be5d862f5c77854332c9f84b39273668c21b07445b0d91046280507ddc8281a46b560adee6f2559105efb7daf3b18601738fae851a55112f005c6826f5b09880a26540f3248eae1fc9befda7647c474158f93be1d0f46c2d4a68ce69f6e9128bf101c05479ad7d528ac82bb4bc96fb0962550bd3a7a7e6b3136065b69b9b7007b148b5034b378df63b49646dd414962a8256594c1678f7ed0e8febaa26eb71a4019ad5c3374c580bd386d664e18a5a7a429c5ac6b2f4d1fcfddba5e06729665bb18c682450d569bceeaa3954425cce4bef50c0ce202315caa196563cb06ac725661c7ef086c2cb3cc06deb5284c2e59785fa840fa06ca587bb4e5e393bf97812effe6c8f2a37ae2cca01e1f96feb692a2d43e25dee546092f23aa37e18531117365c55e9ab8932adc05e63dfd1372e925dac956de306af27ca0a240ff8ada998fccfd80b1774b69cb839d65d73c900c6405dbc5a32ab2a09d2854878c9ca11557cc5b04d0d67601bab7a70bd920ef59d2c02fcb95a90a87ba5c100df9f29beb13e319cc19752f5d6c08d6899bb5ad2ec8350da18b2d23193b7da925213a6b6befa4b13d3e0d541271233dcd607a6d2610827feabbaff2a720b46bd7845f9a022610d0314ff7f315efbe957270136da32ec40a6f220ba706e860e7f0c9bd1beb92cc3b96afc2e4271b77e9433f019b215d64d7d4314668d8ea048e1edf8f5134f12cd93f077dae3c880f8e1bff25ba475633617d9e34726f47e66beef16463cdc21ebeba6905e22572d38ae19931154752060e354dd082214eda8c1f0da0f4de72a170b3ae55b1825a264ff669bdb6f51bc7339dfc6a7a4f981657b3c4205485ef19d5d519f995c0ed7cbdb64d96aa3f01a18c9b6658f05c0ddc4d8e818fe7365e81d3d85a40e646564369667cb2c3debe15c939ef426783845f4070a59ca8e84b254dfdc2d2f195c97a51c6f778ff0736a51df86ae10f0c8d779b0f896eb437cb75b9a2063e5d47d24db7d576639abdcaf230bc7633fd89f64b0ec81dfdb11547d7ce303384ee98288c51169870a7d9d7fbee08bc282eded25552a542fd40d0927b87e002b4d27217286792e40b9882f613fe385445f239ab5f9500a5491532fc651119d285ef9681c5cb6a7e80e588727e64a1f762b421cf1d4c15ccd18bcbcbdb6453074d256b41ce7f5100462e6b783a535dbd987da2a26d34c08fbc959aea7e09cb500e719851a958921ae7d8b8c81c270d465999e70d31fcec929a44edc915d6b1c24c6747fa408567129463bad3f3ae83d2c653b43c8d2aa15c01b3db58b0d2524d773fc32ff1b94d15f237bf3a5f5fdfb0c3072c35613b5076df135fae9d325e782f0b54fef028144e2fdfab2ace3acc067d63016357ab4df603cd2e5a59b64d79455fa59424bf0630171f45a2aae01c641faf65d01f11197c32dc12ed98a524348c00d7287ef680febd0b8a29fcbc2ec416d6e3d4282f596cea47e436796b50f39d9beac6b91669290ce6f3de72f3bf851b22abeaadd9276264ea150900100c37c784b29e3d94aa34f34feadfa8e4eed644825fefdfb543966f67d806173f20dcbd1993dfca29470680369b63f0cec285ed229acf6817b1aca7a1f29e9ad4f3e0303aa10ca1739af2857c4fa643c98e60c8683833d64bee314a65d7f463ae7c42bc5775d557e5247d8821d021640279d159f5069cd160b763119afa059b230ddf636bbe70754f669e5ef619d00533967123398a6b2da497e6025b45c4630dff71eae2c6ddc26b69d5eea12f57b96d15c315a6e55cdd25fec99cdd67df9e0cb48a8535af62472162c55c36eddfbc9f3de7c35a4af1f310252720da8d29a186ea44391fe590bde9085e909871b2cb507fb9b79000ff4b0736a26c7ca1909e0a12147110b17dfe2f627b591890afc2fcba2b00b35bd8eb6e2b919025e0dce8bcc8222560a9023f6c80fc1b3d0665e02a1581ad85e9111da8f0a728bb2efd2358f87f8de8ac63e174135c59be394c343cbb349c7bf125667883f11d117bd6a55f0011b2df653ae042745f455a8d2a320589dc02b0a3ee8e2f59d05bca05f7756830dd0c151315ba4a1805713d3508f92162dd0c4acc377891e03eb86d66d7bd2fbdb3a3bab6f643fba21fe479cdb402491f16f7843b39845e7d06ae5e2379641896e77d0da2e2edcb77434cfaa5385f6afa89afdc385080138daa46fdb5f3de7ad722dfdc3b7449b45a869b6b8ac8227c4e119edf41db25cd696b7c07da992c8b5c8ff8ec9f8e5b7ae5b4e7ade8538316ead172059ece4e265458b6fefdbd993fdb0182c8748e6e4fef5089c6784227c7a6c5ed08a2a92c0295fa7ec329bf5565ba234ac3909fdfbee8e678f545860f60cd62389864e7786be40a76cac538b1cd4da3aae07224d35f0ce002ead10918688323f7bd257570dbc4d395c596760f2cf095d733ccde4dc9d94796b29e4dea591364c572497676352f9fb25c214d63b46bcb526beac9a11d4ede3225a1bb6930fa707c31ea1d45a9fd5f22c66d0ecc2f8e4592fa0e68a8acb8c9b2d90d2e6106214bae6e8864773c7a5813867f339a24ff842a2b172f5117fde4e0ff515c229095a507501747855ed9f8cdd176ccc41bf713f7d1f25056068cd8baa60e26db1a7a9cfd6f30af1945f94317a4e0efd5b1be1297617e7d6b091992bb50c4260cc142898513873bd68d2ab3bc3024930028dd25590bdd23bb25773681e6e54e52339b23c36cff039bde588f1cb970070db3086815b78493d8d36dad55be6179cffed458ab8535a61a29466ecc7c66e2dd8e623c3cd8ccb72c118ece5955f1a3cbc082ac514de11398c9fa150ed8a60a5ca0bda814e28a671dacdfab71a995b09d070193b77c204fc97f1b6e479f95c274f68381d189219585af21910914a9b0723d30484730a8329ba0820fddc859978fa44b9e691265bbc944a839be5d724dbac74388cd0db6b06863c9d976a69bfc0c4b8b0d2ebf51cbe46ea88ff8a17653c764d03f454c78ff410c69c3677186625fed317772be58fb833fd5c2ac0ee1f606eab082711df167e81fdbb6442bca16413bbf1ce8b153453714780e36498790bdf6bfa2aaf09bcdb660892cb91e6a9a6eb9dfc330342625f688279a30097369fc31ceda42375f8f7f832a869d3bff5c5424a84dd1810f2b8171f4bae4e59addded7c41714d7f500881c1245365927bd316083fb5a2b0af31d8feb56245c8d24a65378463bdbd7486ece8a5348a9bb3063c9904fe8cbd51fe9544db312b886532f24372dab5e8007a9ffdff98294e9a1463c47f6ced021157120cfb680d998c5316c6826a6e8ab3c03a37aa1bfb4b7036448e897ddb05ed74815c17e4fe4e7a5f4c08126f0c5632c878d238d2cdcfc365c8a26ad7554221dff1969a23292a8100b5ff4dd6160c44b2632c134e3bd34bdcb0da18d1566951e29cb333d110a25bb52871d89cdc1ecb2958a0bca35269bde060f7557d894f8d9a925ca67e3b34a52a62e80ee58162ef56c6add6e32d92be6b225792979409d896fd6fb406c4857cdf8924083807498269e16722c910782709da3fd864656ffc32d9b6bd743c15d54a3b721ae272d6891500ffb1f93ee6cb40c5cc1a0003a6e8b2d8beed77761ce8655ef36af2324b482ee296aee54b7afc7aa49c0ab2844d8000ea0228615b53d5f8be6323b7e6480b56b81da8e503f863673a97a8dc92f6d7b5d408649e58e57d92bed669e0e97ec7a0ce58aaacff34700e87402a6437e0fcdf2847ef2bdba116c78b2265011da90a335d9373abe657822f9f1f031eef9f70e1a5bd83fe5e150a804e8e2616ea92afe85394a65e17d827654c6d35d073f29fa36eea696b3daf3d3888dfd7e456a9f494fc6a27bfd42c649c5a60734c8b285a7b701b3c0765467da035efbe13aaa52b66e17928a7d58610ae12d4d921a5f76959646d91bbaf8cdc9b277cf0eb42b029a47772b19c24dd44782db3ff7357f0698706e3708936e1e4c454f590ed7c5d7ca765912687aacbbcc4d2dfeeeaeb566bd36a0ae3638b49b672603f454a1d1704462fd1c097f10a36ff4a75ecf05c51c0cda097f3e1b6d1e92549c10f7222099f56e9f0382dc1ed5900e84e16b2c240fe189aea7cc0792d658e6c1f24954117012f9c8e020e7024879ae3aad278f94d491e69cfd6fd3ccc97ca4feee613759eab52637b6a9ceb7606f8208cdba55e221742e225400366fa15f947296709346b37a5639204243689e93a1fefc8c910aa1f7f738fa3a5e7322e19da36cf9d709b30f484d0343f5c47c4f164cb07034f7df953a6e5a756fea07650105625ea8ff338fd28a4d3365cd4bfdacdf2b176f4f69dc15415d8a645ac7f035a75dccf4d68531c35289e33b3862d3f2b9bc5a2ba8247c669d8f93534d351822e8900f1f35a45596cf55f8fc2fb47e6981207a12fcdd2fdd28098e734c0cd3a26b8f10e02c4dac5b2433849c43294b704346fce8cde8d7c1a245c97daaa0ba9aaaa468332e0f463da2f8e99efca5006e8fcf397f587d9b03d0d198576697414e934fdece1d2fce26a37aa8f5f00505b38fb72eaadd5ec37e1fcbf73420c8e79d1a877c8aface43381ebe3ed537cf47a53cc9f77698289269eb49ec1ee0a8857f42b61b5885492631d3af165b961463737874fd8e19f3e8e4b29f84ccc9d1923d884e7f4b31736f86dcd4ae260dcf3f5605ed1a1d8395240e7615c363d35a9e44d8700c9830a2f85d81be4fdaa2c38319b1c1354c8183e973f33fa880642b611e2ebc7726c850ff9f81ea356188e54aeae25cb555423a86c37f48cad1f336c07594a021305e3af84ad7d0cdf237345f6669cdaf7f3c006f21838beb35d9a96f39f3ae268c7b9ccbbecc9aca3c56089c7fae1922e00a5aea9babbb15dbe1a58ea882979ea05b9b79d40718dbec258bd9cfae5732927e18278e16de34399dc5d9019b3abd800c209dbb4b9b5939afa1a3f588e5b743842013f9cdb93f413165ef64a4a96515e3cbcb950ffa38a34bf83f3ec490c72fb3291b08e1b0584c3f3531f68613fc0e03eb8c0a77361da027ce05f8a0007873e0f2048543acadb0a0a3d4985e3e01559b09ac780bb6e8309e586a5ab3c6910848641592264d1866f7d17d4de0e0998ad1c6da5553a7044610eb7f5ef8b1aaa641d5a4bc04974443ed106f3d84271638b7572fbcb346d07b5b1ce51929542f447147727aecd9803bfea4af534d80318b3ed8a88575e6286d7fa1bf3ff7d4e80d07f115583650c979b367ee66de8926a2a5a97599d0c7207b9d2d6ec7ea7f45765b3f21cb3449ad76dc4d7f82f6c969122c420036f3995fed38729ceb14b4abb8c96c6186f6a58a61b0d7210906e4e144800f1121323560c9f8ee861de6672570e41a61f0934584e03e65e2096cf7c0dd4d69916d4556af641d3e1eb9194ef00a545990c5101864216fd253944ffbd692b5bfb21ccf1c7768f49545f750bc43444758e7d2430928ded6999ed62b4a5edc25e5d7f581caa9d4f1869bd8e9b9827020118ddc5a280503c70f2ffad0d3467d0534859faea8493e399f3d2e35f8808268b1fade8616117ca59f0573cc74fe989cfc50fa583f925693bd00a04ce8354766a2487fc380acf79469b77cf069d8ea02586eebccc7cd220f98b38ad843c2bfd390723be8f82778a60067c0daa5a71875f170a8606c2f6a4c1adc4750080820a54382f9ad0ba6d884ee49bc7cff44e77d2210b3a61f14bd6deae95d03b1dd959aea82030042f811fe77b4310364661c8bc3d094a0e6cb80ec120c860f50031688b1cedc33e78900075f13e4a51c38661352ebc7167f5b9c575c07b851a689370702968eccc694bad7a9adedef62f5c1836246b0ec93723d80df51a3421406c5933bda72f61c4d8006e9186aea0b74be2530862f8254859786259ca3ea5b0b1b010fc006e7c0f3f5b975ad35d9e978a90419aefbfd7402c5d3908f6dd259b088d038cd3e03a98d09dc577715feebf41c9260517d47d41b1e343dac6e7f215224b16a38d9e3bda51f770c598319dea09a7f0f1be1f97aa59c081f3c0bbbfc46413bd223936cce4f329067564c4cbcce4085e7b08370934eecbd84498cb9cabc41aaf351a9d36909dfbf6a9ef684dd69c29327d8abd9cacd0b6171fc73578f2dbd3c560ecfc33c18db99aee7c4f205863669564356e09d174bec52179dd4b768c15e8a45d9e2c44780f4c052c2c7c6822d74764cbaded3cb1a64eeae0ca27df88f083928477a64a375692a7ce13de7c07a3600a4584a6a118adc0719c3149c1e8d64473672edd86e220a1dc9ef08c5365095f31c306cbc191d9c77cf1906c5efbd8765914bf9e6f665d3da350a7c7c461b0eb93a28e9003165165f3399e0591da9420a3db2dc05b052c7eb7a224d158beb6959cd29d386369025953ac2a5fc07009b5333f14109fdae7fe98fa52dadab0729619434c340018f5fb96d2ddedf6de29ed4cafadf4f31703fea39c10f1b176971bc8673d3c6ba6c3fb563c9528989909b940646d8b6a217c368ce7cd4fa039aa1225feee0b9976d9b8704fef46ef9875d2a38797ac314bf679e94e0a0bbfdd85c8929b13519df959228a0554f3fdc7c55a864e4277915e1b6415aabc34af1b759a5bbf3c8cb93b17db4c74a1ede27c0c28b9f8e9b83a069589557e8f5cbd5396b0fd3badbbcd6731b642f5c9d83287c396786c2396d2fa0b47e090ebd8cb086f60fd227c942be590e195b60cdd1ed05564b68720673aa711fae4a2979df5ec461b688c5125b9296c6bd1097cb786fa85c050bedba9da4652dc91f78f8f954a91742085641bded1f705e25c1d2da1af3cecb75b05d25faa47ac152ff0766084b5704f583a6bdc580f8a68ffa6b7f508176bad9e94218b2815c3dbbe63da7ce66be89150ecac741a3eed091ab92475ec5ab28e1c43dc49e5135917702933f53af5d756f1019bd221586d9c380bd2f86ef1d85d6b51f21a46977cf916b668a60fb7f3f4cb301f61d09aa57757c487848c8db9b5e45e91ca9b951f9eb20cc3ce98b5ae20b85b5fdda01ea05cf0c3117e9c36fc1fe79a714770e254e72b665434006467a6686b300ce5c709144912effad8b054b8348d1e22ee2290c47c298665d6d5e9336d0fc6c12cb0af1d499f6df00207f7c9f6195c0e943dbbffc4d15f39a17327d7b2f77d2c9eca4b16ccf73e93b3b81853336f9cc66e6465c02f84016039db8de10d24e1bdd7d1c0411063c8e67272d3ab82e1126a1913444a9793f10d30623da2cb18b3ab6c9fe73b79c779b110f07d6b7a84c32ec52b8c150d9c67d169223a5940cfc2d94f933fca85088d9db21423f4ebf120d4d742426056c981c238c69f6d4d81305a6610429b8c82b334fafb9b29944fb681b1de238594aa7f158f5f65572df44fdaa9d509a53b2e98e19c6c3559437edbbdefaf7df7f4534b5e67e20921842215910a00e9c4c8a333c2d9817b0e68f7839955558bc447abcd2e4f16daf3cc08d88edade280282fcfb80a83478b0a567a34810886866f9c281ae329c0c211140907ae460ebcb38ebf567a573fb95c787d524fe4b77c09dc339e7d1196f5de3b5def3b547ff7d3f0447eb6c5b8d56a6b18d416e202d2c3f50e105bb0926a3946633eb700054af8769b1a0853c8a58c907d88a52f08e57cabdd652717e202412fbe31559d8b88fc3a551596dfa7a8b2565482f4785d42bda0c761f609c47223a853c449f3542efaff21e879836474b04fc65f1e207b4643b1fb95504df9f00f4d67f68d72117cb79d1f92d9f7dfeb7a240df58c51bc26734925062496d517d84115e1a0a7a99ef9582ebb028dc54597b3a3b9e85842dae820af10f210ef81b1712e4662b811510817ac4c8769f566e7557b5f553251016aa93edffa993df6b77499f854f52d676d648b1d8cd501a8791e229e123a6cc6c3e4d0e189a425cc559210013aea50485aa94eee44fcde013910ff2105173242eaaf4b77d8e6b3b0a6229405869b15f6900d558f8ee916855a298353968dbd40043cd55b19e8f0b83343cc191eca289350122791ffdc61ce563347faac3d409dd1bc601b7551b1f00ad26d12c1045f3a2313f7ee2c4ed0d58cdafe2f85ccd8ebb4f851cf6db2c53bf4fdbd9551f6ebf74ac159213477ceef86a29fe200470a79b6b9a403dc431d542352dd11dd75c761983e05ff51d55ddf970e1a307b8d15d5e3b5fefe31912597644cc2497b7ea9b046133d6e1d3551ff79731a482c47329485012f58157077b3248e0466817ed6bcc40779947bd1909bf19e150ef4003c9574f4384bb98211c3b467cd24dfd22274262e88ba1d929d42ad26b6378c6a7984b3d1a7478767dec22676f4c36b59e96fc8b4a2f37514e0e2968ae71ac78533877820577278c72c0014396be87f5ccb75bfa8107bd7b08a9a234ec1d6693bbdc31cd3257d11a3acd62a6e174022f34bb0ffd5b32e994e71bef09f1c255fcbedc3164dcf1bc173668ff6d8198bc8e4cd9abd3c1f3fed7cd14c2e03ebf5403480d04fb7ffd083cd6871dcb41e32e700c300f6b0071f5765a9fe439c9b5d648ed5b09f55bc651a04b464b2d2d8d8539f7ad16a3768b4b580a4d7ef20eb082032893cf18a549dcdc3c2d736f3175e188f0d593802d11c4990617fa9bb06842041b213e89db25480ad7ed2183b922d5a90248094e76570ffcb2f1ac26e2f7709469484a0b587a78f8b2bc04b31c833f473d2b18933386e9ae49f35046fd7cc93b16a12fef2cfb5580c1f3944493196f3ceba11c3dc99a9ebbb855748ae74935b68ab7228a4d5f122ef264583304b016d563ae296cb7489a8dc9676ef5dbb876a36b1bcd6f87e24e4ab95a0ca06d5c8bacf0872b7464665b0c8ba81de135817dd08a04c413825fd6fe2acb002c4f43877502ef9d7257e03abf96aa4680f0391dcfd9b7f3d2383a840c9dc637feb962e47159e285c364da3d5dddf2bfcdc7a5b23b1bfb5b8c4aeb81a0456413bb3f89f7729c93fa74b0d9adec08ebcdd2a9ac6e5ee60080c2ca01704286728691dceca496ecc47ba4a4caed0bf44c78b76c8a78c7bb8778f2fd3d807670aad657956b74a498b3a9cea369d22376a51f34e7206084b40912ec47d499799a31347140174a3fcc61ced1f24b78641c52aa55efcb4c3109040763c98e31990ee58dcec07321fe289f6d4a4949123507c3af36dd98eaaed461b41590b3df893ddaeee2c5a43ab1aa6a9f0dda63f5e45ed3bf54489714dbdd05288c22445fdc4231f63c0d78955fcc345dbefb7be0dc1f48902379b62ea395e7f0aa5e777477a8138d666dbc86ecc58abfc859e30ad8dd92aacf0c58cf5b3b856471022d228163f47f14cac328fc99a4dd1a28788f43428019d747596f3d41890762b28e1cd2b406bc167a69c3597c241e222f2e88bc6c35e1e6587cf9fa8251b28adfb646b7bec73a78d60880646ae8ccf2096553d87bd617c98c7093f62a7855a75d721d47b832323ea07cbfeac433f1e20196f864502b7607f4192d1fc0138e60578e7a2cb6d2924ef040e282d5d516b11d0d347ad716567826af2326f41d8b5f291c73c4aedaf0e4adfbc7ad92232879ef284095a1a089a6153951b6622aee08e3625e30aa83b38091f4facd61c15b51dcbde55b5e31c81e99f82c0804cf2128c3779e9e909674405d11b2f271d36bd55e7189950f4dfe6ac6ac73146ef49617bc752431a00882c840df856fc3f0dca2809f5055f3b09507e64b96a95bace16d1ab2110a8a2e0d3f95e8da2779d815cbb83a8a9ac6220510e21cfeabfd9369b9bfc9e9045a2e51dd4744c61cf51dbdb99fcb16221a8bd857d5509479c80d941ead1a91b83365b85313b89ba1b1e2c204d54d7b5b5b5601df640800ae74dc5512e4ebf827801fe059ca1b2996e71e87438cd6a42a38f98805a0924d4f8b43b584825bcb30d06e46b7f39f4c0827adcfabc59b8d335b6a9dc2a286cc0524c6bdf205106aa65d8fefa900c66be51815ce282dbefd775369a693e2b291ac4c3df2793cdb891875ab86346e55cfa2010e79dbf107aacb2070d387ba315f513978034390e5b6c2125d689ad988de98689e6cb37cbd4880b9514cf58f71ad08ec178cbfb70ee265cdefee91da9193d0fae07aebb15b80d83fed8a75c09a66bd3f25471d23288db1927074b5acb868ac36ae295ea223e2f9391a8c1f76d4f1fc552ee1041b1470cf5c67a6eb430780a5648de24789ab1b7cf8529e8ad4e851e398d68d888dd2e00fbf203c49cd02cebfe8e6657719cba53ac1b3d2e67bddd584e8f49e93f70f3f579152a0bc00daaebbac48533ff768eb65efa2460841206871a523884cd881c0b8aacdbe9bbf65aa96338adcd301a6d51b1f02df1b1f20fa49838710ef2fe50eed89105c5f0c1ddacfa8871385afa2edefbdfc933a79e44dc6c0a65fa724604e51cae8c9b0097bfa251bfa6a5081c15cdbed8f5d7912b61fa2dd3efe2d7c82c770aebfc38a409e9c5790bc87c72ad5ea9ada10b07908f45a7529938d4df402fb8c5e5732bda631026491f6bb54954083208c355004a4ec4ed5486946c3c349f640fd66c662d640c35a1a373b0ae56c4f5c8daee95e430a5bee38b73f86f52ac1ba837cb80f1ab884e10f82411c13d8ec7c79c4904522dd75b358ff67a837f552040ae5d3f3b653a21bf2f5dc35def32b74b5ec155a5f3d544b3701618a7c9d14e5fa36201ab1c6835487d88bd6ffb798e6e1d20d403306169b391c50097e515ad82bbd523b695b21e30b3c51ecf0004d4df09973474ad80cf10056b8ecfab000f2ecdc022517a1e678eda18167dead7eb58c2785f4c1ab6ed2261d8fe58415024224c0020e40e36779da6c4de0a743ff66149a3704055b986b04a45ec21acdd51891424409daf259a48c251ba7319511a3f8ead21ad5ff956a5014bc4a20ab08267974c9baf81f65b8ce73ad637d66932325e778eb5e474bdcea5e8338388b078a45d342d2a73588566dbd1416bad46a11534bb5c9ef036ce1cfdf5250998dc54b2583a23ef2b995a1794206a6aca5baf1b77abb77b4a1afb18c492523874bab988c54dc85f57fea15e8c5e793172dcc8274aa94d74fbe41d2eafdbc609859a1e4b72161cc5e503e6ef4b70560efa9f47a0317f3f951e9b820e24f0c6faab7b2ed06c6027563617c03606c3477160ec9156afbc20f58f9aec0410926b63ad724ab39510102222b717e06cc5017f1116dc33073a7a2e81cd7577d625ec2fce20b3399bba8ea2248377a5df52b47565cb74fb1a4a97a5ba067671810a5ff118a536173b064c34205d70ff2faef0dbd045dff95c27654984c2644e1b25f413777df3579f8b4deefe0d70984fa2acf057bea50f69d8cfa6869057a7413030ab1662fba8f186767c63cc45d40d70269452bcc26c44b15ce0f792396f66d7e2a719cefbd19854bd50703b4e2e8f12583d0f59f3d43ab8b4d523124737cb3c28ccc9f4ea543c454874a94fd4299799b173bfd52bf48ed2fb5d6def5b70be8f6e618cf3ee7cd24519fda5c6b37a5b8d991653130fc3938e3e1597ed4cad619fa8f67de424a4971e0986a77b9fb896c320097e1c5bf0d83a6907fe256b93f19d584e47e6d1ea108302862c2465dc5f351e89b44ffb0e2513bf783e63449dc6d586192a3982b46696821cb55a30fa3b2ef54657f3cdf979bea955d6ab4bc547b8c17979f60430ae433e0f5f16f4434b01a8ddfc1e9d483dd26b485e41252259c8dd72be74c4cc1d07d290b0e7de8ec84bc6ebb4fffb6a44ff6e4ee06fc45000bdab2c5860bb8b3573ff8f59dd3f4c241e45fd9f9a4ace1915de893a96d704f5a126ae8a442839b25d246beea6470347d85accd6794d9f24268b7e082d3597eb5300a5b76f28d025d35dc9eb07771893b8ac795152e96e63f0ce3e824a95fa09900c7e8e4e0833a8b899cf4a49ea91e63697b9f82ae1a14af8141596cf5b893efd0da4ec81b6d0d850bbfb34d6ef4227aac59e505aff157f49e87a86348abb6499d451e9ae91b84dd74a430f402414f37cd9e72a1dcfe8225db7607a33e0c45c6bd6fa653cc396f9fe508f59a62d43e79ad44f4ebe3bdc11c2c1263c045a7310f85a3f5d3f1b9f50c04727a9a2a80500f27f5c98475af797a5c8bc57399b3f09f2b6ce5e528f9c85e1e035197620c304deb8fa53a2d081b56739dc0aa7c4f34c34bb42177fb420550953ac48a8eb2621f71753f2b11c69328a7cbc4e1c8ce7ad26d21c08a1d87e23f91afd2002ca0cd65fc5a9d87eba588743e107a0a37c4561db3b1e35bd5df59dab97c34517cae3cd76f4b4d97611a336ab6743fcac3dbf6cbd7c77050b62f011ea3a345bbdcd3d9196a89aa1f419c2acbb03bf2b29eaea9ddf2afc70f15a1d8242ecb3fa800741ac7976e160abe8784c3dfd3cce6d59e3209a14adbfa00bed3caad5215e31c83850173dfb01afec072587dde6ffe8cb49650dfcd6cd0bf5f9a67edd8d354e257474eab23fc3634535eee5ebb35fc72725217fcebb9cd364bdeb316ab96565a7f0f70841314fb67136d68eed92ae771c1ba2bb9227f44958ab169c32c61a05a4cac124de52ab441b48c6d0ae5b9ef1fc10c6e5c9908be81a14b04765ba9ac179adc45d7a3bb6e6e6d22831a4403814e39a8d7f11080f68d80d852a19aeb3870bc2a8a9c04d6f9db8d37d89146265a00d86d852619210a3d959c8a5bea55567fb941b681600659ef1d606d2999d0a4a66f76f799699a34cb71eecb7b4053692ed7286a811106def8c25ca724f65b0c68a89b0fa3f5b3a44a7c1e0995cbe47002d432b22983f08e69fd9f45220186921d3312d9368fed7e98937295f7bc1a6afd1399b6dd6f09424bf6402e1458b509c183029215933139769a806143dc56e843312fd870a0e28af3ac6f7b3852c459854c5eef463adc97bd75bf1a98009121a4909de88f7701e5e491cde77b91dc983ec1c646be4a228b9ed8e81ee2748a74384acc2ddcf1c28fc8fa48050627213a26c78417ec470ec1490b545c8fd167c8c40c6b7a61754e5ce2584c58b7c7b55cfebb90261adc5aa1618885c09ac0b9ef203ed4b0baa7749bf4e3ba373623cdae14b99bdda08ad62502ac13d67f60370fa676a3a0db6f130dabfc0885fe20f62d00c339fa9c25c297f7a2b4a7970e272d78d92421bba7ca8b7f33e433c934eeda6fa045f2f0e82e5fecb56b5a3514967ed84c9d105fdfc175b4e88c0b355ac4eb4ecf4dce6207f67dfa0e367e98ee26528c718d796a906f6dc07302b7a7b13311d56d17dce002a70950c32d8834b1efe7a3df05bf7a5acc61cbeff45e4e85f2bef105dcc54ffe47bb6d69a729e6bed510621606f4ef93406060a8d19144e33aa0c53b473baacf2cb8f1aa2134201f57f733c3db30312a0f8e7ec6f0d15eb065be0c101e7a3a7355699495cf81ad3f25def38ba5c698ec99eacc0f4d5674a535ab806e44d70aaabea29b59459adba2bde5d0658d4f44d65086567b7e248084c279d2e5071a51b2fae69679e3a0d41b9b0241a0fdb86dd518f87fd331dd08e09a6307f17ef28e29c3a713290b6f8ab3f610854b6531c4a06f74510cfc618de8377d6ba3e56d7068cd93ffe596179cb27af0d7c3720dbc6ddd8ab06c50332c09ca78d473e7a57d39acc4e75ad60287814e2eb09ef618824a47a387bf784fdb536140afe75956aacb76efc4282b0599cd9693908b8cb9fe941ebf96ad6f78ad0ec489b0e5939b99ca078fd62e4f9c7263637c6b375ada36afa20dc6988205170046f1085a49d995346cadeeca2e23ec98966336f2a43346e4f8ecea6589884e343b24ed3f42906952b7e24c50569a2641d8b3a90c7b35984cb7684345d769ddef9dfca43f423700b9c0a4ecdafb3259819f95f030c3c80328573ace99e679d608eda406bd2135db365087fddc1c5044d5b37452909bed8d54a9a843330bdcf25ab4f7342d19bff232cab7d2b8c9401a8ddfb9d733f9098a384d62b987fecb01ae3ae7484c2a3ad0d0a28896b55377d2e15b1a02ffc12e53baf61e9f31bc300175961ab09a09133317deea74db1fee1ef2a3a10c1c6d986ff6b85a0ea04d3a275aa63e0878fd1e5dcd5898fab2365edabe9aba3b2a3e75395d21b236a3f6d21a0f8a792865ff002b14c290a93fd2f86bcbea06bd3292521af6e5ecfd62213626fbaaea8f5b2d2dd9c993101feb9bc0ed5d2b3bad373a750c12e03616bd1d9ea9199d4432301a5c37de98207b3c15dcb840b6953b6e10774a24f561bd47700d55a59791c5d698f7c0a41f3be8618937f081728e4c0baad5907e4e213d5bff496e5363b74ad1c23369eafe36d5064268d60726f9a954f89bce87233655a8e55d9e2957044657229e73f0eef46cbfc7f1df29d04c0df38dec196be7b3465f204dbd23c70b1b3521a35eb8a5f82fb45436bd9b16fa21c5dcd1f8634e48f622866b400caf0d5937d9b729b04d73561c85d9e818eed22b36e6e0854328e9faf99bf8c65f083240f58016be79c858249ab55635cf82b59df67438cba35e9880c6ac34a4534a080a9ac8fbc1cd1ed906c57105297353ee69260f4ab2b1efcb6adb893520e6db2fd7fce64767d3f519217409ef13be29ab908cd2462f21cd04b00f542f97163d5c239073af3f2d3c191e9b1d1ea85e1ec15daeb3f77020625b86ef9c326acb6190ddb6d6ca3c101d513eb38443e0a845484368b32ec5abecacad78dc8529a52b5b5e5e204af64c46e598c23af59c13d8e42a871bdede9fdfbee0c673bec458255911d50043543817661b7e8a707aaad3f24446a5a12127c48a0866c8b88d6d946b8b4432501221f910321d39b3303702da6e7ebf8d6a03d22e4b4a375a15603af67227bcee8e72c472265cdfba73f575ea38aad790f4fe2e01a04c85f08e8f671fb64cba88e12d0fe9816d2df0bfed05f4693fa45e681a1399eae674af4e233194a72f7dd7ba556c52fcbac5cd30808afc1645c5d45d4538ba658dff0018ed51; asc  Qa-   3               QE      A      ] *v A7     b}3 Z   l     G> H  ^<?m [? R   ?    R     if     /    b j@ 3    U R         gS +  M  DB%9   %  S V E C   ?     W*  r# : ! MQ     C    =  } :   G         o    = 99`U  } .     nY & , XW   {ZNr   H   V?g h         @  ,  '  ?      bDR `   :~t  A}     }mp   F    wJ      VhOS  g  r     7  #       u N    ` p  g0, G'  \ 8R      P    0P{ / xvP   d|G4 0   U- J  e #  H  ]Hc )#w _k  pP_  *(ipil          O@`{  / 5QS j  0 ,"     T=      m    o{ ? c   ? E  V2   rE  o`_(x  /\_)    XZ   J z  Nk  8    ] T   C  O     SS    p  .J   + uJn       j P?   Q       "  4 M    Z `   w     R+  P. 6      k8#    L           I   7  B    XUU?N  PZ  w       ;  A    G Hk  q  j8z*   %! o  |N    e,  RNc    + '     8.       Lc  *a   (H        -      q                 p     o U`Aq. 1}   =  U   q           e  \M  m  0P   N       C  0     F    t;f     I&  Ar  V eR \   x B  Z  6y      Ys   '  R KRK  F    Q      l<t   ^$r $   -<; /P[ '   FL [ x~ -  b  *         8   Xs  T    gs      SLT G    a-   #_    B:{A("        [c   a2 _       ^g   =6   C*           4>r[ b {    u {  c 6 x MRoV  ge g    Go,W   + zc V  "f     eh  k   '] KO  _   +V   g  -)C        x  ` ku   5  uf  !  [w`      U <N{#Hg    # X a  v?m   E ;=  (D  E {~3   <*  E   8          9V   y  $J  9>p_h      O7      e b  l  #p  K9L    ) X%     GOR9"  [75      N  ^Da 18      6 SoQ   ^   }  |      :vA)      +   x ] Y   T  ?   -      )  i  '4  h Z  ;;  0^  ?   (z9~ Hd    U& z    J.     ;    l W     9EfF \ %0O'     ~    Q /  'T  ]  c    vp     /  a`  +   *04  v x y w1        ^  t   b  U 9 l s S        E 3 ^   i .ra        z        |   K   u    ]  V'c    m?              ~    <M  R.* o x# %R+ *  * b ^   z  O   Hh %    T @y@     ty>%n m      "  " +XN         J      &V   f Cn! R R.G~X K Y] b       ?     3  k k  U    C       %c  TW#   Lj* Q  e<# D  ))              p- g W}  s{}    * MZ   L   ^BKw }E    B+        o v*     m   -F# |  9vH      Z    \wl W      E"       pUN    -  A# 4+ |5f<^F   !  p  0  $  Wq  M ~      9  Q 8  sP Q /" ?3d  U  c   .d; "    5N  1T  4G  kO     ,    - .     R  I L( jEX y                +      b  -{ Z   ,   d W  Oq    ^ (Q l \   w   R- l 6    7 c5  `     p   *#   by  (y R/N4P  R  N J /    7 x   Z E P  ?   I     M5u   'Ju ZO\@  B-   _Z  8H  "[      N   i2f H Q {x  C   ES          +W    q  1* a   ?   O S         k    d           "jh  2{  - =  D X^  <  c `   a  I b       2< {    lH^< Q 1   T   Q|  V/ pwm{ W ?.*?  "  I:xl  T       {F 7  1      XT 3W  Hq  $y  Os   F   d9  U0 1  rT  =p3 r 5  LUOwlbe0  o  Z t     m c  7~ Z       E F  ,           2-w @   B ]b         = M ij        eg          =  5          &!E]`   d           w X 1   } yp  q +, ~ j 7     "   tB, F    - L      5   O  F > LXC  Ty,   V /     F;    pp  bQu  Yw d     T   g,}F    C   l        O" <   Wu  !   ]4*:8|    3  h    6Up h`w q\     Vz  4]        - ,    8W K    9a>:|  w .h ` ,  #   < U#  h     %     `y   b jD "    @ E K  [  M  | 0f Np 8 {  \c     8n(a e   K}B'h= ^ N 2    ~yd s&          Of  !    Yx$B    " /  :    9c NRG{TV   89~   F h{^       ?    %E   r   ;  1 q  d   + < <s X C "d]  ?             IQ    4    bZ      BkW   u,{  n C  Y q  p ,5 _/ 6     u  A# >        )0e  M      F a  =   8        tW;-P*.  #r     c} >    Q2i9tun  j\  x      N\X   a2   V  OK      w  4    \       f RRFn^P {        J  j   Q   >^ 9U_8 U  A (   ^ W)7.?| s W   Y Iu/d    M   Q  | !  n )   }a          K  [P          ]it   , &_   \ E E B+  C        3  d    6   X K  d> [  l\ $ U a  wr @ :s)  b%4 =W!+s4Yr    6 n & Z           [y       y     _U  J y ZF ,    . X  k   9      f      a      M %- ly   d>t  \  ].j  _ f |    [   % t  8   +  t   iG4i        _vu 6    2%  [ %E -      S  dd o q   Wh  )  N-  nJ   U   * .  JW      4- @  itXA  U   l   ? S      +      i >  X ;w    %ok   y@ V i y0    '     %   $D 5v&       Q   U+ 0e~ u l   q       .  is H C  d h5     ,F  f  H  ]0 & - ]vl  cBT      w   A=(>) s    GPRT}L  e a z      ? F1_G^  F<     F     4   X     vD' x   j  a  +,    ziE    e y  !  ~   y=B  'K  <    f= [ ?   f s= I  o    $    c c j -Ys    g   d2 2' [X    n=,    r =y   #E  #  x        kP       y  0 O   o _]?   zp   W w}   }        ,a &f4= 9 z \  Eb  5    2  @ k&p  ;    $    h  LeD"    v5d   . b % -`   [ 9  H s   <\  N[H    t%  KMS >A 3     d2   4/b       w   9s A AF  l    {  0 t 2b     +[m(. c \        0/X       ]  :   B 0     _       !   h -T    <6  W Wb    * {  I   !     y6 a  kE <[     7x 4Z *#J       |.  f7   c #SX u   f : 7  5       .   '  .w  @ J~| ied      "  v       Jl#  X      \  ^\ ZvN 5R 1  1   U$  2 c    N%Y E      b&    M 2    MY   e C=c?   | =,      P`P  M    : =}  |  q  /e  q,9         ;   }  w  p Q   S    bD   {    L  l   |x    ]   5z  <l\  t~   L8 l =}69a        "      yZ -       } G n  }` l    *      ,     o   /r  g 2 6 > 9A W    Z     t  ;=       ]    r M   H          s   r  T 7     L  *XnH   XJ,  I X +  [   W "  <  l  z ,  0 6  s  ;  } m _H       o   NQ  *wB   ^    8 (    |  o C  E(   m!~ W    %3 ?   O   dP E      v       5 rv v D   ?  ox 6k     o {DH  z       U U   o Y "@+(  _A-3  s W   )]       9            ; 2` |9   UD~    o / W Z  ^F2y   ::  !G  e~ FB  W $  .0   kH q  >"          p     ?, 0      e, [|xQ  : U.    )3?   AV  fQ       i    7  N!,U A     9 6`    '6           m   N :   g +} J  `   !!   m# 4v  - Q       c    b          3 @     gGiIi  ;   w  >Z I   f h ,\  D  ~M^    6S) fy  Y :@ (    7        m    s   L     p  9M1     YG B  olk          x ] nn     p          2L q >mH    ( y  9/  -   (   P u`  ]O  r`a 7  ) nm P Z yY w     x             } x?   ^~  o[   Tfr      / S x   ?+"I      3 L h     5    L         : _/  f Z uam A&   y     _ a    H    D    8 E    5 9    8 2      y}V%  N + 7vCqk    KhF  ' liu  |       hm     '2 P   S2UW w   :p  :  :(b  /  7  j  z ' R  (^ H  !   =      b  ;    o(    H    o   ;gq Q&             o       "  SEh  T 3  /A  E4t  a ] /\w C2  K9'6h   D[   b P}    kV    U         s    U / \h&     e@ $       d|GAX ;   l-Jh i       Ty }R  +     bU       `e   p  H  K7  ;Idm   * VYL x      & q     7LX    d  ZzB Z         g)f[  h$P i   9TB\ K P   #    V< j %f ~    < m R         l   N^9; x   l *7 ,    o i*-C ] T`  : ~ S  6\U   2  ^c  7. ]  m   '  $          t   9 ]s   @] Z2 *   Hx   U|  M g`  zp     ,   Z  {     )  >1   R    h  Z   P    1    R     K    A' 3     a '    *r F xE  "a     1^  W' 6 2 @    pn        ,  j .Bq ~ 3     M}C f   H     O    w        [ uc6   G& ~f   F< !    ^"W-8    Tu ` T  "       M *  : [ % d f  oQ s9      e{<B H^  ]Q  \    d j      e         se  =   ded6 g ,=  \   &x8E   Y    T  -/ \   ow  sjQ       y    C| [  c  }$ }Wf9   #  c?  d      T}|  8N     i  }         %U*T/   ' ~ +M'!r y.@  /a?  D_#   P T S/ Q  (^ h \    X ' J v+B    \      E0t V      b    5    *& L   Y            ! }    p e  p    ) N  ]k $ t   Vq)F; ?: =,e;C      =   %$ s 2    _#{      0r V   m 5   %    O   D        g 0 5z  `<    d  U YBK c q Z*   A  ]     - .  RCH  r  h         Amn=B     ~Cg   9   k f   o= /; Q *    v&N P    |xK)  J O4    N dH%   T9f } as     =   ph i ?  (^ )   {  z )  O>      9 (W  d<      =d    ] F:  + w]U~RG     @'   Pi   v1   Y 0  6   T i  a  S9g 3    I~`% \F0    ,m &  ^   {  \1ZnU  _    }   H SZ $r ,U n     |5   1 Rr     n C  Y        ,    y    sj&      !G      '     /    5       ^     "V  #      f^  X  ^     r    5      > A5     C  I   Vg ?    jU   - S  'E U    X  + >       _wV    Q1[   W  P   -    w      m{   :; od? ! G  @$  oxC  E  j  7 A nw  ..  t4  S          8  o _=  r-   D E i    '       \    }            [Nz  81n   Y   eE o       , H      g "|zl^  *  )_  2  V[ 4 9     g TX`   #  Nw  @ l S    :  "M5   .     2?{ WW  M9\Yg`   ]s<     yk)    6LW$ gcR  %   ;F  &       "Z          Z   ,f     Y/       -    b     Gs   8g 9 O B  r    N    ) ZPu txU     l A q?} % `h   ` m         _ 1zN  [  )v      +  B`  ( Q8s h  ;  I0   U   ; Wsh nT #9 <6  9       p 0  [xI= 6  [     E  SZa  f   n-  #    r     _ <  *    9   P  `     N( q      [  p ;w       y \'Oh8    XZ    J  #   s  )       x D   &[  J    $  t8   k  <  ji          F     e<vM  T      6w f%   w+   3 \*   `n  '   ~   dB  d      4SqG  d y  k *    f          3 Bb_h y   6     #u   2 i    BJ        K NY   |AqM P   $Se {   ?    1   bE  Je7 c  t    4    <     Q  D 1+ e2 Cr    z    )N  c  l   W   h   S   jn   :7   Kp6D  }   t \   Nz_L  o V2 x 8    e  j UB!    #)*    M   D c, N; K     ViQ   3   [ (q     )X   Ri  ` U} O   \ ~;4 *b    b V    -  k"W       o    |  $ 8 I i g"  x'  ? deo 2   t<  J;r  r       >  @           wv  e^ j 2KH.    Kz z     M    (a[S   c#  H V      cg:         d X }   i  ~   X   4p  @*d7   (G +     "e    3] s  W /      p     ^   N &     S  ^  'eLm5 s   n ik= =8    V    j'  ,d Z`sL (Z{p < eF} 5     +f y(        !  iYdm      '|  B ) wr  $ Dx-  sW i   p 6   T   |]| e &          Vk j  c I r`?EJ   F/     6 Ju  \Q         %I  r"  V  8-  Y  N   @    | y-e l $ A  /    p$     x MI i   <   O   u  Rc{j  v      ^" B %@ f   G)g 4k7 c  $6  :        s    2.  6  p 0   4?\G  d   O} S   V  vP V%   8 (  6\      v    T   E   Zu  MhS 5( 3  -?+     G i  54 Q .    ZEYl _   G     /       4  :&        C8I 2   4o    | $\       F 2  c /    P         =   vit  4      j7  _ P[8 r    7   sB  y  w    3    S| zS  wi  &       W +a  T c : e aF77 O   > K) L   #      6 m J `   `^   9R@ a\6=5  M     /      ,81   T  > ?3   B     rl      V  T  % UT# l7    3l YJ       }  #sE f        8  ]    : h         `     .       ]  X  )y     @q   X    s)'  x m C  ]                ?X [t8B ?      ^ JJ Q^<  P   4    I r 2        S ha?  >   sa  | _    >  HT:    =I    Y     n      <i   AY"d  o}        m U:pDa       d ZK ItD>    Bqc ur  4m    Q  B G w'      J 4       W^b      }N    U e   6~ m  j*Z Y  r     ~  We    D  m   /l  "   o9    )  KJ     ojX   r  nN H    #V    a frW A   4XN  ^   |      Uj A        E  Q  B  %9D  i+[ !   v IT_u  4Du }$0   i  b    ^] X   O i    '       P<p    4g SHY         _  &    aa  Y W< O        %i;     Tvj$  8  yF w     %    |    8  <+ 9 #   w ` |  Zq _          u    T8/   m N     Nw ! :a K     ;  Y   0 /   {C 6Fa  = J l     `  1h    >x  u >JQ  a5. qg   u {  h pp)h  iK z    /\ 6$k  7#    4!@lY3  /a   n     K S b %HYxbY >       n| ?[ Z ]    A    @,]9   %       :    wq_  A &   }A  C     "K    ; Q p  1          Y       d  "96   ) ud     ^{ 7 4   D       5  6      hM  )2}         5x    `  3     |O Xcf d5n  t  !y Kv    ] ,Dx L ,,|h" Gd   <  N   '      w J7V     |  ` E      q 1I   Dsg.         Se _1       |  l^  vY   of]= P   a        Qe 9        - [ ,~  $ X      8ci YS *_ p  3?        R   r  CL4          ) L            v   g=<k   V< (    @dm j!|6   O 9  %    v  pO F  u     1K y N         Q  Y"  T    Z NBw ^ d   4  u [ <  ;  Lt   | (    :   U~ \ S   ;   g1 B   2   xl#    G      o` "| +         Ud   g:         F h Q% )lk  |     P    FR      J t  d      \ -  <  [  _ G  / v`  pOX:k X  h      k   ! (    c | k  P  t >    $u Z   C I  Y p)3 :  V    !Xm 8   n  ]kQ  F |   h      0 a   wW        ^               [_    \   ~ 6    qGp T +fT4 dg hk0     I     T 4  " "  |) e   3m   ,   I m       \  =    _9 s'   },  K   >    S3o  nde /  `9    $     A c  rr     j  DJ    0b=     l  ;y y   }kz  . +    g i":Y@   O ?       #      BB`V   8  mM 0Zf B    4   ) O    #      _eW- O     ;.   l5YC~    }  SK^g  ! "        3   { h   UU  G  .O         (      4x  g H  hf    2  ! @ z `  8  g s     $ Kw   9   o]     G }? G l[ V   An -,?P    &  f3 p T  i   < X    R  W   Rq~ $    Y     QYm z %eH/G  +  v ` G": <D 5B      6GK  e    d;  U       h !  y  - }   @ X   g4 PbImQ}  ^  z      ( TY{:;   -     !      f+    z  v VnuW  S%         kwI  OR v H   P    ) #  l>M   B\ Y!          O       Qs$.   } k; b)@Xi _i  X   hU  59h   C U     4<     5 "y     c4          U    & , E  1?~    X    \   O    ,S O  U n t    G|  j)   p  k @= 1 B5-   \v   _  U  p     ]^;_    YvD $     a3   U   1   s)HP   W {2H Fh  k @w G      P @  WOC   ! ;F| M "'Bb    ) * kcx   K= txv} "goL6     J/7QN )h q xS8w  w' r  C      [    {   4  f   1 2W  : b  t /4   [2        U   1d    6h m    L           > T H      <    A .p 0 k q vZ  9   H [  [ Q KFK--  9    v KX M~     (    I  <-so1u      -        hB  !>  %H   !  "   H NvW     &  p iHJ Xzx       ?G=+  3   I PF | ;  / , U    D  o<   =     Ut  I5   " M_ . dX3    c )l H   gn   v k  o  NJ Z  m\    +tdf[     5 }      _  *  ,OC u   rW :   F  9      8:    7  b qY   d =]       ;  [ J   Ed  ?  r   t          n^      pB r        {      Lx l x   x  = vp  W kt      i #v  4  `     G  y 14q@ J? a   Kxd R U  L1   c  1      s! ( mJII 5   6     a      =     :  j   c  ^  TH     ( "D_ B1 < x _ 4]  {   H #y .     ^wtw   fm       Y        X [; dq -" c     (     (x CB   GYo=A  b        zi Y|$ "/.  l5  X|   Q    F   :x   dj    eS {    p  *xU ]r G 22> |   3     dP+v   -    `W z,   N @        4z  Vx& #&   _) s          #(y (@      9Q b*   b^0        a [Q   [^1    ,   !( w    t@]   q k ^q   M j  s n    u$1    @  o      PU     K  [  m     . ?   'y    :   "        i     Z.Q GD         "   W P y        3e S         M{[[V  d   t U    '   Y  )    C   *8     MO C   [ 0 nF   L '      3[j      $     j ]     k    (-  wSi      L= y<   u  4nU    y      p   1_Q9x C     ]h     h l | H  QL  q         e          z  [  ?  u  f ?%G #(   pt   h 6 )^ #  9   v   U.    p \g  C   d  G   | R    Q           <I      ew   :    {         ?W R       HS? h e  F A hq # L         e  3              I    /     \_               :y M   _ $`NQ     { %  jP  \   ]y     > -|  p    @  W    *      y  Zu)  M    ^W2  1 d   T @   5P   N HiF  I @ f b @ Z 7;  lO\   ^C [ 8 ?  *   |        A    |y  E" u X g 7 R      S     5  +t   Z_=TK7 a |    6     T           @3   9 P ~QZ + R;i[!  <Q   MM  sGJ    V         %   x   g  ~  '    n &      B$   @ gy lM  C f  7  [ k  ^      BD   Y  %  1          jP  J   &yt    e  s c}f #% x ^GK  ^ 88   E B  5 Vm     j SK    l   RP   K%  >    yB       z w     I%# K   T           -  t   O A    ` Y   !a ^P>n   `   z    Q    O o       uca| `l4w    j   X   A & : $ 9Q  "+q~  P   m 0s     W}b^    3    "H7z] +GV\ O   z[ gg      Sas d B         ]   vT L&D  _A7w 5y         *  { P    hi zt    f/   gg < ]@  iE+ & K   y#  m~*q     K       %    =C  MR1$s|     N C T J  B y  ; R H /           >  $Q  \k7    e10 98  Y~      g BJIq  jw   l2           V ?    ~m   0(b F]  Q  D   Q;   4I mXa   +Fih! U     Te <     ]j  T{    `C  3   oD4         &    R%   + LL  })  }    n O   O     E         W?      A _      ]   mpOZ j  B  % F  dp4}   g   Bh    Y~ 0 [v   ]5   wq ;    .  ?   $ _        :        ci{       AYl      N  m     Mn "z Y    W    cH  I E      t 0  AO7  r    % v  > E  o S 9o     b >y D      , c E 1          rz * P '   u yz\  s    +l  (  ^  Q b 0M   :-  Vs   |O4 K !w B P :    b qu?+   (      z m!     ?    ,  e Z     t> z 7 V    [  Y  |4Q| < oKM a 3j t?       pP /    E     j   A *  ;             $. ?  t   n            2  J       R      s     rX} o    P  l  _ g   T WGN # 64S^ ^ 5 rrR     6K     VZ  p    g mh  * q  + " D   i ,a ZL  M * A  m       n\     K v[     E   nnm"  D  N9         R   8p *       7  F&Z  m & ! =   [ UV  A  ` Y  `m)    ov  i 4 q  {@Si. (j      \ $ [ h       J|     p  2 )   i  E"    3  6  ~  r    j     o BK @. X        19v  aC V C1/ p     o{8R Y L^ F:   u     !     w      {   >  F J"      t t8J -      H  '!:&    G  I T\  g   kzauN\ XLX   \   &  Z a        >    t    76#         %     `7  v   o         -  9  %        '-x $!     3 3 4  o E   ._  kZ5  ~ L  _  u    5Z  N M b  }  6~  &R q yj om s    3  m      P - 4       zZ a   ^N       O G mi )    b     @``   D :  ;G;  ,   !4  W 3  01*  ~   ^ e    z:sUi     ?%           MVt 5  nD      YE      e OD P V{~$   y    Q    y      A   m     1    c  ~  )   ) o     Ke1  otQ  a  7}k  mph        z   r  m   lP3,  x s  }9   Z    N.     JG   xO Sa@  YV  v  (+               ox             .O rcc|k7Z 6         F  ZI  4l   .#   c6  3F    e  N4;$ ?B iR  LPV &A    {5 L hCE i     ?B7       2Y    0   (W:   y      !5 6P    PD  tR    T  C3   Z  4-   2     @     3   8Mb      : HL*:      Sw  [    .S    1 0 u      3   t         m o  Z  M:'Z > x  ] X   6^    ;*>u9]! 6      y(e  +    ?  k    2 R     b!6&    [--         ]+; 7:u   6       D20 \7   {<   @  ;n wJ$ a Gp U          ; a 7  r L    ~N!=[ InSc J  3i  6  Bh  &  T    #6U  ] )W FW" s   l    ) L     k  F_ M #   5! ^   / T6    !    cNH " k@   Y7  ) MsV       +6   C(      _ 2@    y X$  V5     t8  ^    4 SJ           q )sS i& J    j  5   /   Gg   !t    )    F/!    T/  =\# s ?-<      ^  ]   p b[   2j a     <  Q>  C  EHCh .     x  ) +[^^ J LF   :     *         s  X%Y   CT8 f ~ pz   DF  !'   f   m k D2P !  2 9 07  n~  j  .KJ7Z `: r'   r r&\  s u 8     .  L    g  L   -   m-     i? ^h     t N#1  /}  UlR    0    E  ]E8 e     Q;
InnoDB: End of page dump
2018-04-04 10:51:38 7fd87f7fa700 InnoDB: uncompressed page, stored checksum in field1 2521915693, calculated checksums for field1: crc32 2319517863, innodb 1156539104, none 3735928559, stored checksum in field2 3127217663, calculated checksums for field2: crc32 2319517863, innodb 3127217663, none 3735928559, page LSN 0 1633617, low 4 bytes of LSN at page end 1633617, page number (if stored to page already) 307, space id (if created with >= MySQL-4.1.1 and stored already) 0
InnoDB: page type 17855 meaning INDEX
InnoDB: Page may be an index page where index id is 12630490021493489517
2018-04-04 10:51:38 140567828735744 [Note] InnoDB: It is also possible that your operating system has corrupted its own file cache and rebooting your computer removes the error. If the corrupt page is an index page. You can also try to fix the corruption by dumping, dropping, and reimporting the corrupt table. You can use CHECK TABLE to scan your table for corruption. Please refer to http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html for information about forcing recovery.
2018-04-04 10:51:38 140567828735744 [ERROR] InnoDB: Ending processing because of a corrupt database page.
2018-04-04 10:51:38 7fd87f7fa700  InnoDB: Assertion failure in thread 140567828735744 in file ha_innodb.cc line 20704
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to https://jira.mariadb.org/
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
180404 10:51:38 [ERROR] mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
 
To report this bug, see https://mariadb.com/kb/en/reporting-bugs
 
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed, 
something is definitely wrong and this may fail.
 
Server version: 10.1.32-MariaDB-debug
key_buffer_size=1048576
read_buffer_size=131072
max_used_connections=0
max_threads=153
thread_count=0
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 63044 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
 
Thread pointer: 0x0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 0x0 thread_stack 0x48400
2018-04-04 10:51:38 140568167758976 [Note] InnoDB: 5.6.37 started; log sequence number 1636206
2018-04-04 10:51:38 140567774230272 [Note] InnoDB: Dumping buffer pool(s) not yet started
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_SYS_DATAFILES' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_SYS_TABLESTATS' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_CMP' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'XTRADB_READ_VIEW' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'XTRADB_RSEG' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_FT_DELETED' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_LOCK_WAITS' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'CHANGED_PAGE_BITMAPS' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_SYS_FIELDS' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'XTRADB_INTERNAL_HASH_TABLES' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_TABLESPACES_SCRUBBING' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_CMPMEM_RESET' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_FT_INDEX_TABLE' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_FT_BEING_DELETED' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_MUTEXES' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_FT_CONFIG' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'FEEDBACK' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_FT_INDEX_CACHE' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_FT_DEFAULT_STOPWORD' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_CMP_RESET' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_SYS_COLUMNS' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_CMP_PER_INDEX_RESET' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_SYS_TABLESPACES' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_SYS_SEMAPHORE_WAITS' is disabled.
2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_SYS_INDEXES' is disabled.
2018-04-04 10:51:38 140568167758976 [Warning] /home/jan/mysql/10.1-tmp/sql/mysqld: unknown option '--loose-pam-debug'
2018-04-04 10:51:38 140568167758976 [Warning] /home/jan/mysql/10.1-tmp/sql/mysqld: unknown option '--loose-skip-plugin-innodb-changed-pages'
2018-04-04 10:51:38 140568167758976 [Note] Server socket created on IP: '127.0.0.1'.
2018-04-04 10:51:38 140568167758976 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld: ready for connections.
Version: '10.1.32-MariaDB-debug'  socket: '/home/jan/mysql/10.1-tmp/mysql-test/var/tmp/mysqld.1.sock'  port: 16000  Source distribution
mysys/stacktrace.c:267(my_print_stacktrace)[0x5556981b2622]
sql/signal_handler.cc:168(handle_fatal_signal)[0x555697b4c68d]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11f50)[0x7fd893752f50]
linux/raise.c:51(__GI_raise)[0x7fd8909bde7b]
stdlib/abort.c:81(__GI_abort)[0x7fd8909bf231]
handler/ha_innodb.cc:20706(ib_logf(ib_log_level_t, char const*, ...))[0x7fd889703f97]
buf/buf0buf.cc:4939(buf_page_io_complete(buf_page_t*, bool))[0x7fd88961f934]
buf/buf0rea.cc:228(buf_read_page_low(dberr_t*, bool, unsigned long, unsigned long, unsigned long, unsigned long, long, unsigned long))[0x7fd88963c3f7]
buf/buf0rea.cc:450(buf_read_page(unsigned long, unsigned long, unsigned long))[0x7fd88963c9c5]
buf/buf0buf.cc:3185(buf_page_get_gen(unsigned long, unsigned long, unsigned long, unsigned long, buf_block_t*, unsigned long, char const*, unsigned long, mtr_t*, dberr_t*))[0x7fd88961b816]
btr/btr0cur.cc:612(btr_cur_search_to_nth_level(dict_index_t*, unsigned long, dtuple_t const*, unsigned long, unsigned long, btr_cur_t*, unsigned long, char const*, unsigned long, mtr_t*))[0x7fd8895ecccc]
include/btr0pcur.ic:439(btr_pcur_open_low(dict_index_t*, unsigned long, dtuple_t const*, unsigned long, unsigned long, btr_pcur_t*, char const*, unsigned long, mtr_t*))[0x7fd889819031]
row/row0row.cc:745(row_search_on_row_ref(btr_pcur_t*, unsigned long, dict_table_t const*, dtuple_t const*, mtr_t*))[0x7fd88981ac50]
row/row0purge.cc:105(row_purge_reposition_pcur(unsigned long, purge_node_t*, mtr_t*))[0x7fd889813f9c]
row/row0purge.cc:150(row_purge_remove_clust_if_poss_low(purge_node_t*, unsigned long))[0x7fd8898140db]
row/row0purge.cc:213(row_purge_remove_clust_if_poss(purge_node_t*))[0x7fd88981431f]
row/row0purge.cc:591(row_purge_del_mark(purge_node_t*))[0x7fd889814da3]
row/row0purge.cc:860(row_purge_record_func(purge_node_t*, unsigned char*, que_thr_t const*, bool))[0x7fd88981569b]
row/row0purge.cc:916(row_purge(purge_node_t*, unsigned char*, que_thr_t*))[0x7fd889815892]
row/row0purge.cc:998(row_purge_step(que_thr_t*))[0x7fd889815b27]
que/que0que.cc:1079(que_thr_step(que_thr_t*))[0x7fd8897b51c1]
que/que0que.cc:1141(que_run_threads_low(que_thr_t*))[0x7fd8897b53c7]
que/que0que.cc:1184(que_run_threads(que_thr_t*))[0x7fd8897b5556]
trx/trx0purge.cc:1229(trx_purge(unsigned long, unsigned long, bool))[0x7fd889868f8e]
srv/srv0srv.cc:2724(srv_do_purge(unsigned long, unsigned long*))[0x7fd88984eb5a]
srv/srv0srv.cc:2870(srv_purge_coordinator_thread)[0x7fd88984f0c1]
nptl/pthread_create.c:463(start_thread)[0x7fd8937485aa]
x86_64/clone.S:97(clone)[0x7fd890a7fcbf]
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
Writing a core file
----------SERVER LOG END-------------

As you can easily see the page is encrypted.



 Comments   
Comment by Jan Lindström (Inactive) [ 2018-03-22 ]

After investigation it seems that encryption threads are still encrypting system tablespace when shutdown happens. This seems possible at point when encryption is disabled and we start waiting tablespaces rotate to unencrypted state. So we should wait until all tablespaces have rotated to correct unencrypted. state.

Comment by Jan Lindström (Inactive) [ 2018-04-04 ]

https://github.com/MariaDB/server/commit/1099031b5f8a67ee65591be08b3101401a2c39b6

Comment by Marko Mäkelä [ 2018-04-05 ]

OK to push after addressing my review comments.

Comment by Jan Lindström (Inactive) [ 2018-04-06 ]

After review fixes + testing.

Generated at Thu Feb 08 08:22:22 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.