xref: /linux/fs/xfs/xfs_dahash_test.c (revision 6db09a8d0377866b99882f8d44e4ba1a1bf6c6a1)
13cfb9290SDarrick J. Wong // SPDX-License-Identifier: GPL-2.0-or-later
23cfb9290SDarrick J. Wong /*
33cfb9290SDarrick J. Wong  * Copyright (C) 2023 Oracle.  All Rights Reserved.
43cfb9290SDarrick J. Wong  * Author: Darrick J. Wong <djwong@kernel.org>
53cfb9290SDarrick J. Wong  */
63cfb9290SDarrick J. Wong #include "xfs.h"
73cfb9290SDarrick J. Wong #include "xfs_fs.h"
83cfb9290SDarrick J. Wong #include "xfs_shared.h"
93cfb9290SDarrick J. Wong #include "xfs_format.h"
103cfb9290SDarrick J. Wong #include "xfs_da_format.h"
113cfb9290SDarrick J. Wong #include "xfs_da_btree.h"
12*6db09a8dSDarrick J. Wong #include "xfs_trans_resv.h"
13*6db09a8dSDarrick J. Wong #include "xfs_mount.h"
14*6db09a8dSDarrick J. Wong #include "xfs_dir2_priv.h"
153cfb9290SDarrick J. Wong #include "xfs_dahash_test.h"
163cfb9290SDarrick J. Wong 
173cfb9290SDarrick J. Wong /* 4096 random bytes */
183cfb9290SDarrick J. Wong static uint8_t __initdata __attribute__((__aligned__(8))) test_buf[] =
193cfb9290SDarrick J. Wong {
203cfb9290SDarrick J. Wong 	0x5b, 0x85, 0x21, 0xcb, 0x09, 0x68, 0x7d, 0x30,
213cfb9290SDarrick J. Wong 	0xc7, 0x69, 0xd7, 0x30, 0x92, 0xde, 0x59, 0xe4,
223cfb9290SDarrick J. Wong 	0xc9, 0x6e, 0x8b, 0xdb, 0x98, 0x6b, 0xaa, 0x60,
233cfb9290SDarrick J. Wong 	0xa8, 0xb5, 0xbc, 0x6c, 0xa9, 0xb1, 0x5b, 0x2c,
243cfb9290SDarrick J. Wong 	0xea, 0xb4, 0x92, 0x6a, 0x3f, 0x79, 0x91, 0xe4,
253cfb9290SDarrick J. Wong 	0xe9, 0x70, 0x51, 0x8c, 0x7f, 0x95, 0x6f, 0x1a,
263cfb9290SDarrick J. Wong 	0x56, 0xa1, 0x5c, 0x27, 0x03, 0x67, 0x9f, 0x3a,
273cfb9290SDarrick J. Wong 	0xe2, 0x31, 0x11, 0x29, 0x6b, 0x98, 0xfc, 0xc4,
283cfb9290SDarrick J. Wong 	0x53, 0x24, 0xc5, 0x8b, 0xce, 0x47, 0xb2, 0xb9,
293cfb9290SDarrick J. Wong 	0x32, 0xcb, 0xc1, 0xd0, 0x03, 0x57, 0x4e, 0xd4,
303cfb9290SDarrick J. Wong 	0xe9, 0x3c, 0xa1, 0x63, 0xcf, 0x12, 0x0e, 0xca,
313cfb9290SDarrick J. Wong 	0xe1, 0x13, 0xd1, 0x93, 0xa6, 0x88, 0x5c, 0x61,
323cfb9290SDarrick J. Wong 	0x5b, 0xbb, 0xf0, 0x19, 0x46, 0xb4, 0xcf, 0x9e,
333cfb9290SDarrick J. Wong 	0xb6, 0x6b, 0x4c, 0x3a, 0xcf, 0x60, 0xf9, 0x7a,
343cfb9290SDarrick J. Wong 	0x8d, 0x07, 0x63, 0xdb, 0x40, 0xe9, 0x0b, 0x6f,
353cfb9290SDarrick J. Wong 	0xad, 0x97, 0xf1, 0xed, 0xd0, 0x1e, 0x26, 0xfd,
363cfb9290SDarrick J. Wong 	0xbf, 0xb7, 0xc8, 0x04, 0x94, 0xf8, 0x8b, 0x8c,
373cfb9290SDarrick J. Wong 	0xf1, 0xab, 0x7a, 0xd4, 0xdd, 0xf3, 0xe8, 0x88,
383cfb9290SDarrick J. Wong 	0xc3, 0xed, 0x17, 0x8a, 0x9b, 0x40, 0x0d, 0x53,
393cfb9290SDarrick J. Wong 	0x62, 0x12, 0x03, 0x5f, 0x1b, 0x35, 0x32, 0x1f,
403cfb9290SDarrick J. Wong 	0xb4, 0x7b, 0x93, 0x78, 0x0d, 0xdb, 0xce, 0xa4,
413cfb9290SDarrick J. Wong 	0xc0, 0x47, 0xd5, 0xbf, 0x68, 0xe8, 0x5d, 0x74,
423cfb9290SDarrick J. Wong 	0x8f, 0x8e, 0x75, 0x1c, 0xb2, 0x4f, 0x9a, 0x60,
433cfb9290SDarrick J. Wong 	0xd1, 0xbe, 0x10, 0xf4, 0x5c, 0xa1, 0x53, 0x09,
443cfb9290SDarrick J. Wong 	0xa5, 0xe0, 0x09, 0x54, 0x85, 0x5c, 0xdc, 0x07,
453cfb9290SDarrick J. Wong 	0xe7, 0x21, 0x69, 0x7b, 0x8a, 0xfd, 0x90, 0xf1,
463cfb9290SDarrick J. Wong 	0x22, 0xd0, 0xb4, 0x36, 0x28, 0xe6, 0xb8, 0x0f,
473cfb9290SDarrick J. Wong 	0x39, 0xde, 0xc8, 0xf3, 0x86, 0x60, 0x34, 0xd2,
483cfb9290SDarrick J. Wong 	0x5e, 0xdf, 0xfd, 0xcf, 0x0f, 0xa9, 0x65, 0xf0,
493cfb9290SDarrick J. Wong 	0xd5, 0x4d, 0x96, 0x40, 0xe3, 0xdf, 0x3f, 0x95,
503cfb9290SDarrick J. Wong 	0x5a, 0x39, 0x19, 0x93, 0xf4, 0x75, 0xce, 0x22,
513cfb9290SDarrick J. Wong 	0x00, 0x1c, 0x93, 0xe2, 0x03, 0x66, 0xf4, 0x93,
523cfb9290SDarrick J. Wong 	0x73, 0x86, 0x81, 0x8e, 0x29, 0x44, 0x48, 0x86,
533cfb9290SDarrick J. Wong 	0x61, 0x7c, 0x48, 0xa3, 0x43, 0xd2, 0x9c, 0x8d,
543cfb9290SDarrick J. Wong 	0xd4, 0x95, 0xdd, 0xe1, 0x22, 0x89, 0x3a, 0x40,
553cfb9290SDarrick J. Wong 	0x4c, 0x1b, 0x8a, 0x04, 0xa8, 0x09, 0x69, 0x8b,
563cfb9290SDarrick J. Wong 	0xea, 0xc6, 0x55, 0x8e, 0x57, 0xe6, 0x64, 0x35,
573cfb9290SDarrick J. Wong 	0xf0, 0xc7, 0x16, 0x9f, 0x5d, 0x5e, 0x86, 0x40,
583cfb9290SDarrick J. Wong 	0x46, 0xbb, 0xe5, 0x45, 0x88, 0xfe, 0xc9, 0x63,
593cfb9290SDarrick J. Wong 	0x15, 0xfb, 0xf5, 0xbd, 0x71, 0x61, 0xeb, 0x7b,
603cfb9290SDarrick J. Wong 	0x78, 0x70, 0x07, 0x31, 0x03, 0x9f, 0xb2, 0xc8,
613cfb9290SDarrick J. Wong 	0xa7, 0xab, 0x47, 0xfd, 0xdf, 0xa0, 0x78, 0x72,
623cfb9290SDarrick J. Wong 	0xa4, 0x2a, 0xe4, 0xb6, 0xba, 0xc0, 0x1e, 0x86,
633cfb9290SDarrick J. Wong 	0x71, 0xe6, 0x3d, 0x18, 0x37, 0x70, 0xe6, 0xff,
643cfb9290SDarrick J. Wong 	0xe0, 0xbc, 0x0b, 0x22, 0xa0, 0x1f, 0xd3, 0xed,
653cfb9290SDarrick J. Wong 	0xa2, 0x55, 0x39, 0xab, 0xa8, 0x13, 0x73, 0x7c,
663cfb9290SDarrick J. Wong 	0x3f, 0xb2, 0xd6, 0x19, 0xac, 0xff, 0x99, 0xed,
673cfb9290SDarrick J. Wong 	0xe8, 0xe6, 0xa6, 0x22, 0xe3, 0x9c, 0xf1, 0x30,
683cfb9290SDarrick J. Wong 	0xdc, 0x01, 0x0a, 0x56, 0xfa, 0xe4, 0xc9, 0x99,
693cfb9290SDarrick J. Wong 	0xdd, 0xa8, 0xd8, 0xda, 0x35, 0x51, 0x73, 0xb4,
703cfb9290SDarrick J. Wong 	0x40, 0x86, 0x85, 0xdb, 0x5c, 0xd5, 0x85, 0x80,
713cfb9290SDarrick J. Wong 	0x14, 0x9c, 0xfd, 0x98, 0xa9, 0x82, 0xc5, 0x37,
723cfb9290SDarrick J. Wong 	0xff, 0x32, 0x5d, 0xd0, 0x0b, 0xfa, 0xdc, 0x04,
733cfb9290SDarrick J. Wong 	0x5e, 0x09, 0xd2, 0xca, 0x17, 0x4b, 0x1a, 0x8e,
743cfb9290SDarrick J. Wong 	0x15, 0xe1, 0xcc, 0x4e, 0x52, 0x88, 0x35, 0xbd,
753cfb9290SDarrick J. Wong 	0x48, 0xfe, 0x15, 0xa0, 0x91, 0xfd, 0x7e, 0x6c,
763cfb9290SDarrick J. Wong 	0x0e, 0x5d, 0x79, 0x1b, 0x81, 0x79, 0xd2, 0x09,
773cfb9290SDarrick J. Wong 	0x34, 0x70, 0x3d, 0x81, 0xec, 0xf6, 0x24, 0xbb,
783cfb9290SDarrick J. Wong 	0xfb, 0xf1, 0x7b, 0xdf, 0x54, 0xea, 0x80, 0x9b,
793cfb9290SDarrick J. Wong 	0xc7, 0x99, 0x9e, 0xbd, 0x16, 0x78, 0x12, 0x53,
803cfb9290SDarrick J. Wong 	0x5e, 0x01, 0xa7, 0x4e, 0xbd, 0x67, 0xe1, 0x9b,
813cfb9290SDarrick J. Wong 	0x4c, 0x0e, 0x61, 0x45, 0x97, 0xd2, 0xf0, 0x0f,
823cfb9290SDarrick J. Wong 	0xfe, 0x15, 0x08, 0xb7, 0x11, 0x4c, 0xe7, 0xff,
833cfb9290SDarrick J. Wong 	0x81, 0x53, 0xff, 0x91, 0x25, 0x38, 0x7e, 0x40,
843cfb9290SDarrick J. Wong 	0x94, 0xe5, 0xe0, 0xad, 0xe6, 0xd9, 0x79, 0xb6,
853cfb9290SDarrick J. Wong 	0x92, 0xc9, 0xfc, 0xde, 0xc3, 0x1a, 0x23, 0xbb,
863cfb9290SDarrick J. Wong 	0xdd, 0xc8, 0x51, 0x0c, 0x3a, 0x72, 0xfa, 0x73,
873cfb9290SDarrick J. Wong 	0x6f, 0xb7, 0xee, 0x61, 0x39, 0x03, 0x01, 0x3f,
883cfb9290SDarrick J. Wong 	0x7f, 0x94, 0x2e, 0x2e, 0xba, 0x3a, 0xbb, 0xb4,
893cfb9290SDarrick J. Wong 	0xfa, 0x6a, 0x17, 0xfe, 0xea, 0xef, 0x5e, 0x66,
903cfb9290SDarrick J. Wong 	0x97, 0x3f, 0x32, 0x3d, 0xd7, 0x3e, 0xb1, 0xf1,
913cfb9290SDarrick J. Wong 	0x6c, 0x14, 0x4c, 0xfd, 0x37, 0xd3, 0x38, 0x80,
923cfb9290SDarrick J. Wong 	0xfb, 0xde, 0xa6, 0x24, 0x1e, 0xc8, 0xca, 0x7f,
933cfb9290SDarrick J. Wong 	0x3a, 0x93, 0xd8, 0x8b, 0x18, 0x13, 0xb2, 0xe5,
943cfb9290SDarrick J. Wong 	0xe4, 0x93, 0x05, 0x53, 0x4f, 0x84, 0x66, 0xa7,
953cfb9290SDarrick J. Wong 	0x58, 0x5c, 0x7b, 0x86, 0x52, 0x6d, 0x0d, 0xce,
963cfb9290SDarrick J. Wong 	0xa4, 0x30, 0x7d, 0xb6, 0x18, 0x9f, 0xeb, 0xff,
973cfb9290SDarrick J. Wong 	0x22, 0xbb, 0x72, 0x29, 0xb9, 0x44, 0x0b, 0x48,
983cfb9290SDarrick J. Wong 	0x1e, 0x84, 0x71, 0x81, 0xe3, 0x6d, 0x73, 0x26,
993cfb9290SDarrick J. Wong 	0x92, 0xb4, 0x4d, 0x2a, 0x29, 0xb8, 0x1f, 0x72,
1003cfb9290SDarrick J. Wong 	0xed, 0xd0, 0xe1, 0x64, 0x77, 0xea, 0x8e, 0x88,
1013cfb9290SDarrick J. Wong 	0x0f, 0xef, 0x3f, 0xb1, 0x3b, 0xad, 0xf9, 0xc9,
1023cfb9290SDarrick J. Wong 	0x8b, 0xd0, 0xac, 0xc6, 0xcc, 0xa9, 0x40, 0xcc,
1033cfb9290SDarrick J. Wong 	0x76, 0xf6, 0x3b, 0x53, 0xb5, 0x88, 0xcb, 0xc8,
1043cfb9290SDarrick J. Wong 	0x37, 0xf1, 0xa2, 0xba, 0x23, 0x15, 0x99, 0x09,
1053cfb9290SDarrick J. Wong 	0xcc, 0xe7, 0x7a, 0x3b, 0x37, 0xf7, 0x58, 0xc8,
1063cfb9290SDarrick J. Wong 	0x46, 0x8c, 0x2b, 0x2f, 0x4e, 0x0e, 0xa6, 0x5c,
1073cfb9290SDarrick J. Wong 	0xea, 0x85, 0x55, 0xba, 0x02, 0x0e, 0x0e, 0x48,
1083cfb9290SDarrick J. Wong 	0xbc, 0xe1, 0xb1, 0x01, 0x35, 0x79, 0x13, 0x3d,
1093cfb9290SDarrick J. Wong 	0x1b, 0xc0, 0x53, 0x68, 0x11, 0xe7, 0x95, 0x0f,
1103cfb9290SDarrick J. Wong 	0x9d, 0x3f, 0x4c, 0x47, 0x7b, 0x4d, 0x1c, 0xae,
1113cfb9290SDarrick J. Wong 	0x50, 0x9b, 0xcb, 0xdd, 0x05, 0x8d, 0x9a, 0x97,
1123cfb9290SDarrick J. Wong 	0xfd, 0x8c, 0xef, 0x0c, 0x1d, 0x67, 0x73, 0xa8,
1133cfb9290SDarrick J. Wong 	0x28, 0x36, 0xd5, 0xb6, 0x92, 0x33, 0x40, 0x75,
1143cfb9290SDarrick J. Wong 	0x0b, 0x51, 0xc3, 0x64, 0xba, 0x1d, 0xc2, 0xcc,
1153cfb9290SDarrick J. Wong 	0xee, 0x7d, 0x54, 0x0f, 0x27, 0x69, 0xa7, 0x27,
1163cfb9290SDarrick J. Wong 	0x63, 0x30, 0x29, 0xd9, 0xc8, 0x84, 0xd8, 0xdf,
1173cfb9290SDarrick J. Wong 	0x9f, 0x68, 0x8d, 0x04, 0xca, 0xa6, 0xc5, 0xc7,
1183cfb9290SDarrick J. Wong 	0x7a, 0x5c, 0xc8, 0xd1, 0xcb, 0x4a, 0xec, 0xd0,
1193cfb9290SDarrick J. Wong 	0xd8, 0x20, 0x69, 0xc5, 0x17, 0xcd, 0x78, 0xc8,
1203cfb9290SDarrick J. Wong 	0x75, 0x23, 0x30, 0x69, 0xc9, 0xd4, 0xea, 0x5c,
1213cfb9290SDarrick J. Wong 	0x4f, 0x6b, 0x86, 0x3f, 0x8b, 0xfe, 0xee, 0x44,
1223cfb9290SDarrick J. Wong 	0xc9, 0x7c, 0xb7, 0xdd, 0x3e, 0xe5, 0xec, 0x54,
1233cfb9290SDarrick J. Wong 	0x03, 0x3e, 0xaa, 0x82, 0xc6, 0xdf, 0xb2, 0x38,
1243cfb9290SDarrick J. Wong 	0x0e, 0x5d, 0xb3, 0x88, 0xd9, 0xd3, 0x69, 0x5f,
1253cfb9290SDarrick J. Wong 	0x8f, 0x70, 0x8a, 0x7e, 0x11, 0xd9, 0x1e, 0x7b,
1263cfb9290SDarrick J. Wong 	0x38, 0xf1, 0x42, 0x1a, 0xc0, 0x35, 0xf5, 0xc7,
1273cfb9290SDarrick J. Wong 	0x36, 0x85, 0xf5, 0xf7, 0xb8, 0x7e, 0xc7, 0xef,
1283cfb9290SDarrick J. Wong 	0x18, 0xf1, 0x63, 0xd6, 0x7a, 0xc6, 0xc9, 0x0e,
1293cfb9290SDarrick J. Wong 	0x4d, 0x69, 0x4f, 0x84, 0xef, 0x26, 0x41, 0x0c,
1303cfb9290SDarrick J. Wong 	0xec, 0xc7, 0xe0, 0x7e, 0x3c, 0x67, 0x01, 0x4c,
1313cfb9290SDarrick J. Wong 	0x62, 0x1a, 0x20, 0x6f, 0xee, 0x47, 0x4d, 0xc0,
1323cfb9290SDarrick J. Wong 	0x99, 0x13, 0x8d, 0x91, 0x4a, 0x26, 0xd4, 0x37,
1333cfb9290SDarrick J. Wong 	0x28, 0x90, 0x58, 0x75, 0x66, 0x2b, 0x0a, 0xdf,
1343cfb9290SDarrick J. Wong 	0xda, 0xee, 0x92, 0x25, 0x90, 0x62, 0x39, 0x9e,
1353cfb9290SDarrick J. Wong 	0x44, 0x98, 0xad, 0xc1, 0x88, 0xed, 0xe4, 0xb4,
1363cfb9290SDarrick J. Wong 	0xaf, 0xf5, 0x8c, 0x9b, 0x48, 0x4d, 0x56, 0x60,
1373cfb9290SDarrick J. Wong 	0x97, 0x0f, 0x61, 0x59, 0x9e, 0xa6, 0x27, 0xfe,
1383cfb9290SDarrick J. Wong 	0xc1, 0x91, 0x15, 0x38, 0xb8, 0x0f, 0xae, 0x61,
1393cfb9290SDarrick J. Wong 	0x7d, 0x26, 0x13, 0x5a, 0x73, 0xff, 0x1c, 0xa3,
1403cfb9290SDarrick J. Wong 	0x61, 0x04, 0x58, 0x48, 0x55, 0x44, 0x11, 0xfe,
1413cfb9290SDarrick J. Wong 	0x15, 0xca, 0xc3, 0xbd, 0xca, 0xc5, 0xb4, 0x40,
1423cfb9290SDarrick J. Wong 	0x5d, 0x1b, 0x7f, 0x39, 0xb5, 0x9c, 0x35, 0xec,
1433cfb9290SDarrick J. Wong 	0x61, 0x15, 0x32, 0x32, 0xb8, 0x4e, 0x40, 0x9f,
1443cfb9290SDarrick J. Wong 	0x17, 0x1f, 0x0a, 0x4d, 0xa9, 0x91, 0xef, 0xb7,
1453cfb9290SDarrick J. Wong 	0xb0, 0xeb, 0xc2, 0x83, 0x9a, 0x6c, 0xd2, 0x79,
1463cfb9290SDarrick J. Wong 	0x43, 0x78, 0x5e, 0x2f, 0xe5, 0xdd, 0x1a, 0x3c,
1473cfb9290SDarrick J. Wong 	0x45, 0xab, 0x29, 0x40, 0x3a, 0x37, 0x5b, 0x6f,
1483cfb9290SDarrick J. Wong 	0xd7, 0xfc, 0x48, 0x64, 0x3c, 0x49, 0xfb, 0x21,
1493cfb9290SDarrick J. Wong 	0xbe, 0xc3, 0xff, 0x07, 0xfb, 0x17, 0xe9, 0xc9,
1503cfb9290SDarrick J. Wong 	0x0c, 0x4c, 0x5c, 0x15, 0x9e, 0x8e, 0x22, 0x30,
1513cfb9290SDarrick J. Wong 	0x0a, 0xde, 0x48, 0x7f, 0xdb, 0x0d, 0xd1, 0x2b,
1523cfb9290SDarrick J. Wong 	0x87, 0x38, 0x9e, 0xcc, 0x5a, 0x01, 0x16, 0xee,
1533cfb9290SDarrick J. Wong 	0x75, 0x49, 0x0d, 0x30, 0x01, 0x34, 0x6a, 0xb6,
1543cfb9290SDarrick J. Wong 	0x9a, 0x5a, 0x2a, 0xec, 0xbb, 0x48, 0xac, 0xd3,
1553cfb9290SDarrick J. Wong 	0x77, 0x83, 0xd8, 0x08, 0x86, 0x4f, 0x48, 0x09,
1563cfb9290SDarrick J. Wong 	0x29, 0x41, 0x79, 0xa1, 0x03, 0x12, 0xc4, 0xcd,
1573cfb9290SDarrick J. Wong 	0x90, 0x55, 0x47, 0x66, 0x74, 0x9a, 0xcc, 0x4f,
1583cfb9290SDarrick J. Wong 	0x35, 0x8c, 0xd6, 0x98, 0xef, 0xeb, 0x45, 0xb9,
1593cfb9290SDarrick J. Wong 	0x9a, 0x26, 0x2f, 0x39, 0xa5, 0x70, 0x6d, 0xfc,
1603cfb9290SDarrick J. Wong 	0xb4, 0x51, 0xee, 0xf4, 0x9c, 0xe7, 0x38, 0x59,
1613cfb9290SDarrick J. Wong 	0xad, 0xf4, 0xbc, 0x46, 0xff, 0x46, 0x8e, 0x60,
1623cfb9290SDarrick J. Wong 	0x9c, 0xa3, 0x60, 0x1d, 0xf8, 0x26, 0x72, 0xf5,
1633cfb9290SDarrick J. Wong 	0x72, 0x9d, 0x68, 0x80, 0x04, 0xf6, 0x0b, 0xa1,
1643cfb9290SDarrick J. Wong 	0x0a, 0xd5, 0xa7, 0x82, 0x3a, 0x3e, 0x47, 0xa8,
1653cfb9290SDarrick J. Wong 	0x5a, 0xde, 0x59, 0x4f, 0x7b, 0x07, 0xb3, 0xe9,
1663cfb9290SDarrick J. Wong 	0x24, 0x19, 0x3d, 0x34, 0x05, 0xec, 0xf1, 0xab,
1673cfb9290SDarrick J. Wong 	0x6e, 0x64, 0x8f, 0xd3, 0xe6, 0x41, 0x86, 0x80,
1683cfb9290SDarrick J. Wong 	0x70, 0xe3, 0x8d, 0x60, 0x9c, 0x34, 0x25, 0x01,
1693cfb9290SDarrick J. Wong 	0x07, 0x4d, 0x19, 0x41, 0x4e, 0x3d, 0x5c, 0x7e,
1703cfb9290SDarrick J. Wong 	0xa8, 0xf5, 0xcc, 0xd5, 0x7b, 0xe2, 0x7d, 0x3d,
1713cfb9290SDarrick J. Wong 	0x49, 0x86, 0x7d, 0x07, 0xb7, 0x10, 0xe3, 0x35,
1723cfb9290SDarrick J. Wong 	0xb8, 0x84, 0x6d, 0x76, 0xab, 0x17, 0xc6, 0x38,
1733cfb9290SDarrick J. Wong 	0xb4, 0xd3, 0x28, 0x57, 0xad, 0xd3, 0x88, 0x5a,
1743cfb9290SDarrick J. Wong 	0xda, 0xea, 0xc8, 0x94, 0xcc, 0x37, 0x19, 0xac,
1753cfb9290SDarrick J. Wong 	0x9c, 0x9f, 0x4b, 0x00, 0x15, 0xc0, 0xc8, 0xca,
1763cfb9290SDarrick J. Wong 	0x1f, 0x15, 0xaa, 0xe0, 0xdb, 0xf9, 0x2f, 0x57,
1773cfb9290SDarrick J. Wong 	0x1b, 0x24, 0xc7, 0x6f, 0x76, 0x29, 0xfb, 0xed,
1783cfb9290SDarrick J. Wong 	0x25, 0x0d, 0xc0, 0xfe, 0xbd, 0x5a, 0xbf, 0x20,
1793cfb9290SDarrick J. Wong 	0x08, 0x51, 0x05, 0xec, 0x71, 0xa3, 0xbf, 0xef,
1803cfb9290SDarrick J. Wong 	0x5e, 0x99, 0x75, 0xdb, 0x3c, 0x5f, 0x9a, 0x8c,
1813cfb9290SDarrick J. Wong 	0xbb, 0x19, 0x5c, 0x0e, 0x93, 0x19, 0xf8, 0x6a,
1823cfb9290SDarrick J. Wong 	0xbc, 0xf2, 0x12, 0x54, 0x2f, 0xcb, 0x28, 0x64,
1833cfb9290SDarrick J. Wong 	0x88, 0xb3, 0x92, 0x0d, 0x96, 0xd1, 0xa6, 0xe4,
1843cfb9290SDarrick J. Wong 	0x1f, 0xf1, 0x4d, 0xa4, 0xab, 0x1c, 0xee, 0x54,
1853cfb9290SDarrick J. Wong 	0xf2, 0xad, 0x29, 0x6d, 0x32, 0x37, 0xb2, 0x16,
1863cfb9290SDarrick J. Wong 	0x77, 0x5c, 0xdc, 0x2e, 0x54, 0xec, 0x75, 0x26,
1873cfb9290SDarrick J. Wong 	0xc6, 0x36, 0xd9, 0x17, 0x2c, 0xf1, 0x7a, 0xdc,
1883cfb9290SDarrick J. Wong 	0x4b, 0xf1, 0xe2, 0xd9, 0x95, 0xba, 0xac, 0x87,
1893cfb9290SDarrick J. Wong 	0xc1, 0xf3, 0x8e, 0x58, 0x08, 0xd8, 0x87, 0x60,
1903cfb9290SDarrick J. Wong 	0xc9, 0xee, 0x6a, 0xde, 0xa4, 0xd2, 0xfc, 0x0d,
1913cfb9290SDarrick J. Wong 	0xe5, 0x36, 0xc4, 0x5c, 0x52, 0xb3, 0x07, 0x54,
1923cfb9290SDarrick J. Wong 	0x65, 0x24, 0xc1, 0xb1, 0xd1, 0xb1, 0x53, 0x13,
1933cfb9290SDarrick J. Wong 	0x31, 0x79, 0x7f, 0x05, 0x76, 0xeb, 0x37, 0x59,
1943cfb9290SDarrick J. Wong 	0x15, 0x2b, 0xd1, 0x3f, 0xac, 0x08, 0x97, 0xeb,
1953cfb9290SDarrick J. Wong 	0x91, 0x98, 0xdf, 0x6c, 0x09, 0x0d, 0x04, 0x9f,
1963cfb9290SDarrick J. Wong 	0xdc, 0x3b, 0x0e, 0x60, 0x68, 0x47, 0x23, 0x15,
1973cfb9290SDarrick J. Wong 	0x16, 0xc6, 0x0b, 0x35, 0xf8, 0x77, 0xa2, 0x78,
1983cfb9290SDarrick J. Wong 	0x50, 0xd4, 0x64, 0x22, 0x33, 0xff, 0xfb, 0x93,
1993cfb9290SDarrick J. Wong 	0x71, 0x46, 0x50, 0x39, 0x1b, 0x9c, 0xea, 0x4e,
2003cfb9290SDarrick J. Wong 	0x8d, 0x0c, 0x37, 0xe5, 0x5c, 0x51, 0x3a, 0x31,
2013cfb9290SDarrick J. Wong 	0xb2, 0x85, 0x84, 0x3f, 0x41, 0xee, 0xa2, 0xc1,
2023cfb9290SDarrick J. Wong 	0xc6, 0x13, 0x3b, 0x54, 0x28, 0xd2, 0x18, 0x37,
2033cfb9290SDarrick J. Wong 	0xcc, 0x46, 0x9f, 0x6a, 0x91, 0x3d, 0x5a, 0x15,
2043cfb9290SDarrick J. Wong 	0x3c, 0x89, 0xa3, 0x61, 0x06, 0x7d, 0x2e, 0x78,
2053cfb9290SDarrick J. Wong 	0xbe, 0x7d, 0x40, 0xba, 0x2f, 0x95, 0xb1, 0x2f,
2063cfb9290SDarrick J. Wong 	0x87, 0x3b, 0x8a, 0xbe, 0x6a, 0xf4, 0xc2, 0x31,
2073cfb9290SDarrick J. Wong 	0x74, 0xee, 0x91, 0xe0, 0x23, 0xaa, 0x5d, 0x7f,
2083cfb9290SDarrick J. Wong 	0xdd, 0xf0, 0x44, 0x8c, 0x0b, 0x59, 0x2b, 0xfc,
2093cfb9290SDarrick J. Wong 	0x48, 0x3a, 0xdf, 0x07, 0x05, 0x38, 0x6c, 0xc9,
2103cfb9290SDarrick J. Wong 	0xeb, 0x18, 0x24, 0x68, 0x8d, 0x58, 0x98, 0xd3,
2113cfb9290SDarrick J. Wong 	0x31, 0xa3, 0xe4, 0x70, 0x59, 0xb1, 0x21, 0xbe,
2123cfb9290SDarrick J. Wong 	0x7e, 0x65, 0x7d, 0xb8, 0x04, 0xab, 0xf6, 0xe4,
2133cfb9290SDarrick J. Wong 	0xd7, 0xda, 0xec, 0x09, 0x8f, 0xda, 0x6d, 0x24,
2143cfb9290SDarrick J. Wong 	0x07, 0xcc, 0x29, 0x17, 0x05, 0x78, 0x1a, 0xc1,
2153cfb9290SDarrick J. Wong 	0xb1, 0xce, 0xfc, 0xaa, 0x2d, 0xe7, 0xcc, 0x85,
2163cfb9290SDarrick J. Wong 	0x84, 0x84, 0x03, 0x2a, 0x0c, 0x3f, 0xa9, 0xf8,
2173cfb9290SDarrick J. Wong 	0xfd, 0x84, 0x53, 0x59, 0x5c, 0xf0, 0xd4, 0x09,
2183cfb9290SDarrick J. Wong 	0xf0, 0xd2, 0x6c, 0x32, 0x03, 0xb0, 0xa0, 0x8c,
2193cfb9290SDarrick J. Wong 	0x52, 0xeb, 0x23, 0x91, 0x88, 0x43, 0x13, 0x46,
2203cfb9290SDarrick J. Wong 	0xf6, 0x1e, 0xb4, 0x1b, 0xf5, 0x8e, 0x3a, 0xb5,
2213cfb9290SDarrick J. Wong 	0x3d, 0x00, 0xf6, 0xe5, 0x08, 0x3d, 0x5f, 0x39,
2223cfb9290SDarrick J. Wong 	0xd3, 0x21, 0x69, 0xbc, 0x03, 0x22, 0x3a, 0xd2,
2233cfb9290SDarrick J. Wong 	0x5c, 0x84, 0xf8, 0x15, 0xc4, 0x80, 0x0b, 0xbc,
2243cfb9290SDarrick J. Wong 	0x29, 0x3c, 0xf3, 0x95, 0x98, 0xcd, 0x8f, 0x35,
2253cfb9290SDarrick J. Wong 	0xbc, 0xa5, 0x3e, 0xfc, 0xd4, 0x13, 0x9e, 0xde,
2263cfb9290SDarrick J. Wong 	0x4f, 0xce, 0x71, 0x9d, 0x09, 0xad, 0xf2, 0x80,
2273cfb9290SDarrick J. Wong 	0x6b, 0x65, 0x7f, 0x03, 0x00, 0x14, 0x7c, 0x15,
2283cfb9290SDarrick J. Wong 	0x85, 0x40, 0x6d, 0x70, 0xea, 0xdc, 0xb3, 0x63,
2293cfb9290SDarrick J. Wong 	0x35, 0x4f, 0x4d, 0xe0, 0xd9, 0xd5, 0x3c, 0x58,
2303cfb9290SDarrick J. Wong 	0x56, 0x23, 0x80, 0xe2, 0x36, 0xdd, 0x75, 0x1d,
2313cfb9290SDarrick J. Wong 	0x94, 0x11, 0x41, 0x8e, 0xe0, 0x81, 0x8e, 0xcf,
2323cfb9290SDarrick J. Wong 	0xe0, 0xe5, 0xf6, 0xde, 0xd1, 0xe7, 0x04, 0x12,
2333cfb9290SDarrick J. Wong 	0x79, 0x92, 0x2b, 0x71, 0x2a, 0x79, 0x8b, 0x7c,
2343cfb9290SDarrick J. Wong 	0x44, 0x79, 0x16, 0x30, 0x4e, 0xf4, 0xf6, 0x9b,
2353cfb9290SDarrick J. Wong 	0xb7, 0x40, 0xa3, 0x5a, 0xa7, 0x69, 0x3e, 0xc1,
2363cfb9290SDarrick J. Wong 	0x3a, 0x04, 0xd0, 0x88, 0xa0, 0x3b, 0xdd, 0xc6,
2373cfb9290SDarrick J. Wong 	0x9e, 0x7e, 0x1e, 0x1e, 0x8f, 0x44, 0xf7, 0x73,
2383cfb9290SDarrick J. Wong 	0x67, 0x1e, 0x1a, 0x78, 0xfa, 0x62, 0xf4, 0xa9,
2393cfb9290SDarrick J. Wong 	0xa8, 0xc6, 0x5b, 0xb8, 0xfa, 0x06, 0x7d, 0x5e,
2403cfb9290SDarrick J. Wong 	0x38, 0x1c, 0x9a, 0x39, 0xe9, 0x39, 0x98, 0x22,
2413cfb9290SDarrick J. Wong 	0x0b, 0xa7, 0xac, 0x0b, 0xf3, 0xbc, 0xf1, 0xeb,
2423cfb9290SDarrick J. Wong 	0x8c, 0x81, 0xe3, 0x48, 0x8a, 0xed, 0x42, 0xc2,
2433cfb9290SDarrick J. Wong 	0x38, 0xcf, 0x3e, 0xda, 0xd2, 0x89, 0x8d, 0x9c,
2443cfb9290SDarrick J. Wong 	0x53, 0xb5, 0x2f, 0x41, 0x01, 0x26, 0x84, 0x9c,
2453cfb9290SDarrick J. Wong 	0xa3, 0x56, 0xf6, 0x49, 0xc7, 0xd4, 0x9f, 0x93,
2463cfb9290SDarrick J. Wong 	0x1b, 0x96, 0x49, 0x5e, 0xad, 0xb3, 0x84, 0x1f,
2473cfb9290SDarrick J. Wong 	0x3c, 0xa4, 0xe0, 0x9b, 0xd1, 0x90, 0xbc, 0x38,
2483cfb9290SDarrick J. Wong 	0x6c, 0xdd, 0x95, 0x4d, 0x9d, 0xb1, 0x71, 0x57,
2493cfb9290SDarrick J. Wong 	0x2d, 0x34, 0xe8, 0xb8, 0x42, 0xc7, 0x99, 0x03,
2503cfb9290SDarrick J. Wong 	0xc7, 0x07, 0x30, 0x65, 0x91, 0x55, 0xd5, 0x90,
2513cfb9290SDarrick J. Wong 	0x70, 0x97, 0x37, 0x68, 0xd4, 0x11, 0xf9, 0xe8,
2523cfb9290SDarrick J. Wong 	0xce, 0xec, 0xdc, 0x34, 0xd5, 0xd3, 0xb7, 0xc4,
2533cfb9290SDarrick J. Wong 	0xb8, 0x97, 0x05, 0x92, 0xad, 0xf8, 0xe2, 0x36,
2543cfb9290SDarrick J. Wong 	0x64, 0x41, 0xc9, 0xc5, 0x41, 0x77, 0x52, 0xd7,
2553cfb9290SDarrick J. Wong 	0x2c, 0xa5, 0x24, 0x2f, 0xd9, 0x34, 0x0b, 0x47,
2563cfb9290SDarrick J. Wong 	0x35, 0xa7, 0x28, 0x8b, 0xc5, 0xcd, 0xe9, 0x46,
2573cfb9290SDarrick J. Wong 	0xac, 0x39, 0x94, 0x3c, 0x10, 0xc6, 0x29, 0x73,
2583cfb9290SDarrick J. Wong 	0x0e, 0x0e, 0x5d, 0xe0, 0x71, 0x03, 0x8a, 0x72,
2593cfb9290SDarrick J. Wong 	0x0e, 0x26, 0xb0, 0x7d, 0x84, 0xed, 0x95, 0x23,
2603cfb9290SDarrick J. Wong 	0x49, 0x5a, 0x45, 0x83, 0x45, 0x60, 0x11, 0x4a,
2613cfb9290SDarrick J. Wong 	0x46, 0x31, 0xd4, 0xd8, 0x16, 0x54, 0x98, 0x58,
2623cfb9290SDarrick J. Wong 	0xed, 0x6d, 0xcc, 0x5d, 0xd6, 0x50, 0x61, 0x9f,
2633cfb9290SDarrick J. Wong 	0x9d, 0xc5, 0x3e, 0x9d, 0x32, 0x47, 0xde, 0x96,
2643cfb9290SDarrick J. Wong 	0xe1, 0x5d, 0xd8, 0xf8, 0xb4, 0x69, 0x6f, 0xb9,
2653cfb9290SDarrick J. Wong 	0x15, 0x90, 0x57, 0x7a, 0xf6, 0xad, 0xb0, 0x5b,
2663cfb9290SDarrick J. Wong 	0xf5, 0xa6, 0x36, 0x94, 0xfd, 0x84, 0xce, 0x1c,
2673cfb9290SDarrick J. Wong 	0x0f, 0x4b, 0xd0, 0xc2, 0x5b, 0x6b, 0x56, 0xef,
2683cfb9290SDarrick J. Wong 	0x73, 0x93, 0x0b, 0xc3, 0xee, 0xd9, 0xcf, 0xd3,
2693cfb9290SDarrick J. Wong 	0xa4, 0x22, 0x58, 0xcd, 0x50, 0x6e, 0x65, 0xf4,
2703cfb9290SDarrick J. Wong 	0xe9, 0xb7, 0x71, 0xaf, 0x4b, 0xb3, 0xb6, 0x2f,
2713cfb9290SDarrick J. Wong 	0x0f, 0x0e, 0x3b, 0xc9, 0x85, 0x14, 0xf5, 0x17,
2723cfb9290SDarrick J. Wong 	0xe8, 0x7a, 0x3a, 0xbf, 0x5f, 0x5e, 0xf8, 0x18,
2733cfb9290SDarrick J. Wong 	0x48, 0xa6, 0x72, 0xab, 0x06, 0x95, 0xe9, 0xc8,
2743cfb9290SDarrick J. Wong 	0xa7, 0xf4, 0x32, 0x44, 0x04, 0x0c, 0x84, 0x98,
2753cfb9290SDarrick J. Wong 	0x73, 0xe3, 0x89, 0x8d, 0x5f, 0x7e, 0x4a, 0x42,
2763cfb9290SDarrick J. Wong 	0x8f, 0xc5, 0x28, 0xb1, 0x82, 0xef, 0x1c, 0x97,
2773cfb9290SDarrick J. Wong 	0x31, 0x3b, 0x4d, 0xe0, 0x0e, 0x10, 0x10, 0x97,
2783cfb9290SDarrick J. Wong 	0x93, 0x49, 0x78, 0x2f, 0x0d, 0x86, 0x8b, 0xa1,
2793cfb9290SDarrick J. Wong 	0x53, 0xa9, 0x81, 0x20, 0x79, 0xe7, 0x07, 0x77,
2803cfb9290SDarrick J. Wong 	0xb6, 0xac, 0x5e, 0xd2, 0x05, 0xcd, 0xe9, 0xdb,
2813cfb9290SDarrick J. Wong 	0x8a, 0x94, 0x82, 0x8a, 0x23, 0xb9, 0x3d, 0x1c,
2823cfb9290SDarrick J. Wong 	0xa9, 0x7d, 0x72, 0x4a, 0xed, 0x33, 0xa3, 0xdb,
2833cfb9290SDarrick J. Wong 	0x21, 0xa7, 0x86, 0x33, 0x45, 0xa5, 0xaa, 0x56,
2843cfb9290SDarrick J. Wong 	0x45, 0xb5, 0x83, 0x29, 0x40, 0x47, 0x79, 0x04,
2853cfb9290SDarrick J. Wong 	0x6e, 0xb9, 0x95, 0xd0, 0x81, 0x77, 0x2d, 0x48,
2863cfb9290SDarrick J. Wong 	0x1e, 0xfe, 0xc3, 0xc2, 0x1e, 0xe5, 0xf2, 0xbe,
2873cfb9290SDarrick J. Wong 	0xfd, 0x3b, 0x94, 0x9f, 0xc4, 0xc4, 0x26, 0x9d,
2883cfb9290SDarrick J. Wong 	0xe4, 0x66, 0x1e, 0x19, 0xee, 0x6c, 0x79, 0x97,
2893cfb9290SDarrick J. Wong 	0x11, 0x31, 0x4b, 0x0d, 0x01, 0xcb, 0xde, 0xa8,
2903cfb9290SDarrick J. Wong 	0xf6, 0x6d, 0x7c, 0x39, 0x46, 0x4e, 0x7e, 0x3f,
2913cfb9290SDarrick J. Wong 	0x94, 0x17, 0xdf, 0xa1, 0x7d, 0xd9, 0x1c, 0x8e,
2923cfb9290SDarrick J. Wong 	0xbc, 0x7d, 0x33, 0x7d, 0xe3, 0x12, 0x40, 0xca,
2933cfb9290SDarrick J. Wong 	0xab, 0x37, 0x11, 0x46, 0xd4, 0xae, 0xef, 0x44,
2943cfb9290SDarrick J. Wong 	0xa2, 0xb3, 0x6a, 0x66, 0x0e, 0x0c, 0x90, 0x7f,
2953cfb9290SDarrick J. Wong 	0xdf, 0x5c, 0x66, 0x5f, 0xf2, 0x94, 0x9f, 0xa6,
2963cfb9290SDarrick J. Wong 	0x73, 0x4f, 0xeb, 0x0d, 0xad, 0xbf, 0xc0, 0x63,
2973cfb9290SDarrick J. Wong 	0x5c, 0xdc, 0x46, 0x51, 0xe8, 0x8e, 0x90, 0x19,
2983cfb9290SDarrick J. Wong 	0xa8, 0xa4, 0x3c, 0x91, 0x79, 0xfa, 0x7e, 0x58,
2993cfb9290SDarrick J. Wong 	0x85, 0x13, 0x55, 0xc5, 0x19, 0x82, 0x37, 0x1b,
3003cfb9290SDarrick J. Wong 	0x0a, 0x02, 0x1f, 0x99, 0x6b, 0x18, 0xf1, 0x28,
3013cfb9290SDarrick J. Wong 	0x08, 0xa2, 0x73, 0xb8, 0x0f, 0x2e, 0xcd, 0xbf,
3023cfb9290SDarrick J. Wong 	0xf3, 0x86, 0x7f, 0xea, 0xef, 0xd0, 0xbb, 0xa6,
3033cfb9290SDarrick J. Wong 	0x21, 0xdf, 0x49, 0x73, 0x51, 0xcc, 0x36, 0xd3,
3043cfb9290SDarrick J. Wong 	0x3e, 0xa0, 0xf8, 0x44, 0xdf, 0xd3, 0xa6, 0xbe,
3053cfb9290SDarrick J. Wong 	0x8a, 0xd4, 0x57, 0xdd, 0x72, 0x94, 0x61, 0x0f,
3063cfb9290SDarrick J. Wong 	0x82, 0xd1, 0x07, 0xb8, 0x7c, 0x18, 0x83, 0xdf,
3073cfb9290SDarrick J. Wong 	0x3a, 0xe5, 0x50, 0x6a, 0x82, 0x20, 0xac, 0xa9,
3083cfb9290SDarrick J. Wong 	0xa8, 0xff, 0xd9, 0xf3, 0x77, 0x33, 0x5a, 0x9e,
3093cfb9290SDarrick J. Wong 	0x7f, 0x6d, 0xfe, 0x5d, 0x33, 0x41, 0x42, 0xe7,
3103cfb9290SDarrick J. Wong 	0x6c, 0x19, 0xe0, 0x44, 0x8a, 0x15, 0xf6, 0x70,
3113cfb9290SDarrick J. Wong 	0x98, 0xb7, 0x68, 0x4d, 0xfa, 0x97, 0x39, 0xb0,
3123cfb9290SDarrick J. Wong 	0x8e, 0xe8, 0x84, 0x8b, 0x75, 0x30, 0xb7, 0x7d,
3133cfb9290SDarrick J. Wong 	0x92, 0x69, 0x20, 0x9c, 0x81, 0xfb, 0x4b, 0xf4,
3143cfb9290SDarrick J. Wong 	0x01, 0x50, 0xeb, 0xce, 0x0c, 0x1c, 0x6c, 0xb5,
3153cfb9290SDarrick J. Wong 	0x4a, 0xd7, 0x27, 0x0c, 0xce, 0xbb, 0xe5, 0x85,
3163cfb9290SDarrick J. Wong 	0xf0, 0xb6, 0xee, 0xd5, 0x70, 0xdd, 0x3b, 0xfc,
3173cfb9290SDarrick J. Wong 	0xd4, 0x99, 0xf1, 0x33, 0xdd, 0x8b, 0xc4, 0x2f,
3183cfb9290SDarrick J. Wong 	0xae, 0xab, 0x74, 0x96, 0x32, 0xc7, 0x4c, 0x56,
3193cfb9290SDarrick J. Wong 	0x3c, 0x89, 0x0f, 0x96, 0x0b, 0x42, 0xc0, 0xcb,
3203cfb9290SDarrick J. Wong 	0xee, 0x0f, 0x0b, 0x8c, 0xfb, 0x7e, 0x47, 0x7b,
3213cfb9290SDarrick J. Wong 	0x64, 0x48, 0xfd, 0xb2, 0x00, 0x80, 0x89, 0xa5,
3223cfb9290SDarrick J. Wong 	0x13, 0x55, 0x62, 0xfc, 0x8f, 0xe2, 0x42, 0x03,
3233cfb9290SDarrick J. Wong 	0xb7, 0x4e, 0x2a, 0x79, 0xb4, 0x82, 0xea, 0x23,
3243cfb9290SDarrick J. Wong 	0x49, 0xda, 0xaf, 0x52, 0x63, 0x1e, 0x60, 0x03,
3253cfb9290SDarrick J. Wong 	0x89, 0x06, 0x44, 0x46, 0x08, 0xc3, 0xc4, 0x87,
3263cfb9290SDarrick J. Wong 	0x70, 0x2e, 0xda, 0x94, 0xad, 0x6b, 0xe0, 0xe4,
3273cfb9290SDarrick J. Wong 	0xd1, 0x8a, 0x06, 0xc2, 0xa8, 0xc0, 0xa7, 0x43,
3283cfb9290SDarrick J. Wong 	0x3c, 0x47, 0x52, 0x0e, 0xc3, 0x77, 0x81, 0x11,
3293cfb9290SDarrick J. Wong 	0x67, 0x0e, 0xa0, 0x70, 0x04, 0x47, 0x29, 0x40,
3303cfb9290SDarrick J. Wong 	0x86, 0x0d, 0x34, 0x56, 0xa7, 0xc9, 0x35, 0x59,
3313cfb9290SDarrick J. Wong 	0x68, 0xdc, 0x93, 0x81, 0x70, 0xee, 0x86, 0xd9,
3323cfb9290SDarrick J. Wong 	0x80, 0x06, 0x40, 0x4f, 0x1a, 0x0d, 0x40, 0x30,
3333cfb9290SDarrick J. Wong 	0x0b, 0xcb, 0x96, 0x47, 0xc1, 0xb7, 0x52, 0xfd,
3343cfb9290SDarrick J. Wong 	0x56, 0xe0, 0x72, 0x4b, 0xfb, 0xbd, 0x92, 0x45,
3353cfb9290SDarrick J. Wong 	0x61, 0x71, 0xc2, 0x33, 0x11, 0xbf, 0x52, 0x83,
3363cfb9290SDarrick J. Wong 	0x79, 0x26, 0xe0, 0x49, 0x6b, 0xb7, 0x05, 0x8b,
3373cfb9290SDarrick J. Wong 	0xe8, 0x0e, 0x87, 0x31, 0xd7, 0x9d, 0x8a, 0xf5,
3383cfb9290SDarrick J. Wong 	0xc0, 0x5f, 0x2e, 0x58, 0x4a, 0xdb, 0x11, 0xb3,
3393cfb9290SDarrick J. Wong 	0x6c, 0x30, 0x2a, 0x46, 0x19, 0xe3, 0x27, 0x84,
3403cfb9290SDarrick J. Wong 	0x1f, 0x63, 0x6e, 0xf6, 0x57, 0xc7, 0xc9, 0xd8,
3413cfb9290SDarrick J. Wong 	0x5e, 0xba, 0xb3, 0x87, 0xd5, 0x83, 0x26, 0x34,
3423cfb9290SDarrick J. Wong 	0x21, 0x9e, 0x65, 0xde, 0x42, 0xd3, 0xbe, 0x7b,
3433cfb9290SDarrick J. Wong 	0xbc, 0x91, 0x71, 0x44, 0x4d, 0x99, 0x3b, 0x31,
3443cfb9290SDarrick J. Wong 	0xe5, 0x3f, 0x11, 0x4e, 0x7f, 0x13, 0x51, 0x3b,
3453cfb9290SDarrick J. Wong 	0xae, 0x79, 0xc9, 0xd3, 0x81, 0x8e, 0x25, 0x40,
3463cfb9290SDarrick J. Wong 	0x10, 0xfc, 0x07, 0x1e, 0xf9, 0x7b, 0x9a, 0x4b,
3473cfb9290SDarrick J. Wong 	0x6c, 0xe3, 0xb3, 0xad, 0x1a, 0x0a, 0xdd, 0x9e,
3483cfb9290SDarrick J. Wong 	0x59, 0x0c, 0xa2, 0xcd, 0xae, 0x48, 0x4a, 0x38,
3493cfb9290SDarrick J. Wong 	0x5b, 0x47, 0x41, 0x94, 0x65, 0x6b, 0xbb, 0xeb,
3503cfb9290SDarrick J. Wong 	0x5b, 0xe3, 0xaf, 0x07, 0x5b, 0xd4, 0x4a, 0xa2,
3513cfb9290SDarrick J. Wong 	0xc9, 0x5d, 0x2f, 0x64, 0x03, 0xd7, 0x3a, 0x2c,
3523cfb9290SDarrick J. Wong 	0x6e, 0xce, 0x76, 0x95, 0xb4, 0xb3, 0xc0, 0xf1,
3533cfb9290SDarrick J. Wong 	0xe2, 0x45, 0x73, 0x7a, 0x5c, 0xab, 0xc1, 0xfc,
3543cfb9290SDarrick J. Wong 	0x02, 0x8d, 0x81, 0x29, 0xb3, 0xac, 0x07, 0xec,
3553cfb9290SDarrick J. Wong 	0x40, 0x7d, 0x45, 0xd9, 0x7a, 0x59, 0xee, 0x34,
3563cfb9290SDarrick J. Wong 	0xf0, 0xe9, 0xd5, 0x7b, 0x96, 0xb1, 0x3d, 0x95,
3573cfb9290SDarrick J. Wong 	0xcc, 0x86, 0xb5, 0xb6, 0x04, 0x2d, 0xb5, 0x92,
3583cfb9290SDarrick J. Wong 	0x7e, 0x76, 0xf4, 0x06, 0xa9, 0xa3, 0x12, 0x0f,
3593cfb9290SDarrick J. Wong 	0xb1, 0xaf, 0x26, 0xba, 0x7c, 0xfc, 0x7e, 0x1c,
3603cfb9290SDarrick J. Wong 	0xbc, 0x2c, 0x49, 0x97, 0x53, 0x60, 0x13, 0x0b,
3613cfb9290SDarrick J. Wong 	0xa6, 0x61, 0x83, 0x89, 0x42, 0xd4, 0x17, 0x0c,
3623cfb9290SDarrick J. Wong 	0x6c, 0x26, 0x52, 0xc3, 0xb3, 0xd4, 0x67, 0xf5,
3633cfb9290SDarrick J. Wong 	0xe3, 0x04, 0xb7, 0xf4, 0xcb, 0x80, 0xb8, 0xcb,
3643cfb9290SDarrick J. Wong 	0x77, 0x56, 0x3e, 0xaa, 0x57, 0x54, 0xee, 0xb4,
3653cfb9290SDarrick J. Wong 	0x2c, 0x67, 0xcf, 0xf2, 0xdc, 0xbe, 0x55, 0xf9,
3663cfb9290SDarrick J. Wong 	0x43, 0x1f, 0x6e, 0x22, 0x97, 0x67, 0x7f, 0xc4,
3673cfb9290SDarrick J. Wong 	0xef, 0xb1, 0x26, 0x31, 0x1e, 0x27, 0xdf, 0x41,
3683cfb9290SDarrick J. Wong 	0x80, 0x47, 0x6c, 0xe2, 0xfa, 0xa9, 0x8c, 0x2a,
3693cfb9290SDarrick J. Wong 	0xf6, 0xf2, 0xab, 0xf0, 0x15, 0xda, 0x6c, 0xc8,
3703cfb9290SDarrick J. Wong 	0xfe, 0xb5, 0x23, 0xde, 0xa9, 0x05, 0x3f, 0x06,
3713cfb9290SDarrick J. Wong 	0x54, 0x4c, 0xcd, 0xe1, 0xab, 0xfc, 0x0e, 0x62,
3723cfb9290SDarrick J. Wong 	0x33, 0x31, 0x73, 0x2c, 0x76, 0xcb, 0xb4, 0x47,
3733cfb9290SDarrick J. Wong 	0x1e, 0x20, 0xad, 0xd8, 0xf2, 0x31, 0xdd, 0xc4,
3743cfb9290SDarrick J. Wong 	0x8b, 0x0c, 0x77, 0xbe, 0xe1, 0x8b, 0x26, 0x00,
3753cfb9290SDarrick J. Wong 	0x02, 0x58, 0xd6, 0x8d, 0xef, 0xad, 0x74, 0x67,
3763cfb9290SDarrick J. Wong 	0xab, 0x3f, 0xef, 0xcb, 0x6f, 0xb0, 0xcc, 0x81,
3773cfb9290SDarrick J. Wong 	0x44, 0x4c, 0xaf, 0xe9, 0x49, 0x4f, 0xdb, 0xa0,
3783cfb9290SDarrick J. Wong 	0x25, 0xa4, 0xf0, 0x89, 0xf1, 0xbe, 0xd8, 0x10,
3793cfb9290SDarrick J. Wong 	0xff, 0xb1, 0x3b, 0x4b, 0xfa, 0x98, 0xf5, 0x79,
3803cfb9290SDarrick J. Wong 	0x6d, 0x1e, 0x69, 0x4d, 0x57, 0xb1, 0xc8, 0x19,
3813cfb9290SDarrick J. Wong 	0x1b, 0xbd, 0x1e, 0x8c, 0x84, 0xb7, 0x7b, 0xe8,
3823cfb9290SDarrick J. Wong 	0xd2, 0x2d, 0x09, 0x41, 0x41, 0x37, 0x3d, 0xb1,
3833cfb9290SDarrick J. Wong 	0x6f, 0x26, 0x5d, 0x71, 0x16, 0x3d, 0xb7, 0x83,
3843cfb9290SDarrick J. Wong 	0x27, 0x2c, 0xa7, 0xb6, 0x50, 0xbd, 0x91, 0x86,
3853cfb9290SDarrick J. Wong 	0xab, 0x24, 0xa1, 0x38, 0xfd, 0xea, 0x71, 0x55,
3863cfb9290SDarrick J. Wong 	0x7e, 0x9a, 0x07, 0x77, 0x4b, 0xfa, 0x61, 0x66,
3873cfb9290SDarrick J. Wong 	0x20, 0x1e, 0x28, 0x95, 0x18, 0x1b, 0xa4, 0xa0,
3883cfb9290SDarrick J. Wong 	0xfd, 0xc0, 0x89, 0x72, 0x43, 0xd9, 0x3b, 0x49,
3893cfb9290SDarrick J. Wong 	0x5a, 0x3f, 0x9d, 0xbf, 0xdb, 0xb4, 0x46, 0xea,
3903cfb9290SDarrick J. Wong 	0x42, 0x01, 0x77, 0x23, 0x68, 0x95, 0xb6, 0x24,
3913cfb9290SDarrick J. Wong 	0xb3, 0xa8, 0x6c, 0x28, 0x3b, 0x11, 0x40, 0x7e,
3923cfb9290SDarrick J. Wong 	0x18, 0x65, 0x6d, 0xd8, 0x24, 0x42, 0x7d, 0x88,
3933cfb9290SDarrick J. Wong 	0xc0, 0x52, 0xd9, 0x05, 0xe4, 0x95, 0x90, 0x87,
3943cfb9290SDarrick J. Wong 	0x8c, 0xf4, 0xd0, 0x6b, 0xb9, 0x83, 0x99, 0x34,
3953cfb9290SDarrick J. Wong 	0x6d, 0xfe, 0x54, 0x40, 0x94, 0x52, 0x21, 0x4f,
3963cfb9290SDarrick J. Wong 	0x14, 0x25, 0xc5, 0xd6, 0x5e, 0x95, 0xdc, 0x0a,
3973cfb9290SDarrick J. Wong 	0x2b, 0x89, 0x20, 0x11, 0x84, 0x48, 0xd6, 0x3a,
3983cfb9290SDarrick J. Wong 	0xcd, 0x5c, 0x24, 0xad, 0x62, 0xe3, 0xb1, 0x93,
3993cfb9290SDarrick J. Wong 	0x25, 0x8d, 0xcd, 0x7e, 0xfc, 0x27, 0xa3, 0x37,
4003cfb9290SDarrick J. Wong 	0xfd, 0x84, 0xfc, 0x1b, 0xb2, 0xf1, 0x27, 0x38,
4013cfb9290SDarrick J. Wong 	0x5a, 0xb7, 0xfc, 0xf2, 0xfa, 0x95, 0x66, 0xd4,
4023cfb9290SDarrick J. Wong 	0xfb, 0xba, 0xa7, 0xd7, 0xa3, 0x72, 0x69, 0x48,
4033cfb9290SDarrick J. Wong 	0x48, 0x8c, 0xeb, 0x28, 0x89, 0xfe, 0x33, 0x65,
4043cfb9290SDarrick J. Wong 	0x5a, 0x36, 0x01, 0x7e, 0x06, 0x79, 0x0a, 0x09,
4053cfb9290SDarrick J. Wong 	0x3b, 0x74, 0x11, 0x9a, 0x6e, 0xbf, 0xd4, 0x9e,
4063cfb9290SDarrick J. Wong 	0x58, 0x90, 0x49, 0x4f, 0x4d, 0x08, 0xd4, 0xe5,
4073cfb9290SDarrick J. Wong 	0x4a, 0x09, 0x21, 0xef, 0x8b, 0xb8, 0x74, 0x3b,
4083cfb9290SDarrick J. Wong 	0x91, 0xdd, 0x36, 0x85, 0x60, 0x2d, 0xfa, 0xd4,
4093cfb9290SDarrick J. Wong 	0x45, 0x7b, 0x45, 0x53, 0xf5, 0x47, 0x87, 0x7e,
4103cfb9290SDarrick J. Wong 	0xa6, 0x37, 0xc8, 0x78, 0x7a, 0x68, 0x9d, 0x8d,
4113cfb9290SDarrick J. Wong 	0x65, 0x2c, 0x0e, 0x91, 0x5c, 0xa2, 0x60, 0xf0,
4123cfb9290SDarrick J. Wong 	0x8e, 0x3f, 0xe9, 0x1a, 0xcd, 0xaa, 0xe7, 0xd5,
4133cfb9290SDarrick J. Wong 	0x77, 0x18, 0xaf, 0xc9, 0xbc, 0x18, 0xea, 0x48,
4143cfb9290SDarrick J. Wong 	0x1b, 0xfb, 0x22, 0x48, 0x70, 0x16, 0x29, 0x9e,
4153cfb9290SDarrick J. Wong 	0x5b, 0xc1, 0x2c, 0x66, 0x23, 0xbc, 0xf0, 0x1f,
4163cfb9290SDarrick J. Wong 	0xef, 0xaf, 0xe4, 0xd6, 0x04, 0x19, 0x82, 0x7a,
4173cfb9290SDarrick J. Wong 	0x0b, 0xba, 0x4b, 0x46, 0xb1, 0x6a, 0x85, 0x5d,
4183cfb9290SDarrick J. Wong 	0xb4, 0x73, 0xd6, 0x21, 0xa1, 0x71, 0x60, 0x14,
4193cfb9290SDarrick J. Wong 	0xee, 0x0a, 0x77, 0xc4, 0x66, 0x2e, 0xf9, 0x69,
4203cfb9290SDarrick J. Wong 	0x30, 0xaf, 0x41, 0x0b, 0xc8, 0x83, 0x3c, 0x53,
4213cfb9290SDarrick J. Wong 	0x99, 0x19, 0x27, 0x46, 0xf7, 0x41, 0x6e, 0x56,
4223cfb9290SDarrick J. Wong 	0xdc, 0x94, 0x28, 0x67, 0x4e, 0xb7, 0x25, 0x48,
4233cfb9290SDarrick J. Wong 	0x8a, 0xc2, 0xe0, 0x60, 0x96, 0xcc, 0x18, 0xf4,
4243cfb9290SDarrick J. Wong 	0x84, 0xdd, 0xa7, 0x5e, 0x3e, 0x05, 0x0b, 0x26,
4253cfb9290SDarrick J. Wong 	0x26, 0xb2, 0x5c, 0x1f, 0x57, 0x1a, 0x04, 0x7e,
4263cfb9290SDarrick J. Wong 	0x6a, 0xe3, 0x2f, 0xb4, 0x35, 0xb6, 0x38, 0x40,
4273cfb9290SDarrick J. Wong 	0x40, 0xcd, 0x6f, 0x87, 0x2e, 0xef, 0xa3, 0xd7,
4283cfb9290SDarrick J. Wong 	0xa9, 0xc2, 0xe8, 0x0d, 0x27, 0xdf, 0x44, 0x62,
4293cfb9290SDarrick J. Wong 	0x99, 0xa0, 0xfc, 0xcf, 0x81, 0x78, 0xcb, 0xfe,
4303cfb9290SDarrick J. Wong 	0xe5, 0xa0, 0x03, 0x4e, 0x6c, 0xd7, 0xf4, 0xaf,
4313cfb9290SDarrick J. Wong 	0x7a, 0xbb, 0x61, 0x82, 0xfe, 0x71, 0x89, 0xb2,
4323cfb9290SDarrick J. Wong 	0x22, 0x7c, 0x8e, 0x83, 0x04, 0xce, 0xf6, 0x5d,
4333cfb9290SDarrick J. Wong 	0x84, 0x8f, 0x95, 0x6a, 0x7f, 0xad, 0xfd, 0x32,
4343cfb9290SDarrick J. Wong 	0x9c, 0x5e, 0xe4, 0x9c, 0x89, 0x60, 0x54, 0xaa,
4353cfb9290SDarrick J. Wong 	0x96, 0x72, 0xd2, 0xd7, 0x36, 0x85, 0xa9, 0x45,
4363cfb9290SDarrick J. Wong 	0xd2, 0x2a, 0xa1, 0x81, 0x49, 0x6f, 0x7e, 0x04,
4373cfb9290SDarrick J. Wong 	0xfa, 0xe2, 0xfe, 0x90, 0x26, 0x77, 0x5a, 0x33,
4383cfb9290SDarrick J. Wong 	0xb8, 0x04, 0x9a, 0x7a, 0xe6, 0x4c, 0x4f, 0xad,
4393cfb9290SDarrick J. Wong 	0x72, 0x96, 0x08, 0x28, 0x58, 0x13, 0xf8, 0xc4,
4403cfb9290SDarrick J. Wong 	0x1c, 0xf0, 0xc3, 0x45, 0x95, 0x49, 0x20, 0x8c,
4413cfb9290SDarrick J. Wong 	0x9f, 0x39, 0x70, 0xe1, 0x77, 0xfe, 0xd5, 0x4b,
4423cfb9290SDarrick J. Wong 	0xaf, 0x86, 0xda, 0xef, 0x22, 0x06, 0x83, 0x36,
4433cfb9290SDarrick J. Wong 	0x29, 0x12, 0x11, 0x40, 0xbc, 0x3b, 0x86, 0xaa,
4443cfb9290SDarrick J. Wong 	0xaa, 0x65, 0x60, 0xc3, 0x80, 0xca, 0xed, 0xa9,
4453cfb9290SDarrick J. Wong 	0xf3, 0xb0, 0x79, 0x96, 0xa2, 0x55, 0x27, 0x28,
4463cfb9290SDarrick J. Wong 	0x55, 0x73, 0x26, 0xa5, 0x50, 0xea, 0x92, 0x4b,
4473cfb9290SDarrick J. Wong 	0x3c, 0x5c, 0x82, 0x33, 0xf0, 0x01, 0x3f, 0x03,
4483cfb9290SDarrick J. Wong 	0xc1, 0x08, 0x05, 0xbf, 0x98, 0xf4, 0x9b, 0x6d,
4493cfb9290SDarrick J. Wong 	0xa5, 0xa8, 0xb4, 0x82, 0x0c, 0x06, 0xfa, 0xff,
4503cfb9290SDarrick J. Wong 	0x2d, 0x08, 0xf3, 0x05, 0x4f, 0x57, 0x2a, 0x39,
4513cfb9290SDarrick J. Wong 	0xd4, 0x83, 0x0d, 0x75, 0x51, 0xd8, 0x5b, 0x1b,
4523cfb9290SDarrick J. Wong 	0xd3, 0x51, 0x5a, 0x32, 0x2a, 0x9b, 0x32, 0xb2,
4533cfb9290SDarrick J. Wong 	0xf2, 0xa4, 0x96, 0x12, 0xf2, 0xae, 0x40, 0x34,
4543cfb9290SDarrick J. Wong 	0x67, 0xa8, 0xf5, 0x44, 0xd5, 0x35, 0x53, 0xfe,
4553cfb9290SDarrick J. Wong 	0xa3, 0x60, 0x96, 0x63, 0x0f, 0x1f, 0x6e, 0xb0,
4563cfb9290SDarrick J. Wong 	0x5a, 0x42, 0xa6, 0xfc, 0x51, 0x0b, 0x60, 0x27,
4573cfb9290SDarrick J. Wong 	0xbc, 0x06, 0x71, 0xed, 0x65, 0x5b, 0x23, 0x86,
4583cfb9290SDarrick J. Wong 	0x4a, 0x07, 0x3b, 0x22, 0x07, 0x46, 0xe6, 0x90,
4593cfb9290SDarrick J. Wong 	0x3e, 0xf3, 0x25, 0x50, 0x1b, 0x4c, 0x7f, 0x03,
4603cfb9290SDarrick J. Wong 	0x08, 0xa8, 0x36, 0x6b, 0x87, 0xe5, 0xe3, 0xdb,
4613cfb9290SDarrick J. Wong 	0x9a, 0x38, 0x83, 0xff, 0x9f, 0x1a, 0x9f, 0x57,
4623cfb9290SDarrick J. Wong 	0xa4, 0x2a, 0xf6, 0x37, 0xbc, 0x1a, 0xff, 0xc9,
4633cfb9290SDarrick J. Wong 	0x1e, 0x35, 0x0c, 0xc3, 0x7c, 0xa3, 0xb2, 0xe5,
4643cfb9290SDarrick J. Wong 	0xd2, 0xc6, 0xb4, 0x57, 0x47, 0xe4, 0x32, 0x16,
4653cfb9290SDarrick J. Wong 	0x6d, 0xa9, 0xae, 0x64, 0xe6, 0x2d, 0x8d, 0xc5,
4663cfb9290SDarrick J. Wong 	0x8d, 0x50, 0x8e, 0xe8, 0x1a, 0x22, 0x34, 0x2a,
4673cfb9290SDarrick J. Wong 	0xd9, 0xeb, 0x51, 0x90, 0x4a, 0xb1, 0x41, 0x7d,
4683cfb9290SDarrick J. Wong 	0x64, 0xf9, 0xb9, 0x0d, 0xf6, 0x23, 0x33, 0xb0,
4693cfb9290SDarrick J. Wong 	0x33, 0xf4, 0xf7, 0x3f, 0x27, 0x84, 0xc6, 0x0f,
4703cfb9290SDarrick J. Wong 	0x54, 0xa5, 0xc0, 0x2e, 0xec, 0x0b, 0x3a, 0x48,
4713cfb9290SDarrick J. Wong 	0x6e, 0x80, 0x35, 0x81, 0x43, 0x9b, 0x90, 0xb1,
4723cfb9290SDarrick J. Wong 	0xd0, 0x2b, 0xea, 0x21, 0xdc, 0xda, 0x5b, 0x09,
4733cfb9290SDarrick J. Wong 	0xf4, 0xcc, 0x10, 0xb4, 0xc7, 0xfe, 0x79, 0x51,
4743cfb9290SDarrick J. Wong 	0xc3, 0xc5, 0xac, 0x88, 0x74, 0x84, 0x0b, 0x4b,
4753cfb9290SDarrick J. Wong 	0xca, 0x79, 0x16, 0x29, 0xfb, 0x69, 0x54, 0xdf,
4763cfb9290SDarrick J. Wong 	0x41, 0x7e, 0xe9, 0xc7, 0x8e, 0xea, 0xa5, 0xfe,
4773cfb9290SDarrick J. Wong 	0xfc, 0x76, 0x0e, 0x90, 0xc4, 0x92, 0x38, 0xad,
4783cfb9290SDarrick J. Wong 	0x7b, 0x48, 0xe6, 0x6e, 0xf7, 0x21, 0xfd, 0x4e,
4793cfb9290SDarrick J. Wong 	0x93, 0x0a, 0x7b, 0x41, 0x83, 0x68, 0xfb, 0x57,
4803cfb9290SDarrick J. Wong 	0x51, 0x76, 0x34, 0xa9, 0x6c, 0x00, 0xaa, 0x4f,
4813cfb9290SDarrick J. Wong 	0x66, 0x65, 0x98, 0x4a, 0x4f, 0xa3, 0xa0, 0xef,
4823cfb9290SDarrick J. Wong 	0x69, 0x3f, 0xe3, 0x1c, 0x92, 0x8c, 0xfd, 0xd8,
4833cfb9290SDarrick J. Wong 	0xe8, 0xde, 0x7c, 0x7f, 0x3e, 0x84, 0x8e, 0x69,
4843cfb9290SDarrick J. Wong 	0x3c, 0xf1, 0xf2, 0x05, 0x46, 0xdc, 0x2f, 0x9d,
4853cfb9290SDarrick J. Wong 	0x5e, 0x6e, 0x4c, 0xfb, 0xb5, 0x99, 0x2a, 0x59,
4863cfb9290SDarrick J. Wong 	0x63, 0xc1, 0x34, 0xbc, 0x57, 0xc0, 0x0d, 0xb9,
4873cfb9290SDarrick J. Wong 	0x61, 0x25, 0xf3, 0x33, 0x23, 0x51, 0xb6, 0x0d,
4883cfb9290SDarrick J. Wong 	0x07, 0xa6, 0xab, 0x94, 0x4a, 0xb7, 0x2a, 0xea,
4893cfb9290SDarrick J. Wong 	0xee, 0xac, 0xa3, 0xc3, 0x04, 0x8b, 0x0e, 0x56,
4903cfb9290SDarrick J. Wong 	0xfe, 0x44, 0xa7, 0x39, 0xe2, 0xed, 0xed, 0xb4,
4913cfb9290SDarrick J. Wong 	0x22, 0x2b, 0xac, 0x12, 0x32, 0x28, 0x91, 0xd8,
4923cfb9290SDarrick J. Wong 	0xa5, 0xab, 0xff, 0x5f, 0xe0, 0x4b, 0xda, 0x78,
4933cfb9290SDarrick J. Wong 	0x17, 0xda, 0xf1, 0x01, 0x5b, 0xcd, 0xe2, 0x5f,
4943cfb9290SDarrick J. Wong 	0x50, 0x45, 0x73, 0x2b, 0xe4, 0x76, 0x77, 0xf4,
4953cfb9290SDarrick J. Wong 	0x64, 0x1d, 0x43, 0xfb, 0x84, 0x7a, 0xea, 0x91,
4963cfb9290SDarrick J. Wong 	0xae, 0xf9, 0x9e, 0xb7, 0xb4, 0xb0, 0x91, 0x5f,
4973cfb9290SDarrick J. Wong 	0x16, 0x35, 0x9a, 0x11, 0xb8, 0xc7, 0xc1, 0x8c,
4983cfb9290SDarrick J. Wong 	0xc6, 0x10, 0x8d, 0x2f, 0x63, 0x4a, 0xa7, 0x57,
4993cfb9290SDarrick J. Wong 	0x3a, 0x51, 0xd6, 0x32, 0x2d, 0x64, 0x72, 0xd4,
5003cfb9290SDarrick J. Wong 	0x66, 0xdc, 0x10, 0xa6, 0x67, 0xd6, 0x04, 0x23,
5013cfb9290SDarrick J. Wong 	0x9d, 0x0a, 0x11, 0x77, 0xdd, 0x37, 0x94, 0x17,
5023cfb9290SDarrick J. Wong 	0x3c, 0xbf, 0x8b, 0x65, 0xb0, 0x2e, 0x5e, 0x66,
5033cfb9290SDarrick J. Wong 	0x47, 0x64, 0xac, 0xdd, 0xf0, 0x84, 0xfd, 0x39,
5043cfb9290SDarrick J. Wong 	0xfa, 0x15, 0x5d, 0xef, 0xae, 0xca, 0xc1, 0x36,
5053cfb9290SDarrick J. Wong 	0xa7, 0x5c, 0xbf, 0xc7, 0x08, 0xc2, 0x66, 0x00,
5063cfb9290SDarrick J. Wong 	0x74, 0x74, 0x4e, 0x27, 0x3f, 0x55, 0x8a, 0xb7,
5073cfb9290SDarrick J. Wong 	0x38, 0x66, 0x83, 0x6d, 0xcf, 0x99, 0x9e, 0x60,
5083cfb9290SDarrick J. Wong 	0x8f, 0xdd, 0x2e, 0x62, 0x22, 0x0e, 0xef, 0x0c,
5093cfb9290SDarrick J. Wong 	0x98, 0xa7, 0x85, 0x74, 0x3b, 0x9d, 0xec, 0x9e,
5103cfb9290SDarrick J. Wong 	0xa9, 0x19, 0x72, 0xa5, 0x7f, 0x2c, 0x39, 0xb7,
5113cfb9290SDarrick J. Wong 	0x7d, 0xb7, 0xf1, 0x12, 0x65, 0x27, 0x4b, 0x5a,
5123cfb9290SDarrick J. Wong 	0xde, 0x17, 0xfe, 0xad, 0x44, 0xf3, 0x20, 0x4d,
5133cfb9290SDarrick J. Wong 	0xfd, 0xe4, 0x1f, 0xb5, 0x81, 0xb0, 0x36, 0x37,
5143cfb9290SDarrick J. Wong 	0x08, 0x6f, 0xc3, 0x0c, 0xe9, 0x85, 0x98, 0x82,
5153cfb9290SDarrick J. Wong 	0xa9, 0x62, 0x0c, 0xc4, 0x97, 0xc0, 0x50, 0xc8,
5163cfb9290SDarrick J. Wong 	0xa7, 0x3c, 0x50, 0x9f, 0x43, 0xb9, 0xcd, 0x5e,
5173cfb9290SDarrick J. Wong 	0x4d, 0xfa, 0x1c, 0x4b, 0x0b, 0xa9, 0x98, 0x85,
5183cfb9290SDarrick J. Wong 	0x38, 0x92, 0xac, 0x8d, 0xe4, 0xad, 0x9b, 0x98,
5193cfb9290SDarrick J. Wong 	0xab, 0xd9, 0x38, 0xac, 0x62, 0x52, 0xa3, 0x22,
5203cfb9290SDarrick J. Wong 	0x63, 0x0f, 0xbf, 0x95, 0x48, 0xdf, 0x69, 0xe7,
5213cfb9290SDarrick J. Wong 	0x8b, 0x33, 0xd5, 0xb2, 0xbd, 0x05, 0x49, 0x49,
5223cfb9290SDarrick J. Wong 	0x9d, 0x57, 0x73, 0x19, 0x33, 0xae, 0xfa, 0x33,
5233cfb9290SDarrick J. Wong 	0xf1, 0x19, 0xa8, 0x80, 0xce, 0x04, 0x9f, 0xbc,
5243cfb9290SDarrick J. Wong 	0x1d, 0x65, 0x82, 0x1b, 0xe5, 0x3a, 0x51, 0xc8,
5253cfb9290SDarrick J. Wong 	0x1c, 0x21, 0xe3, 0x5d, 0xf3, 0x7d, 0x9b, 0x2f,
5263cfb9290SDarrick J. Wong 	0x2c, 0x1d, 0x4a, 0x7f, 0x9b, 0x68, 0x35, 0xa3,
5273cfb9290SDarrick J. Wong 	0xb2, 0x50, 0xf7, 0x62, 0x79, 0xcd, 0xf4, 0x98,
5283cfb9290SDarrick J. Wong 	0x4f, 0xe5, 0x63, 0x7c, 0x3e, 0x45, 0x31, 0x8c,
5293cfb9290SDarrick J. Wong 	0x16, 0xa0, 0x12, 0xc8, 0x58, 0xce, 0x39, 0xa6,
5303cfb9290SDarrick J. Wong 	0xbc, 0x54, 0xdb, 0xc5, 0xe0, 0xd5, 0xba, 0xbc,
5313cfb9290SDarrick J. Wong 	0xb9, 0x04, 0xf4, 0x8d, 0xe8, 0x2f, 0x15, 0x9d,
5323cfb9290SDarrick J. Wong };
5333cfb9290SDarrick J. Wong 
5343cfb9290SDarrick J. Wong /* 100 test cases */
5353cfb9290SDarrick J. Wong static struct dahash_test {
5363cfb9290SDarrick J. Wong 	uint16_t	start;	/* random 12 bit offset in buf */
5373cfb9290SDarrick J. Wong 	uint16_t	length;	/* random 8 bit length of test */
5383cfb9290SDarrick J. Wong 	xfs_dahash_t	dahash;	/* expected dahash result */
539*6db09a8dSDarrick J. Wong 	xfs_dahash_t	ascii_ci_dahash; /* expected ascii-ci dahash result */
5403cfb9290SDarrick J. Wong } test[] __initdata =
5413cfb9290SDarrick J. Wong {
542*6db09a8dSDarrick J. Wong 	{0x0567, 0x0097, 0x96951389, 0xc153aa0d},
543*6db09a8dSDarrick J. Wong 	{0x0869, 0x0055, 0x6455ab4f, 0xd07f69bf},
544*6db09a8dSDarrick J. Wong 	{0x0c51, 0x00be, 0x8663afde, 0xf9add90c},
545*6db09a8dSDarrick J. Wong 	{0x044a, 0x00fc, 0x98fbe432, 0xbf2abb76},
546*6db09a8dSDarrick J. Wong 	{0x0f29, 0x0079, 0x42371997, 0x282588b3},
547*6db09a8dSDarrick J. Wong 	{0x08ba, 0x0052, 0x942be4f7, 0x2e023547},
548*6db09a8dSDarrick J. Wong 	{0x01f2, 0x0013, 0x5262687e, 0x5266287e},
549*6db09a8dSDarrick J. Wong 	{0x09e3, 0x00e2, 0x8ffb0908, 0x1da892f3},
550*6db09a8dSDarrick J. Wong 	{0x007c, 0x0051, 0xb3158491, 0xb67f9e63},
551*6db09a8dSDarrick J. Wong 	{0x0854, 0x001f, 0x83bb20d9, 0x22bb21db},
552*6db09a8dSDarrick J. Wong 	{0x031b, 0x0008, 0x98970bdf, 0x9cd70adf},
553*6db09a8dSDarrick J. Wong 	{0x0de7, 0x0027, 0xbfbf6f6c, 0xae3f296c},
554*6db09a8dSDarrick J. Wong 	{0x0f76, 0x0005, 0x906a7105, 0x906a7105},
555*6db09a8dSDarrick J. Wong 	{0x092e, 0x00d0, 0x86631850, 0xa3f6ac04},
556*6db09a8dSDarrick J. Wong 	{0x0233, 0x0082, 0xdbdd914e, 0x5d8c7aac},
557*6db09a8dSDarrick J. Wong 	{0x04c9, 0x0075, 0x5a400a9e, 0x12f60711},
558*6db09a8dSDarrick J. Wong 	{0x0b66, 0x0099, 0xae128b45, 0x7551310d},
559*6db09a8dSDarrick J. Wong 	{0x000d, 0x00ed, 0xe61c216a, 0xc22d3c4c},
560*6db09a8dSDarrick J. Wong 	{0x0a31, 0x003d, 0xf69663b9, 0x51960bf8},
561*6db09a8dSDarrick J. Wong 	{0x00a3, 0x0052, 0x643c39ae, 0xa93c73a8},
562*6db09a8dSDarrick J. Wong 	{0x0125, 0x00d5, 0x7c310b0d, 0xf221cbb3},
563*6db09a8dSDarrick J. Wong 	{0x0105, 0x004a, 0x06a77e74, 0xa4ef4561},
564*6db09a8dSDarrick J. Wong 	{0x0858, 0x008e, 0x265bc739, 0xd6c36d9b},
565*6db09a8dSDarrick J. Wong 	{0x045e, 0x0095, 0x13d6b192, 0x5f5c1d62},
566*6db09a8dSDarrick J. Wong 	{0x0dab, 0x003c, 0xc4498704, 0x10414654},
567*6db09a8dSDarrick J. Wong 	{0x00cd, 0x00b5, 0x802a4e2d, 0xfbd17c9d},
568*6db09a8dSDarrick J. Wong 	{0x069b, 0x008c, 0x5df60f71, 0x91ddca5f},
569*6db09a8dSDarrick J. Wong 	{0x0454, 0x006c, 0x5f03d8bb, 0x5c59fce0},
570*6db09a8dSDarrick J. Wong 	{0x040e, 0x0032, 0x0ce513b5, 0xa8cd99b1},
571*6db09a8dSDarrick J. Wong 	{0x0874, 0x00e2, 0x6a811fb3, 0xca028316},
572*6db09a8dSDarrick J. Wong 	{0x0521, 0x00b4, 0x93296833, 0x2c4d4880},
573*6db09a8dSDarrick J. Wong 	{0x0ddc, 0x00cf, 0xf9305338, 0x2c94210d},
574*6db09a8dSDarrick J. Wong 	{0x0a70, 0x0023, 0x239549ea, 0x22b561aa},
575*6db09a8dSDarrick J. Wong 	{0x083e, 0x0027, 0x2d88ba97, 0x5cd8bb9d},
576*6db09a8dSDarrick J. Wong 	{0x0241, 0x00a7, 0xfe0b32e1, 0x17b506b8},
577*6db09a8dSDarrick J. Wong 	{0x0dfc, 0x0096, 0x1a11e815, 0xee4141bd},
578*6db09a8dSDarrick J. Wong 	{0x023e, 0x001e, 0xebc9a1f3, 0x5689a1f3},
579*6db09a8dSDarrick J. Wong 	{0x067e, 0x0066, 0xb1067f81, 0xd9952571},
580*6db09a8dSDarrick J. Wong 	{0x09ea, 0x000e, 0x46fd7247, 0x42b57245},
581*6db09a8dSDarrick J. Wong 	{0x036b, 0x008c, 0x1a39acdf, 0x58bf1586},
582*6db09a8dSDarrick J. Wong 	{0x078f, 0x0030, 0x964042ab, 0xb04218b9},
583*6db09a8dSDarrick J. Wong 	{0x085c, 0x008f, 0x1829edab, 0x9ceca89c},
584*6db09a8dSDarrick J. Wong 	{0x02ec, 0x009f, 0x6aefa72d, 0x634cc2a7},
585*6db09a8dSDarrick J. Wong 	{0x043b, 0x00ce, 0x65642ff5, 0x6c8a584e},
586*6db09a8dSDarrick J. Wong 	{0x0a32, 0x00b8, 0xbd82759e, 0x0f96a34f},
587*6db09a8dSDarrick J. Wong 	{0x0d3c, 0x0087, 0xf4d66d54, 0xb71ba5f4},
588*6db09a8dSDarrick J. Wong 	{0x09ec, 0x008a, 0x06bfa1ff, 0x576ca80f},
589*6db09a8dSDarrick J. Wong 	{0x0902, 0x0015, 0x755025d2, 0x517225c2},
590*6db09a8dSDarrick J. Wong 	{0x08fe, 0x000e, 0xf690ce2d, 0xf690cf3d},
591*6db09a8dSDarrick J. Wong 	{0x00fb, 0x00dc, 0xe55f1528, 0x707d7d92},
592*6db09a8dSDarrick J. Wong 	{0x0eaa, 0x003a, 0x0fe0a8d7, 0x87638cc5},
593*6db09a8dSDarrick J. Wong 	{0x05fb, 0x0006, 0x86281cfb, 0x86281cf9},
594*6db09a8dSDarrick J. Wong 	{0x0dd1, 0x00a7, 0x60ab51b4, 0xe28ef00c},
595*6db09a8dSDarrick J. Wong 	{0x0005, 0x001b, 0xf51d969b, 0xe71dd6d3},
596*6db09a8dSDarrick J. Wong 	{0x077c, 0x00dd, 0xc2fed268, 0xdc30c555},
597*6db09a8dSDarrick J. Wong 	{0x0575, 0x00f5, 0x432c0b1a, 0x81dd7d16},
598*6db09a8dSDarrick J. Wong 	{0x05be, 0x0088, 0x78baa04b, 0xd69b433e},
599*6db09a8dSDarrick J. Wong 	{0x0c89, 0x0068, 0xeda9e428, 0xe9b4fa0a},
600*6db09a8dSDarrick J. Wong 	{0x0f5c, 0x0068, 0xec143c76, 0x9947067a},
601*6db09a8dSDarrick J. Wong 	{0x06a8, 0x0009, 0xd72651ce, 0xd72651ee},
602*6db09a8dSDarrick J. Wong 	{0x060f, 0x008e, 0x765426cd, 0x2099626f},
603*6db09a8dSDarrick J. Wong 	{0x07b1, 0x0047, 0x2cfcfa0c, 0x1a4baa07},
604*6db09a8dSDarrick J. Wong 	{0x04f1, 0x0041, 0x55b172f9, 0x15331a79},
605*6db09a8dSDarrick J. Wong 	{0x0e05, 0x00ac, 0x61efde93, 0x320568cc},
606*6db09a8dSDarrick J. Wong 	{0x0bf7, 0x0097, 0x05b83eee, 0xc72fb7a3},
607*6db09a8dSDarrick J. Wong 	{0x04e9, 0x00f3, 0x9928223a, 0xe8c77de2},
608*6db09a8dSDarrick J. Wong 	{0x023a, 0x0005, 0xdfada9bc, 0xdfadb9be},
609*6db09a8dSDarrick J. Wong 	{0x0acb, 0x000e, 0x2217cecd, 0x0017d6cd},
610*6db09a8dSDarrick J. Wong 	{0x0148, 0x0060, 0xbc3f7405, 0xf5fd6615},
611*6db09a8dSDarrick J. Wong 	{0x0764, 0x0059, 0xcbc201b1, 0xbb089bf4},
612*6db09a8dSDarrick J. Wong 	{0x021f, 0x0059, 0x5d6b2256, 0xa16a0a59},
613*6db09a8dSDarrick J. Wong 	{0x0f1e, 0x006c, 0xdefeeb45, 0xfc34f9d6},
614*6db09a8dSDarrick J. Wong 	{0x071c, 0x00b9, 0xb9b59309, 0xb645eae2},
615*6db09a8dSDarrick J. Wong 	{0x0564, 0x0063, 0xae064271, 0x954dc6d1},
616*6db09a8dSDarrick J. Wong 	{0x0b14, 0x0044, 0xdb867d9b, 0xdf432309},
617*6db09a8dSDarrick J. Wong 	{0x0e5a, 0x0055, 0xff06b685, 0xa65ff257},
618*6db09a8dSDarrick J. Wong 	{0x015e, 0x00ba, 0x1115ccbc, 0x11c365f4},
619*6db09a8dSDarrick J. Wong 	{0x0379, 0x00e6, 0x5f4e58dd, 0x2d176d31},
620*6db09a8dSDarrick J. Wong 	{0x013b, 0x0067, 0x4897427e, 0xc40532fe},
621*6db09a8dSDarrick J. Wong 	{0x0e64, 0x0071, 0x7af2b7a4, 0x1fb7bf43},
622*6db09a8dSDarrick J. Wong 	{0x0a11, 0x0050, 0x92105726, 0xb1185e51},
623*6db09a8dSDarrick J. Wong 	{0x0109, 0x0055, 0xd0d000f9, 0x60a60bfd},
624*6db09a8dSDarrick J. Wong 	{0x00aa, 0x0022, 0x815d229d, 0x215d379c},
625*6db09a8dSDarrick J. Wong 	{0x09ac, 0x004f, 0x02f9d985, 0x10b90b20},
626*6db09a8dSDarrick J. Wong 	{0x0e1b, 0x00ce, 0x5cf92ab4, 0x6a477573},
627*6db09a8dSDarrick J. Wong 	{0x08af, 0x00d8, 0x17ca72d1, 0x385af156},
628*6db09a8dSDarrick J. Wong 	{0x0e33, 0x000a, 0xda2dba6b, 0xda2dbb69},
629*6db09a8dSDarrick J. Wong 	{0x0ee3, 0x006a, 0xb00048e5, 0xa9a2decc},
630*6db09a8dSDarrick J. Wong 	{0x0648, 0x001a, 0x2364b8cb, 0x3364b1cb},
631*6db09a8dSDarrick J. Wong 	{0x0315, 0x0085, 0x0596fd0d, 0xa651740f},
632*6db09a8dSDarrick J. Wong 	{0x0fbb, 0x003e, 0x298230ca, 0x7fc617c7},
633*6db09a8dSDarrick J. Wong 	{0x0422, 0x006a, 0x78ada4ab, 0xc576ae2a},
634*6db09a8dSDarrick J. Wong 	{0x04ba, 0x0073, 0xced1fbc2, 0xaac8455b},
635*6db09a8dSDarrick J. Wong 	{0x007d, 0x0061, 0x4b7ff236, 0x347d5739},
636*6db09a8dSDarrick J. Wong 	{0x070b, 0x00d0, 0x261cf0ae, 0xc7fb1c10},
637*6db09a8dSDarrick J. Wong 	{0x0c1a, 0x0035, 0x8be92ee2, 0x8be9b4e1},
638*6db09a8dSDarrick J. Wong 	{0x0af8, 0x0063, 0x824dcf03, 0x53010388},
639*6db09a8dSDarrick J. Wong 	{0x08f8, 0x006d, 0xd289710c, 0x30418edd},
640*6db09a8dSDarrick J. Wong 	{0x021b, 0x00ee, 0x6ac1c41d, 0x2557e9a3},
641*6db09a8dSDarrick J. Wong 	{0x05b5, 0x00da, 0x8e52f0e2, 0x98531012},
6423cfb9290SDarrick J. Wong };
6433cfb9290SDarrick J. Wong 
6443cfb9290SDarrick J. Wong int __init
6453cfb9290SDarrick J. Wong xfs_dahash_test(void)
6463cfb9290SDarrick J. Wong {
6473cfb9290SDarrick J. Wong 	unsigned int	i;
6483cfb9290SDarrick J. Wong 	unsigned int	errors = 0;
6493cfb9290SDarrick J. Wong 
6503cfb9290SDarrick J. Wong 	for (i = 0; i < ARRAY_SIZE(test); i++) {
651*6db09a8dSDarrick J. Wong 		struct xfs_name	xname = { };
6523cfb9290SDarrick J. Wong 		xfs_dahash_t	hash;
6533cfb9290SDarrick J. Wong 
6543cfb9290SDarrick J. Wong 		hash = xfs_da_hashname(test_buf + test[i].start,
6553cfb9290SDarrick J. Wong 				test[i].length);
6563cfb9290SDarrick J. Wong 		if (hash != test[i].dahash)
6573cfb9290SDarrick J. Wong 			errors++;
658*6db09a8dSDarrick J. Wong 
659*6db09a8dSDarrick J. Wong 		xname.name = test_buf + test[i].start;
660*6db09a8dSDarrick J. Wong 		xname.len = test[i].length;
661*6db09a8dSDarrick J. Wong 		hash = xfs_ascii_ci_hashname(&xname);
662*6db09a8dSDarrick J. Wong 		if (hash != test[i].ascii_ci_dahash)
663*6db09a8dSDarrick J. Wong 			errors++;
6643cfb9290SDarrick J. Wong 	}
6653cfb9290SDarrick J. Wong 
6663cfb9290SDarrick J. Wong 	if (errors) {
6673cfb9290SDarrick J. Wong 		printk(KERN_ERR "xfs dir/attr hash test failed %u times!",
6683cfb9290SDarrick J. Wong 				errors);
6693cfb9290SDarrick J. Wong 		return -ERANGE;
6703cfb9290SDarrick J. Wong 	}
6713cfb9290SDarrick J. Wong 
6723cfb9290SDarrick J. Wong 	return 0;
6733cfb9290SDarrick J. Wong }
674