xref: /openbsd-src/sys/dev/usb/udl.h (revision af3c181fd70dd3cbf33a79f8f63cf6ca375eb6ed)
1*af3c181fSmpi /*	$OpenBSD: udl.h,v 1.24 2020/01/09 14:36:26 mpi Exp $ */
2c197399bSmglocker 
3c197399bSmglocker /*
4c197399bSmglocker  * Copyright (c) 2009 Marcus Glocker <mglocker@openbsd.org>
5c197399bSmglocker  *
6c197399bSmglocker  * Permission to use, copy, modify, and distribute this software for any
7c197399bSmglocker  * purpose with or without fee is hereby granted, provided that the above
8c197399bSmglocker  * copyright notice and this permission notice appear in all copies.
9c197399bSmglocker  *
10c197399bSmglocker  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11c197399bSmglocker  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12c197399bSmglocker  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13c197399bSmglocker  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14c197399bSmglocker  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15c197399bSmglocker  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16c197399bSmglocker  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17c197399bSmglocker  */
18c197399bSmglocker 
19c197399bSmglocker /*
20c197399bSmglocker  * Bulk command xfer structure.
21c197399bSmglocker  */
22c197399bSmglocker #define UDL_CMD_MAX_XFER_SIZE	1048576
23b1f23cbdSmglocker #define UDL_CMD_MAX_DATA_SIZE	512
24c197399bSmglocker #define UDL_CMD_MAX_PIXEL_COUNT	(UDL_CMD_MAX_DATA_SIZE / 2)
252fa8dc63Smglocker #define UDL_CMD_WRITE_HEAD_SIZE	6
262fa8dc63Smglocker #define UDL_CMD_COPY_HEAD_SIZE	9
27fc15257dSmglocker #define UDL_CMD_WRITE_MAX_SIZE	(UDL_CMD_WRITE_HEAD_SIZE + \
28fc15257dSmglocker 				UDL_CMD_MAX_DATA_SIZE + 2)
29fc15257dSmglocker #define UDL_CMD_COPY_MAX_SIZE	(UDL_CMD_COPY_HEAD_SIZE + 2)
30c197399bSmglocker 
31c197399bSmglocker struct udl_cmd_xfer {
32c197399bSmglocker 	struct udl_softc	*sc;
33ab0b1be7Smglocker 	struct usbd_xfer	*xfer;
34c197399bSmglocker 	uint8_t			 busy;
35c197399bSmglocker 	uint8_t			*buf;
36c197399bSmglocker };
37c197399bSmglocker 
38c197399bSmglocker struct udl_cmd_buf {
39fc15257dSmglocker #define UDL_CMD_XFER_SYNC	 0
40fc15257dSmglocker #define UDL_CMD_XFER_ASYNC	 1
41b1107686Smglocker 	uint8_t			 xfer_type;
422fa8dc63Smglocker 	uint16_t		 compblock;
433a801951Smglocker 	uint16_t		 compblock_save;
44c197399bSmglocker 	uint32_t		 off;
453a801951Smglocker 	uint32_t		 off_save;
46c197399bSmglocker 	uint8_t			*buf;
47c197399bSmglocker };
48c197399bSmglocker 
49c197399bSmglocker /*
50c197399bSmglocker  * Our per device structure.
51c197399bSmglocker  */
52c197399bSmglocker struct udl_softc {
53c197399bSmglocker 	struct device		 sc_dev;
54ab0b1be7Smglocker 	struct usbd_device	*sc_udev;
55ab0b1be7Smglocker 	struct usbd_interface	*sc_iface;
56ab0b1be7Smglocker 	struct usbd_pipe	*sc_tx_pipeh;
57c197399bSmglocker 
58c197399bSmglocker 	/* wsdisplay glue */
59c197399bSmglocker 	struct device		*sc_wsdisplay;
60c197399bSmglocker 	struct rasops_info	 sc_ri;
61c197399bSmglocker 	uint8_t			 sc_nscreens;
62c197399bSmglocker 
635c18bb44Smglocker 	int			 sc_mode;
646e641510Smaja 	uint8_t			 sc_edid[128];
656e641510Smaja 	struct edid_info	 sc_edid_info;
665c18bb44Smglocker 
67c197399bSmglocker #define UDL_CMD_XFER_COUNT	 8
68c197399bSmglocker 	int			 sc_cmd_xfer_cnt;
69c197399bSmglocker 	struct udl_cmd_xfer	 sc_cmd_xfer[UDL_CMD_XFER_COUNT];
70c197399bSmglocker 	struct udl_cmd_buf	 sc_cmd_buf;
712fa8dc63Smglocker 	uint8_t			*sc_huffman;
722fa8dc63Smglocker 	size_t			 sc_huffman_size;
73c197399bSmglocker 	uint16_t		 sc_width;
74c197399bSmglocker 	uint16_t		 sc_height;
75c197399bSmglocker 	uint8_t			 sc_depth;
76c197399bSmglocker 	uint8_t			 sc_cursor_on;
77fa695a51Smglocker 	uint8_t			*sc_fbmem;	/* framebuffer for X11 */
78c9ee9455Sderaadt 	size_t			 sc_fbmemsize;
796e641510Smaja 	uint16_t		 sc_chip;
806e641510Smaja #define DLALL	0x0000
816e641510Smaja #define	DL125	0x0000				/* max 1280x1024, 1440x900 */
826e641510Smaja #define	DL120	0x0001				/* max 1280x1024, 1440x1050 */
836e641510Smaja #define DL160	0x0002				/* max 1600x1200, 1680x1050 */
846e641510Smaja #define DL165	0x0003				/* max 1600x1200, 1920x1080 */
856e641510Smaja #define	DL195	0x0004				/* max 1920x1200, 2048x1152 */
866e641510Smaja #define DLMAX	0x0004
876e641510Smaja #define	DLUNK	0x00ff				/* unknown */
886e641510Smaja 	uint8_t			 sc_cur_mode;
89c91d565bSmglocker 	u_int			*sc_cbs;	/* character backing store */
90234dfda1Sderaadt 	size_t			 sc_cbslen;
912fa8dc63Smglocker 
922fa8dc63Smglocker 	/*
932fa8dc63Smglocker 	 * We use function pointers to the framebuffer manipulation
942fa8dc63Smglocker 	 * functions so we can easily differ between compressed and
952fa8dc63Smglocker 	 * none-compressed mode.
962fa8dc63Smglocker 	 */
97fc15257dSmglocker 	int			 (*udl_fb_off_write)
982fa8dc63Smglocker 				     (struct udl_softc *, uint16_t, uint32_t,
992fa8dc63Smglocker 				     uint16_t);
100fc15257dSmglocker 	int			 (*udl_fb_line_write)
1012fa8dc63Smglocker 				     (struct udl_softc *, uint16_t, uint32_t,
1022fa8dc63Smglocker 				     uint32_t, uint32_t);
103fc15257dSmglocker 	int			 (*udl_fb_block_write)
1042fa8dc63Smglocker 				     (struct udl_softc *, uint16_t, uint32_t,
1052fa8dc63Smglocker 				     uint32_t, uint32_t, uint32_t);
106fc15257dSmglocker 	int			 (*udl_fb_buf_write)
1072fa8dc63Smglocker 				     (struct udl_softc *, uint8_t *, uint32_t,
1082fa8dc63Smglocker 				     uint32_t, uint16_t);
109fc15257dSmglocker 	int			 (*udl_fb_off_copy)
1102fa8dc63Smglocker 				     (struct udl_softc *, uint32_t, uint32_t,
1112fa8dc63Smglocker 				     uint16_t);
112fc15257dSmglocker 	int			 (*udl_fb_line_copy)
1132fa8dc63Smglocker 				     (struct udl_softc *, uint32_t, uint32_t,
1142fa8dc63Smglocker 				     uint32_t, uint32_t, uint32_t);
115fc15257dSmglocker 	int			 (*udl_fb_block_copy)
1162fa8dc63Smglocker 				     (struct udl_softc *, uint32_t, uint32_t,
1172fa8dc63Smglocker 				     uint32_t, uint32_t, uint32_t, uint32_t);
118c197399bSmglocker };
119c197399bSmglocker 
120c197399bSmglocker /*
121c197399bSmglocker  * Chip commands.
122c197399bSmglocker  */
123c197399bSmglocker #define UDL_CTRL_CMD_READ_EDID		0x02
124c197399bSmglocker #define UDL_CTRL_CMD_WRITE_1		0x03
125c197399bSmglocker #define UDL_CTRL_CMD_READ_1		0x04
126c197399bSmglocker #define UDL_CTRL_CMD_POLL		0x06
127c197399bSmglocker #define UDL_CTRL_CMD_SET_KEY		0x12
128c197399bSmglocker 
129c197399bSmglocker #define UDL_BULK_SOC			0xaf	/* start of command token */
130c197399bSmglocker 
131c197399bSmglocker #define UDL_BULK_CMD_REG_WRITE_1	0x20	/* write 1 byte to register */
132c197399bSmglocker #define UDL_BULK_CMD_EOC		0xa0	/* end of command stack */
133c197399bSmglocker #define UDL_BULK_CMD_DECOMP		0xe0	/* send decompression table */
134c197399bSmglocker 
135c197399bSmglocker #define UDL_BULK_CMD_FB_BASE		0x60
136c197399bSmglocker #define UDL_BULK_CMD_FB_WORD		0x08
1372fa8dc63Smglocker #define UDL_BULK_CMD_FB_COMP		0x10
138c197399bSmglocker #define UDL_BULK_CMD_FB_WRITE		(UDL_BULK_CMD_FB_BASE | 0x00)
139c197399bSmglocker #define UDL_BULK_CMD_FB_COPY		(UDL_BULK_CMD_FB_BASE | 0x02)
140c197399bSmglocker 
141c197399bSmglocker /*
142c197399bSmglocker  * Chip registers.
143c197399bSmglocker  */
144c197399bSmglocker #define UDL_REG_ADDR_START16		0x20
145c197399bSmglocker #define UDL_REG_ADDR_STRIDE16		0x23
146c197399bSmglocker #define UDL_REG_ADDR_START8		0x26
147c197399bSmglocker #define UDL_REG_ADDR_STRIDE8		0x29
148c197399bSmglocker 
14992fdbf9fSmglocker #define UDL_REG_SCREEN			0x1f
15092fdbf9fSmglocker  #define UDL_REG_SCREEN_ON		0x00
15192fdbf9fSmglocker  #define UDL_REG_SCREEN_OFF		0x01
152c197399bSmglocker #define UDL_REG_SYNC			0xff
153c197399bSmglocker 
154c197399bSmglocker /*
155c197399bSmglocker  * Register values for screen resolution initialization.
156c197399bSmglocker  */
1576e641510Smaja uint8_t udl_reg_vals_640x480_60[] = {	/*  25.17 Mhz 59.9 Hz VESA std */
158c197399bSmglocker 	0x00, 0x99, 0x30, 0x26, 0x94, 0x60, 0xa9, 0xce, 0x60, 0x07, 0xb3, 0x0f,
159c197399bSmglocker 	0x79, 0xff, 0xff, 0x02, 0x80, 0x83, 0xbc, 0xff, 0xfc, 0xff, 0xff, 0x01,
160c197399bSmglocker 	0xe0, 0x01, 0x02, 0xab, 0x13
161c197399bSmglocker };
1626e641510Smaja uint8_t udl_reg_vals_640x480_67[] = {	/*  30.25 MHz 66.6 Hz MAC std */
1636e641510Smaja 	0x00, 0x1d, 0x33, 0x07, 0xb3, 0x60, 0xa9, 0xce, 0x60, 0xb6, 0xa8, 0xff,
1646e641510Smaja 	0xff, 0xbf, 0x70, 0x02, 0x80, 0x83, 0xbc, 0xff, 0xff, 0xff, 0xf9, 0x01,
1656e641510Smaja 	0xe0, 0x01, 0x02, 0xa2, 0x17
1666e641510Smaja };
1676e641510Smaja uint8_t udl_reg_vals_640x480_72[] = {	/*  31.50 Mhz 72.8 Hz VESA std */
1686e641510Smaja 	0x00, 0x2b, 0xeb, 0x35, 0xd3, 0x0a, 0x95, 0xe6, 0x0e, 0x0f, 0xb5, 0x15,
1696e641510Smaja 	0x2a, 0xff, 0xff, 0x02, 0x80, 0xcc, 0x1d, 0xff, 0xf9, 0xff, 0xff, 0x01,
1706e641510Smaja 	0xe0, 0x01, 0x02, 0x9c, 0x18
1716e641510Smaja };
1726e641510Smaja uint8_t udl_reg_vals_640x480_75[] = {	/*  31.50 Mhz 75.7 Hz VESA std */
1736e641510Smaja 	0x00, 0xeb, 0xf7, 0xd3, 0x0f, 0x4f, 0x93, 0xfa, 0x47, 0xb5, 0x58, 0xff,
1746e641510Smaja 	0xff, 0xbf, 0x70, 0x02, 0x80, 0xf4, 0x8f, 0xff, 0xff, 0xff, 0xf9, 0x01,
1756e641510Smaja 	0xe0, 0x01, 0x02, 0x9c, 0x18
1766e641510Smaja };
17754746259Smaja uint8_t udl_reg_vals_800x480_61[] = {	/*  33.00 MHz 61.9 Hz */
17854746259Smaja 	0x00, 0x20, 0x3c, 0x7a, 0xc9, 0xf2, 0x6c, 0x48, 0xf9, 0x70, 0x53, 0xff,
17954746259Smaja 	0xff, 0x21, 0x27, 0x03, 0x20, 0x91, 0xf3, 0xff, 0xff, 0xff, 0xf9, 0x01,
18054746259Smaja 	0xe0, 0x01, 0x02, 0xc8, 0x19
18154746259Smaja };
1826e641510Smaja uint8_t udl_reg_vals_800x600_56[] = {	/*  36.00 MHz 56.2 Hz VESA std */
1836e641510Smaja 	0x00, 0x65, 0x35, 0x48, 0xf4, 0xf2, 0x6c, 0x19, 0x18, 0xc9, 0x4b, 0xff,
1846e641510Smaja 	0xff, 0x70, 0x35, 0x03, 0x20, 0x32, 0x31, 0xff, 0xff, 0xff, 0xfc, 0x02,
1856e641510Smaja 	0x58, 0x01, 0x02, 0x20, 0x1c
1866e641510Smaja };
1876e641510Smaja uint8_t udl_reg_vals_800x600_60[] = {	/*  40.00 MHz 60.3 Hz VESA std */
188c197399bSmglocker 	0x00, 0x20, 0x3c, 0x7a, 0xc9, 0x93, 0x60, 0xc8, 0xc7, 0x70, 0x53, 0xff,
189c197399bSmglocker 	0xff, 0x21, 0x27, 0x03, 0x20, 0x91, 0x8f, 0xff, 0xff, 0xff, 0xf2, 0x02,
190c197399bSmglocker 	0x58, 0x01, 0x02, 0x40, 0x1f
191c197399bSmglocker };
1926e641510Smaja uint8_t udl_reg_vals_800x600_72[] = {	/*  50.00 MHz 72.1 Hz VESA std */
1936e641510Smaja 	0x00, 0xeb, 0xf7, 0xd1, 0x90, 0x4d, 0x82, 0x23, 0x1f, 0x39, 0xcf, 0xff,
1946e641510Smaja 	0xff, 0x43, 0x21, 0x03, 0x20, 0x62, 0xc5, 0xff, 0xff, 0xff, 0xca, 0x02,
1956e641510Smaja 	0x58, 0x01, 0x02, 0x10, 0x27
1966e641510Smaja };
1976e641510Smaja uint8_t udl_reg_vals_800x600_74[] = {	/*  50.00 MHz 74.4 Hz */
1986e641510Smaja 	0x00, 0xb3, 0x76, 0x39, 0xcf, 0x60, 0xa9, 0xc7, 0xf4, 0x70, 0x53, 0xff,
1996e641510Smaja 	0xff, 0x35, 0x33, 0x03, 0x20, 0x8f, 0xe9, 0xff, 0xff, 0xff, 0xf9, 0x02,
2006e641510Smaja 	0x58, 0x01, 0x02, 0x10, 0x27
2016e641510Smaja };
2026e641510Smaja uint8_t udl_reg_vals_800x600_75[] = {	/*  49.50 MHz 75.0 Hz VESA std */
2036e641510Smaja 	0x00, 0xb3, 0x76, 0x39, 0xcf, 0xf2, 0x6c, 0x19, 0x18, 0x70, 0x53, 0xff,
2046e641510Smaja 	0xff, 0x35, 0x33, 0x03, 0x20, 0x32, 0x31, 0xff, 0xff, 0xff, 0xf9, 0x02,
2056e641510Smaja 	0x58, 0x01, 0x02, 0xac, 0x26
2066e641510Smaja };
2076e641510Smaja uint8_t udl_reg_vals_1024x768_60[] = {	/*  65.00 MHz 60.0 Hz VESA std */
208c197399bSmglocker 	0x00, 0x36, 0x18, 0xd5, 0x10, 0x60, 0xa9, 0x7b, 0x33, 0xa1, 0x2b, 0x27,
209c197399bSmglocker 	0x32, 0xff, 0xff, 0x04, 0x00, 0xd9, 0x9a, 0xff, 0xca, 0xff, 0xff, 0x03,
210c197399bSmglocker 	0x00, 0x04, 0x03, 0xc8, 0x32
211c197399bSmglocker };
2126e641510Smaja uint8_t udl_reg_vals_1024x768_70[] = {	/*  75.00 MHz 70.0 Hz VESA std */
2136e641510Smaja 	0x00, 0xb4, 0xed, 0x4c, 0x5e, 0x60, 0xa9, 0x7b, 0x33, 0x10, 0x4d, 0xff,
2146e641510Smaja 	0xff, 0x27, 0x32, 0x04, 0x00, 0xd9, 0x9a, 0xff, 0xff, 0xff, 0xca, 0x03,
2156e641510Smaja 	0x00, 0x04, 0x02, 0x98, 0x3a
2166e641510Smaja };
2176e641510Smaja uint8_t udl_reg_vals_1024x768_75[] = {	/*  78.75 MHz 75.0 Hz VESA std */
2186e641510Smaja 	0x00, 0xec, 0xb4, 0xa0, 0x4c, 0x36, 0x0a, 0x07, 0xb3, 0x5e, 0xd5, 0xff,
2196e641510Smaja 	0xff, 0x0f, 0x79, 0x04, 0x00, 0x0f, 0x66, 0xff, 0xff, 0xff, 0xf9, 0x03,
2206e641510Smaja 	0x00, 0x04, 0x02, 0x86, 0x3d
2216e641510Smaja };
2226e641510Smaja uint8_t udl_reg_vals_1280x800_60[] = {	/*  83.46 MHz 59.9 MHz */
2236e641510Smaja 	0x00, 0xb2, 0x19, 0x34, 0xdf, 0x93, 0x60, 0x30, 0xfb, 0x9f, 0xca, 0xff,
2246e641510Smaja 	0xff, 0x27, 0x32, 0x05, 0x00, 0x61, 0xf6, 0xff, 0xff, 0xff, 0xf9, 0x03,
2256e641510Smaja 	0x20, 0x04, 0x02, 0x34, 0x41
2266e641510Smaja };
2276e641510Smaja uint8_t udl_reg_vals_1280x960_60[] = {	/* 108.00 MHz 60.0 Hz VESA std */
2286e641510Smaja 	0x00, 0xa6, 0x03, 0x5c, 0x7e, 0x0a, 0x95, 0x48, 0xf4, 0x61, 0xbd, 0xff,
2296e641510Smaja 	0xff, 0x94, 0x43, 0x05, 0x00, 0x91, 0xe8, 0xff, 0xff, 0xff, 0xf9, 0x03,
2306e641510Smaja 	0xc0, 0x04, 0x02, 0x60, 0x54
2316e641510Smaja };
2326e641510Smaja uint8_t udl_reg_vals_1280x1024_60[] = {	/* 108.00 MHz 60.0 Hz VESA std */
233c197399bSmglocker 	0x00, 0x98, 0xf8, 0x0d, 0x57, 0x2a, 0x55, 0x4d, 0x54, 0xca, 0x0d, 0xff,
234c197399bSmglocker 	0xff, 0x94, 0x43, 0x05, 0x00, 0x9a, 0xa8, 0xff, 0xff, 0xff, 0xf9, 0x04,
235c197399bSmglocker 	0x00, 0x04, 0x02, 0x60, 0x54
236c197399bSmglocker };
2376e641510Smaja uint8_t udl_reg_vals_1280x1024_75[] = {	/* 135.00 MHz 75.0 Hz VESA std */
2386e641510Smaja 	0x00, 0xce, 0x12, 0x3f, 0x9f, 0x2a, 0x55, 0x4d, 0x54, 0xca, 0x0d, 0xff,
2396e641510Smaja 	0xff, 0x32, 0x60, 0x05, 0x00, 0x9a, 0xa8, 0xff, 0xff, 0xff, 0xf9, 0x04,
2406e641510Smaja 	0x00, 0x04, 0x02, 0x78, 0x69
2416e641510Smaja };
2429d11b6a2Sjasper uint8_t udl_reg_vals_1366x768_60[] = { /* 90 MHz 60.0 Hz */
2439d11b6a2Sjasper 	0x01, 0x19, 0x1e, 0x1f, 0xb0, 0x93, 0x60, 0x40, 0x7b, 0x36, 0xe8, 0x27,
2449d11b6a2Sjasper 	0x32, 0xff, 0xff, 0x05, 0x56, 0x03, 0xd9, 0xff, 0xff, 0xfc, 0xa7,  0x03,
2459d11b6a2Sjasper 	0x00, 0x04, 0x02, 0x9a, 0x42
2469d11b6a2Sjasper };
2476e641510Smaja uint8_t udl_reg_vals_1440x900_60[] = {	/* 106.47 MHz 59.9 Hz */
2486e641510Smaja 	0x00, 0x24, 0xce, 0xe7, 0x72, 0x36, 0x0a, 0x86, 0xca, 0x1c, 0x10, 0xff,
2496e641510Smaja 	0xff, 0x60, 0x3a, 0x05, 0xa0, 0x0d, 0x94, 0xff, 0xff, 0xff, 0xf9, 0x03,
2506e641510Smaja 	0x84, 0x04, 0x02, 0x2e, 0x53
2516e641510Smaja };
2526e641510Smaja uint8_t udl_reg_vals_1440x900_59[] = {	/* 106.50 MHz 59.8 Hz */
2536e641510Smaja 	0x00, 0x24, 0xce, 0xe7, 0x72, 0xd8, 0x2a, 0x1b, 0x28, 0x1c, 0x10, 0xff,
2546e641510Smaja 	0xff, 0x60, 0x3a, 0x05, 0xa0, 0x36, 0x50, 0xff, 0xff, 0xff, 0xf9, 0x03,
2556e641510Smaja 	0x84, 0x04, 0x02, 0x34, 0x53
2566e641510Smaja };
2576e641510Smaja uint8_t udl_reg_vals_1440x900_75[] = {	/* 136.49 MHz 75.0 Hz */
2586e641510Smaja 	0x00, 0x73, 0xa6, 0x14, 0xea, 0x0a, 0x95, 0xca, 0x10, 0x7f, 0x46, 0xff,
2596e641510Smaja 	0xff, 0x60, 0x3a, 0x05, 0xa0, 0x94, 0x20, 0xff, 0xff, 0xff, 0xf9, 0x03,
2606e641510Smaja 	0x84, 0x04, 0x02, 0xa2, 0x6a
2616e641510Smaja };
2626e641510Smaja uint8_t udl_reg_vals_1680x1050_60[] = {	/* 147.14 MHz 60.0 Hz */
2636e641510Smaja 	0x00, 0x53, 0x43, 0xa6, 0x71, 0xc1, 0x52, 0xd9, 0x29, 0x69, 0x9f, 0xff,
2646e641510Smaja 	0xff, 0xd7, 0xee, 0x06, 0x90, 0xb2, 0x53, 0xff, 0xff, 0xff, 0xf9, 0x04,
2656e641510Smaja 	0x1a, 0x04, 0x02, 0xf4, 0x72
2666e641510Smaja };
2676e641510Smaja uint8_t udl_reg_vals_1600x1200_60[] = {	/* 162.00 MHz 60.0 Hz VESA std */
2686e641510Smaja 	0x00, 0xcf, 0xa4, 0x3c, 0x4e, 0x55, 0x73, 0x71, 0x2b, 0x71, 0x52, 0xff,
2696e641510Smaja 	0xff, 0xee, 0xca, 0x06, 0x40, 0xe2, 0x57, 0xff, 0xff, 0xff, 0xf9, 0x04,
2706e641510Smaja 	0xb0, 0x04, 0x02, 0x90, 0x7e
2716e641510Smaja };
2726e641510Smaja uint8_t udl_reg_vals_1920x1080_60[] = {	/* 138.50 MHz 59.9 Hz */
2736e641510Smaja 	0x00, 0x73, 0xa6, 0x28, 0xb3, 0x54, 0xaa, 0x41, 0x5d, 0x0d, 0x9f, 0x32,
2746e641510Smaja 	0x60, 0xff, 0xff, 0x07, 0x80, 0x0a, 0xea, 0xff, 0xf9, 0xff, 0xff, 0x04,
2756e641510Smaja 	0x38, 0x04, 0x02, 0xe0, 0x7c
2766e641510Smaja };
2776e641510Smaja 
2786e641510Smaja struct udl_mode {
2796e641510Smaja 	uint16_t		 hdisplay;
2806e641510Smaja 	uint16_t		 vdisplay;
281*af3c181fSmpi 	uint8_t			 freq;
2826e641510Smaja 	uint16_t		 chip;
2836e641510Smaja 	uint32_t		 clock;
2846e641510Smaja #define UDL_MODE_SIZE 29
2856e641510Smaja 	uint8_t			*mode;
2866e641510Smaja };
2876e641510Smaja 
2886e641510Smaja static const struct udl_mode udl_modes[] = {
2896e641510Smaja 	{ 640,  480,  60, DLALL,  2520, udl_reg_vals_640x480_60 },
2906e641510Smaja 	{ 640,  480,  67, DLALL,  3025, udl_reg_vals_640x480_67 },
2916e641510Smaja 	{ 640,  480,  72, DLALL,  3150, udl_reg_vals_640x480_72 },
2926e641510Smaja 	{ 640,  480,  75, DLALL,  3150, udl_reg_vals_640x480_75 },
29354746259Smaja 	{ 800,	480,  59, DLALL,  5000, udl_reg_vals_800x480_61 },
29454746259Smaja 	{ 800,	480,  61, DLALL,  3300, udl_reg_vals_800x480_61 },
2956e641510Smaja 	{ 800,  600,  56, DLALL,  3600, udl_reg_vals_800x600_56 },
2966e641510Smaja 	{ 800,  600,  60, DLALL,  4000, udl_reg_vals_800x600_60 },
2976e641510Smaja 	{ 800,  600,  72, DLALL,  5000, udl_reg_vals_800x600_72 },
2986e641510Smaja 	{ 800,  600,  74, DLALL,  5000, udl_reg_vals_800x600_74 },
2996e641510Smaja 	{ 800,  600,  75, DLALL,  4950, udl_reg_vals_800x600_75 },
3006e641510Smaja 	{ 1024, 768,  60, DLALL,  6500, udl_reg_vals_1024x768_60 },
3016e641510Smaja 	{ 1024, 768,  70, DLALL,  7500, udl_reg_vals_1024x768_70 },
3026e641510Smaja 	{ 1024, 768,  75, DLALL,  7850, udl_reg_vals_1024x768_75 },
3036e641510Smaja 	{ 1280, 800,  60, DLALL,  8346, udl_reg_vals_1280x800_60 },
3046e641510Smaja 	{ 1280, 960,  60, DLALL, 10800, udl_reg_vals_1280x960_60 },
3056e641510Smaja 	{ 1280, 1024, 60, DLALL, 10800, udl_reg_vals_1280x1024_60 },
3066e641510Smaja 	{ 1280, 1024, 75, DLALL, 13500, udl_reg_vals_1280x1024_75 },
3079d11b6a2Sjasper 	{ 1366, 768,  60, DLALL,  9000, udl_reg_vals_1366x768_60 },
3086e641510Smaja 	{ 1440, 900,  59, DL125, 10650, udl_reg_vals_1440x900_59 },
3096e641510Smaja 	{ 1440, 900,  60, DL125, 10647, udl_reg_vals_1440x900_60 },
3106e641510Smaja 	{ 1440, 900,  75, DL125, 13649, udl_reg_vals_1440x900_75 },
3116e641510Smaja 	{ 1680, 1050, 60, DL160, 14714, udl_reg_vals_1680x1050_60 },
3126e641510Smaja 	{ 1600, 1200, 60, DL160, 16200, udl_reg_vals_1600x1200_60 },
3136e641510Smaja 	{ 1920, 1080, 60, DL165, 13850, udl_reg_vals_1920x1080_60 }
3146e641510Smaja };
315d7564156Sjasper #define MAX_DL_MODES nitems(udl_modes)
316c197399bSmglocker 
317c197399bSmglocker /*
318c197399bSmglocker  * Encryption.
319c197399bSmglocker  */
320c197399bSmglocker uint8_t udl_null_key_1[] = {
321c197399bSmglocker 	0x57, 0xcd, 0xdc, 0xa7, 0x1c, 0x88, 0x5e, 0x15, 0x60, 0xfe, 0xc6, 0x97,
322c197399bSmglocker 	0x16, 0x3d, 0x47, 0xf2
323c197399bSmglocker };
324c197399bSmglocker 
325c197399bSmglocker /*
326c197399bSmglocker  * Compression.
327c197399bSmglocker  */
3282fa8dc63Smglocker struct udl_huffman {
32928d90ff9Smglocker 	uint32_t	bit_count;
3302fa8dc63Smglocker 	uint32_t	bit_pattern;
33128d90ff9Smglocker };
3322fa8dc63Smglocker #define UDL_HUFFMAN_RECORD_SIZE		sizeof(struct udl_huffman)
3332fa8dc63Smglocker #define UDL_HUFFMAN_RECORDS		(65536 + 1)
3342fa8dc63Smglocker #define UDL_HUFFMAN_BASE		(((UDL_HUFFMAN_RECORDS - 1) / 2) * \
3352fa8dc63Smglocker 					    UDL_HUFFMAN_RECORD_SIZE)
3362fa8dc63Smglocker 
3372fa8dc63Smglocker #define UDL_CB_TOTAL_SIZE		512
3382fa8dc63Smglocker #define UDL_CB_TAIL_SIZE		4
3392fa8dc63Smglocker #define UDL_CB_BODY_SIZE		(UDL_CB_TOTAL_SIZE - UDL_CB_TAIL_SIZE)
340f34f9b4cSmglocker #define UDL_CB_RESTART_SIZE		(UDL_CB_BODY_SIZE - UDL_CB_TAIL_SIZE)
3412fa8dc63Smglocker 
342c197399bSmglocker uint8_t udl_decomp_table[] = {
343c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
344c197399bSmglocker 	0x00, 0x00, 0x01, 0x60, 0x01, 0x00, 0x00, 0x00, 0x61,
345c197399bSmglocker 	0x00, 0x00, 0x00, 0x01, 0x23, 0x00, 0x00, 0x00, 0x01,
346c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01,
347c197399bSmglocker 	0x00, 0x00, 0x01, 0x60, 0x05, 0x00, 0x00, 0x00, 0x61,
348c197399bSmglocker 	0x00, 0x00, 0x00, 0x01, 0x67, 0x00, 0x01, 0x00, 0x01,
349c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
350c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
351c197399bSmglocker 	0x00, 0x00, 0x00, 0x01, 0x89, 0x00, 0x00, 0x00, 0x01,
352c197399bSmglocker 	0x00, 0x00, 0x00, 0x61, 0xab, 0x00, 0x00, 0x00, 0x61,
353c197399bSmglocker 	0x00, 0x00, 0x00, 0x01, 0xcd, 0x00, 0x00, 0x00, 0x01,
354c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x01,
355c197399bSmglocker 	0x00, 0x00, 0x01, 0x60, 0x0f, 0x00, 0x00, 0x00, 0x61,
356c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
357c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
358c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
359c197399bSmglocker 	0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x02,
360c197399bSmglocker 	0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x02,
361c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
362c197399bSmglocker 	0x00, 0x00, 0x01, 0x01, 0x22, 0x00, 0x00, 0x01, 0x02,
363c197399bSmglocker 	0x00, 0x00, 0x00, 0x02, 0x33, 0x00, 0x01, 0x00, 0x02,
364c197399bSmglocker 	0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x02,
365c197399bSmglocker 	0x00, 0x00, 0x00, 0x02, 0x44, 0x00, 0x02, 0x00, 0x02,
366c197399bSmglocker 	0x00, 0x00, 0x00, 0x02, 0x44, 0x00, 0x02, 0x00, 0x02,
367c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02,
368c197399bSmglocker 	0x00, 0x00, 0x00, 0x02, 0x67, 0x00, 0x00, 0x00, 0x02,
369c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02,
370c197399bSmglocker 	0x00, 0x00, 0x00, 0x02, 0x67, 0x00, 0x00, 0x00, 0x02,
371c197399bSmglocker 	0x00, 0x00, 0x00, 0x02, 0x5b, 0x00, 0x00, 0x00, 0x01,
372c197399bSmglocker 	0x00, 0x00, 0x01, 0x01, 0xc8, 0x00, 0x00, 0x01, 0x02,
373c197399bSmglocker 	0x00, 0x00, 0x00, 0x02, 0x5b, 0x00, 0x00, 0x00, 0x01,
374c197399bSmglocker 	0x00, 0x00, 0x00, 0x02, 0x5b, 0x00, 0x00, 0x00, 0x01,
375c197399bSmglocker 	0x00, 0x00, 0x00, 0x02, 0x9a, 0x00, 0x00, 0x00, 0x02,
376c197399bSmglocker 	0x00, 0x00, 0x00, 0x02, 0x33, 0x00, 0x01, 0x00, 0x02,
377c197399bSmglocker 	0x00, 0x00, 0x01, 0x01, 0x2b, 0x00, 0x00, 0x01, 0x02,
378c197399bSmglocker 	0x00, 0x00, 0x00, 0x02, 0xcc, 0x00, 0x02, 0x00, 0x02,
379c197399bSmglocker 	0x00, 0x00, 0x00, 0x02, 0xdd, 0x00, 0x04, 0x00, 0x02,
380c197399bSmglocker 	0x00, 0x00, 0x00, 0x02, 0xef, 0x00, 0x00, 0x00, 0x02,
381c197399bSmglocker 	0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x03,
382c197399bSmglocker 	0x00, 0x00, 0x00, 0x03, 0x23, 0x00, 0x00, 0x00, 0x03,
383c197399bSmglocker 	0x00, 0x00, 0x01, 0x01, 0xc4, 0x00, 0x00, 0x01, 0x03,
384c197399bSmglocker 	0x00, 0x29, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03,
385c197399bSmglocker 	0x00, 0xb7, 0x01, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03,
386c197399bSmglocker 	0x00, 0x00, 0x00, 0x03, 0x78, 0x00, 0x00, 0x00, 0x03,
387c197399bSmglocker 	0x00, 0x00, 0x00, 0x03, 0x99, 0x00, 0x04, 0x00, 0x03,
388c197399bSmglocker 	0x00, 0x00, 0x00, 0x03, 0xaa, 0x00, 0x08, 0x00, 0x03,
389c197399bSmglocker 	0x00, 0x00, 0x00, 0x03, 0xbc, 0x00, 0x00, 0x00, 0x03,
390c197399bSmglocker 	0x00, 0x00, 0x00, 0x03, 0xde, 0x00, 0x00, 0x00, 0x03,
391c197399bSmglocker 	0x00, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00, 0x00, 0x04,
392c197399bSmglocker 	0x00, 0x00, 0x00, 0x04, 0x12, 0x00, 0x00, 0x00, 0x04,
393c197399bSmglocker 	0x00, 0x00, 0x00, 0x04, 0x34, 0x00, 0x00, 0x00, 0x04,
394c197399bSmglocker 	0x00, 0x00, 0x00, 0x04, 0x56, 0x00, 0x00, 0x00, 0x04,
395c197399bSmglocker 	0x00, 0x00, 0x00, 0x04, 0x78, 0x00, 0x00, 0x00, 0x04,
396c197399bSmglocker 	0x00, 0x00, 0x00, 0x04, 0x9a, 0x00, 0x00, 0x00, 0x04,
397c197399bSmglocker 	0x00, 0xd7, 0x01, 0x00, 0x00, 0x00, 0x09, 0x01, 0x00,
398c197399bSmglocker 	0x00, 0x00, 0x01, 0x01, 0x22, 0x00, 0x00, 0x02, 0x01,
399c197399bSmglocker 	0x00, 0x00, 0x02, 0x04, 0xbb, 0x00, 0x00, 0x03, 0x04,
400c197399bSmglocker 	0x00, 0x00, 0x00, 0x04, 0xcc, 0x00, 0x08, 0x00, 0x04,
401c197399bSmglocker 	0x00, 0x00, 0x00, 0x04, 0xdd, 0x00, 0x10, 0x00, 0x04,
402c197399bSmglocker 	0x00, 0x20, 0x01, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x04,
403c197399bSmglocker 	0x00, 0x00, 0x00, 0x04, 0xf0, 0x00, 0x00, 0x00, 0x05,
404c197399bSmglocker 	0xff, 0xe0, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
405c197399bSmglocker 	0x00, 0x00, 0x00, 0x05, 0x23, 0x00, 0x00, 0x00, 0x05,
406c197399bSmglocker 	0x08, 0x00, 0x01, 0x00, 0x00, 0x08, 0x20, 0x01, 0x00,
407c197399bSmglocker 	0x00, 0x00, 0x00, 0x05, 0x45, 0x00, 0x00, 0x00, 0x05,
408c197399bSmglocker 	0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x21, 0x01, 0x00,
409c197399bSmglocker 	0x00, 0x00, 0x00, 0x05, 0x67, 0x00, 0x00, 0x00, 0x05,
410c197399bSmglocker 	0xf8, 0x00, 0x01, 0x00, 0x00, 0xf7, 0xe0, 0x01, 0x00,
411c197399bSmglocker 	0x00, 0x00, 0x00, 0x05, 0x89, 0x00, 0x00, 0x00, 0x05,
412c197399bSmglocker 	0xff, 0xff, 0x01, 0x00, 0x00, 0xff, 0xdf, 0x01, 0x00,
413c197399bSmglocker 	0x00, 0x00, 0x00, 0x05, 0xab, 0x00, 0x00, 0x00, 0x05,
414c197399bSmglocker 	0x00, 0x00, 0x01, 0x01, 0xcc, 0x00, 0x00, 0x02, 0x01,
415c197399bSmglocker 	0x00, 0x00, 0x02, 0x05, 0xcc, 0x00, 0x00, 0x03, 0x05,
416c197399bSmglocker 	0x00, 0x12, 0x01, 0x00, 0x00, 0x00, 0x32, 0x01, 0x00,
417c197399bSmglocker 	0x00, 0xce, 0x01, 0x00, 0x00, 0x00, 0xae, 0x01, 0x00,
418c197399bSmglocker 	0x00, 0x00, 0x00, 0x05, 0xde, 0x00, 0x00, 0x00, 0x05,
419c197399bSmglocker 	0x00, 0x00, 0x00, 0x05, 0xff, 0x00, 0x10, 0x00, 0x05,
420c197399bSmglocker 	0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x20, 0x00, 0x06,
421c197399bSmglocker 	0x08, 0x41, 0x01, 0x00, 0x00, 0x08, 0x21, 0x01, 0x00,
422c197399bSmglocker 	0x08, 0x61, 0x00, 0x06, 0x12, 0x00, 0x00, 0x00, 0x06,
423c197399bSmglocker 	0x00, 0x00, 0x00, 0x06, 0x34, 0x00, 0x00, 0x00, 0x06,
424c197399bSmglocker 	0xf7, 0xbf, 0x01, 0x00, 0x00, 0xf7, 0xdf, 0x01, 0x00,
425c197399bSmglocker 	0xf7, 0x9f, 0x00, 0x06, 0x56, 0x00, 0x00, 0x00, 0x06,
426c197399bSmglocker 	0x00, 0x00, 0x00, 0x06, 0x78, 0x00, 0x00, 0x00, 0x06,
427c197399bSmglocker 	0x10, 0x61, 0x00, 0x06, 0x9a, 0x00, 0x00, 0x00, 0x06,
428c197399bSmglocker 	0x00, 0x41, 0x00, 0x06, 0x9b, 0x00, 0x00, 0x00, 0x06,
429c197399bSmglocker 	0x08, 0x62, 0x00, 0x06, 0x9c, 0x00, 0x00, 0x00, 0x06,
430c197399bSmglocker 	0x08, 0x40, 0x00, 0x06, 0x9d, 0x00, 0x00, 0x00, 0x06,
431c197399bSmglocker 	0xef, 0x9f, 0x00, 0x06, 0xef, 0x00, 0x00, 0x00, 0x06,
432c197399bSmglocker 	0xff, 0xbf, 0x00, 0x06, 0xe0, 0x00, 0x00, 0x00, 0x07,
433c197399bSmglocker 	0xf7, 0x9e, 0x00, 0x06, 0xe1, 0x00, 0x00, 0x00, 0x07,
434c197399bSmglocker 	0xf7, 0xc0, 0x00, 0x06, 0xe2, 0x00, 0x00, 0x00, 0x07,
435c197399bSmglocker 	0x00, 0x00, 0x00, 0x07, 0x34, 0x00, 0x00, 0x00, 0x07,
436c197399bSmglocker 	0x00, 0x00, 0x01, 0x01, 0x22, 0x00, 0x00, 0x03, 0x01,
437c197399bSmglocker 	0x00, 0x00, 0x04, 0x07, 0x55, 0x00, 0x00, 0x06, 0x07,
438c197399bSmglocker 	0x00, 0x00, 0x00, 0x07, 0x66, 0x00, 0x20, 0x00, 0x07,
439c197399bSmglocker 	0x00, 0x00, 0x00, 0x07, 0x77, 0x00, 0x40, 0x00, 0x07,
440c197399bSmglocker 	0x00, 0x00, 0x00, 0x07, 0x88, 0x00, 0x20, 0x00, 0x07,
441c197399bSmglocker 	0x08, 0x01, 0x01, 0x00, 0x09, 0x10, 0x02, 0x00, 0x07,
442c197399bSmglocker 	0xef, 0xfe, 0x00, 0x07, 0xab, 0x00, 0x00, 0x00, 0x07,
443c197399bSmglocker 	0x00, 0x00, 0x00, 0x07, 0xcf, 0xff, 0xff, 0xff, 0x7f,
444c197399bSmglocker 	0x00, 0x00, 0x00, 0x07, 0xdd, 0xff, 0xe0, 0x00, 0x07,
445c197399bSmglocker 	0xf7, 0xff, 0x01, 0x00, 0x0e, 0xef, 0xfe, 0x00, 0x07,
446c197399bSmglocker 	0x10, 0x02, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x00, 0x08,
447c197399bSmglocker 	0x00, 0x00, 0x00, 0x08, 0x1f, 0xff, 0xff, 0xff, 0x7f,
448c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x02, 0x08, 0x41, 0x00, 0x08,
449c197399bSmglocker 	0x10, 0x41, 0x00, 0x06, 0x93, 0x00, 0x00, 0x00, 0x08,
450c197399bSmglocker 	0x00, 0x00, 0x00, 0x08, 0x45, 0x00, 0x00, 0x00, 0x08,
451c197399bSmglocker 	0x08, 0x42, 0x00, 0x06, 0x96, 0x00, 0x00, 0x00, 0x08,
452c197399bSmglocker 	0x00, 0x00, 0x00, 0x08, 0x78, 0x00, 0x00, 0x00, 0x08,
453c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x09, 0xf7, 0xbf, 0x00, 0x08,
454c197399bSmglocker 	0xef, 0xbf, 0x00, 0x06, 0xea, 0x00, 0x00, 0x00, 0x08,
455c197399bSmglocker 	0x00, 0x00, 0x00, 0x08, 0xbc, 0x00, 0x00, 0x00, 0x08,
456c197399bSmglocker 	0xf7, 0xbe, 0x00, 0x06, 0xed, 0x00, 0x00, 0x00, 0x08,
457c197399bSmglocker 	0x00, 0x00, 0x00, 0x08, 0xef, 0x00, 0x00, 0x00, 0x08,
458c197399bSmglocker 	0x00, 0x00, 0x01, 0x01, 0xcc, 0x00, 0x00, 0x03, 0x01,
459c197399bSmglocker 	0x00, 0x00, 0x04, 0x09, 0x00, 0x00, 0x00, 0x06, 0x09,
460c197399bSmglocker 	0x00, 0x00, 0x00, 0x09, 0x12, 0x00, 0x00, 0x00, 0x09,
461c197399bSmglocker 	0x00, 0x00, 0x00, 0x09, 0x33, 0x00, 0x40, 0x00, 0x09,
462c197399bSmglocker 	0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00,
463c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x04, 0x08, 0x41, 0x00, 0x09,
464c197399bSmglocker 	0x00, 0x00, 0x00, 0x09, 0x55, 0x08, 0x01, 0x00, 0x09,
465c197399bSmglocker 	0x00, 0x00, 0x00, 0x09, 0x66, 0xf7, 0xff, 0x00, 0x09,
466c197399bSmglocker 	0x10, 0x42, 0x00, 0x06, 0x99, 0x10, 0x62, 0x00, 0x06,
467c197399bSmglocker 	0xf8, 0x1f, 0x00, 0x06, 0x99, 0x00, 0x40, 0x00, 0x06,
468c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x07, 0xf7, 0xbf, 0x00, 0x09,
469c197399bSmglocker 	0x00, 0x00, 0x00, 0x09, 0x88, 0xf7, 0xff, 0x00, 0x09,
470c197399bSmglocker 	0x00, 0x00, 0x00, 0x09, 0x99, 0x08, 0x01, 0x00, 0x09,
471c197399bSmglocker 	0xef, 0xbe, 0x00, 0x06, 0xee, 0xef, 0x9e, 0x00, 0x06,
472c197399bSmglocker 	0x07, 0xe1, 0x00, 0x06, 0xee, 0xff, 0xc0, 0x00, 0x06,
473c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x0a, 0x08, 0x41, 0x00, 0x09,
474c197399bSmglocker 	0xf8, 0x20, 0x00, 0x06, 0x99, 0x07, 0xff, 0x00, 0x06,
475c197399bSmglocker 	0x08, 0x1f, 0x00, 0x06, 0x9b, 0x00, 0x00, 0x00, 0x09,
476c197399bSmglocker 	0x00, 0x00, 0x00, 0x09, 0xcd, 0x00, 0x00, 0x00, 0x09,
477c197399bSmglocker 	0x00, 0x1f, 0x00, 0x06, 0x99, 0xf8, 0x01, 0x00, 0x06,
478c197399bSmglocker 	0xf8, 0x21, 0x00, 0x06, 0x9e, 0x00, 0x00, 0x00, 0x09,
479c197399bSmglocker 	0x00, 0x00, 0x00, 0x09, 0xf0, 0x00, 0x00, 0x00, 0x0a,
480c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x01, 0xf7, 0xbf, 0x00, 0x0a,
481c197399bSmglocker 	0x07, 0xe0, 0x00, 0x06, 0xee, 0xf8, 0x01, 0x00, 0x06,
482c197399bSmglocker 	0xf7, 0xe1, 0x00, 0x06, 0xe2, 0x00, 0x00, 0x00, 0x0a,
483c197399bSmglocker 	0x00, 0x00, 0x00, 0x0a, 0x34, 0x00, 0x00, 0x00, 0x0a,
484c197399bSmglocker 	0xff, 0xe1, 0x00, 0x06, 0xee, 0x07, 0xff, 0x00, 0x06,
485c197399bSmglocker 	0x07, 0xdf, 0x00, 0x06, 0xe5, 0x00, 0x00, 0x00, 0x0a,
486c197399bSmglocker 	0x00, 0x00, 0x00, 0x0a, 0x67, 0x00, 0x00, 0x00, 0x0a,
487c197399bSmglocker 	0x00, 0x00, 0x00, 0x0a, 0x89, 0x00, 0x00, 0x00, 0x0a,
488c197399bSmglocker 	0x00, 0x00, 0x01, 0x01, 0x22, 0x00, 0x00, 0x05, 0x01,
489c197399bSmglocker 	0x00, 0x00, 0x08, 0x0a, 0xaa, 0x00, 0x00, 0x0c, 0x0a,
490c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00,
491c197399bSmglocker 	0x00, 0x00, 0x00, 0x0a, 0xbb, 0x08, 0x41, 0x00, 0x0a,
492c197399bSmglocker 	0x00, 0x00, 0x00, 0x0a, 0xcd, 0x10, 0x02, 0x00, 0x0a,
493c197399bSmglocker 	0x00, 0x00, 0x00, 0x0a, 0xce, 0xef, 0xfe, 0x00, 0x0a,
494c197399bSmglocker 	0x00, 0x00, 0x00, 0x0a, 0xff, 0xf7, 0xbf, 0x00, 0x0a,
495c197399bSmglocker 	0x00, 0x00, 0x00, 0x0b, 0x01, 0xef, 0xfe, 0x00, 0x0b,
496c197399bSmglocker 	0x00, 0x00, 0x00, 0x0b, 0x02, 0x10, 0x02, 0x00, 0x0b,
497c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x03, 0x08, 0x41, 0x00, 0x0b,
498c197399bSmglocker 	0x10, 0x21, 0x00, 0x06, 0x94, 0x00, 0x00, 0x00, 0x0b,
499c197399bSmglocker 	0xef, 0xff, 0x00, 0x06, 0x95, 0x00, 0x00, 0x00, 0x0b,
500c197399bSmglocker 	0x00, 0x00, 0x00, 0x0b, 0x66, 0x00, 0x20, 0x00, 0x0b,
501c197399bSmglocker 	0x08, 0x22, 0x00, 0x06, 0x97, 0x00, 0x00, 0x00, 0x0b,
502c197399bSmglocker 	0xf7, 0xfe, 0x00, 0x06, 0x98, 0x00, 0x00, 0x00, 0x0b,
503c197399bSmglocker 	0x00, 0x00, 0x00, 0x0b, 0x99, 0x00, 0x20, 0x00, 0x0b,
504c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x0a, 0xf7, 0xbf, 0x00, 0x0b,
505c197399bSmglocker 	0xef, 0xdf, 0x00, 0x06, 0xeb, 0x00, 0x00, 0x00, 0x0b,
506c197399bSmglocker 	0x10, 0x01, 0x00, 0x06, 0xec, 0x00, 0x00, 0x00, 0x0b,
507c197399bSmglocker 	0x00, 0x00, 0x00, 0x0b, 0xdd, 0xff, 0xe0, 0x00, 0x0b,
508c197399bSmglocker 	0xf7, 0xde, 0x00, 0x06, 0xee, 0x00, 0x00, 0x00, 0x0b,
509c197399bSmglocker 	0x08, 0x02, 0x00, 0x06, 0xef, 0x00, 0x00, 0x00, 0x0b,
510c197399bSmglocker 	0x00, 0x00, 0x00, 0x0c, 0x00, 0xff, 0xe0, 0x00, 0x0c,
511c197399bSmglocker 	0x00, 0x00, 0x01, 0x01, 0xcc, 0x00, 0x00, 0x05, 0x01,
512c197399bSmglocker 	0x00, 0x00, 0x08, 0x0c, 0x11, 0x00, 0x00, 0x0c, 0x0c,
513c197399bSmglocker 	0x00, 0x00, 0x00, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x0c,
514c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x04, 0x10, 0x82, 0x00, 0x0c,
515c197399bSmglocker 	0x00, 0x00, 0x00, 0x0c, 0x56, 0x00, 0x00, 0x00, 0x0c,
516c197399bSmglocker 	0x00, 0x00, 0x00, 0x0c, 0x77, 0x10, 0x02, 0x00, 0x0c,
517c197399bSmglocker 	0x00, 0x00, 0x00, 0x0c, 0x88, 0xef, 0xfe, 0x00, 0x0c,
518c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x09, 0xef, 0x7e, 0x00, 0x0c,
519c197399bSmglocker 	0x00, 0x00, 0x00, 0x0c, 0xab, 0x00, 0x00, 0x00, 0x0c,
520c197399bSmglocker 	0x00, 0x00, 0x00, 0x0c, 0xcc, 0xef, 0xfe, 0x00, 0x0c,
521c197399bSmglocker 	0x00, 0x00, 0x00, 0x0c, 0xdd, 0x10, 0x02, 0x00, 0x0c,
522c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x0e, 0x08, 0x41, 0x00, 0x0c,
523c197399bSmglocker 	0x10, 0x01, 0x00, 0x06, 0x99, 0xf0, 0x1f, 0x00, 0x06,
524c197399bSmglocker 	0x10, 0x00, 0x00, 0x0a, 0xcc, 0xf0, 0x00, 0x00, 0x0a,
525c197399bSmglocker 	0x00, 0x00, 0x00, 0x0c, 0xf0, 0x08, 0x41, 0x00, 0x0d,
526c197399bSmglocker 	0x08, 0x02, 0x00, 0x06, 0x99, 0xf8, 0x1e, 0x00, 0x06,
527c197399bSmglocker 	0x00, 0x02, 0x00, 0x0a, 0xcc, 0xff, 0xfe, 0x00, 0x0a,
528c197399bSmglocker 	0x00, 0x00, 0x00, 0x0d, 0x12, 0x08, 0x41, 0x00, 0x0d,
529c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x03, 0xf7, 0xbf, 0x00, 0x0d,
530c197399bSmglocker 	0xef, 0xff, 0x00, 0x06, 0xee, 0x0f, 0xe1, 0x00, 0x06,
531c197399bSmglocker 	0xf0, 0x00, 0x00, 0x0b, 0x00, 0x10, 0x00, 0x00, 0x0b,
532c197399bSmglocker 	0x00, 0x00, 0x00, 0x0d, 0x45, 0xf7, 0xbf, 0x00, 0x0d,
533c197399bSmglocker 	0xf7, 0xfe, 0x00, 0x06, 0xee, 0x07, 0xe2, 0x00, 0x06,
534c197399bSmglocker 	0xff, 0xfe, 0x00, 0x0b, 0x00, 0x00, 0x02, 0x00, 0x0b,
535c197399bSmglocker 	0x00, 0x00, 0x00, 0x0d, 0x67, 0xf7, 0xbf, 0x00, 0x0d,
536c197399bSmglocker 	0x00, 0x00, 0x00, 0x0d, 0x89, 0x00, 0x00, 0x00, 0x0d,
537c197399bSmglocker 	0x00, 0x00, 0x01, 0x01, 0x22, 0x00, 0x00, 0x09, 0x01,
538c197399bSmglocker 	0x00, 0x00, 0x10, 0x0d, 0xaa, 0x00, 0x00, 0x18, 0x0d,
539c197399bSmglocker 	0x00, 0x00, 0x00, 0x0d, 0xbb, 0x10, 0x82, 0x00, 0x0d,
540c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00,
541c197399bSmglocker 	0x08, 0x41, 0x00, 0x09, 0x44, 0x08, 0x61, 0x00, 0x09,
542c197399bSmglocker 	0x00, 0x00, 0x00, 0x0a, 0xcc, 0x20, 0x04, 0x00, 0x0d,
543c197399bSmglocker 	0x00, 0x00, 0x00, 0x0a, 0xcd, 0xdf, 0xfc, 0x00, 0x0d,
544c197399bSmglocker 	0x00, 0x00, 0x00, 0x0d, 0xee, 0xef, 0x7e, 0x00, 0x0d,
545c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0xe0, 0x01, 0x00,
546c197399bSmglocker 	0xf7, 0xbf, 0x00, 0x09, 0x77, 0xf7, 0x9f, 0x00, 0x09,
547c197399bSmglocker 	0x00, 0x00, 0x00, 0x0b, 0x0f, 0xdf, 0xfc, 0x00, 0x0d,
548c197399bSmglocker 	0x00, 0x00, 0x00, 0x0b, 0x00, 0x20, 0x04, 0x00, 0x0e,
549c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x01, 0x08, 0x41, 0x00, 0x0e,
550c197399bSmglocker 	0x00, 0x00, 0x00, 0x0e, 0x23, 0x00, 0x00, 0x00, 0x0e,
551c197399bSmglocker 	0x00, 0x00, 0x00, 0x0e, 0x44, 0x08, 0x41, 0x00, 0x0e,
552c197399bSmglocker 	0x00, 0x00, 0x00, 0x0e, 0x56, 0x00, 0x00, 0x00, 0x0e,
553c197399bSmglocker 	0x00, 0x00, 0x00, 0x0e, 0x77, 0x08, 0x41, 0x00, 0x0e,
554c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x08, 0xf7, 0xbf, 0x00, 0x0e,
555c197399bSmglocker 	0x00, 0x00, 0x00, 0x0e, 0x9a, 0x00, 0x00, 0x00, 0x0e,
556c197399bSmglocker 	0x00, 0x00, 0x00, 0x0e, 0xbb, 0xf7, 0xbf, 0x00, 0x0e,
557c197399bSmglocker 	0x00, 0x00, 0x00, 0x0e, 0xcd, 0x00, 0x00, 0x00, 0x0e,
558c197399bSmglocker 	0x00, 0x00, 0x00, 0x0e, 0xee, 0xf7, 0xbf, 0x00, 0x0e,
559c197399bSmglocker 	0x00, 0x00, 0x01, 0x01, 0xcc, 0x00, 0x00, 0x09, 0x01,
560c197399bSmglocker 	0x00, 0x00, 0x10, 0x0e, 0xff, 0x00, 0x00, 0x18, 0x0e,
561c197399bSmglocker 	0x00, 0x00, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x0f,
562c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x02, 0x21, 0x04, 0x00, 0x0f,
563c197399bSmglocker 	0x00, 0x00, 0x00, 0x0a, 0xc3, 0x00, 0x00, 0x00, 0x0f,
564c197399bSmglocker 	0x00, 0x00, 0x00, 0x0a, 0xc4, 0x00, 0x00, 0x00, 0x0f,
565c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x05, 0xde, 0xfc, 0x00, 0x0f,
566c197399bSmglocker 	0x00, 0x00, 0x00, 0x0b, 0x06, 0x00, 0x00, 0x00, 0x0f,
567c197399bSmglocker 	0x00, 0x00, 0x00, 0x0b, 0x07, 0x00, 0x00, 0x00, 0x0f,
568c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x08, 0x08, 0x41, 0x00, 0x0f,
569c197399bSmglocker 	0x08, 0x00, 0x00, 0x0f, 0x9a, 0x0f, 0xff, 0x00, 0x0f,
570c197399bSmglocker 	0xf8, 0x00, 0x00, 0x0f, 0xbc, 0xf0, 0x01, 0x00, 0x0f,
571c197399bSmglocker 	0x00, 0x00, 0x00, 0x0c, 0xfd, 0x10, 0x82, 0x00, 0x0f,
572c197399bSmglocker 	0x00, 0x01, 0x00, 0x0f, 0xec, 0xf8, 0x02, 0x00, 0x0f,
573c197399bSmglocker 	0xff, 0xff, 0x00, 0x0f, 0xfa, 0x07, 0xfe, 0x00, 0x0f,
574c197399bSmglocker 	0x00, 0x00, 0x00, 0x0d, 0x10, 0x10, 0x82, 0x00, 0x10,
575c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x01, 0xf7, 0xbf, 0x00, 0x10,
576c197399bSmglocker 	0xf8, 0x00, 0x00, 0x0f, 0xb2, 0xf0, 0x01, 0x00, 0x10,
577c197399bSmglocker 	0x08, 0x00, 0x00, 0x0f, 0x93, 0x0f, 0xff, 0x00, 0x10,
578c197399bSmglocker 	0x00, 0x00, 0x00, 0x0d, 0x44, 0xef, 0x7e, 0x00, 0x10,
579c197399bSmglocker 	0xff, 0xff, 0x00, 0x0f, 0xf3, 0x07, 0xfe, 0x00, 0x10,
580c197399bSmglocker 	0x00, 0x01, 0x00, 0x0f, 0xe2, 0xf8, 0x02, 0x00, 0x10,
581c197399bSmglocker 	0x00, 0x00, 0x00, 0x0d, 0x65, 0xef, 0x7e, 0x00, 0x10,
582c197399bSmglocker 	0x00, 0x00, 0x00, 0x10, 0x67, 0x00, 0x00, 0x00, 0x10,
583c197399bSmglocker 	0x00, 0x00, 0x01, 0x01, 0x22, 0x00, 0x00, 0x11, 0x01,
584c197399bSmglocker 	0x00, 0x00, 0x20, 0x10, 0x88, 0x00, 0x00, 0x30, 0x10,
585c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x09, 0x00, 0x00, 0x00, 0x10,
586c197399bSmglocker 	0x20, 0x04, 0x00, 0x0a, 0xcc, 0x40, 0x08, 0x00, 0x0a,
587c197399bSmglocker 	0xdf, 0xfc, 0x00, 0x0a, 0xcc, 0xbf, 0xf8, 0x00, 0x0a,
588c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x10,
589c197399bSmglocker 	0xdf, 0xfc, 0x00, 0x0b, 0x00, 0xbf, 0xf8, 0x00, 0x0b,
590c197399bSmglocker 	0x20, 0x04, 0x00, 0x0b, 0x00, 0x40, 0x08, 0x00, 0x0b,
591c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x0b, 0x08, 0x41, 0x00, 0x10,
592c197399bSmglocker 	0x00, 0x00, 0x00, 0x10, 0xcc, 0x08, 0x01, 0x00, 0x10,
593c197399bSmglocker 	0x00, 0x00, 0x00, 0x10, 0xdd, 0x08, 0x00, 0x00, 0x10,
594c197399bSmglocker 	0x00, 0x00, 0x00, 0x10, 0xee, 0xf7, 0xff, 0x00, 0x10,
595c197399bSmglocker 	0x00, 0x00, 0x00, 0x10, 0xff, 0x00, 0x01, 0x00, 0x10,
596c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0x00, 0x10, 0x82, 0x00, 0x11,
597c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0x11, 0x08, 0x01, 0x00, 0x11,
598c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0x22, 0xf7, 0xff, 0x00, 0x11,
599c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0x33, 0x10, 0x82, 0x00, 0x11,
600c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x04, 0xf7, 0xbf, 0x00, 0x11,
601c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0x55, 0xf8, 0x00, 0x00, 0x11,
602c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0x66, 0xff, 0xff, 0x00, 0x11,
603c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0x77, 0xef, 0x7e, 0x00, 0x11,
604c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0x88, 0xef, 0x7e, 0x00, 0x11,
605c197399bSmglocker 	0x00, 0x00, 0x01, 0x01, 0xcc, 0x00, 0x00, 0x11, 0x01,
606c197399bSmglocker 	0x00, 0x00, 0x20, 0x11, 0x99, 0x00, 0x00, 0x30, 0x11,
607c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0xab, 0x00, 0x00, 0x00, 0x11,
608c197399bSmglocker 	0x21, 0x04, 0x01, 0x00, 0x00, 0x42, 0x08, 0x01, 0x00,
609c197399bSmglocker 	0xde, 0xfc, 0x01, 0x00, 0x00, 0xbd, 0xf8, 0x01, 0x00,
610c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x0c, 0x08, 0x41, 0x00, 0x11,
611c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0xde, 0x10, 0x02, 0x00, 0x11,
612c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0xf0, 0x10, 0x00, 0x00, 0x12,
613c197399bSmglocker 	0x00, 0x00, 0x00, 0x12, 0x12, 0xef, 0xfe, 0x00, 0x12,
614c197399bSmglocker 	0x00, 0x00, 0x00, 0x12, 0x13, 0x00, 0x02, 0x00, 0x12,
615c197399bSmglocker 	0x00, 0x00, 0x00, 0x0c, 0xf4, 0x21, 0x04, 0x00, 0x12,
616c197399bSmglocker 	0x00, 0x00, 0x00, 0x12, 0x56, 0x10, 0x02, 0x00, 0x12,
617c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0xf7, 0xef, 0xfe, 0x00, 0x12,
618c197399bSmglocker 	0x00, 0x00, 0x00, 0x0d, 0x18, 0x21, 0x04, 0x00, 0x12,
619c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x09, 0xf7, 0xbf, 0x00, 0x12,
620c197399bSmglocker 	0x00, 0x00, 0x00, 0x12, 0x5a, 0xf0, 0x00, 0x00, 0x12,
621c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0xdb, 0xff, 0xfe, 0x00, 0x12,
622c197399bSmglocker 	0x00, 0x00, 0x00, 0x0d, 0x4c, 0xde, 0xfc, 0x00, 0x12,
623c197399bSmglocker 	0x00, 0x00, 0x00, 0x0d, 0x6d, 0xde, 0xfc, 0x00, 0x12,
624c197399bSmglocker 	0x00, 0x00, 0x00, 0x12, 0xef, 0x00, 0x00, 0x00, 0x12,
625c197399bSmglocker 	0x00, 0x00, 0x01, 0x01, 0x22, 0x00, 0x00, 0x21, 0x01,
626c197399bSmglocker 	0x00, 0x00, 0x40, 0x13, 0x00, 0x00, 0x00, 0x60, 0x13,
627c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x01, 0x08, 0x41, 0x00, 0x13,
628c197399bSmglocker 	0x00, 0x00, 0x00, 0x13, 0x22, 0x08, 0x00, 0x00, 0x13,
629c197399bSmglocker 	0x00, 0x00, 0x00, 0x13, 0x33, 0x10, 0x02, 0x00, 0x13,
630c197399bSmglocker 	0x00, 0x00, 0x00, 0x13, 0x44, 0xff, 0xff, 0x00, 0x13,
631c197399bSmglocker 	0x00, 0x00, 0x00, 0x13, 0x55, 0x10, 0x00, 0x00, 0x13,
632c197399bSmglocker 	0x00, 0x00, 0x00, 0x13, 0x66, 0xf8, 0x00, 0x00, 0x13,
633c197399bSmglocker 	0x00, 0x00, 0x00, 0x13, 0x77, 0xef, 0xfe, 0x00, 0x13,
634c197399bSmglocker 	0x00, 0x00, 0x00, 0x13, 0x88, 0x00, 0x02, 0x00, 0x13,
635c197399bSmglocker 	0x00, 0x00, 0x00, 0x13, 0x99, 0x21, 0x04, 0x00, 0x13,
636c197399bSmglocker 	0x00, 0x00, 0x00, 0x13, 0xaa, 0x00, 0x01, 0x00, 0x13,
637c197399bSmglocker 	0x00, 0x00, 0x00, 0x13, 0xbb, 0x10, 0x02, 0x00, 0x13,
638c197399bSmglocker 	0x00, 0x00, 0x00, 0x13, 0xcc, 0xef, 0xfe, 0x00, 0x13,
639c197399bSmglocker 	0x00, 0x00, 0x00, 0x13, 0xdd, 0x21, 0x04, 0x00, 0x13,
640c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x0e, 0xf7, 0xbf, 0x00, 0x13,
641c197399bSmglocker 	0x00, 0x00, 0x00, 0x13, 0xff, 0xf0, 0x00, 0x00, 0x13,
642c197399bSmglocker 	0x00, 0x00, 0x00, 0x14, 0x00, 0xff, 0xfe, 0x00, 0x14,
643c197399bSmglocker 	0x00, 0x00, 0x00, 0x14, 0x11, 0xde, 0xfc, 0x00, 0x14,
644c197399bSmglocker 	0x00, 0x00, 0x00, 0x14, 0x22, 0xde, 0xfc, 0x00, 0x14,
645c197399bSmglocker 	0x00, 0x00, 0x01, 0x01, 0xcc, 0x00, 0x00, 0x21, 0x01,
646c197399bSmglocker 	0x00, 0x00, 0x40, 0x14, 0x33, 0x00, 0x00, 0x60, 0x14,
647c197399bSmglocker 	0x00, 0x00, 0x01, 0x01, 0x22, 0x00, 0x00, 0x41, 0x01,
648c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x04, 0x08, 0x41, 0x00, 0x14,
649c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x05, 0x10, 0x00, 0x00, 0x14,
650c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0xd6, 0x20, 0x04, 0x00, 0x14,
651c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x07, 0xff, 0xfe, 0x00, 0x14,
652c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0xf8, 0x20, 0x00, 0x00, 0x14,
653c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x09, 0xf0, 0x00, 0x00, 0x14,
654c197399bSmglocker 	0x00, 0x00, 0x00, 0x12, 0x1a, 0xdf, 0xfc, 0x00, 0x14,
655c197399bSmglocker 	0x00, 0x00, 0x00, 0x12, 0x1b, 0x00, 0x04, 0x00, 0x14,
656c197399bSmglocker 	0x00, 0x00, 0x00, 0x0c, 0xfc, 0x42, 0x08, 0x00, 0x14,
657c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x0d, 0x00, 0x02, 0x00, 0x14,
658c197399bSmglocker 	0x00, 0x00, 0x00, 0x12, 0x5e, 0x20, 0x04, 0x00, 0x14,
659c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0xff, 0xdf, 0xfc, 0x00, 0x14,
660c197399bSmglocker 	0x00, 0x00, 0x00, 0x0d, 0x10, 0x42, 0x08, 0x00, 0x15,
661c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x01, 0xf7, 0xbf, 0x00, 0x15,
662c197399bSmglocker 	0x00, 0x00, 0x00, 0x12, 0x52, 0xe0, 0x00, 0x00, 0x15,
663c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0xd3, 0xff, 0xfc, 0x00, 0x15,
664c197399bSmglocker 	0x00, 0x00, 0x00, 0x0d, 0x44, 0xbd, 0xf8, 0x00, 0x15,
665c197399bSmglocker 	0x00, 0x00, 0x00, 0x0d, 0x65, 0xbd, 0xf8, 0x00, 0x15,
666c197399bSmglocker 	0x00, 0x00, 0x01, 0x01, 0xcc, 0x00, 0x00, 0x41, 0x01,
667c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x06, 0x08, 0x41, 0x00, 0x15,
668c197399bSmglocker 	0x00, 0x00, 0x00, 0x15, 0x77, 0x10, 0x00, 0x00, 0x15,
669c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0xd8, 0x00, 0x00, 0x00, 0x15,
670c197399bSmglocker 	0x00, 0x00, 0x00, 0x15, 0x99, 0xff, 0xfe, 0x00, 0x15,
671c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0xfa, 0x00, 0x00, 0x00, 0x15,
672c197399bSmglocker 	0x00, 0x00, 0x00, 0x15, 0xbb, 0xf0, 0x00, 0x00, 0x15,
673c197399bSmglocker 	0x00, 0x00, 0x00, 0x12, 0x1c, 0x00, 0x00, 0x00, 0x15,
674c197399bSmglocker 	0x00, 0x00, 0x00, 0x12, 0x1d, 0x00, 0x00, 0x00, 0x15,
675c197399bSmglocker 	0x00, 0x00, 0x00, 0x0c, 0xfe, 0x00, 0x00, 0x00, 0x15,
676c197399bSmglocker 	0x00, 0x00, 0x00, 0x15, 0xff, 0x00, 0x02, 0x00, 0x15,
677c197399bSmglocker 	0x00, 0x00, 0x00, 0x12, 0x50, 0x00, 0x00, 0x00, 0x16,
678c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0xf1, 0x00, 0x00, 0x00, 0x16,
679c197399bSmglocker 	0x00, 0x00, 0x00, 0x0d, 0x12, 0x00, 0x00, 0x00, 0x16,
680c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x03, 0xf7, 0xbf, 0x00, 0x16,
681c197399bSmglocker 	0x00, 0x00, 0x00, 0x12, 0x54, 0x00, 0x00, 0x00, 0x16,
682c197399bSmglocker 	0x00, 0x00, 0x00, 0x11, 0xd5, 0x00, 0x00, 0x00, 0x16,
683c197399bSmglocker 	0x00, 0x00, 0x00, 0x0d, 0x46, 0x00, 0x00, 0x00, 0x16,
684c197399bSmglocker 	0x00, 0x00, 0x00, 0x0d, 0x67, 0x00, 0x00, 0x00, 0x16,
685c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x08, 0x08, 0x41, 0x00, 0x16,
686c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x09, 0x20, 0x00, 0x00, 0x16,
687c197399bSmglocker 	0x20, 0x04, 0x00, 0x11, 0xdd, 0x40, 0x08, 0x00, 0x11,
688c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x0a, 0xff, 0xfc, 0x00, 0x16,
689c197399bSmglocker 	0x20, 0x00, 0x00, 0x11, 0xff, 0x40, 0x00, 0x00, 0x11,
690c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x0b, 0xe0, 0x00, 0x00, 0x16,
691c197399bSmglocker 	0xdf, 0xfc, 0x00, 0x12, 0x11, 0xbf, 0xf8, 0x00, 0x12,
692c197399bSmglocker 	0x00, 0x04, 0x00, 0x12, 0x11, 0x00, 0x08, 0x00, 0x12,
693c197399bSmglocker 	0x42, 0x08, 0x00, 0x0c, 0xff, 0x83, 0xf0, 0x00, 0x0c,
694c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x0c, 0x00, 0x04, 0x00, 0x16,
695c197399bSmglocker 	0x20, 0x04, 0x00, 0x12, 0x55, 0x40, 0x08, 0x00, 0x12,
696c197399bSmglocker 	0xdf, 0xfc, 0x00, 0x11, 0xff, 0xbf, 0xf8, 0x00, 0x11,
697c197399bSmglocker 	0x42, 0x08, 0x00, 0x0d, 0x11, 0x83, 0xf1, 0x00, 0x0d,
698c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x0d, 0xf7, 0xbf, 0x00, 0x16,
699c197399bSmglocker 	0xe0, 0x00, 0x00, 0x12, 0x55, 0xc0, 0x00, 0x00, 0x12,
700c197399bSmglocker 	0xff, 0xfc, 0x00, 0x11, 0xdd, 0xff, 0xf8, 0x00, 0x11,
701c197399bSmglocker 	0xbd, 0xf8, 0x00, 0x0d, 0x44, 0x7b, 0xf0, 0x00, 0x0d,
702c197399bSmglocker 	0xbd, 0xf8, 0x00, 0x0d, 0x66, 0x74, 0x0f, 0x00, 0x0d,
703c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x0e, 0x08, 0x41, 0x00, 0x16,
704c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x16,
705c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17,
706c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x17,
707c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x17,
708c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x03, 0xf7, 0xbf, 0x00, 0x17,
709c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x04, 0x08, 0x41, 0x00, 0x17,
710c197399bSmglocker 	0x20, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x01, 0x00,
711c197399bSmglocker 	0xff, 0xfc, 0x01, 0x00, 0x00, 0xff, 0xf8, 0x01, 0x00,
712c197399bSmglocker 	0xe0, 0x00, 0x01, 0x00, 0x00, 0xc0, 0x00, 0x01, 0x00,
713c197399bSmglocker 	0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00,
714c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x05, 0xf7, 0xbf, 0x00, 0x17,
715c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x06, 0x08, 0x41, 0x00, 0x17,
716c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x07, 0xf7, 0xbf, 0x00, 0x17,
717c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x00, 0x08, 0x41, 0x01, 0x00,
718c197399bSmglocker 	0x00, 0x00, 0x01, 0x00, 0x00, 0xf7, 0xbf, 0x01, 0x00,
719c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
720c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
721c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
722c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
723c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
724c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
725c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
726c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
727c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
728c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
729c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
730c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
731c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
732c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
733c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
734c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
735c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
736c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
737c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
738c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
739c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
740c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
741c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
742c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
743c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
744c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
745c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
746c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
747c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
748c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
749c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
750c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
751c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
752c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
753c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
754c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
755c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
756c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
757c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
758c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
759c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
760c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
761c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
762c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
763c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
764c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
765c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
766c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
767c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
768c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
769c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
770c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
771c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
772c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
773c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
774c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
775c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
776c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
777c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
778c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
779c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
780c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
781c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
782c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
783c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
784c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
785c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
786c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
787c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
788c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
789c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
790c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
791c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
792c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
793c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
794c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
795c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
796c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
797c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
798c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
799c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
800c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
801c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
802c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
803c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
804c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
805c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
806c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
807c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
808c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
809c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
810c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
811c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
812c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
813c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
814c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
815c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
816c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
817c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
818c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
819c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
820c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
821c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
822c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
823c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
824c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
825c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
826c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
827c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
828c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
829c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
830c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
831c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
832c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
833c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
834c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
835c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
836c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
837c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
838c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
839c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
840c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
841c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
842c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
843c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
844c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
845c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
846c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
847c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
848c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
849c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
850c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
851c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
852c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
853c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f,
854c197399bSmglocker 	0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f
855c197399bSmglocker };
856