1 /*
2  * Library file_system_btree type test program
3  *
4  * Copyright (C) 2018-2021, Joachim Metz <joachim.metz@gmail.com>
5  *
6  * Refer to AUTHORS for acknowledgements.
7  *
8  * This program is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU Lesser General Public License as published by
10  * the Free Software Foundation, either version 3 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public License
19  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
20  */
21 
22 #include <common.h>
23 #include <file_stream.h>
24 #include <types.h>
25 
26 #if defined( HAVE_STDLIB_H ) || defined( WINAPI )
27 #include <stdlib.h>
28 #endif
29 
30 #include "fsapfs_test_functions.h"
31 #include "fsapfs_test_libcerror.h"
32 #include "fsapfs_test_libfsapfs.h"
33 #include "fsapfs_test_macros.h"
34 #include "fsapfs_test_memory.h"
35 #include "fsapfs_test_unused.h"
36 
37 #include "../libfsapfs/libfsapfs_file_system_btree.h"
38 
39 uint8_t fsapfs_test_file_system_btree_data1[ 4096 ] = {
40 	0xf0, 0xac, 0xe4, 0x68, 0xe9, 0xb0, 0xe2, 0x5a, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
41 	0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
42 	0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x0d, 0x01, 0x5b, 0x07,
43 	0xff, 0xff, 0x00, 0x00, 0xb8, 0x05, 0x74, 0x02, 0x19, 0x00, 0x18, 0x00, 0x90, 0x00, 0x12, 0x00,
44 	0x00, 0x00, 0x11, 0x00, 0x12, 0x00, 0x12, 0x00, 0x11, 0x00, 0x08, 0x00, 0x7e, 0x00, 0x6c, 0x00,
45 	0x39, 0x00, 0x17, 0x00, 0x16, 0x01, 0x12, 0x00, 0x31, 0x00, 0x08, 0x00, 0x04, 0x01, 0x74, 0x00,
46 	0x50, 0x00, 0x08, 0x00, 0x8a, 0x01, 0x74, 0x00, 0x58, 0x00, 0x1b, 0x00, 0x9c, 0x01, 0x12, 0x00,
47 	0x93, 0x00, 0x1d, 0x00, 0xd8, 0x02, 0x12, 0x00, 0xd0, 0x00, 0x1d, 0x00, 0x44, 0x04, 0x12, 0x00,
48 	0x73, 0x00, 0x08, 0x00, 0x90, 0x03, 0xa0, 0x00, 0x7b, 0x00, 0x08, 0x00, 0x14, 0x02, 0x04, 0x00,
49 	0x83, 0x00, 0x10, 0x00, 0x2c, 0x02, 0x18, 0x00, 0xb0, 0x00, 0x08, 0x00, 0x04, 0x05, 0xa8, 0x00,
50 	0xb8, 0x00, 0x08, 0x00, 0x4a, 0x02, 0x04, 0x00, 0xc0, 0x00, 0x10, 0x00, 0x46, 0x02, 0x18, 0x00,
51 	0xed, 0x00, 0x08, 0x00, 0x78, 0x06, 0xa8, 0x00, 0xf5, 0x00, 0x08, 0x00, 0xb6, 0x03, 0x04, 0x00,
52 	0xfd, 0x00, 0x10, 0x00, 0xb2, 0x03, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
53 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
54 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
55 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90,
56 	0x05, 0xe4, 0x71, 0xb6, 0x72, 0x6f, 0x6f, 0x74, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
57 	0x30, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x8c, 0xa6, 0xac, 0x70, 0x72, 0x69,
58 	0x76, 0x61, 0x74, 0x65, 0x2d, 0x64, 0x69, 0x72, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
59 	0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0b, 0x14, 0xbe, 0x9c, 0x2e, 0x66, 0x73,
60 	0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x64, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
61 	0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x14, 0x12, 0x11, 0x66, 0x73, 0x65, 0x76,
62 	0x65, 0x6e, 0x74, 0x73, 0x64, 0x2d, 0x75, 0x75, 0x69, 0x64, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00,
63 	0x00, 0x00, 0x30, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x00, 0x00, 0x00, 0x00,
64 	0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
65 	0x00, 0x00, 0x90, 0x11, 0x08, 0xef, 0x5f, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
66 	0x30, 0x37, 0x37, 0x37, 0x32, 0x30, 0x35, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
67 	0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
68 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90,
69 	0x11, 0xec, 0xcb, 0xd5, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x37, 0x37,
70 	0x37, 0x32, 0x30, 0x36, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x13, 0x00, 0x00,
71 	0x00, 0x00, 0x00, 0x00, 0x60, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
72 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
73 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
74 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
75 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
76 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
77 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
78 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
79 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
80 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
81 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
82 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
83 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
84 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
85 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
86 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
87 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
88 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
89 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
90 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
91 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
92 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
93 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
94 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
95 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
96 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
97 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
98 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
99 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
100 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
101 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
102 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
103 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
104 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
105 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
106 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
107 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
108 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
109 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
110 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
111 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
112 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
113 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
114 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
115 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
116 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
117 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
118 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
119 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
120 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
121 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
122 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
123 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
124 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
125 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
126 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
127 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
128 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
129 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
130 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
131 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
132 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
133 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
134 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
135 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
136 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
137 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
138 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
139 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
140 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
141 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
142 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
143 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
144 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
145 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
146 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
147 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
148 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
149 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
150 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
151 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
152 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
153 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
154 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
155 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
156 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
157 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
158 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
159 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
160 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
161 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
162 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
163 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
164 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
165 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
166 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
167 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
168 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
169 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
170 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
171 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
172 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
173 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
174 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
175 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
176 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
177 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
178 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
179 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
180 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
181 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
182 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
183 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
184 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
185 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
186 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
187 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
188 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
189 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
190 	0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
191 	0xf3, 0x5e, 0x44, 0x06, 0x5a, 0x23, 0x52, 0x15, 0xe1, 0x50, 0x45, 0x06, 0x5a, 0x23, 0x52, 0x15,
192 	0xe1, 0x50, 0x45, 0x06, 0x5a, 0x23, 0x52, 0x15, 0xf3, 0x5e, 0x44, 0x06, 0x5a, 0x23, 0x52, 0x15,
193 	0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
194 	0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00,
195 	0x80, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x40, 0x00,
196 	0x04, 0x02, 0x11, 0x00, 0x08, 0x20, 0x28, 0x00, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
197 	0x30, 0x30, 0x37, 0x37, 0x37, 0x32, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
198 	0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
199 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
200 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x04, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
201 	0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
202 	0xd0, 0x05, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
203 	0xf3, 0x5e, 0x44, 0x06, 0x5a, 0x23, 0x52, 0x15, 0xe1, 0x50, 0x45, 0x06, 0x5a, 0x23, 0x52, 0x15,
204 	0xe1, 0x50, 0x45, 0x06, 0x5a, 0x23, 0x52, 0x15, 0xf3, 0x5e, 0x44, 0x06, 0x5a, 0x23, 0x52, 0x15,
205 	0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
206 	0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00,
207 	0x80, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x48, 0x00,
208 	0x04, 0x02, 0x11, 0x00, 0x08, 0x20, 0x28, 0x00, 0x05, 0x00, 0x08, 0x00, 0x30, 0x30, 0x30, 0x30,
209 	0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x37, 0x37, 0x37, 0x32, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00,
210 	0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
211 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00,
212 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
213 	0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
214 	0x00, 0x00, 0x00, 0x00, 0xd4, 0x69, 0x40, 0x06, 0x5a, 0x23, 0x52, 0x15, 0xe5, 0xa2, 0x42, 0x06,
215 	0x5a, 0x23, 0x52, 0x15, 0xe5, 0xa2, 0x42, 0x06, 0x5a, 0x23, 0x52, 0x15, 0xd4, 0x69, 0x40, 0x06,
216 	0x5a, 0x23, 0x52, 0x15, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
217 	0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00,
218 	0x63, 0x00, 0x00, 0x00, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
219 	0x02, 0x00, 0x40, 0x00, 0x04, 0x02, 0x11, 0x00, 0x08, 0x20, 0x28, 0x00, 0x30, 0x30, 0x30, 0x30,
220 	0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x37, 0x37, 0x37, 0x32, 0x30, 0x35, 0x00, 0x00, 0x00, 0x00,
221 	0x00, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
222 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00,
223 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x02, 0x18, 0x00,
224 	0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
225 	0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf3, 0x5e, 0x44, 0x06,
226 	0x5a, 0x23, 0x52, 0x15, 0x08, 0x00, 0x9a, 0x03, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00,
227 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf3, 0x5e, 0x44, 0x06, 0x5a, 0x23, 0x52, 0x15, 0xf3, 0x5e,
228 	0x44, 0x06, 0x5a, 0x23, 0x52, 0x15, 0xf3, 0x5e, 0x44, 0x06, 0x5a, 0x23, 0x52, 0x15, 0xf3, 0x5e,
229 	0x44, 0x06, 0x5a, 0x23, 0x52, 0x15, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
230 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x00,
231 	0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
232 	0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x04, 0x02, 0x11, 0x00, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
233 	0x30, 0x30, 0x30, 0x30, 0x37, 0x37, 0x37, 0x32, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
234 	0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00,
235 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x04,
236 	0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
237 	0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xc6, 0x73, 0x56, 0x55, 0x23, 0x52, 0x15,
238 	0x40, 0xc1, 0x45, 0x06, 0x5a, 0x23, 0x52, 0x15, 0x1b, 0xf8, 0x45, 0x06, 0x5a, 0x23, 0x52, 0x15,
239 	0x40, 0xc1, 0x45, 0x06, 0x5a, 0x23, 0x52, 0x15, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
240 	0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
241 	0x63, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
242 	0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x38, 0x00, 0x04, 0x02, 0x0f, 0x00, 0x08, 0x20, 0x28, 0x00,
243 	0x66, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x64, 0x2d, 0x75, 0x75, 0x69, 0x64, 0x00, 0x00,
244 	0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
245 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
246 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
247 	0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
248 	0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0x69, 0x40, 0x06, 0x5a, 0x23, 0x52, 0x15,
249 	0x08, 0x00, 0xf0, 0x02, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00,
250 	0x00, 0x00, 0xd4, 0x69, 0x40, 0x06, 0x5a, 0x23, 0x52, 0x15, 0xd4, 0x69, 0x40, 0x06, 0x5a, 0x23,
251 	0x52, 0x15, 0xd4, 0x69, 0x40, 0x06, 0x5a, 0x23, 0x52, 0x15, 0xd4, 0x69, 0x40, 0x06, 0x5a, 0x23,
252 	0x52, 0x15, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
253 	0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x63, 0x00,
254 	0x00, 0x00, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
255 	0x18, 0x00, 0x04, 0x02, 0x11, 0x00, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
256 	0x37, 0x37, 0x37, 0x32, 0x30, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
257 	0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00,
258 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
259 	0x00, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
260 	0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00,
261 	0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xc6, 0x73, 0x56, 0x55, 0x23, 0x52, 0x15,
262 	0x72, 0xc6, 0x73, 0x56, 0x55, 0x23, 0x52, 0x15, 0x72, 0xc6, 0x73, 0x56, 0x55, 0x23, 0x52, 0x15,
263 	0x72, 0xc6, 0x73, 0x56, 0x55, 0x23, 0x52, 0x15, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
264 	0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
265 	0x63, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
266 	0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x04, 0x02, 0x0f, 0x00, 0x66, 0x73, 0x65, 0x76,
267 	0x65, 0x6e, 0x74, 0x73, 0x64, 0x2d, 0x75, 0x75, 0x69, 0x64, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
268 	0x00, 0x00, 0x00, 0x00, 0x72, 0xc6, 0x73, 0x56, 0x55, 0x23, 0x52, 0x15, 0x08, 0x00, 0x02, 0x00,
269 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0f,
270 	0x71, 0x56, 0x55, 0x23, 0x52, 0x15, 0xfc, 0x68, 0x44, 0x06, 0x5a, 0x23, 0x52, 0x15, 0xfc, 0x68,
271 	0x44, 0x06, 0x5a, 0x23, 0x52, 0x15, 0xc1, 0xd6, 0x73, 0x56, 0x55, 0x23, 0x52, 0x15, 0x00, 0x80,
272 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
273 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0xc0, 0x41,
274 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x04, 0x02,
275 	0x0b, 0x00, 0x2e, 0x66, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00, 0x00,
276 	0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0f, 0x71, 0x56, 0x55, 0x23,
277 	0x52, 0x15, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
278 	0x00, 0x00, 0x00, 0x00, 0x6b, 0x5b, 0xb8, 0x12, 0x55, 0x23, 0x52, 0x15, 0x6b, 0x5b, 0xb8, 0x12,
279 	0x55, 0x23, 0x52, 0x15, 0x6b, 0x5b, 0xb8, 0x12, 0x55, 0x23, 0x52, 0x15, 0x6b, 0x5b, 0xb8, 0x12,
280 	0x55, 0x23, 0x52, 0x15, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
281 	0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
282 	0x00, 0x00, 0x00, 0x00, 0xa4, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
283 	0x01, 0x00, 0x10, 0x00, 0x04, 0x02, 0x0c, 0x00, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x2d,
284 	0x64, 0x69, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
285 	0x6b, 0x5b, 0xb8, 0x12, 0x55, 0x23, 0x52, 0x15, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
286 	0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x41, 0xb8, 0x12, 0x55, 0x23,
287 	0x52, 0x15, 0x85, 0x2b, 0x71, 0x56, 0x55, 0x23, 0x52, 0x15, 0x85, 0x2b, 0x71, 0x56, 0x55, 0x23,
288 	0x52, 0x15, 0xda, 0x41, 0xb8, 0x12, 0x55, 0x23, 0x52, 0x15, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
289 	0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
290 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0x41, 0x00, 0x00, 0x00, 0x00,
291 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x04, 0x02, 0x05, 0x00, 0x72, 0x6f,
292 	0x6f, 0x74, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x41,
293 	0xb8, 0x12, 0x55, 0x23, 0x52, 0x15, 0x04, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
294 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
295 	0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
296 
297 #if defined( __GNUC__ ) && !defined( LIBFSAPFS_DLL_IMPORT )
298 
299 /* Tests the libfsapfs_file_system_btree_initialize function
300  * Returns 1 if successful or 0 if not
301  */
fsapfs_test_file_system_btree_initialize(void)302 int fsapfs_test_file_system_btree_initialize(
303      void )
304 {
305 	libcerror_error_t *error                         = NULL;
306 	libfsapfs_file_system_btree_t *file_system_btree = NULL;
307 	int result                                       = 0;
308 
309 #if defined( HAVE_FSAPFS_TEST_MEMORY )
310 	int number_of_malloc_fail_tests                  = 1;
311 	int number_of_memset_fail_tests                  = 1;
312 	int test_number                                  = 0;
313 #endif
314 
315 	/* Test regular cases
316 	 */
317 	result = libfsapfs_file_system_btree_initialize(
318 	          &file_system_btree,
319 	          NULL,
320 	          NULL,
321 	          NULL,
322 	          NULL,
323 	          0,
324 	          0,
325 	          &error );
326 
327 	FSAPFS_TEST_ASSERT_EQUAL_INT(
328 	 "result",
329 	 result,
330 	 1 );
331 
332 	FSAPFS_TEST_ASSERT_IS_NOT_NULL(
333 	 "file_system_btree",
334 	 file_system_btree );
335 
336 	FSAPFS_TEST_ASSERT_IS_NULL(
337 	 "error",
338 	 error );
339 
340 	result = libfsapfs_file_system_btree_free(
341 	          &file_system_btree,
342 	          &error );
343 
344 	FSAPFS_TEST_ASSERT_EQUAL_INT(
345 	 "result",
346 	 result,
347 	 1 );
348 
349 	FSAPFS_TEST_ASSERT_IS_NULL(
350 	 "file_system_btree",
351 	 file_system_btree );
352 
353 	FSAPFS_TEST_ASSERT_IS_NULL(
354 	 "error",
355 	 error );
356 
357 	/* Test error cases
358 	 */
359 	result = libfsapfs_file_system_btree_initialize(
360 	          NULL,
361 	          NULL,
362 	          NULL,
363 	          NULL,
364 	          NULL,
365 	          0,
366 	          0,
367 	          &error );
368 
369 	FSAPFS_TEST_ASSERT_EQUAL_INT(
370 	 "result",
371 	 result,
372 	 -1 );
373 
374 	FSAPFS_TEST_ASSERT_IS_NOT_NULL(
375 	 "error",
376 	 error );
377 
378 	libcerror_error_free(
379 	 &error );
380 
381 	file_system_btree = (libfsapfs_file_system_btree_t *) 0x12345678UL;
382 
383 	result = libfsapfs_file_system_btree_initialize(
384 	          &file_system_btree,
385 	          NULL,
386 	          NULL,
387 	          NULL,
388 	          NULL,
389 	          0,
390 	          0,
391 	          &error );
392 
393 	file_system_btree = NULL;
394 
395 	FSAPFS_TEST_ASSERT_EQUAL_INT(
396 	 "result",
397 	 result,
398 	 -1 );
399 
400 	FSAPFS_TEST_ASSERT_IS_NOT_NULL(
401 	 "error",
402 	 error );
403 
404 	libcerror_error_free(
405 	 &error );
406 
407 #if defined( HAVE_FSAPFS_TEST_MEMORY )
408 
409 	for( test_number = 0;
410 	     test_number < number_of_malloc_fail_tests;
411 	     test_number++ )
412 	{
413 		/* Test libfsapfs_file_system_btree_initialize with malloc failing
414 		 */
415 		fsapfs_test_malloc_attempts_before_fail = test_number;
416 
417 		result = libfsapfs_file_system_btree_initialize(
418 		          &file_system_btree,
419 		          NULL,
420 		          NULL,
421 		          NULL,
422 		          NULL,
423 		          0,
424 		          0,
425 		          &error );
426 
427 		if( fsapfs_test_malloc_attempts_before_fail != -1 )
428 		{
429 			fsapfs_test_malloc_attempts_before_fail = -1;
430 
431 			if( file_system_btree != NULL )
432 			{
433 				libfsapfs_file_system_btree_free(
434 				 &file_system_btree,
435 				 NULL );
436 			}
437 		}
438 		else
439 		{
440 			FSAPFS_TEST_ASSERT_EQUAL_INT(
441 			 "result",
442 			 result,
443 			 -1 );
444 
445 			FSAPFS_TEST_ASSERT_IS_NULL(
446 			 "file_system_btree",
447 			 file_system_btree );
448 
449 			FSAPFS_TEST_ASSERT_IS_NOT_NULL(
450 			 "error",
451 			 error );
452 
453 			libcerror_error_free(
454 			 &error );
455 		}
456 	}
457 	for( test_number = 0;
458 	     test_number < number_of_memset_fail_tests;
459 	     test_number++ )
460 	{
461 		/* Test libfsapfs_file_system_btree_initialize with memset failing
462 		 */
463 		fsapfs_test_memset_attempts_before_fail = test_number;
464 
465 		result = libfsapfs_file_system_btree_initialize(
466 		          &file_system_btree,
467 		          NULL,
468 		          NULL,
469 		          NULL,
470 		          NULL,
471 		          0,
472 		          0,
473 		          &error );
474 
475 		if( fsapfs_test_memset_attempts_before_fail != -1 )
476 		{
477 			fsapfs_test_memset_attempts_before_fail = -1;
478 
479 			if( file_system_btree != NULL )
480 			{
481 				libfsapfs_file_system_btree_free(
482 				 &file_system_btree,
483 				 NULL );
484 			}
485 		}
486 		else
487 		{
488 			FSAPFS_TEST_ASSERT_EQUAL_INT(
489 			 "result",
490 			 result,
491 			 -1 );
492 
493 			FSAPFS_TEST_ASSERT_IS_NULL(
494 			 "file_system_btree",
495 			 file_system_btree );
496 
497 			FSAPFS_TEST_ASSERT_IS_NOT_NULL(
498 			 "error",
499 			 error );
500 
501 			libcerror_error_free(
502 			 &error );
503 		}
504 	}
505 #endif /* defined( HAVE_FSAPFS_TEST_MEMORY ) */
506 
507 	return( 1 );
508 
509 on_error:
510 	if( error != NULL )
511 	{
512 		libcerror_error_free(
513 		 &error );
514 	}
515 	if( file_system_btree != NULL )
516 	{
517 		libfsapfs_file_system_btree_free(
518 		 &file_system_btree,
519 		 NULL );
520 	}
521 	return( 0 );
522 }
523 
524 /* Tests the libfsapfs_file_system_btree_free function
525  * Returns 1 if successful or 0 if not
526  */
fsapfs_test_file_system_btree_free(void)527 int fsapfs_test_file_system_btree_free(
528      void )
529 {
530 	libcerror_error_t *error = NULL;
531 	int result               = 0;
532 
533 	/* Test error cases
534 	 */
535 	result = libfsapfs_file_system_btree_free(
536 	          NULL,
537 	          &error );
538 
539 	FSAPFS_TEST_ASSERT_EQUAL_INT(
540 	 "result",
541 	 result,
542 	 -1 );
543 
544 	FSAPFS_TEST_ASSERT_IS_NOT_NULL(
545 	 "error",
546 	 error );
547 
548 	libcerror_error_free(
549 	 &error );
550 
551 	return( 1 );
552 
553 on_error:
554 	if( error != NULL )
555 	{
556 		libcerror_error_free(
557 		 &error );
558 	}
559 	return( 0 );
560 }
561 
562 #endif /* defined( __GNUC__ ) && !defined( LIBFSAPFS_DLL_IMPORT ) */
563 
564 /* The main program
565  */
566 #if defined( HAVE_WIDE_SYSTEM_CHARACTER )
wmain(int argc FSAPFS_TEST_ATTRIBUTE_UNUSED,wchar_t * const argv[]FSAPFS_TEST_ATTRIBUTE_UNUSED)567 int wmain(
568      int argc FSAPFS_TEST_ATTRIBUTE_UNUSED,
569      wchar_t * const argv[] FSAPFS_TEST_ATTRIBUTE_UNUSED )
570 #else
571 int main(
572      int argc FSAPFS_TEST_ATTRIBUTE_UNUSED,
573      char * const argv[] FSAPFS_TEST_ATTRIBUTE_UNUSED )
574 #endif
575 {
576 	FSAPFS_TEST_UNREFERENCED_PARAMETER( argc )
577 	FSAPFS_TEST_UNREFERENCED_PARAMETER( argv )
578 
579 #if defined( __GNUC__ ) && !defined( LIBFSAPFS_DLL_IMPORT )
580 
581 	FSAPFS_TEST_RUN(
582 	 "libfsapfs_file_system_btree_initialize",
583 	 fsapfs_test_file_system_btree_initialize );
584 
585 	FSAPFS_TEST_RUN(
586 	 "libfsapfs_file_system_btree_free",
587 	 fsapfs_test_file_system_btree_free );
588 
589 /* TODO add tests for libfsapfs_file_system_btree_get_root_node */
590 
591 /* TODO add tests for libfsapfs_file_system_btree_get_sub_node */
592 
593 /* TODO add tests for libfsapfs_file_system_btree_get_entry_from_node_by_identifier */
594 
595 /* TODO add tests for libfsapfs_file_system_btree_get_directory_record_from_node_by_utf8_name */
596 
597 /* TODO add tests for libfsapfs_file_system_btree_get_directory_record_from_node_by_utf16_name */
598 
599 /* TODO add tests for libfsapfs_file_system_btree_get_directory_entries */
600 
601 /* TODO add tests for libfsapfs_file_system_btree_get_directory_entries_from_node */
602 
603 /* TODO add tests for libfsapfs_file_system_btree_get_file_extents */
604 
605 /* TODO add tests for libfsapfs_file_system_btree_get_file_extents_from_node */
606 
607 /* TODO add tests for libfsapfs_file_system_btree_get_inode_by_identifier */
608 
609 /* TODO add tests for libfsapfs_file_system_btree_get_inode_by_utf8_path */
610 
611 /* TODO add tests for libfsapfs_file_system_btree_get_inode_by_utf16_path */
612 
613 #endif /* defined( __GNUC__ ) && !defined( LIBFSAPFS_DLL_IMPORT ) */
614 
615 	return( EXIT_SUCCESS );
616 
617 on_error:
618 	return( EXIT_FAILURE );
619 }
620 
621