1 /*	$OpenBSD: kue_fw.h,v 1.1 2001/12/17 01:39:08 deraadt Exp $ */
2 /*	$NetBSD: kue_fw.h,v 1.3 2001/01/19 08:54:21 jdolecek Exp $	*/
3 /*
4  * Copyright (c) 1997, 1998, 1999, 2000
5  *	Bill Paul <wpaul@ee.columbia.edu>.  All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  * 3. All advertising materials mentioning features or use of this software
16  *    must display the following acknowledgement:
17  *	This product includes software developed by Bill Paul.
18  * 4. Neither the name of the author nor the names of any co-contributors
19  *    may be used to endorse or promote products derived from this software
20  *    without specific prior written permission.
21  *
22  * THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
23  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25  * ARE DISCLAIMED.  IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
26  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
32  * THE POSSIBILITY OF SUCH DAMAGE.
33  *
34  * $FreeBSD: src/sys/dev/usb/kue_fw.h,v 1.1 2000/01/05 04:27:07 wpaul Exp $
35  */
36 
37 /*
38  * This file contains the firmware needed to make the KLSI chip work,
39  * along with a few constants related to the QT Engine microcontroller
40  * embedded in the KLSI part.
41  *
42  * Firmware is loaded using the vendor-specific 'send scan data'
43  * command (0xFF). The basic operation is that we must load the
44  * firmware, then issue some trigger commands to fix it up and start
45  * it running. There are three transfers: load the binary code,
46  * load the 'fixup' (data segment?), then issue a command to
47  * start the code firmware running. The data itself is prefixed by
48  * a 16-bit signature word, a 16-bit length value, a type byte
49  * and an interrupt (command) byte. The code segment is of type
50  * 0x02 (replacement interrupt vector data) and the fixup segment
51  * is of type 0x03 (replacement interrupt fixup data). The interrupt
52  * code is 0x64 (load new code). The length word is the total length
53  * of the segment minus 7. I precomputed the values and stuck them
54  * into the appropriate locations within the segments to save some
55  * work in the driver.
56  */
57 
58 /* QT controller data block types. */
59 /* Write data into specific memory location. */
60 #define KUE_QTBTYPE_WRITE_DATA		0x00
61 /* Write data into interrupt vector location */
62 #define KUE_QTBTYPE_WRITE_INTVEC	0x01
63 /* Replace interrupt vector with this data */
64 #define KUE_QTBTYPE_REPL_INTVEC		0x02
65 /* Fixup interrupt vector code with this data */
66 #define KUE_QTBTYPE_FIXUP_INTVEC	0x03
67 /* Force jump to location */
68 #define KUE_QTBTYPE_JUMP		0x04
69 /* Force call to location */
70 #define KUE_QTBTYPE_CALL		0x05
71 /* Force interrupt call */
72 #define KUE_QTBTYPE_CALLINTR		0x06
73 /*
74  * Cause data to be written using the specified QT engine
75  * interrupt, from starting location in memory for a specified
76  * number of bytes.
77  */
78 #define KUE_QTBTYPE_WRITE_WITH_INTR	0x07
79 /* Cause data from stream to be written using specified QT interrupt. */
80 #define KUE_QTBTYPE_WRITE_STR_WITH_INTR 0x08
81 /* Cause data to be written to config locations. */
82 /* Addresses assume 0xc000 offset. */
83 #define KUE_QTBTYPE_WRITE_CONFIG	0x09
84 
85 #define KUE_QTINTR_LOAD_CODE		0x64
86 #define KUE_QTINTR_TRIGGER_CODE		0x3B
87 #define KUE_QTINTR_LOAD_CODE_HIGH	0x9C
88 
89 /* Firmware code segment */
90 Static const unsigned char kue_code_seg[] =
91 {
92     /******************************************/
93     /* NOTE: B6/C3 is data header signature   */
94     /*	     0xAA/0xBB is data length = total */
95     /*	     bytes - 7, 0xCC is type, 0xDD is */
96     /*	     interrupt to use.		      */
97     /******************************************/
98     0xB6, 0xC3, 0xf7, 0x0e, 0x02, 0x64,
99     0x9f, 0xcf, 0xbc, 0x08, 0xe7, 0x57, 0x00, 0x00,
100     0x9a, 0x08, 0x97, 0xc1, 0xe7, 0x67, 0xff, 0x1f,
101     0x28, 0xc0, 0xe7, 0x87, 0x00, 0x04, 0x24, 0xc0,
102     0xe7, 0x67, 0xff, 0xf9, 0x22, 0xc0, 0x97, 0xcf,
103     0xe7, 0x09, 0xa2, 0xc0, 0x94, 0x08, 0xd7, 0x09,
104     0x00, 0xc0, 0xe7, 0x59, 0xba, 0x08, 0x94, 0x08,
105     0x03, 0xc1, 0xe7, 0x67, 0xff, 0xf7, 0x24, 0xc0,
106     0xe7, 0x05, 0x00, 0xc0, 0xa7, 0xcf, 0x92, 0x08,
107     0xe7, 0x57, 0x00, 0x00, 0x8e, 0x08, 0xa7, 0xa1,
108     0x8e, 0x08, 0x97, 0xcf, 0xe7, 0x57, 0x00, 0x00,
109     0xf2, 0x09, 0x0a, 0xc0, 0xe7, 0x57, 0x00, 0x00,
110     0xa4, 0xc0, 0xa7, 0xc0, 0x56, 0x08, 0x9f, 0xaf,
111     0x70, 0x09, 0xe7, 0x07, 0x00, 0x00, 0xf2, 0x09,
112     0xe7, 0x57, 0xff, 0xff, 0x90, 0x08, 0x9f, 0xa0,
113     0x40, 0x00, 0xe7, 0x59, 0x90, 0x08, 0x94, 0x08,
114     0x9f, 0xa0, 0x40, 0x00, 0xc8, 0x09, 0xa2, 0x08,
115     0x08, 0x62, 0x9f, 0xa1, 0x14, 0x0a, 0xe7, 0x57,
116     0x00, 0x00, 0x52, 0x08, 0xa7, 0xc0, 0x56, 0x08,
117     0x9f, 0xaf, 0x04, 0x00, 0xe7, 0x57, 0x00, 0x00,
118     0x8e, 0x08, 0xa7, 0xc1, 0x56, 0x08, 0xc0, 0x09,
119     0xa8, 0x08, 0x00, 0x60, 0x05, 0xc4, 0xc0, 0x59,
120     0x94, 0x08, 0x02, 0xc0, 0x9f, 0xaf, 0xee, 0x00,
121     0xe7, 0x59, 0xae, 0x08, 0x94, 0x08, 0x02, 0xc1,
122     0x9f, 0xaf, 0xf6, 0x00, 0x9f, 0xaf, 0x9e, 0x03,
123     0xef, 0x57, 0x00, 0x00, 0xf0, 0x09, 0x9f, 0xa1,
124     0xde, 0x01, 0xe7, 0x57, 0x00, 0x00, 0x78, 0x08,
125     0x9f, 0xa0, 0xe4, 0x03, 0x9f, 0xaf, 0x2c, 0x04,
126     0xa7, 0xcf, 0x56, 0x08, 0x48, 0x02, 0xe7, 0x09,
127     0x94, 0x08, 0xa8, 0x08, 0xc8, 0x37, 0x04, 0x00,
128     0x9f, 0xaf, 0x68, 0x04, 0x97, 0xcf, 0xe7, 0x57,
129     0x00, 0x00, 0xa6, 0x08, 0x97, 0xc0, 0xd7, 0x09,
130     0x00, 0xc0, 0xc1, 0xdf, 0xc8, 0x09, 0x9c, 0x08,
131     0x08, 0x62, 0x1d, 0xc0, 0x27, 0x04, 0x9c, 0x08,
132     0x10, 0x94, 0xf0, 0x07, 0xee, 0x09, 0x02, 0x00,
133     0xc1, 0x07, 0x01, 0x00, 0x70, 0x00, 0x04, 0x00,
134     0xf0, 0x07, 0x44, 0x01, 0x06, 0x00, 0x50, 0xaf,
135     0xe7, 0x09, 0x94, 0x08, 0xae, 0x08, 0xe7, 0x17,
136     0x14, 0x00, 0xae, 0x08, 0xe7, 0x67, 0xff, 0x07,
137     0xae, 0x08, 0xe7, 0x07, 0xff, 0xff, 0xa8, 0x08,
138     0xe7, 0x07, 0x00, 0x00, 0xa6, 0x08, 0xe7, 0x05,
139     0x00, 0xc0, 0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0,
140     0xc1, 0xdf, 0x48, 0x02, 0xd0, 0x09, 0x9c, 0x08,
141     0x27, 0x02, 0x9c, 0x08, 0xe7, 0x09, 0x20, 0xc0,
142     0xee, 0x09, 0xe7, 0xd0, 0xee, 0x09, 0xe7, 0x05,
143     0x00, 0xc0, 0x97, 0xcf, 0x48, 0x02, 0xc8, 0x37,
144     0x04, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, 0x60,
145     0x21, 0xc0, 0xc0, 0x37, 0x3e, 0x00, 0x23, 0xc9,
146     0xc0, 0x57, 0xb4, 0x05, 0x1b, 0xc8, 0xc0, 0x17,
147     0x3f, 0x00, 0xc0, 0x67, 0xc0, 0xff, 0x30, 0x00,
148     0x08, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x04, 0x00,
149     0x00, 0x02, 0xc0, 0x17, 0x4c, 0x00, 0x30, 0x00,
150     0x06, 0x00, 0xf0, 0x07, 0xbe, 0x01, 0x0a, 0x00,
151     0x48, 0x02, 0xc1, 0x07, 0x02, 0x00, 0xd7, 0x09,
152     0x00, 0xc0, 0xc1, 0xdf, 0x51, 0xaf, 0xe7, 0x05,
153     0x00, 0xc0, 0x97, 0xcf, 0x9f, 0xaf, 0x68, 0x04,
154     0x9f, 0xaf, 0xe4, 0x03, 0x97, 0xcf, 0x9f, 0xaf,
155     0xe4, 0x03, 0xc9, 0x37, 0x04, 0x00, 0xc1, 0xdf,
156     0xc8, 0x09, 0x70, 0x08, 0x50, 0x02, 0x67, 0x02,
157     0x70, 0x08, 0xd1, 0x07, 0x00, 0x00, 0xc0, 0xdf,
158     0x9f, 0xaf, 0xde, 0x01, 0x97, 0xcf, 0xe7, 0x57,
159     0x00, 0x00, 0xaa, 0x08, 0x97, 0xc1, 0xe7, 0x57,
160     0x01, 0x00, 0x7a, 0x08, 0x97, 0xc0, 0xc8, 0x09,
161     0x6e, 0x08, 0x08, 0x62, 0x97, 0xc0, 0x00, 0x02,
162     0xc0, 0x17, 0x0e, 0x00, 0x27, 0x00, 0x34, 0x01,
163     0x27, 0x0c, 0x0c, 0x00, 0x36, 0x01, 0xef, 0x57,
164     0x00, 0x00, 0xf0, 0x09, 0x9f, 0xc0, 0xbe, 0x02,
165     0xe7, 0x57, 0x00, 0x00, 0xb0, 0x08, 0x97, 0xc1,
166     0xe7, 0x07, 0x09, 0x00, 0x12, 0xc0, 0xe7, 0x77,
167     0x00, 0x08, 0x20, 0xc0, 0x9f, 0xc1, 0xb6, 0x02,
168     0xe7, 0x57, 0x09, 0x00, 0x12, 0xc0, 0x77, 0xc9,
169     0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 0xe7, 0x77,
170     0x00, 0x08, 0x20, 0xc0, 0x2f, 0xc1, 0xe7, 0x07,
171     0x00, 0x00, 0x42, 0xc0, 0xe7, 0x07, 0x05, 0x00,
172     0x90, 0xc0, 0xc8, 0x07, 0x0a, 0x00, 0xe7, 0x77,
173     0x04, 0x00, 0x20, 0xc0, 0x09, 0xc1, 0x08, 0xda,
174     0x7a, 0xc1, 0xe7, 0x07, 0x00, 0x01, 0x42, 0xc0,
175     0xe7, 0x07, 0x04, 0x00, 0x90, 0xc0, 0x1a, 0xcf,
176     0xe7, 0x07, 0x01, 0x00, 0x7a, 0x08, 0x00, 0xd8,
177     0x27, 0x50, 0x34, 0x01, 0x17, 0xc1, 0xe7, 0x77,
178     0x02, 0x00, 0x20, 0xc0, 0x79, 0xc1, 0x27, 0x50,
179     0x34, 0x01, 0x10, 0xc1, 0xe7, 0x77, 0x02, 0x00,
180     0x20, 0xc0, 0x79, 0xc0, 0x9f, 0xaf, 0xd8, 0x02,
181     0xe7, 0x05, 0x00, 0xc0, 0x00, 0x60, 0x9f, 0xc0,
182     0xde, 0x01, 0x97, 0xcf, 0xe7, 0x07, 0x01, 0x00,
183     0xb8, 0x08, 0x06, 0xcf, 0xe7, 0x07, 0x30, 0x0e,
184     0x02, 0x00, 0xe7, 0x07, 0x50, 0xc3, 0x12, 0xc0,
185     0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf, 0xe7, 0x07,
186     0x01, 0x00, 0xb8, 0x08, 0x97, 0xcf, 0xe7, 0x07,
187     0x50, 0xc3, 0x12, 0xc0, 0xe7, 0x07, 0x30, 0x0e,
188     0x02, 0x00, 0xe7, 0x07, 0x01, 0x00, 0x7a, 0x08,
189     0xe7, 0x07, 0x05, 0x00, 0x90, 0xc0, 0x97, 0xcf,
190     0xe7, 0x07, 0x00, 0x01, 0x42, 0xc0, 0xe7, 0x07,
191     0x04, 0x00, 0x90, 0xc0, 0xe7, 0x07, 0x00, 0x00,
192     0x7a, 0x08, 0xe7, 0x57, 0x0f, 0x00, 0xb2, 0x08,
193     0x13, 0xc1, 0x9f, 0xaf, 0x2e, 0x08, 0xca, 0x09,
194     0xac, 0x08, 0xf2, 0x17, 0x01, 0x00, 0x5c, 0x00,
195     0xf2, 0x27, 0x00, 0x00, 0x5e, 0x00, 0xe7, 0x07,
196     0x00, 0x00, 0xb2, 0x08, 0xe7, 0x07, 0x01, 0x00,
197     0xb4, 0x08, 0xc0, 0x07, 0xff, 0xff, 0x97, 0xcf,
198     0x9f, 0xaf, 0x4c, 0x03, 0xc0, 0x69, 0xb4, 0x08,
199     0x57, 0x00, 0x9f, 0xde, 0x33, 0x00, 0xc1, 0x05,
200     0x27, 0xd8, 0xb2, 0x08, 0x27, 0xd2, 0xb4, 0x08,
201     0xe7, 0x87, 0x01, 0x00, 0xb4, 0x08, 0xe7, 0x67,
202     0xff, 0x03, 0xb4, 0x08, 0x00, 0x60, 0x97, 0xc0,
203     0xe7, 0x07, 0x01, 0x00, 0xb0, 0x08, 0x27, 0x00,
204     0x12, 0xc0, 0x97, 0xcf, 0xc0, 0x09, 0xb6, 0x08,
205     0x00, 0xd2, 0x02, 0xc3, 0xc0, 0x97, 0x05, 0x80,
206     0x27, 0x00, 0xb6, 0x08, 0xc0, 0x99, 0x82, 0x08,
207     0xc0, 0x99, 0xa2, 0xc0, 0x97, 0xcf, 0xe7, 0x07,
208     0x00, 0x00, 0xb0, 0x08, 0xc0, 0xdf, 0x97, 0xcf,
209     0xc8, 0x09, 0x72, 0x08, 0x08, 0x62, 0x02, 0xc0,
210     0x10, 0x64, 0x07, 0xc1, 0xe7, 0x07, 0x00, 0x00,
211     0x64, 0x08, 0xe7, 0x07, 0xc8, 0x05, 0x24, 0x00,
212     0x97, 0xcf, 0x27, 0x04, 0x72, 0x08, 0xc8, 0x17,
213     0x0e, 0x00, 0x27, 0x02, 0x64, 0x08, 0xe7, 0x07,
214     0xd6, 0x05, 0x24, 0x00, 0x97, 0xcf, 0xd7, 0x09,
215     0x00, 0xc0, 0xc1, 0xdf, 0xe7, 0x57, 0x00, 0x00,
216     0x62, 0x08, 0x13, 0xc1, 0x9f, 0xaf, 0x70, 0x03,
217     0xe7, 0x57, 0x00, 0x00, 0x64, 0x08, 0x13, 0xc0,
218     0xe7, 0x09, 0x64, 0x08, 0x30, 0x01, 0xe7, 0x07,
219     0xf2, 0x05, 0x32, 0x01, 0xe7, 0x07, 0x10, 0x00,
220     0x96, 0xc0, 0xe7, 0x09, 0x64, 0x08, 0x62, 0x08,
221     0x04, 0xcf, 0xe7, 0x57, 0x00, 0x00, 0x64, 0x08,
222     0x02, 0xc1, 0x9f, 0xaf, 0x70, 0x03, 0xe7, 0x05,
223     0x00, 0xc0, 0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0,
224     0xc1, 0xdf, 0xc8, 0x09, 0x72, 0x08, 0x27, 0x02,
225     0x78, 0x08, 0x08, 0x62, 0x03, 0xc1, 0xe7, 0x05,
226     0x00, 0xc0, 0x97, 0xcf, 0x27, 0x04, 0x72, 0x08,
227     0xe7, 0x05, 0x00, 0xc0, 0xf0, 0x07, 0x40, 0x00,
228     0x08, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x04, 0x00,
229     0x00, 0x02, 0xc0, 0x17, 0x0c, 0x00, 0x30, 0x00,
230     0x06, 0x00, 0xf0, 0x07, 0x64, 0x01, 0x0a, 0x00,
231     0xc8, 0x17, 0x04, 0x00, 0xc1, 0x07, 0x02, 0x00,
232     0x51, 0xaf, 0x97, 0xcf, 0xe7, 0x57, 0x00, 0x00,
233     0x6a, 0x08, 0x97, 0xc0, 0xc1, 0xdf, 0xc8, 0x09,
234     0x6a, 0x08, 0x27, 0x04, 0x6a, 0x08, 0x27, 0x52,
235     0x6c, 0x08, 0x03, 0xc1, 0xe7, 0x07, 0x6a, 0x08,
236     0x6c, 0x08, 0xc0, 0xdf, 0x17, 0x02, 0xc8, 0x17,
237     0x0e, 0x00, 0x9f, 0xaf, 0x16, 0x05, 0xc8, 0x05,
238     0x00, 0x60, 0x03, 0xc0, 0x9f, 0xaf, 0x80, 0x04,
239     0x97, 0xcf, 0x9f, 0xaf, 0x68, 0x04, 0x97, 0xcf,
240     0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 0x08, 0x62,
241     0x1c, 0xc0, 0xd0, 0x09, 0x72, 0x08, 0x27, 0x02,
242     0x72, 0x08, 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf,
243     0x97, 0x02, 0xca, 0x09, 0xac, 0x08, 0xf2, 0x17,
244     0x01, 0x00, 0x04, 0x00, 0xf2, 0x27, 0x00, 0x00,
245     0x06, 0x00, 0xca, 0x17, 0x2c, 0x00, 0xf8, 0x77,
246     0x01, 0x00, 0x0e, 0x00, 0x06, 0xc0, 0xca, 0xd9,
247     0xf8, 0x57, 0xff, 0x00, 0x0e, 0x00, 0x01, 0xc1,
248     0xca, 0xd9, 0x22, 0x1c, 0x0c, 0x00, 0xe2, 0x27,
249     0x00, 0x00, 0xe2, 0x17, 0x01, 0x00, 0xe2, 0x27,
250     0x00, 0x00, 0xca, 0x05, 0x00, 0x0c, 0x0c, 0x00,
251     0xc0, 0x17, 0x41, 0x00, 0xc0, 0x67, 0xc0, 0xff,
252     0x30, 0x00, 0x08, 0x00, 0x00, 0x02, 0xc0, 0x17,
253     0x0c, 0x00, 0x30, 0x00, 0x06, 0x00, 0xf0, 0x07,
254     0xdc, 0x00, 0x0a, 0x00, 0xf0, 0x07, 0x00, 0x00,
255     0x04, 0x00, 0x00, 0x0c, 0x08, 0x00, 0x40, 0xd1,
256     0x01, 0x00, 0xc0, 0x19, 0xa6, 0x08, 0xc0, 0x59,
257     0x98, 0x08, 0x04, 0xc9, 0x49, 0xaf, 0x9f, 0xaf,
258     0xee, 0x00, 0x4a, 0xaf, 0x67, 0x10, 0xa6, 0x08,
259     0xc8, 0x17, 0x04, 0x00, 0xc1, 0x07, 0x01, 0x00,
260     0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 0x50, 0xaf,
261     0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf, 0xc0, 0x07,
262     0x01, 0x00, 0xc1, 0x09, 0x7c, 0x08, 0xc1, 0x77,
263     0x01, 0x00, 0x97, 0xc1, 0xd8, 0x77, 0x01, 0x00,
264     0x12, 0xc0, 0xc9, 0x07, 0x4c, 0x08, 0x9f, 0xaf,
265     0x64, 0x05, 0x04, 0xc1, 0xc1, 0x77, 0x08, 0x00,
266     0x13, 0xc0, 0x97, 0xcf, 0xc1, 0x77, 0x02, 0x00,
267     0x97, 0xc1, 0xc1, 0x77, 0x10, 0x00, 0x0c, 0xc0,
268     0x9f, 0xaf, 0x86, 0x05, 0x97, 0xcf, 0xc1, 0x77,
269     0x04, 0x00, 0x06, 0xc0, 0xc9, 0x07, 0x7e, 0x08,
270     0x9f, 0xaf, 0x64, 0x05, 0x97, 0xc0, 0x00, 0xcf,
271     0x00, 0x90, 0x97, 0xcf, 0x50, 0x54, 0x97, 0xc1,
272     0x70, 0x5c, 0x02, 0x00, 0x02, 0x00, 0x97, 0xc1,
273     0x70, 0x5c, 0x04, 0x00, 0x04, 0x00, 0x97, 0xcf,
274     0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00,
275     0x0c, 0x00, 0x06, 0x00, 0x00, 0x00, 0xcb, 0x09,
276     0x88, 0x08, 0xcc, 0x09, 0x8a, 0x08, 0x0b, 0x53,
277     0x11, 0xc0, 0xc9, 0x02, 0xca, 0x07, 0x78, 0x05,
278     0x9f, 0xaf, 0x64, 0x05, 0x97, 0xc0, 0x0a, 0xc8,
279     0x82, 0x08, 0x0a, 0xcf, 0x82, 0x08, 0x9f, 0xaf,
280     0x64, 0x05, 0x97, 0xc0, 0x05, 0xc2, 0x89, 0x30,
281     0x82, 0x60, 0x78, 0xc1, 0x00, 0x90, 0x97, 0xcf,
282     0x89, 0x10, 0x09, 0x53, 0x79, 0xc2, 0x89, 0x30,
283     0x82, 0x08, 0x7a, 0xcf, 0xc0, 0xdf, 0x97, 0xcf,
284     0xe7, 0x09, 0x96, 0xc0, 0x66, 0x08, 0xe7, 0x09,
285     0x98, 0xc0, 0x68, 0x08, 0x0f, 0xcf, 0xe7, 0x09,
286     0x96, 0xc0, 0x66, 0x08, 0xe7, 0x09, 0x98, 0xc0,
287     0x68, 0x08, 0xe7, 0x09, 0x64, 0x08, 0x30, 0x01,
288     0xe7, 0x07, 0xf2, 0x05, 0x32, 0x01, 0xe7, 0x07,
289     0x10, 0x00, 0x96, 0xc0, 0xd7, 0x09, 0x00, 0xc0,
290     0x17, 0x02, 0xc8, 0x09, 0x62, 0x08, 0xc8, 0x37,
291     0x0e, 0x00, 0xe7, 0x57, 0x04, 0x00, 0x68, 0x08,
292     0x3d, 0xc0, 0xe7, 0x87, 0x00, 0x08, 0x24, 0xc0,
293     0xe7, 0x09, 0x94, 0x08, 0xba, 0x08, 0xe7, 0x17,
294     0x64, 0x00, 0xba, 0x08, 0xe7, 0x67, 0xff, 0x07,
295     0xba, 0x08, 0xe7, 0x77, 0x2a, 0x00, 0x66, 0x08,
296     0x30, 0xc0, 0x97, 0x02, 0xca, 0x09, 0xac, 0x08,
297     0xe7, 0x77, 0x20, 0x00, 0x66, 0x08, 0x0e, 0xc0,
298     0xf2, 0x17, 0x01, 0x00, 0x10, 0x00, 0xf2, 0x27,
299     0x00, 0x00, 0x12, 0x00, 0xe7, 0x77, 0x0a, 0x00,
300     0x66, 0x08, 0xca, 0x05, 0x1e, 0xc0, 0x97, 0x02,
301     0xca, 0x09, 0xac, 0x08, 0xf2, 0x17, 0x01, 0x00,
302     0x0c, 0x00, 0xf2, 0x27, 0x00, 0x00, 0x0e, 0x00,
303     0xe7, 0x77, 0x02, 0x00, 0x66, 0x08, 0x07, 0xc0,
304     0xf2, 0x17, 0x01, 0x00, 0x44, 0x00, 0xf2, 0x27,
305     0x00, 0x00, 0x46, 0x00, 0x06, 0xcf, 0xf2, 0x17,
306     0x01, 0x00, 0x60, 0x00, 0xf2, 0x27, 0x00, 0x00,
307     0x62, 0x00, 0xca, 0x05, 0x9f, 0xaf, 0x68, 0x04,
308     0x0f, 0xcf, 0x57, 0x02, 0x09, 0x02, 0xf1, 0x09,
309     0x68, 0x08, 0x0c, 0x00, 0xf1, 0xda, 0x0c, 0x00,
310     0xc8, 0x09, 0x6c, 0x08, 0x50, 0x02, 0x67, 0x02,
311     0x6c, 0x08, 0xd1, 0x07, 0x00, 0x00, 0xc9, 0x05,
312     0xe7, 0x09, 0x64, 0x08, 0x62, 0x08, 0xe7, 0x57,
313     0x00, 0x00, 0x62, 0x08, 0x02, 0xc0, 0x9f, 0xaf,
314     0x70, 0x03, 0xc8, 0x05, 0xe7, 0x05, 0x00, 0xc0,
315     0xc0, 0xdf, 0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0,
316     0x17, 0x00, 0x17, 0x02, 0x97, 0x02, 0xc0, 0x09,
317     0x92, 0xc0, 0xe7, 0x87, 0x00, 0x08, 0x24, 0xc0,
318     0xe7, 0x09, 0x94, 0x08, 0xba, 0x08, 0xe7, 0x17,
319     0x64, 0x00, 0xba, 0x08, 0xe7, 0x67, 0xff, 0x07,
320     0xba, 0x08, 0xe7, 0x07, 0x04, 0x00, 0x90, 0xc0,
321     0xca, 0x09, 0xac, 0x08, 0xe7, 0x07, 0x00, 0x00,
322     0x7a, 0x08, 0xe7, 0x07, 0x66, 0x03, 0x02, 0x00,
323     0xc0, 0x77, 0x02, 0x00, 0x10, 0xc0, 0xef, 0x57,
324     0x00, 0x00, 0xf0, 0x09, 0x04, 0xc0, 0x9f, 0xaf,
325     0xd8, 0x02, 0x9f, 0xcf, 0x12, 0x08, 0xf2, 0x17,
326     0x01, 0x00, 0x50, 0x00, 0xf2, 0x27, 0x00, 0x00,
327     0x52, 0x00, 0x9f, 0xcf, 0x12, 0x08, 0xef, 0x57,
328     0x00, 0x00, 0xf0, 0x09, 0x08, 0xc0, 0xe7, 0x57,
329     0x00, 0x00, 0xb8, 0x08, 0xe7, 0x07, 0x00, 0x00,
330     0xb8, 0x08, 0x0a, 0xc0, 0x03, 0xcf, 0xc0, 0x77,
331     0x10, 0x00, 0x06, 0xc0, 0xf2, 0x17, 0x01, 0x00,
332     0x58, 0x00, 0xf2, 0x27, 0x00, 0x00, 0x5a, 0x00,
333     0xc0, 0x77, 0x80, 0x00, 0x06, 0xc0, 0xf2, 0x17,
334     0x01, 0x00, 0x70, 0x00, 0xf2, 0x27, 0x00, 0x00,
335     0x72, 0x00, 0xc0, 0x77, 0x08, 0x00, 0x1d, 0xc1,
336     0xf2, 0x17, 0x01, 0x00, 0x08, 0x00, 0xf2, 0x27,
337     0x00, 0x00, 0x0a, 0x00, 0xc0, 0x77, 0x00, 0x02,
338     0x06, 0xc0, 0xf2, 0x17, 0x01, 0x00, 0x64, 0x00,
339     0xf2, 0x27, 0x00, 0x00, 0x66, 0x00, 0xc0, 0x77,
340     0x40, 0x00, 0x06, 0xc0, 0xf2, 0x17, 0x01, 0x00,
341     0x5c, 0x00, 0xf2, 0x27, 0x00, 0x00, 0x5e, 0x00,
342     0xc0, 0x77, 0x01, 0x00, 0x01, 0xc0, 0x37, 0xcf,
343     0x36, 0xcf, 0xf2, 0x17, 0x01, 0x00, 0x00, 0x00,
344     0xf2, 0x27, 0x00, 0x00, 0x02, 0x00, 0xef, 0x57,
345     0x00, 0x00, 0xf0, 0x09, 0x18, 0xc0, 0xe7, 0x57,
346     0x01, 0x00, 0xb2, 0x08, 0x0e, 0xc2, 0x07, 0xc8,
347     0xf2, 0x17, 0x01, 0x00, 0x50, 0x00, 0xf2, 0x27,
348     0x00, 0x00, 0x52, 0x00, 0x06, 0xcf, 0xf2, 0x17,
349     0x01, 0x00, 0x54, 0x00, 0xf2, 0x27, 0x00, 0x00,
350     0x56, 0x00, 0xe7, 0x07, 0x00, 0x00, 0xb2, 0x08,
351     0xe7, 0x07, 0x01, 0x00, 0xb4, 0x08, 0xc8, 0x09,
352     0x34, 0x01, 0xca, 0x17, 0x14, 0x00, 0xd8, 0x77,
353     0x01, 0x00, 0x05, 0xc0, 0xca, 0xd9, 0xd8, 0x57,
354     0xff, 0x00, 0x01, 0xc0, 0xca, 0xd9, 0xe2, 0x19,
355     0x94, 0xc0, 0xe2, 0x27, 0x00, 0x00, 0xe2, 0x17,
356     0x01, 0x00, 0xe2, 0x27, 0x00, 0x00, 0x9f, 0xaf,
357     0x2e, 0x08, 0x9f, 0xaf, 0xde, 0x01, 0xe7, 0x57,
358     0x00, 0x00, 0xaa, 0x08, 0x9f, 0xa1, 0xf0, 0x0b,
359     0xca, 0x05, 0xc8, 0x05, 0xc0, 0x05, 0xe7, 0x05,
360     0x00, 0xc0, 0xc0, 0xdf, 0x97, 0xcf, 0xc8, 0x09,
361     0x6e, 0x08, 0x08, 0x62, 0x97, 0xc0, 0x27, 0x04,
362     0x6e, 0x08, 0x27, 0x52, 0x70, 0x08, 0x03, 0xc1,
363     0xe7, 0x07, 0x6e, 0x08, 0x70, 0x08, 0x9f, 0xaf,
364     0x68, 0x04, 0x97, 0xcf, 0xff, 0xff, 0xff, 0xff,
365     0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
366     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
367     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
368     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
369     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
370     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
371     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
372     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
373     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
374     0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
375     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
376     0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
377     0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x33, 0xcc,
378     0x00, 0x00, 0x00, 0x00, 0xe7, 0x57, 0x00, 0x80,
379     0xb2, 0x00, 0x06, 0xc2, 0xe7, 0x07, 0x52, 0x0e,
380     0x12, 0x00, 0xe7, 0x07, 0x98, 0x0e, 0xb2, 0x00,
381     0xe7, 0x07, 0xa4, 0x09, 0xf2, 0x02, 0xc8, 0x09,
382     0xb4, 0x00, 0xf8, 0x07, 0x02, 0x00, 0x0d, 0x00,
383     0xd7, 0x09, 0x0e, 0xc0, 0xe7, 0x07, 0x00, 0x00,
384     0x0e, 0xc0, 0xc8, 0x09, 0xdc, 0x00, 0xf0, 0x07,
385     0xff, 0xff, 0x09, 0x00, 0xf0, 0x07, 0xfb, 0x13,
386     0x0b, 0x00, 0xe7, 0x09, 0xc0, 0x00, 0x58, 0x08,
387     0xe7, 0x09, 0xbe, 0x00, 0x54, 0x08, 0xe7, 0x09,
388     0x10, 0x00, 0x92, 0x08, 0xc8, 0x07, 0xb4, 0x09,
389     0x9f, 0xaf, 0x8c, 0x09, 0x9f, 0xaf, 0xe2, 0x0b,
390     0xc0, 0x07, 0x80, 0x01, 0x44, 0xaf, 0x27, 0x00,
391     0x88, 0x08, 0x27, 0x00, 0x8a, 0x08, 0x27, 0x00,
392     0x8c, 0x08, 0xc0, 0x07, 0x74, 0x00, 0x44, 0xaf,
393     0x27, 0x00, 0xac, 0x08, 0x08, 0x00, 0x00, 0x90,
394     0xc1, 0x07, 0x1d, 0x00, 0x20, 0x00, 0x20, 0x00,
395     0x01, 0xda, 0x7c, 0xc1, 0x9f, 0xaf, 0x8a, 0x0b,
396     0xc0, 0x07, 0x4c, 0x00, 0x48, 0xaf, 0x27, 0x00,
397     0x56, 0x08, 0x9f, 0xaf, 0x72, 0x0c, 0xe7, 0x07,
398     0x00, 0x80, 0x96, 0x08, 0xef, 0x57, 0x00, 0x00,
399     0xf0, 0x09, 0x03, 0xc0, 0xe7, 0x07, 0x01, 0x00,
400     0x1c, 0xc0, 0xe7, 0x05, 0x0e, 0xc0, 0x97, 0xcf,
401     0x49, 0xaf, 0xe7, 0x87, 0x43, 0x00, 0x0e, 0xc0,
402     0xe7, 0x07, 0xff, 0xff, 0x94, 0x08, 0x9f, 0xaf,
403     0x8a, 0x0c, 0xc0, 0x07, 0x01, 0x00, 0x60, 0xaf,
404     0x4a, 0xaf, 0x97, 0xcf, 0x00, 0x08, 0x09, 0x08,
405     0x11, 0x08, 0x00, 0xda, 0x7c, 0xc1, 0x97, 0xcf,
406     0x67, 0x04, 0xcc, 0x02, 0xc0, 0xdf, 0x51, 0x94,
407     0xb1, 0xaf, 0x06, 0x00, 0xc1, 0xdf, 0xc9, 0x09,
408     0xcc, 0x02, 0x49, 0x62, 0x75, 0xc1, 0xc0, 0xdf,
409     0xa7, 0xcf, 0xd6, 0x02, 0x0e, 0x00, 0x24, 0x00,
410     0xd6, 0x05, 0x22, 0x00, 0xc4, 0x06, 0xd0, 0x00,
411     0xf0, 0x0b, 0xaa, 0x00, 0x0e, 0x0a, 0xbe, 0x00,
412     0x2c, 0x0c, 0x10, 0x00, 0x20, 0x00, 0x04, 0x00,
413     0xc4, 0x05, 0x02, 0x00, 0x66, 0x03, 0x06, 0x00,
414     0x00, 0x00, 0x24, 0xc0, 0x04, 0x04, 0x28, 0xc0,
415     0xfe, 0xfb, 0x1e, 0xc0, 0x00, 0x04, 0x22, 0xc0,
416     0xff, 0xf0, 0xc0, 0x00, 0x60, 0x0b, 0x00, 0x00,
417     0x00, 0x00, 0xff, 0xff, 0x34, 0x0a, 0x3e, 0x0a,
418     0x9e, 0x0a, 0xa8, 0x0a, 0xce, 0x0a, 0xd2, 0x0a,
419     0xd6, 0x0a, 0x00, 0x0b, 0x10, 0x0b, 0x1e, 0x0b,
420     0x20, 0x0b, 0x28, 0x0b, 0x28, 0x0b, 0x27, 0x02,
421     0xa2, 0x08, 0x97, 0xcf, 0xe7, 0x07, 0x00, 0x00,
422     0xa2, 0x08, 0x0a, 0x0e, 0x01, 0x00, 0xca, 0x57,
423     0x0e, 0x00, 0x9f, 0xc3, 0x2a, 0x0b, 0xca, 0x37,
424     0x00, 0x00, 0x9f, 0xc2, 0x2a, 0x0b, 0x0a, 0xd2,
425     0xb2, 0xcf, 0xf4, 0x09, 0xc8, 0x09, 0xde, 0x00,
426     0x07, 0x06, 0x9f, 0xcf, 0x3c, 0x0b, 0xf0, 0x57,
427     0x80, 0x01, 0x06, 0x00, 0x9f, 0xc8, 0x2a, 0x0b,
428     0x27, 0x0c, 0x02, 0x00, 0x86, 0x08, 0xc0, 0x09,
429     0x88, 0x08, 0x27, 0x00, 0x8a, 0x08, 0xe7, 0x07,
430     0x00, 0x00, 0x84, 0x08, 0x27, 0x00, 0x5c, 0x08,
431     0x00, 0x1c, 0x06, 0x00, 0x27, 0x00, 0x8c, 0x08,
432     0x41, 0x90, 0x67, 0x50, 0x86, 0x08, 0x0d, 0xc0,
433     0x67, 0x00, 0x5a, 0x08, 0x27, 0x0c, 0x06, 0x00,
434     0x5e, 0x08, 0xe7, 0x07, 0x8a, 0x0a, 0x60, 0x08,
435     0xc8, 0x07, 0x5a, 0x08, 0x41, 0x90, 0x51, 0xaf,
436     0x97, 0xcf, 0x9f, 0xaf, 0xac, 0x0e, 0xe7, 0x09,
437     0x8c, 0x08, 0x8a, 0x08, 0xe7, 0x09, 0x86, 0x08,
438     0x84, 0x08, 0x59, 0xaf, 0x97, 0xcf, 0x27, 0x0c,
439     0x02, 0x00, 0x7c, 0x08, 0x59, 0xaf, 0x97, 0xcf,
440     0x09, 0x0c, 0x02, 0x00, 0x09, 0xda, 0x49, 0xd2,
441     0xc9, 0x19, 0xac, 0x08, 0xc8, 0x07, 0x5a, 0x08,
442     0xe0, 0x07, 0x00, 0x00, 0x60, 0x02, 0xe0, 0x07,
443     0x04, 0x00, 0xd0, 0x07, 0x9a, 0x0a, 0x48, 0xdb,
444     0x41, 0x90, 0x50, 0xaf, 0x97, 0xcf, 0x59, 0xaf,
445     0x97, 0xcf, 0x59, 0xaf, 0x97, 0xcf, 0xf0, 0x57,
446     0x06, 0x00, 0x06, 0x00, 0x26, 0xc1, 0xe7, 0x07,
447     0x7e, 0x08, 0x5c, 0x08, 0x41, 0x90, 0x67, 0x00,
448     0x5a, 0x08, 0x27, 0x0c, 0x06, 0x00, 0x5e, 0x08,
449     0xe7, 0x07, 0x5c, 0x0b, 0x60, 0x08, 0xc8, 0x07,
450     0x5a, 0x08, 0x41, 0x90, 0x51, 0xaf, 0x97, 0xcf,
451     0x07, 0x0c, 0x06, 0x00, 0xc7, 0x57, 0x06, 0x00,
452     0x10, 0xc1, 0xc8, 0x07, 0x7e, 0x08, 0x16, 0xcf,
453     0x00, 0x0c, 0x02, 0x00, 0x00, 0xda, 0x40, 0xd1,
454     0x27, 0x00, 0x98, 0x08, 0x1f, 0xcf, 0x1e, 0xcf,
455     0x27, 0x0c, 0x02, 0x00, 0xa4, 0x08, 0x1a, 0xcf,
456     0x00, 0xcf, 0x27, 0x02, 0x20, 0x01, 0xe7, 0x07,
457     0x08, 0x00, 0x22, 0x01, 0xe7, 0x07, 0x13, 0x00,
458     0xb0, 0xc0, 0x97, 0xcf, 0x41, 0x90, 0x67, 0x00,
459     0x5a, 0x08, 0xe7, 0x01, 0x5e, 0x08, 0x27, 0x02,
460     0x5c, 0x08, 0xe7, 0x07, 0x5c, 0x0b, 0x60, 0x08,
461     0xc8, 0x07, 0x5a, 0x08, 0xc1, 0x07, 0x00, 0x80,
462     0x50, 0xaf, 0x97, 0xcf, 0x59, 0xaf, 0x97, 0xcf,
463     0x00, 0x60, 0x05, 0xc0, 0xe7, 0x07, 0x00, 0x00,
464     0x9a, 0x08, 0xa7, 0xcf, 0x58, 0x08, 0x9f, 0xaf,
465     0xe2, 0x0b, 0xe7, 0x07, 0x01, 0x00, 0x9a, 0x08,
466     0x49, 0xaf, 0xd7, 0x09, 0x00, 0xc0, 0x07, 0xaf,
467     0xe7, 0x05, 0x00, 0xc0, 0x4a, 0xaf, 0xa7, 0xcf,
468     0x58, 0x08, 0xc0, 0x07, 0x40, 0x00, 0x44, 0xaf,
469     0x27, 0x00, 0xa0, 0x08, 0x08, 0x00, 0xc0, 0x07,
470     0x20, 0x00, 0x20, 0x94, 0x00, 0xda, 0x7d, 0xc1,
471     0xc0, 0x07, 0xfe, 0x7f, 0x44, 0xaf, 0x40, 0x00,
472     0x41, 0x90, 0xc0, 0x37, 0x08, 0x00, 0xdf, 0xde,
473     0x50, 0x06, 0xc0, 0x57, 0x10, 0x00, 0x02, 0xc2,
474     0xc0, 0x07, 0x10, 0x00, 0x27, 0x00, 0x76, 0x08,
475     0x41, 0x90, 0x9f, 0xde, 0x40, 0x06, 0x44, 0xaf,
476     0x27, 0x00, 0x74, 0x08, 0xc0, 0x09, 0x76, 0x08,
477     0x41, 0x90, 0x00, 0xd2, 0x00, 0xd8, 0x9f, 0xde,
478     0x08, 0x00, 0x44, 0xaf, 0x27, 0x00, 0x9e, 0x08,
479     0x97, 0xcf, 0xe7, 0x87, 0x00, 0x84, 0x28, 0xc0,
480     0xe7, 0x67, 0xff, 0xf3, 0x24, 0xc0, 0x97, 0xcf,
481     0xe7, 0x87, 0x01, 0x00, 0xaa, 0x08, 0xe7, 0x57,
482     0x00, 0x00, 0x7a, 0x08, 0x97, 0xc1, 0x9f, 0xaf,
483     0xe2, 0x0b, 0xe7, 0x87, 0x00, 0x06, 0x22, 0xc0,
484     0xe7, 0x07, 0x00, 0x00, 0x90, 0xc0, 0xe7, 0x67,
485     0xfe, 0xff, 0x3e, 0xc0, 0xe7, 0x07, 0x2e, 0x00,
486     0x0a, 0xc0, 0xe7, 0x87, 0x01, 0x00, 0x3e, 0xc0,
487     0xe7, 0x07, 0xff, 0xff, 0x94, 0x08, 0x9f, 0xaf,
488     0xf0, 0x0c, 0x97, 0xcf, 0x17, 0x00, 0xa7, 0xaf,
489     0x54, 0x08, 0xc0, 0x05, 0x27, 0x00, 0x52, 0x08,
490     0xe7, 0x87, 0x01, 0x00, 0xaa, 0x08, 0x9f, 0xaf,
491     0xe2, 0x0b, 0xe7, 0x07, 0x0c, 0x00, 0x40, 0xc0,
492     0x9f, 0xaf, 0xf0, 0x0c, 0xe7, 0x07, 0x00, 0x00,
493     0x78, 0x08, 0x00, 0x90, 0xe7, 0x09, 0x88, 0x08,
494     0x8a, 0x08, 0x27, 0x00, 0x84, 0x08, 0x27, 0x00,
495     0x7c, 0x08, 0x9f, 0xaf, 0x8a, 0x0c, 0xe7, 0x07,
496     0x00, 0x00, 0xb2, 0x02, 0xe7, 0x07, 0x00, 0x00,
497     0xb4, 0x02, 0xc0, 0x07, 0x06, 0x00, 0xc8, 0x09,
498     0xde, 0x00, 0xc8, 0x17, 0x03, 0x00, 0xc9, 0x07,
499     0x7e, 0x08, 0x29, 0x0a, 0x00, 0xda, 0x7d, 0xc1,
500     0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf,
501     0x00, 0x90, 0x27, 0x00, 0x6a, 0x08, 0xe7, 0x07,
502     0x6a, 0x08, 0x6c, 0x08, 0x27, 0x00, 0x6e, 0x08,
503     0xe7, 0x07, 0x6e, 0x08, 0x70, 0x08, 0x27, 0x00,
504     0x78, 0x08, 0x27, 0x00, 0x62, 0x08, 0x27, 0x00,
505     0x64, 0x08, 0xc8, 0x09, 0x74, 0x08, 0xc1, 0x09,
506     0x76, 0x08, 0xc9, 0x07, 0x72, 0x08, 0x11, 0x02,
507     0x09, 0x02, 0xc8, 0x17, 0x40, 0x06, 0x01, 0xda,
508     0x7a, 0xc1, 0x51, 0x94, 0xc8, 0x09, 0x9e, 0x08,
509     0xc9, 0x07, 0x9c, 0x08, 0xc1, 0x09, 0x76, 0x08,
510     0x01, 0xd2, 0x01, 0xd8, 0x11, 0x02, 0x09, 0x02,
511     0xc8, 0x17, 0x08, 0x00, 0x01, 0xda, 0x7a, 0xc1,
512     0x51, 0x94, 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf,
513     0xe7, 0x57, 0x00, 0x00, 0x52, 0x08, 0x97, 0xc0,
514     0x9f, 0xaf, 0x04, 0x00, 0xe7, 0x09, 0x94, 0x08,
515     0x90, 0x08, 0xe7, 0x57, 0xff, 0xff, 0x90, 0x08,
516     0x04, 0xc1, 0xe7, 0x07, 0xf0, 0x0c, 0x8e, 0x08,
517     0x97, 0xcf, 0xe7, 0x17, 0x32, 0x00, 0x90, 0x08,
518     0xe7, 0x67, 0xff, 0x07, 0x90, 0x08, 0xe7, 0x07,
519     0x26, 0x0d, 0x8e, 0x08, 0x97, 0xcf, 0xd7, 0x09,
520     0x00, 0xc0, 0xc1, 0xdf, 0xe7, 0x57, 0x00, 0x00,
521     0x96, 0x08, 0x23, 0xc0, 0xe7, 0x07, 0x00, 0x80,
522     0x80, 0xc0, 0xe7, 0x07, 0x04, 0x00, 0x90, 0xc0,
523     0xe7, 0x07, 0x00, 0x00, 0x80, 0xc0, 0xe7, 0x07,
524     0x00, 0x80, 0x80, 0xc0, 0xc0, 0x07, 0x00, 0x00,
525     0xc0, 0x07, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00,
526     0xe7, 0x07, 0x00, 0x00, 0x80, 0xc0, 0xe7, 0x07,
527     0x00, 0x80, 0x80, 0xc0, 0xe7, 0x07, 0x00, 0x80,
528     0x40, 0xc0, 0xc0, 0x07, 0x00, 0x00, 0xe7, 0x07,
529     0x00, 0x00, 0x40, 0xc0, 0xe7, 0x07, 0x00, 0x00,
530     0x80, 0xc0, 0xef, 0x57, 0x00, 0x00, 0xf1, 0x09,
531     0x9f, 0xa0, 0xc0, 0x0d, 0xe7, 0x07, 0x04, 0x00,
532     0x90, 0xc0, 0xe7, 0x07, 0x00, 0x02, 0x40, 0xc0,
533     0xe7, 0x07, 0x0c, 0x02, 0x40, 0xc0, 0xe7, 0x07,
534     0x00, 0x00, 0x96, 0x08, 0xe7, 0x07, 0x00, 0x00,
535     0x8e, 0x08, 0xe7, 0x07, 0x00, 0x00, 0xaa, 0x08,
536     0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 0x9f, 0xaf,
537     0x9e, 0x03, 0xe7, 0x05, 0x00, 0xc0, 0x9f, 0xaf,
538     0xde, 0x01, 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf,
539     0x9f, 0xaf, 0xde, 0x0d, 0xef, 0x77, 0x00, 0x00,
540     0xf1, 0x09, 0x97, 0xc1, 0x9f, 0xaf, 0xde, 0x0d,
541     0xef, 0x77, 0x00, 0x00, 0xf1, 0x09, 0x97, 0xc1,
542     0xef, 0x07, 0x01, 0x00, 0xf1, 0x09, 0xe7, 0x87,
543     0x00, 0x08, 0x1e, 0xc0, 0xe7, 0x87, 0x00, 0x08,
544     0x22, 0xc0, 0xe7, 0x67, 0xff, 0xf7, 0x22, 0xc0,
545     0xe7, 0x77, 0x00, 0x08, 0x20, 0xc0, 0x11, 0xc0,
546     0xe7, 0x67, 0xff, 0xf7, 0x1e, 0xc0, 0xe7, 0x87,
547     0x00, 0x08, 0x22, 0xc0, 0xe7, 0x67, 0xff, 0xf7,
548     0x22, 0xc0, 0xe7, 0x77, 0x00, 0x08, 0x20, 0xc0,
549     0x04, 0xc1, 0xe7, 0x87, 0x00, 0x08, 0x22, 0xc0,
550     0x97, 0xcf, 0xe7, 0x07, 0x01, 0x01, 0xf0, 0x09,
551     0xef, 0x57, 0x18, 0x00, 0xfe, 0xff, 0x97, 0xc2,
552     0xef, 0x07, 0x00, 0x00, 0xf0, 0x09, 0x97, 0xcf,
553     0xd7, 0x09, 0x00, 0xc0, 0x17, 0x00, 0x17, 0x02,
554     0x97, 0x02, 0xe7, 0x57, 0x00, 0x00, 0x7a, 0x08,
555     0x06, 0xc0, 0xc0, 0x09, 0x92, 0xc0, 0xc0, 0x77,
556     0x09, 0x02, 0x9f, 0xc1, 0xea, 0x06, 0x9f, 0xcf,
557     0x20, 0x08, 0xd7, 0x09, 0x0e, 0xc0, 0xe7, 0x07,
558     0x00, 0x00, 0x0e, 0xc0, 0x9f, 0xaf, 0x66, 0x0e,
559     0xe7, 0x05, 0x0e, 0xc0, 0x97, 0xcf, 0xd7, 0x09,
560     0x00, 0xc0, 0x17, 0x02, 0xc8, 0x09, 0xb0, 0xc0,
561     0xe7, 0x67, 0xfe, 0x7f, 0xb0, 0xc0, 0xc8, 0x77,
562     0x00, 0x20, 0x9f, 0xc1, 0x64, 0xeb, 0xe7, 0x57,
563     0x00, 0x00, 0xc8, 0x02, 0x9f, 0xc1, 0x80, 0xeb,
564     0xc8, 0x99, 0xca, 0x02, 0xc8, 0x67, 0x04, 0x00,
565     0x9f, 0xc1, 0x96, 0xeb, 0x9f, 0xcf, 0x4c, 0xeb,
566     0xe7, 0x07, 0x00, 0x00, 0xa6, 0xc0, 0xe7, 0x09,
567     0xb0, 0xc0, 0xc8, 0x02, 0xe7, 0x07, 0x03, 0x00,
568     0xb0, 0xc0, 0x97, 0xcf, 0xc0, 0x09, 0x86, 0x08,
569     0xc0, 0x37, 0x01, 0x00, 0x97, 0xc9, 0xc9, 0x09,
570     0x88, 0x08, 0x02, 0x00, 0x41, 0x90, 0x48, 0x02,
571     0xc9, 0x17, 0x06, 0x00, 0x9f, 0xaf, 0x64, 0x05,
572     0x9f, 0xa2, 0xd6, 0x0e, 0x02, 0xda, 0x77, 0xc1,
573     0x41, 0x60, 0x71, 0xc1, 0x97, 0xcf, 0x17, 0x02,
574     0x57, 0x02, 0x43, 0x04, 0x21, 0x04, 0xe0, 0x00,
575     0x43, 0x04, 0x21, 0x04, 0xe0, 0x00, 0x43, 0x04,
576     0x21, 0x04, 0xe0, 0x00, 0xc1, 0x07, 0x01, 0x00,
577     0xc9, 0x05, 0xc8, 0x05, 0x97, 0xcf,
578     0,	  0
579 };
580 
581 /* Firmware fixup (data?) segment */
582 Static const unsigned char kue_fix_seg[] =
583 {
584     /******************************************/
585     /* NOTE: B6/C3 is data header signature   */
586     /*	     0xAA/0xBB is data length = total */
587     /*	     bytes - 7, 0xCC is type, 0xDD is */
588     /*	     interrupt to use.		      */
589     /******************************************/
590     0xB6, 0xC3, 0xc9, 0x02, 0x03, 0x64,
591     0x02, 0x00, 0x08, 0x00, 0x24, 0x00, 0x2e, 0x00,
592     0x2c, 0x00, 0x3e, 0x00, 0x44, 0x00, 0x48, 0x00,
593     0x50, 0x00, 0x5c, 0x00, 0x60, 0x00, 0x66, 0x00,
594     0x6c, 0x00, 0x70, 0x00, 0x76, 0x00, 0x74, 0x00,
595     0x7a, 0x00, 0x7e, 0x00, 0x84, 0x00, 0x8a, 0x00,
596     0x8e, 0x00, 0x92, 0x00, 0x98, 0x00, 0x9c, 0x00,
597     0xa0, 0x00, 0xa8, 0x00, 0xae, 0x00, 0xb4, 0x00,
598     0xb2, 0x00, 0xba, 0x00, 0xbe, 0x00, 0xc4, 0x00,
599     0xc8, 0x00, 0xce, 0x00, 0xd2, 0x00, 0xd6, 0x00,
600     0xda, 0x00, 0xe2, 0x00, 0xe0, 0x00, 0xea, 0x00,
601     0xf2, 0x00, 0xfe, 0x00, 0x06, 0x01, 0x0c, 0x01,
602     0x1a, 0x01, 0x24, 0x01, 0x22, 0x01, 0x2a, 0x01,
603     0x30, 0x01, 0x36, 0x01, 0x3c, 0x01, 0x4e, 0x01,
604     0x52, 0x01, 0x58, 0x01, 0x5c, 0x01, 0x9c, 0x01,
605     0xb6, 0x01, 0xba, 0x01, 0xc0, 0x01, 0xca, 0x01,
606     0xd0, 0x01, 0xda, 0x01, 0xe2, 0x01, 0xea, 0x01,
607     0xf0, 0x01, 0x0a, 0x02, 0x0e, 0x02, 0x14, 0x02,
608     0x26, 0x02, 0x6c, 0x02, 0x8e, 0x02, 0x98, 0x02,
609     0xa0, 0x02, 0xa6, 0x02, 0xba, 0x02, 0xc6, 0x02,
610     0xce, 0x02, 0xe8, 0x02, 0xee, 0x02, 0xf4, 0x02,
611     0xf8, 0x02, 0x0a, 0x03, 0x10, 0x03, 0x1a, 0x03,
612     0x1e, 0x03, 0x2a, 0x03, 0x2e, 0x03, 0x34, 0x03,
613     0x3a, 0x03, 0x44, 0x03, 0x4e, 0x03, 0x5a, 0x03,
614     0x5e, 0x03, 0x6a, 0x03, 0x72, 0x03, 0x80, 0x03,
615     0x84, 0x03, 0x8c, 0x03, 0x94, 0x03, 0x98, 0x03,
616     0xa8, 0x03, 0xae, 0x03, 0xb4, 0x03, 0xba, 0x03,
617     0xce, 0x03, 0xcc, 0x03, 0xd6, 0x03, 0xdc, 0x03,
618     0xec, 0x03, 0xf0, 0x03, 0xfe, 0x03, 0x1c, 0x04,
619     0x30, 0x04, 0x38, 0x04, 0x3c, 0x04, 0x40, 0x04,
620     0x48, 0x04, 0x46, 0x04, 0x54, 0x04, 0x5e, 0x04,
621     0x64, 0x04, 0x74, 0x04, 0x78, 0x04, 0x84, 0x04,
622     0xd8, 0x04, 0xec, 0x04, 0xf0, 0x04, 0xf8, 0x04,
623     0xfe, 0x04, 0x1c, 0x05, 0x2c, 0x05, 0x30, 0x05,
624     0x4a, 0x05, 0x56, 0x05, 0x5a, 0x05, 0x88, 0x05,
625     0x8c, 0x05, 0x96, 0x05, 0x9a, 0x05, 0xa8, 0x05,
626     0xcc, 0x05, 0xd2, 0x05, 0xda, 0x05, 0xe0, 0x05,
627     0xe4, 0x05, 0xfc, 0x05, 0x06, 0x06, 0x14, 0x06,
628     0x12, 0x06, 0x1a, 0x06, 0x20, 0x06, 0x26, 0x06,
629     0x2e, 0x06, 0x34, 0x06, 0x48, 0x06, 0x52, 0x06,
630     0x64, 0x06, 0x86, 0x06, 0x90, 0x06, 0x9a, 0x06,
631     0xa0, 0x06, 0xac, 0x06, 0xaa, 0x06, 0xb2, 0x06,
632     0xb8, 0x06, 0xdc, 0x06, 0xda, 0x06, 0xe2, 0x06,
633     0xe8, 0x06, 0xf2, 0x06, 0xf8, 0x06, 0xfc, 0x06,
634     0x0a, 0x07, 0x10, 0x07, 0x14, 0x07, 0x24, 0x07,
635     0x2a, 0x07, 0x32, 0x07, 0x38, 0x07, 0xb2, 0x07,
636     0xba, 0x07, 0xde, 0x07, 0xe4, 0x07, 0x10, 0x08,
637     0x14, 0x08, 0x1a, 0x08, 0x1e, 0x08, 0x30, 0x08,
638     0x38, 0x08, 0x3c, 0x08, 0x44, 0x08, 0x42, 0x08,
639     0x48, 0x08, 0xc6, 0x08, 0xcc, 0x08, 0xd2, 0x08,
640     0xfe, 0x08, 0x04, 0x09, 0x0a, 0x09, 0x0e, 0x09,
641     0x12, 0x09, 0x16, 0x09, 0x20, 0x09, 0x24, 0x09,
642     0x28, 0x09, 0x32, 0x09, 0x46, 0x09, 0x4a, 0x09,
643     0x50, 0x09, 0x54, 0x09, 0x5a, 0x09, 0x60, 0x09,
644     0x7c, 0x09, 0x80, 0x09, 0xb8, 0x09, 0xbc, 0x09,
645     0xc0, 0x09, 0xc4, 0x09, 0xc8, 0x09, 0xcc, 0x09,
646     0xd0, 0x09, 0xd4, 0x09, 0xec, 0x09, 0xf4, 0x09,
647     0xf6, 0x09, 0xf8, 0x09, 0xfa, 0x09, 0xfc, 0x09,
648     0xfe, 0x09, 0x00, 0x0a, 0x02, 0x0a, 0x04, 0x0a,
649     0x06, 0x0a, 0x08, 0x0a, 0x0a, 0x0a, 0x0c, 0x0a,
650     0x10, 0x0a, 0x18, 0x0a, 0x24, 0x0a, 0x2c, 0x0a,
651     0x32, 0x0a, 0x3c, 0x0a, 0x46, 0x0a, 0x4c, 0x0a,
652     0x50, 0x0a, 0x54, 0x0a, 0x5a, 0x0a, 0x5e, 0x0a,
653     0x66, 0x0a, 0x6c, 0x0a, 0x72, 0x0a, 0x78, 0x0a,
654     0x7e, 0x0a, 0x7c, 0x0a, 0x82, 0x0a, 0x8c, 0x0a,
655     0x92, 0x0a, 0x90, 0x0a, 0x98, 0x0a, 0x96, 0x0a,
656     0xa2, 0x0a, 0xb2, 0x0a, 0xb6, 0x0a, 0xc4, 0x0a,
657     0xe2, 0x0a, 0xe0, 0x0a, 0xe8, 0x0a, 0xee, 0x0a,
658     0xf4, 0x0a, 0xf2, 0x0a, 0xf8, 0x0a, 0x0c, 0x0b,
659     0x1a, 0x0b, 0x24, 0x0b, 0x40, 0x0b, 0x44, 0x0b,
660     0x48, 0x0b, 0x4e, 0x0b, 0x4c, 0x0b, 0x52, 0x0b,
661     0x68, 0x0b, 0x6c, 0x0b, 0x70, 0x0b, 0x76, 0x0b,
662     0x88, 0x0b, 0x92, 0x0b, 0xbe, 0x0b, 0xca, 0x0b,
663     0xce, 0x0b, 0xde, 0x0b, 0xf4, 0x0b, 0xfa, 0x0b,
664     0x00, 0x0c, 0x24, 0x0c, 0x28, 0x0c, 0x30, 0x0c,
665     0x36, 0x0c, 0x3c, 0x0c, 0x40, 0x0c, 0x4a, 0x0c,
666     0x50, 0x0c, 0x58, 0x0c, 0x56, 0x0c, 0x5c, 0x0c,
667     0x60, 0x0c, 0x64, 0x0c, 0x80, 0x0c, 0x94, 0x0c,
668     0x9a, 0x0c, 0x98, 0x0c, 0x9e, 0x0c, 0xa4, 0x0c,
669     0xa2, 0x0c, 0xa8, 0x0c, 0xac, 0x0c, 0xb0, 0x0c,
670     0xb4, 0x0c, 0xb8, 0x0c, 0xbc, 0x0c, 0xce, 0x0c,
671     0xd2, 0x0c, 0xd6, 0x0c, 0xf4, 0x0c, 0xfa, 0x0c,
672     0x00, 0x0d, 0xfe, 0x0c, 0x06, 0x0d, 0x0e, 0x0d,
673     0x0c, 0x0d, 0x16, 0x0d, 0x1c, 0x0d, 0x22, 0x0d,
674     0x20, 0x0d, 0x30, 0x0d, 0x7e, 0x0d, 0x82, 0x0d,
675     0x9a, 0x0d, 0xa0, 0x0d, 0xa6, 0x0d, 0xb0, 0x0d,
676     0xb8, 0x0d, 0xc2, 0x0d, 0xc8, 0x0d, 0xce, 0x0d,
677     0xd4, 0x0d, 0xdc, 0x0d, 0x1e, 0x0e, 0x2c, 0x0e,
678     0x3e, 0x0e, 0x4c, 0x0e, 0x50, 0x0e, 0x5e, 0x0e,
679     0xae, 0x0e, 0xb8, 0x0e, 0xc6, 0x0e, 0xca, 0x0e,
680     0,	  0
681 };
682 
683 /* Fixup command. */
684 #define KUE_TRIGCMD_OFFSET	5
685 Static const unsigned char kue_trig_seg[] = {
686     0xb6, 0xc3, 0x01, 0x00, 0x06, 0x64, 0x00, 0x00
687 };
688