]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/dev/usb/net/if_kuefw.h
9539 Make zvol operations use _by_dnode routines
[FreeBSD/FreeBSD.git] / sys / dev / usb / net / if_kuefw.h
1 /*-
2  * SPDX-License-Identifier: BSD-4-Clause
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$
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 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 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 unsigned char kue_trig_seg[] = {
686         0xb6, 0xc3, 0x01, 0x00, 0x06, 0x64, 0x00, 0x00
687 };