1 /* $OpenBSD: kue_fw.h,v 1.2 2004/11/22 18:49:05 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 #if 0 59 60 61 /* QT controller data block types. */ 62 /* Write data into specific memory location. */ 63 #define KUE_QTBTYPE_WRITE_DATA 0x00 64 /* Write data into interrupt vector location */ 65 #define KUE_QTBTYPE_WRITE_INTVEC 0x01 66 /* Replace interrupt vector with this data */ 67 #define KUE_QTBTYPE_REPL_INTVEC 0x02 68 /* Fixup interrupt vector code with this data */ 69 #define KUE_QTBTYPE_FIXUP_INTVEC 0x03 70 /* Force jump to location */ 71 #define KUE_QTBTYPE_JUMP 0x04 72 /* Force call to location */ 73 #define KUE_QTBTYPE_CALL 0x05 74 /* Force interrupt call */ 75 #define KUE_QTBTYPE_CALLINTR 0x06 76 /* 77 * Cause data to be written using the specified QT engine 78 * interrupt, from starting location in memory for a specified 79 * number of bytes. 80 */ 81 #define KUE_QTBTYPE_WRITE_WITH_INTR 0x07 82 /* Cause data from stream to be written using specified QT interrupt. */ 83 #define KUE_QTBTYPE_WRITE_STR_WITH_INTR 0x08 84 /* Cause data to be written to config locations. */ 85 /* Addresses assume 0xc000 offset. */ 86 #define KUE_QTBTYPE_WRITE_CONFIG 0x09 87 88 #define KUE_QTINTR_LOAD_CODE 0x64 89 #define KUE_QTINTR_TRIGGER_CODE 0x3B 90 #define KUE_QTINTR_LOAD_CODE_HIGH 0x9C 91 92 #endif /* 0 */ 93 94 95 /* Firmware code segment */ 96 const unsigned char kue_code_seg[] = 97 { 98 /******************************************/ 99 /* NOTE: B6/C3 is data header signature */ 100 /* 0xAA/0xBB is data length = total */ 101 /* bytes - 7, 0xCC is type, 0xDD is */ 102 /* interrupt to use. */ 103 /******************************************/ 104 0xB6, 0xC3, 0xf7, 0x0e, 0x02, 0x64, 105 0x9f, 0xcf, 0xbc, 0x08, 0xe7, 0x57, 0x00, 0x00, 106 0x9a, 0x08, 0x97, 0xc1, 0xe7, 0x67, 0xff, 0x1f, 107 0x28, 0xc0, 0xe7, 0x87, 0x00, 0x04, 0x24, 0xc0, 108 0xe7, 0x67, 0xff, 0xf9, 0x22, 0xc0, 0x97, 0xcf, 109 0xe7, 0x09, 0xa2, 0xc0, 0x94, 0x08, 0xd7, 0x09, 110 0x00, 0xc0, 0xe7, 0x59, 0xba, 0x08, 0x94, 0x08, 111 0x03, 0xc1, 0xe7, 0x67, 0xff, 0xf7, 0x24, 0xc0, 112 0xe7, 0x05, 0x00, 0xc0, 0xa7, 0xcf, 0x92, 0x08, 113 0xe7, 0x57, 0x00, 0x00, 0x8e, 0x08, 0xa7, 0xa1, 114 0x8e, 0x08, 0x97, 0xcf, 0xe7, 0x57, 0x00, 0x00, 115 0xf2, 0x09, 0x0a, 0xc0, 0xe7, 0x57, 0x00, 0x00, 116 0xa4, 0xc0, 0xa7, 0xc0, 0x56, 0x08, 0x9f, 0xaf, 117 0x70, 0x09, 0xe7, 0x07, 0x00, 0x00, 0xf2, 0x09, 118 0xe7, 0x57, 0xff, 0xff, 0x90, 0x08, 0x9f, 0xa0, 119 0x40, 0x00, 0xe7, 0x59, 0x90, 0x08, 0x94, 0x08, 120 0x9f, 0xa0, 0x40, 0x00, 0xc8, 0x09, 0xa2, 0x08, 121 0x08, 0x62, 0x9f, 0xa1, 0x14, 0x0a, 0xe7, 0x57, 122 0x00, 0x00, 0x52, 0x08, 0xa7, 0xc0, 0x56, 0x08, 123 0x9f, 0xaf, 0x04, 0x00, 0xe7, 0x57, 0x00, 0x00, 124 0x8e, 0x08, 0xa7, 0xc1, 0x56, 0x08, 0xc0, 0x09, 125 0xa8, 0x08, 0x00, 0x60, 0x05, 0xc4, 0xc0, 0x59, 126 0x94, 0x08, 0x02, 0xc0, 0x9f, 0xaf, 0xee, 0x00, 127 0xe7, 0x59, 0xae, 0x08, 0x94, 0x08, 0x02, 0xc1, 128 0x9f, 0xaf, 0xf6, 0x00, 0x9f, 0xaf, 0x9e, 0x03, 129 0xef, 0x57, 0x00, 0x00, 0xf0, 0x09, 0x9f, 0xa1, 130 0xde, 0x01, 0xe7, 0x57, 0x00, 0x00, 0x78, 0x08, 131 0x9f, 0xa0, 0xe4, 0x03, 0x9f, 0xaf, 0x2c, 0x04, 132 0xa7, 0xcf, 0x56, 0x08, 0x48, 0x02, 0xe7, 0x09, 133 0x94, 0x08, 0xa8, 0x08, 0xc8, 0x37, 0x04, 0x00, 134 0x9f, 0xaf, 0x68, 0x04, 0x97, 0xcf, 0xe7, 0x57, 135 0x00, 0x00, 0xa6, 0x08, 0x97, 0xc0, 0xd7, 0x09, 136 0x00, 0xc0, 0xc1, 0xdf, 0xc8, 0x09, 0x9c, 0x08, 137 0x08, 0x62, 0x1d, 0xc0, 0x27, 0x04, 0x9c, 0x08, 138 0x10, 0x94, 0xf0, 0x07, 0xee, 0x09, 0x02, 0x00, 139 0xc1, 0x07, 0x01, 0x00, 0x70, 0x00, 0x04, 0x00, 140 0xf0, 0x07, 0x44, 0x01, 0x06, 0x00, 0x50, 0xaf, 141 0xe7, 0x09, 0x94, 0x08, 0xae, 0x08, 0xe7, 0x17, 142 0x14, 0x00, 0xae, 0x08, 0xe7, 0x67, 0xff, 0x07, 143 0xae, 0x08, 0xe7, 0x07, 0xff, 0xff, 0xa8, 0x08, 144 0xe7, 0x07, 0x00, 0x00, 0xa6, 0x08, 0xe7, 0x05, 145 0x00, 0xc0, 0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0, 146 0xc1, 0xdf, 0x48, 0x02, 0xd0, 0x09, 0x9c, 0x08, 147 0x27, 0x02, 0x9c, 0x08, 0xe7, 0x09, 0x20, 0xc0, 148 0xee, 0x09, 0xe7, 0xd0, 0xee, 0x09, 0xe7, 0x05, 149 0x00, 0xc0, 0x97, 0xcf, 0x48, 0x02, 0xc8, 0x37, 150 0x04, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, 0x60, 151 0x21, 0xc0, 0xc0, 0x37, 0x3e, 0x00, 0x23, 0xc9, 152 0xc0, 0x57, 0xb4, 0x05, 0x1b, 0xc8, 0xc0, 0x17, 153 0x3f, 0x00, 0xc0, 0x67, 0xc0, 0xff, 0x30, 0x00, 154 0x08, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x04, 0x00, 155 0x00, 0x02, 0xc0, 0x17, 0x4c, 0x00, 0x30, 0x00, 156 0x06, 0x00, 0xf0, 0x07, 0xbe, 0x01, 0x0a, 0x00, 157 0x48, 0x02, 0xc1, 0x07, 0x02, 0x00, 0xd7, 0x09, 158 0x00, 0xc0, 0xc1, 0xdf, 0x51, 0xaf, 0xe7, 0x05, 159 0x00, 0xc0, 0x97, 0xcf, 0x9f, 0xaf, 0x68, 0x04, 160 0x9f, 0xaf, 0xe4, 0x03, 0x97, 0xcf, 0x9f, 0xaf, 161 0xe4, 0x03, 0xc9, 0x37, 0x04, 0x00, 0xc1, 0xdf, 162 0xc8, 0x09, 0x70, 0x08, 0x50, 0x02, 0x67, 0x02, 163 0x70, 0x08, 0xd1, 0x07, 0x00, 0x00, 0xc0, 0xdf, 164 0x9f, 0xaf, 0xde, 0x01, 0x97, 0xcf, 0xe7, 0x57, 165 0x00, 0x00, 0xaa, 0x08, 0x97, 0xc1, 0xe7, 0x57, 166 0x01, 0x00, 0x7a, 0x08, 0x97, 0xc0, 0xc8, 0x09, 167 0x6e, 0x08, 0x08, 0x62, 0x97, 0xc0, 0x00, 0x02, 168 0xc0, 0x17, 0x0e, 0x00, 0x27, 0x00, 0x34, 0x01, 169 0x27, 0x0c, 0x0c, 0x00, 0x36, 0x01, 0xef, 0x57, 170 0x00, 0x00, 0xf0, 0x09, 0x9f, 0xc0, 0xbe, 0x02, 171 0xe7, 0x57, 0x00, 0x00, 0xb0, 0x08, 0x97, 0xc1, 172 0xe7, 0x07, 0x09, 0x00, 0x12, 0xc0, 0xe7, 0x77, 173 0x00, 0x08, 0x20, 0xc0, 0x9f, 0xc1, 0xb6, 0x02, 174 0xe7, 0x57, 0x09, 0x00, 0x12, 0xc0, 0x77, 0xc9, 175 0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 0xe7, 0x77, 176 0x00, 0x08, 0x20, 0xc0, 0x2f, 0xc1, 0xe7, 0x07, 177 0x00, 0x00, 0x42, 0xc0, 0xe7, 0x07, 0x05, 0x00, 178 0x90, 0xc0, 0xc8, 0x07, 0x0a, 0x00, 0xe7, 0x77, 179 0x04, 0x00, 0x20, 0xc0, 0x09, 0xc1, 0x08, 0xda, 180 0x7a, 0xc1, 0xe7, 0x07, 0x00, 0x01, 0x42, 0xc0, 181 0xe7, 0x07, 0x04, 0x00, 0x90, 0xc0, 0x1a, 0xcf, 182 0xe7, 0x07, 0x01, 0x00, 0x7a, 0x08, 0x00, 0xd8, 183 0x27, 0x50, 0x34, 0x01, 0x17, 0xc1, 0xe7, 0x77, 184 0x02, 0x00, 0x20, 0xc0, 0x79, 0xc1, 0x27, 0x50, 185 0x34, 0x01, 0x10, 0xc1, 0xe7, 0x77, 0x02, 0x00, 186 0x20, 0xc0, 0x79, 0xc0, 0x9f, 0xaf, 0xd8, 0x02, 187 0xe7, 0x05, 0x00, 0xc0, 0x00, 0x60, 0x9f, 0xc0, 188 0xde, 0x01, 0x97, 0xcf, 0xe7, 0x07, 0x01, 0x00, 189 0xb8, 0x08, 0x06, 0xcf, 0xe7, 0x07, 0x30, 0x0e, 190 0x02, 0x00, 0xe7, 0x07, 0x50, 0xc3, 0x12, 0xc0, 191 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf, 0xe7, 0x07, 192 0x01, 0x00, 0xb8, 0x08, 0x97, 0xcf, 0xe7, 0x07, 193 0x50, 0xc3, 0x12, 0xc0, 0xe7, 0x07, 0x30, 0x0e, 194 0x02, 0x00, 0xe7, 0x07, 0x01, 0x00, 0x7a, 0x08, 195 0xe7, 0x07, 0x05, 0x00, 0x90, 0xc0, 0x97, 0xcf, 196 0xe7, 0x07, 0x00, 0x01, 0x42, 0xc0, 0xe7, 0x07, 197 0x04, 0x00, 0x90, 0xc0, 0xe7, 0x07, 0x00, 0x00, 198 0x7a, 0x08, 0xe7, 0x57, 0x0f, 0x00, 0xb2, 0x08, 199 0x13, 0xc1, 0x9f, 0xaf, 0x2e, 0x08, 0xca, 0x09, 200 0xac, 0x08, 0xf2, 0x17, 0x01, 0x00, 0x5c, 0x00, 201 0xf2, 0x27, 0x00, 0x00, 0x5e, 0x00, 0xe7, 0x07, 202 0x00, 0x00, 0xb2, 0x08, 0xe7, 0x07, 0x01, 0x00, 203 0xb4, 0x08, 0xc0, 0x07, 0xff, 0xff, 0x97, 0xcf, 204 0x9f, 0xaf, 0x4c, 0x03, 0xc0, 0x69, 0xb4, 0x08, 205 0x57, 0x00, 0x9f, 0xde, 0x33, 0x00, 0xc1, 0x05, 206 0x27, 0xd8, 0xb2, 0x08, 0x27, 0xd2, 0xb4, 0x08, 207 0xe7, 0x87, 0x01, 0x00, 0xb4, 0x08, 0xe7, 0x67, 208 0xff, 0x03, 0xb4, 0x08, 0x00, 0x60, 0x97, 0xc0, 209 0xe7, 0x07, 0x01, 0x00, 0xb0, 0x08, 0x27, 0x00, 210 0x12, 0xc0, 0x97, 0xcf, 0xc0, 0x09, 0xb6, 0x08, 211 0x00, 0xd2, 0x02, 0xc3, 0xc0, 0x97, 0x05, 0x80, 212 0x27, 0x00, 0xb6, 0x08, 0xc0, 0x99, 0x82, 0x08, 213 0xc0, 0x99, 0xa2, 0xc0, 0x97, 0xcf, 0xe7, 0x07, 214 0x00, 0x00, 0xb0, 0x08, 0xc0, 0xdf, 0x97, 0xcf, 215 0xc8, 0x09, 0x72, 0x08, 0x08, 0x62, 0x02, 0xc0, 216 0x10, 0x64, 0x07, 0xc1, 0xe7, 0x07, 0x00, 0x00, 217 0x64, 0x08, 0xe7, 0x07, 0xc8, 0x05, 0x24, 0x00, 218 0x97, 0xcf, 0x27, 0x04, 0x72, 0x08, 0xc8, 0x17, 219 0x0e, 0x00, 0x27, 0x02, 0x64, 0x08, 0xe7, 0x07, 220 0xd6, 0x05, 0x24, 0x00, 0x97, 0xcf, 0xd7, 0x09, 221 0x00, 0xc0, 0xc1, 0xdf, 0xe7, 0x57, 0x00, 0x00, 222 0x62, 0x08, 0x13, 0xc1, 0x9f, 0xaf, 0x70, 0x03, 223 0xe7, 0x57, 0x00, 0x00, 0x64, 0x08, 0x13, 0xc0, 224 0xe7, 0x09, 0x64, 0x08, 0x30, 0x01, 0xe7, 0x07, 225 0xf2, 0x05, 0x32, 0x01, 0xe7, 0x07, 0x10, 0x00, 226 0x96, 0xc0, 0xe7, 0x09, 0x64, 0x08, 0x62, 0x08, 227 0x04, 0xcf, 0xe7, 0x57, 0x00, 0x00, 0x64, 0x08, 228 0x02, 0xc1, 0x9f, 0xaf, 0x70, 0x03, 0xe7, 0x05, 229 0x00, 0xc0, 0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0, 230 0xc1, 0xdf, 0xc8, 0x09, 0x72, 0x08, 0x27, 0x02, 231 0x78, 0x08, 0x08, 0x62, 0x03, 0xc1, 0xe7, 0x05, 232 0x00, 0xc0, 0x97, 0xcf, 0x27, 0x04, 0x72, 0x08, 233 0xe7, 0x05, 0x00, 0xc0, 0xf0, 0x07, 0x40, 0x00, 234 0x08, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x04, 0x00, 235 0x00, 0x02, 0xc0, 0x17, 0x0c, 0x00, 0x30, 0x00, 236 0x06, 0x00, 0xf0, 0x07, 0x64, 0x01, 0x0a, 0x00, 237 0xc8, 0x17, 0x04, 0x00, 0xc1, 0x07, 0x02, 0x00, 238 0x51, 0xaf, 0x97, 0xcf, 0xe7, 0x57, 0x00, 0x00, 239 0x6a, 0x08, 0x97, 0xc0, 0xc1, 0xdf, 0xc8, 0x09, 240 0x6a, 0x08, 0x27, 0x04, 0x6a, 0x08, 0x27, 0x52, 241 0x6c, 0x08, 0x03, 0xc1, 0xe7, 0x07, 0x6a, 0x08, 242 0x6c, 0x08, 0xc0, 0xdf, 0x17, 0x02, 0xc8, 0x17, 243 0x0e, 0x00, 0x9f, 0xaf, 0x16, 0x05, 0xc8, 0x05, 244 0x00, 0x60, 0x03, 0xc0, 0x9f, 0xaf, 0x80, 0x04, 245 0x97, 0xcf, 0x9f, 0xaf, 0x68, 0x04, 0x97, 0xcf, 246 0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 0x08, 0x62, 247 0x1c, 0xc0, 0xd0, 0x09, 0x72, 0x08, 0x27, 0x02, 248 0x72, 0x08, 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf, 249 0x97, 0x02, 0xca, 0x09, 0xac, 0x08, 0xf2, 0x17, 250 0x01, 0x00, 0x04, 0x00, 0xf2, 0x27, 0x00, 0x00, 251 0x06, 0x00, 0xca, 0x17, 0x2c, 0x00, 0xf8, 0x77, 252 0x01, 0x00, 0x0e, 0x00, 0x06, 0xc0, 0xca, 0xd9, 253 0xf8, 0x57, 0xff, 0x00, 0x0e, 0x00, 0x01, 0xc1, 254 0xca, 0xd9, 0x22, 0x1c, 0x0c, 0x00, 0xe2, 0x27, 255 0x00, 0x00, 0xe2, 0x17, 0x01, 0x00, 0xe2, 0x27, 256 0x00, 0x00, 0xca, 0x05, 0x00, 0x0c, 0x0c, 0x00, 257 0xc0, 0x17, 0x41, 0x00, 0xc0, 0x67, 0xc0, 0xff, 258 0x30, 0x00, 0x08, 0x00, 0x00, 0x02, 0xc0, 0x17, 259 0x0c, 0x00, 0x30, 0x00, 0x06, 0x00, 0xf0, 0x07, 260 0xdc, 0x00, 0x0a, 0x00, 0xf0, 0x07, 0x00, 0x00, 261 0x04, 0x00, 0x00, 0x0c, 0x08, 0x00, 0x40, 0xd1, 262 0x01, 0x00, 0xc0, 0x19, 0xa6, 0x08, 0xc0, 0x59, 263 0x98, 0x08, 0x04, 0xc9, 0x49, 0xaf, 0x9f, 0xaf, 264 0xee, 0x00, 0x4a, 0xaf, 0x67, 0x10, 0xa6, 0x08, 265 0xc8, 0x17, 0x04, 0x00, 0xc1, 0x07, 0x01, 0x00, 266 0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 0x50, 0xaf, 267 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf, 0xc0, 0x07, 268 0x01, 0x00, 0xc1, 0x09, 0x7c, 0x08, 0xc1, 0x77, 269 0x01, 0x00, 0x97, 0xc1, 0xd8, 0x77, 0x01, 0x00, 270 0x12, 0xc0, 0xc9, 0x07, 0x4c, 0x08, 0x9f, 0xaf, 271 0x64, 0x05, 0x04, 0xc1, 0xc1, 0x77, 0x08, 0x00, 272 0x13, 0xc0, 0x97, 0xcf, 0xc1, 0x77, 0x02, 0x00, 273 0x97, 0xc1, 0xc1, 0x77, 0x10, 0x00, 0x0c, 0xc0, 274 0x9f, 0xaf, 0x86, 0x05, 0x97, 0xcf, 0xc1, 0x77, 275 0x04, 0x00, 0x06, 0xc0, 0xc9, 0x07, 0x7e, 0x08, 276 0x9f, 0xaf, 0x64, 0x05, 0x97, 0xc0, 0x00, 0xcf, 277 0x00, 0x90, 0x97, 0xcf, 0x50, 0x54, 0x97, 0xc1, 278 0x70, 0x5c, 0x02, 0x00, 0x02, 0x00, 0x97, 0xc1, 279 0x70, 0x5c, 0x04, 0x00, 0x04, 0x00, 0x97, 0xcf, 280 0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 281 0x0c, 0x00, 0x06, 0x00, 0x00, 0x00, 0xcb, 0x09, 282 0x88, 0x08, 0xcc, 0x09, 0x8a, 0x08, 0x0b, 0x53, 283 0x11, 0xc0, 0xc9, 0x02, 0xca, 0x07, 0x78, 0x05, 284 0x9f, 0xaf, 0x64, 0x05, 0x97, 0xc0, 0x0a, 0xc8, 285 0x82, 0x08, 0x0a, 0xcf, 0x82, 0x08, 0x9f, 0xaf, 286 0x64, 0x05, 0x97, 0xc0, 0x05, 0xc2, 0x89, 0x30, 287 0x82, 0x60, 0x78, 0xc1, 0x00, 0x90, 0x97, 0xcf, 288 0x89, 0x10, 0x09, 0x53, 0x79, 0xc2, 0x89, 0x30, 289 0x82, 0x08, 0x7a, 0xcf, 0xc0, 0xdf, 0x97, 0xcf, 290 0xe7, 0x09, 0x96, 0xc0, 0x66, 0x08, 0xe7, 0x09, 291 0x98, 0xc0, 0x68, 0x08, 0x0f, 0xcf, 0xe7, 0x09, 292 0x96, 0xc0, 0x66, 0x08, 0xe7, 0x09, 0x98, 0xc0, 293 0x68, 0x08, 0xe7, 0x09, 0x64, 0x08, 0x30, 0x01, 294 0xe7, 0x07, 0xf2, 0x05, 0x32, 0x01, 0xe7, 0x07, 295 0x10, 0x00, 0x96, 0xc0, 0xd7, 0x09, 0x00, 0xc0, 296 0x17, 0x02, 0xc8, 0x09, 0x62, 0x08, 0xc8, 0x37, 297 0x0e, 0x00, 0xe7, 0x57, 0x04, 0x00, 0x68, 0x08, 298 0x3d, 0xc0, 0xe7, 0x87, 0x00, 0x08, 0x24, 0xc0, 299 0xe7, 0x09, 0x94, 0x08, 0xba, 0x08, 0xe7, 0x17, 300 0x64, 0x00, 0xba, 0x08, 0xe7, 0x67, 0xff, 0x07, 301 0xba, 0x08, 0xe7, 0x77, 0x2a, 0x00, 0x66, 0x08, 302 0x30, 0xc0, 0x97, 0x02, 0xca, 0x09, 0xac, 0x08, 303 0xe7, 0x77, 0x20, 0x00, 0x66, 0x08, 0x0e, 0xc0, 304 0xf2, 0x17, 0x01, 0x00, 0x10, 0x00, 0xf2, 0x27, 305 0x00, 0x00, 0x12, 0x00, 0xe7, 0x77, 0x0a, 0x00, 306 0x66, 0x08, 0xca, 0x05, 0x1e, 0xc0, 0x97, 0x02, 307 0xca, 0x09, 0xac, 0x08, 0xf2, 0x17, 0x01, 0x00, 308 0x0c, 0x00, 0xf2, 0x27, 0x00, 0x00, 0x0e, 0x00, 309 0xe7, 0x77, 0x02, 0x00, 0x66, 0x08, 0x07, 0xc0, 310 0xf2, 0x17, 0x01, 0x00, 0x44, 0x00, 0xf2, 0x27, 311 0x00, 0x00, 0x46, 0x00, 0x06, 0xcf, 0xf2, 0x17, 312 0x01, 0x00, 0x60, 0x00, 0xf2, 0x27, 0x00, 0x00, 313 0x62, 0x00, 0xca, 0x05, 0x9f, 0xaf, 0x68, 0x04, 314 0x0f, 0xcf, 0x57, 0x02, 0x09, 0x02, 0xf1, 0x09, 315 0x68, 0x08, 0x0c, 0x00, 0xf1, 0xda, 0x0c, 0x00, 316 0xc8, 0x09, 0x6c, 0x08, 0x50, 0x02, 0x67, 0x02, 317 0x6c, 0x08, 0xd1, 0x07, 0x00, 0x00, 0xc9, 0x05, 318 0xe7, 0x09, 0x64, 0x08, 0x62, 0x08, 0xe7, 0x57, 319 0x00, 0x00, 0x62, 0x08, 0x02, 0xc0, 0x9f, 0xaf, 320 0x70, 0x03, 0xc8, 0x05, 0xe7, 0x05, 0x00, 0xc0, 321 0xc0, 0xdf, 0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0, 322 0x17, 0x00, 0x17, 0x02, 0x97, 0x02, 0xc0, 0x09, 323 0x92, 0xc0, 0xe7, 0x87, 0x00, 0x08, 0x24, 0xc0, 324 0xe7, 0x09, 0x94, 0x08, 0xba, 0x08, 0xe7, 0x17, 325 0x64, 0x00, 0xba, 0x08, 0xe7, 0x67, 0xff, 0x07, 326 0xba, 0x08, 0xe7, 0x07, 0x04, 0x00, 0x90, 0xc0, 327 0xca, 0x09, 0xac, 0x08, 0xe7, 0x07, 0x00, 0x00, 328 0x7a, 0x08, 0xe7, 0x07, 0x66, 0x03, 0x02, 0x00, 329 0xc0, 0x77, 0x02, 0x00, 0x10, 0xc0, 0xef, 0x57, 330 0x00, 0x00, 0xf0, 0x09, 0x04, 0xc0, 0x9f, 0xaf, 331 0xd8, 0x02, 0x9f, 0xcf, 0x12, 0x08, 0xf2, 0x17, 332 0x01, 0x00, 0x50, 0x00, 0xf2, 0x27, 0x00, 0x00, 333 0x52, 0x00, 0x9f, 0xcf, 0x12, 0x08, 0xef, 0x57, 334 0x00, 0x00, 0xf0, 0x09, 0x08, 0xc0, 0xe7, 0x57, 335 0x00, 0x00, 0xb8, 0x08, 0xe7, 0x07, 0x00, 0x00, 336 0xb8, 0x08, 0x0a, 0xc0, 0x03, 0xcf, 0xc0, 0x77, 337 0x10, 0x00, 0x06, 0xc0, 0xf2, 0x17, 0x01, 0x00, 338 0x58, 0x00, 0xf2, 0x27, 0x00, 0x00, 0x5a, 0x00, 339 0xc0, 0x77, 0x80, 0x00, 0x06, 0xc0, 0xf2, 0x17, 340 0x01, 0x00, 0x70, 0x00, 0xf2, 0x27, 0x00, 0x00, 341 0x72, 0x00, 0xc0, 0x77, 0x08, 0x00, 0x1d, 0xc1, 342 0xf2, 0x17, 0x01, 0x00, 0x08, 0x00, 0xf2, 0x27, 343 0x00, 0x00, 0x0a, 0x00, 0xc0, 0x77, 0x00, 0x02, 344 0x06, 0xc0, 0xf2, 0x17, 0x01, 0x00, 0x64, 0x00, 345 0xf2, 0x27, 0x00, 0x00, 0x66, 0x00, 0xc0, 0x77, 346 0x40, 0x00, 0x06, 0xc0, 0xf2, 0x17, 0x01, 0x00, 347 0x5c, 0x00, 0xf2, 0x27, 0x00, 0x00, 0x5e, 0x00, 348 0xc0, 0x77, 0x01, 0x00, 0x01, 0xc0, 0x37, 0xcf, 349 0x36, 0xcf, 0xf2, 0x17, 0x01, 0x00, 0x00, 0x00, 350 0xf2, 0x27, 0x00, 0x00, 0x02, 0x00, 0xef, 0x57, 351 0x00, 0x00, 0xf0, 0x09, 0x18, 0xc0, 0xe7, 0x57, 352 0x01, 0x00, 0xb2, 0x08, 0x0e, 0xc2, 0x07, 0xc8, 353 0xf2, 0x17, 0x01, 0x00, 0x50, 0x00, 0xf2, 0x27, 354 0x00, 0x00, 0x52, 0x00, 0x06, 0xcf, 0xf2, 0x17, 355 0x01, 0x00, 0x54, 0x00, 0xf2, 0x27, 0x00, 0x00, 356 0x56, 0x00, 0xe7, 0x07, 0x00, 0x00, 0xb2, 0x08, 357 0xe7, 0x07, 0x01, 0x00, 0xb4, 0x08, 0xc8, 0x09, 358 0x34, 0x01, 0xca, 0x17, 0x14, 0x00, 0xd8, 0x77, 359 0x01, 0x00, 0x05, 0xc0, 0xca, 0xd9, 0xd8, 0x57, 360 0xff, 0x00, 0x01, 0xc0, 0xca, 0xd9, 0xe2, 0x19, 361 0x94, 0xc0, 0xe2, 0x27, 0x00, 0x00, 0xe2, 0x17, 362 0x01, 0x00, 0xe2, 0x27, 0x00, 0x00, 0x9f, 0xaf, 363 0x2e, 0x08, 0x9f, 0xaf, 0xde, 0x01, 0xe7, 0x57, 364 0x00, 0x00, 0xaa, 0x08, 0x9f, 0xa1, 0xf0, 0x0b, 365 0xca, 0x05, 0xc8, 0x05, 0xc0, 0x05, 0xe7, 0x05, 366 0x00, 0xc0, 0xc0, 0xdf, 0x97, 0xcf, 0xc8, 0x09, 367 0x6e, 0x08, 0x08, 0x62, 0x97, 0xc0, 0x27, 0x04, 368 0x6e, 0x08, 0x27, 0x52, 0x70, 0x08, 0x03, 0xc1, 369 0xe7, 0x07, 0x6e, 0x08, 0x70, 0x08, 0x9f, 0xaf, 370 0x68, 0x04, 0x97, 0xcf, 0xff, 0xff, 0xff, 0xff, 371 0xff, 0xff, 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 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 375 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 376 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 377 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 378 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 379 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 380 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 381 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 382 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 383 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x33, 0xcc, 384 0x00, 0x00, 0x00, 0x00, 0xe7, 0x57, 0x00, 0x80, 385 0xb2, 0x00, 0x06, 0xc2, 0xe7, 0x07, 0x52, 0x0e, 386 0x12, 0x00, 0xe7, 0x07, 0x98, 0x0e, 0xb2, 0x00, 387 0xe7, 0x07, 0xa4, 0x09, 0xf2, 0x02, 0xc8, 0x09, 388 0xb4, 0x00, 0xf8, 0x07, 0x02, 0x00, 0x0d, 0x00, 389 0xd7, 0x09, 0x0e, 0xc0, 0xe7, 0x07, 0x00, 0x00, 390 0x0e, 0xc0, 0xc8, 0x09, 0xdc, 0x00, 0xf0, 0x07, 391 0xff, 0xff, 0x09, 0x00, 0xf0, 0x07, 0xfb, 0x13, 392 0x0b, 0x00, 0xe7, 0x09, 0xc0, 0x00, 0x58, 0x08, 393 0xe7, 0x09, 0xbe, 0x00, 0x54, 0x08, 0xe7, 0x09, 394 0x10, 0x00, 0x92, 0x08, 0xc8, 0x07, 0xb4, 0x09, 395 0x9f, 0xaf, 0x8c, 0x09, 0x9f, 0xaf, 0xe2, 0x0b, 396 0xc0, 0x07, 0x80, 0x01, 0x44, 0xaf, 0x27, 0x00, 397 0x88, 0x08, 0x27, 0x00, 0x8a, 0x08, 0x27, 0x00, 398 0x8c, 0x08, 0xc0, 0x07, 0x74, 0x00, 0x44, 0xaf, 399 0x27, 0x00, 0xac, 0x08, 0x08, 0x00, 0x00, 0x90, 400 0xc1, 0x07, 0x1d, 0x00, 0x20, 0x00, 0x20, 0x00, 401 0x01, 0xda, 0x7c, 0xc1, 0x9f, 0xaf, 0x8a, 0x0b, 402 0xc0, 0x07, 0x4c, 0x00, 0x48, 0xaf, 0x27, 0x00, 403 0x56, 0x08, 0x9f, 0xaf, 0x72, 0x0c, 0xe7, 0x07, 404 0x00, 0x80, 0x96, 0x08, 0xef, 0x57, 0x00, 0x00, 405 0xf0, 0x09, 0x03, 0xc0, 0xe7, 0x07, 0x01, 0x00, 406 0x1c, 0xc0, 0xe7, 0x05, 0x0e, 0xc0, 0x97, 0xcf, 407 0x49, 0xaf, 0xe7, 0x87, 0x43, 0x00, 0x0e, 0xc0, 408 0xe7, 0x07, 0xff, 0xff, 0x94, 0x08, 0x9f, 0xaf, 409 0x8a, 0x0c, 0xc0, 0x07, 0x01, 0x00, 0x60, 0xaf, 410 0x4a, 0xaf, 0x97, 0xcf, 0x00, 0x08, 0x09, 0x08, 411 0x11, 0x08, 0x00, 0xda, 0x7c, 0xc1, 0x97, 0xcf, 412 0x67, 0x04, 0xcc, 0x02, 0xc0, 0xdf, 0x51, 0x94, 413 0xb1, 0xaf, 0x06, 0x00, 0xc1, 0xdf, 0xc9, 0x09, 414 0xcc, 0x02, 0x49, 0x62, 0x75, 0xc1, 0xc0, 0xdf, 415 0xa7, 0xcf, 0xd6, 0x02, 0x0e, 0x00, 0x24, 0x00, 416 0xd6, 0x05, 0x22, 0x00, 0xc4, 0x06, 0xd0, 0x00, 417 0xf0, 0x0b, 0xaa, 0x00, 0x0e, 0x0a, 0xbe, 0x00, 418 0x2c, 0x0c, 0x10, 0x00, 0x20, 0x00, 0x04, 0x00, 419 0xc4, 0x05, 0x02, 0x00, 0x66, 0x03, 0x06, 0x00, 420 0x00, 0x00, 0x24, 0xc0, 0x04, 0x04, 0x28, 0xc0, 421 0xfe, 0xfb, 0x1e, 0xc0, 0x00, 0x04, 0x22, 0xc0, 422 0xff, 0xf0, 0xc0, 0x00, 0x60, 0x0b, 0x00, 0x00, 423 0x00, 0x00, 0xff, 0xff, 0x34, 0x0a, 0x3e, 0x0a, 424 0x9e, 0x0a, 0xa8, 0x0a, 0xce, 0x0a, 0xd2, 0x0a, 425 0xd6, 0x0a, 0x00, 0x0b, 0x10, 0x0b, 0x1e, 0x0b, 426 0x20, 0x0b, 0x28, 0x0b, 0x28, 0x0b, 0x27, 0x02, 427 0xa2, 0x08, 0x97, 0xcf, 0xe7, 0x07, 0x00, 0x00, 428 0xa2, 0x08, 0x0a, 0x0e, 0x01, 0x00, 0xca, 0x57, 429 0x0e, 0x00, 0x9f, 0xc3, 0x2a, 0x0b, 0xca, 0x37, 430 0x00, 0x00, 0x9f, 0xc2, 0x2a, 0x0b, 0x0a, 0xd2, 431 0xb2, 0xcf, 0xf4, 0x09, 0xc8, 0x09, 0xde, 0x00, 432 0x07, 0x06, 0x9f, 0xcf, 0x3c, 0x0b, 0xf0, 0x57, 433 0x80, 0x01, 0x06, 0x00, 0x9f, 0xc8, 0x2a, 0x0b, 434 0x27, 0x0c, 0x02, 0x00, 0x86, 0x08, 0xc0, 0x09, 435 0x88, 0x08, 0x27, 0x00, 0x8a, 0x08, 0xe7, 0x07, 436 0x00, 0x00, 0x84, 0x08, 0x27, 0x00, 0x5c, 0x08, 437 0x00, 0x1c, 0x06, 0x00, 0x27, 0x00, 0x8c, 0x08, 438 0x41, 0x90, 0x67, 0x50, 0x86, 0x08, 0x0d, 0xc0, 439 0x67, 0x00, 0x5a, 0x08, 0x27, 0x0c, 0x06, 0x00, 440 0x5e, 0x08, 0xe7, 0x07, 0x8a, 0x0a, 0x60, 0x08, 441 0xc8, 0x07, 0x5a, 0x08, 0x41, 0x90, 0x51, 0xaf, 442 0x97, 0xcf, 0x9f, 0xaf, 0xac, 0x0e, 0xe7, 0x09, 443 0x8c, 0x08, 0x8a, 0x08, 0xe7, 0x09, 0x86, 0x08, 444 0x84, 0x08, 0x59, 0xaf, 0x97, 0xcf, 0x27, 0x0c, 445 0x02, 0x00, 0x7c, 0x08, 0x59, 0xaf, 0x97, 0xcf, 446 0x09, 0x0c, 0x02, 0x00, 0x09, 0xda, 0x49, 0xd2, 447 0xc9, 0x19, 0xac, 0x08, 0xc8, 0x07, 0x5a, 0x08, 448 0xe0, 0x07, 0x00, 0x00, 0x60, 0x02, 0xe0, 0x07, 449 0x04, 0x00, 0xd0, 0x07, 0x9a, 0x0a, 0x48, 0xdb, 450 0x41, 0x90, 0x50, 0xaf, 0x97, 0xcf, 0x59, 0xaf, 451 0x97, 0xcf, 0x59, 0xaf, 0x97, 0xcf, 0xf0, 0x57, 452 0x06, 0x00, 0x06, 0x00, 0x26, 0xc1, 0xe7, 0x07, 453 0x7e, 0x08, 0x5c, 0x08, 0x41, 0x90, 0x67, 0x00, 454 0x5a, 0x08, 0x27, 0x0c, 0x06, 0x00, 0x5e, 0x08, 455 0xe7, 0x07, 0x5c, 0x0b, 0x60, 0x08, 0xc8, 0x07, 456 0x5a, 0x08, 0x41, 0x90, 0x51, 0xaf, 0x97, 0xcf, 457 0x07, 0x0c, 0x06, 0x00, 0xc7, 0x57, 0x06, 0x00, 458 0x10, 0xc1, 0xc8, 0x07, 0x7e, 0x08, 0x16, 0xcf, 459 0x00, 0x0c, 0x02, 0x00, 0x00, 0xda, 0x40, 0xd1, 460 0x27, 0x00, 0x98, 0x08, 0x1f, 0xcf, 0x1e, 0xcf, 461 0x27, 0x0c, 0x02, 0x00, 0xa4, 0x08, 0x1a, 0xcf, 462 0x00, 0xcf, 0x27, 0x02, 0x20, 0x01, 0xe7, 0x07, 463 0x08, 0x00, 0x22, 0x01, 0xe7, 0x07, 0x13, 0x00, 464 0xb0, 0xc0, 0x97, 0xcf, 0x41, 0x90, 0x67, 0x00, 465 0x5a, 0x08, 0xe7, 0x01, 0x5e, 0x08, 0x27, 0x02, 466 0x5c, 0x08, 0xe7, 0x07, 0x5c, 0x0b, 0x60, 0x08, 467 0xc8, 0x07, 0x5a, 0x08, 0xc1, 0x07, 0x00, 0x80, 468 0x50, 0xaf, 0x97, 0xcf, 0x59, 0xaf, 0x97, 0xcf, 469 0x00, 0x60, 0x05, 0xc0, 0xe7, 0x07, 0x00, 0x00, 470 0x9a, 0x08, 0xa7, 0xcf, 0x58, 0x08, 0x9f, 0xaf, 471 0xe2, 0x0b, 0xe7, 0x07, 0x01, 0x00, 0x9a, 0x08, 472 0x49, 0xaf, 0xd7, 0x09, 0x00, 0xc0, 0x07, 0xaf, 473 0xe7, 0x05, 0x00, 0xc0, 0x4a, 0xaf, 0xa7, 0xcf, 474 0x58, 0x08, 0xc0, 0x07, 0x40, 0x00, 0x44, 0xaf, 475 0x27, 0x00, 0xa0, 0x08, 0x08, 0x00, 0xc0, 0x07, 476 0x20, 0x00, 0x20, 0x94, 0x00, 0xda, 0x7d, 0xc1, 477 0xc0, 0x07, 0xfe, 0x7f, 0x44, 0xaf, 0x40, 0x00, 478 0x41, 0x90, 0xc0, 0x37, 0x08, 0x00, 0xdf, 0xde, 479 0x50, 0x06, 0xc0, 0x57, 0x10, 0x00, 0x02, 0xc2, 480 0xc0, 0x07, 0x10, 0x00, 0x27, 0x00, 0x76, 0x08, 481 0x41, 0x90, 0x9f, 0xde, 0x40, 0x06, 0x44, 0xaf, 482 0x27, 0x00, 0x74, 0x08, 0xc0, 0x09, 0x76, 0x08, 483 0x41, 0x90, 0x00, 0xd2, 0x00, 0xd8, 0x9f, 0xde, 484 0x08, 0x00, 0x44, 0xaf, 0x27, 0x00, 0x9e, 0x08, 485 0x97, 0xcf, 0xe7, 0x87, 0x00, 0x84, 0x28, 0xc0, 486 0xe7, 0x67, 0xff, 0xf3, 0x24, 0xc0, 0x97, 0xcf, 487 0xe7, 0x87, 0x01, 0x00, 0xaa, 0x08, 0xe7, 0x57, 488 0x00, 0x00, 0x7a, 0x08, 0x97, 0xc1, 0x9f, 0xaf, 489 0xe2, 0x0b, 0xe7, 0x87, 0x00, 0x06, 0x22, 0xc0, 490 0xe7, 0x07, 0x00, 0x00, 0x90, 0xc0, 0xe7, 0x67, 491 0xfe, 0xff, 0x3e, 0xc0, 0xe7, 0x07, 0x2e, 0x00, 492 0x0a, 0xc0, 0xe7, 0x87, 0x01, 0x00, 0x3e, 0xc0, 493 0xe7, 0x07, 0xff, 0xff, 0x94, 0x08, 0x9f, 0xaf, 494 0xf0, 0x0c, 0x97, 0xcf, 0x17, 0x00, 0xa7, 0xaf, 495 0x54, 0x08, 0xc0, 0x05, 0x27, 0x00, 0x52, 0x08, 496 0xe7, 0x87, 0x01, 0x00, 0xaa, 0x08, 0x9f, 0xaf, 497 0xe2, 0x0b, 0xe7, 0x07, 0x0c, 0x00, 0x40, 0xc0, 498 0x9f, 0xaf, 0xf0, 0x0c, 0xe7, 0x07, 0x00, 0x00, 499 0x78, 0x08, 0x00, 0x90, 0xe7, 0x09, 0x88, 0x08, 500 0x8a, 0x08, 0x27, 0x00, 0x84, 0x08, 0x27, 0x00, 501 0x7c, 0x08, 0x9f, 0xaf, 0x8a, 0x0c, 0xe7, 0x07, 502 0x00, 0x00, 0xb2, 0x02, 0xe7, 0x07, 0x00, 0x00, 503 0xb4, 0x02, 0xc0, 0x07, 0x06, 0x00, 0xc8, 0x09, 504 0xde, 0x00, 0xc8, 0x17, 0x03, 0x00, 0xc9, 0x07, 505 0x7e, 0x08, 0x29, 0x0a, 0x00, 0xda, 0x7d, 0xc1, 506 0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 507 0x00, 0x90, 0x27, 0x00, 0x6a, 0x08, 0xe7, 0x07, 508 0x6a, 0x08, 0x6c, 0x08, 0x27, 0x00, 0x6e, 0x08, 509 0xe7, 0x07, 0x6e, 0x08, 0x70, 0x08, 0x27, 0x00, 510 0x78, 0x08, 0x27, 0x00, 0x62, 0x08, 0x27, 0x00, 511 0x64, 0x08, 0xc8, 0x09, 0x74, 0x08, 0xc1, 0x09, 512 0x76, 0x08, 0xc9, 0x07, 0x72, 0x08, 0x11, 0x02, 513 0x09, 0x02, 0xc8, 0x17, 0x40, 0x06, 0x01, 0xda, 514 0x7a, 0xc1, 0x51, 0x94, 0xc8, 0x09, 0x9e, 0x08, 515 0xc9, 0x07, 0x9c, 0x08, 0xc1, 0x09, 0x76, 0x08, 516 0x01, 0xd2, 0x01, 0xd8, 0x11, 0x02, 0x09, 0x02, 517 0xc8, 0x17, 0x08, 0x00, 0x01, 0xda, 0x7a, 0xc1, 518 0x51, 0x94, 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf, 519 0xe7, 0x57, 0x00, 0x00, 0x52, 0x08, 0x97, 0xc0, 520 0x9f, 0xaf, 0x04, 0x00, 0xe7, 0x09, 0x94, 0x08, 521 0x90, 0x08, 0xe7, 0x57, 0xff, 0xff, 0x90, 0x08, 522 0x04, 0xc1, 0xe7, 0x07, 0xf0, 0x0c, 0x8e, 0x08, 523 0x97, 0xcf, 0xe7, 0x17, 0x32, 0x00, 0x90, 0x08, 524 0xe7, 0x67, 0xff, 0x07, 0x90, 0x08, 0xe7, 0x07, 525 0x26, 0x0d, 0x8e, 0x08, 0x97, 0xcf, 0xd7, 0x09, 526 0x00, 0xc0, 0xc1, 0xdf, 0xe7, 0x57, 0x00, 0x00, 527 0x96, 0x08, 0x23, 0xc0, 0xe7, 0x07, 0x00, 0x80, 528 0x80, 0xc0, 0xe7, 0x07, 0x04, 0x00, 0x90, 0xc0, 529 0xe7, 0x07, 0x00, 0x00, 0x80, 0xc0, 0xe7, 0x07, 530 0x00, 0x80, 0x80, 0xc0, 0xc0, 0x07, 0x00, 0x00, 531 0xc0, 0x07, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 532 0xe7, 0x07, 0x00, 0x00, 0x80, 0xc0, 0xe7, 0x07, 533 0x00, 0x80, 0x80, 0xc0, 0xe7, 0x07, 0x00, 0x80, 534 0x40, 0xc0, 0xc0, 0x07, 0x00, 0x00, 0xe7, 0x07, 535 0x00, 0x00, 0x40, 0xc0, 0xe7, 0x07, 0x00, 0x00, 536 0x80, 0xc0, 0xef, 0x57, 0x00, 0x00, 0xf1, 0x09, 537 0x9f, 0xa0, 0xc0, 0x0d, 0xe7, 0x07, 0x04, 0x00, 538 0x90, 0xc0, 0xe7, 0x07, 0x00, 0x02, 0x40, 0xc0, 539 0xe7, 0x07, 0x0c, 0x02, 0x40, 0xc0, 0xe7, 0x07, 540 0x00, 0x00, 0x96, 0x08, 0xe7, 0x07, 0x00, 0x00, 541 0x8e, 0x08, 0xe7, 0x07, 0x00, 0x00, 0xaa, 0x08, 542 0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 0x9f, 0xaf, 543 0x9e, 0x03, 0xe7, 0x05, 0x00, 0xc0, 0x9f, 0xaf, 544 0xde, 0x01, 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf, 545 0x9f, 0xaf, 0xde, 0x0d, 0xef, 0x77, 0x00, 0x00, 546 0xf1, 0x09, 0x97, 0xc1, 0x9f, 0xaf, 0xde, 0x0d, 547 0xef, 0x77, 0x00, 0x00, 0xf1, 0x09, 0x97, 0xc1, 548 0xef, 0x07, 0x01, 0x00, 0xf1, 0x09, 0xe7, 0x87, 549 0x00, 0x08, 0x1e, 0xc0, 0xe7, 0x87, 0x00, 0x08, 550 0x22, 0xc0, 0xe7, 0x67, 0xff, 0xf7, 0x22, 0xc0, 551 0xe7, 0x77, 0x00, 0x08, 0x20, 0xc0, 0x11, 0xc0, 552 0xe7, 0x67, 0xff, 0xf7, 0x1e, 0xc0, 0xe7, 0x87, 553 0x00, 0x08, 0x22, 0xc0, 0xe7, 0x67, 0xff, 0xf7, 554 0x22, 0xc0, 0xe7, 0x77, 0x00, 0x08, 0x20, 0xc0, 555 0x04, 0xc1, 0xe7, 0x87, 0x00, 0x08, 0x22, 0xc0, 556 0x97, 0xcf, 0xe7, 0x07, 0x01, 0x01, 0xf0, 0x09, 557 0xef, 0x57, 0x18, 0x00, 0xfe, 0xff, 0x97, 0xc2, 558 0xef, 0x07, 0x00, 0x00, 0xf0, 0x09, 0x97, 0xcf, 559 0xd7, 0x09, 0x00, 0xc0, 0x17, 0x00, 0x17, 0x02, 560 0x97, 0x02, 0xe7, 0x57, 0x00, 0x00, 0x7a, 0x08, 561 0x06, 0xc0, 0xc0, 0x09, 0x92, 0xc0, 0xc0, 0x77, 562 0x09, 0x02, 0x9f, 0xc1, 0xea, 0x06, 0x9f, 0xcf, 563 0x20, 0x08, 0xd7, 0x09, 0x0e, 0xc0, 0xe7, 0x07, 564 0x00, 0x00, 0x0e, 0xc0, 0x9f, 0xaf, 0x66, 0x0e, 565 0xe7, 0x05, 0x0e, 0xc0, 0x97, 0xcf, 0xd7, 0x09, 566 0x00, 0xc0, 0x17, 0x02, 0xc8, 0x09, 0xb0, 0xc0, 567 0xe7, 0x67, 0xfe, 0x7f, 0xb0, 0xc0, 0xc8, 0x77, 568 0x00, 0x20, 0x9f, 0xc1, 0x64, 0xeb, 0xe7, 0x57, 569 0x00, 0x00, 0xc8, 0x02, 0x9f, 0xc1, 0x80, 0xeb, 570 0xc8, 0x99, 0xca, 0x02, 0xc8, 0x67, 0x04, 0x00, 571 0x9f, 0xc1, 0x96, 0xeb, 0x9f, 0xcf, 0x4c, 0xeb, 572 0xe7, 0x07, 0x00, 0x00, 0xa6, 0xc0, 0xe7, 0x09, 573 0xb0, 0xc0, 0xc8, 0x02, 0xe7, 0x07, 0x03, 0x00, 574 0xb0, 0xc0, 0x97, 0xcf, 0xc0, 0x09, 0x86, 0x08, 575 0xc0, 0x37, 0x01, 0x00, 0x97, 0xc9, 0xc9, 0x09, 576 0x88, 0x08, 0x02, 0x00, 0x41, 0x90, 0x48, 0x02, 577 0xc9, 0x17, 0x06, 0x00, 0x9f, 0xaf, 0x64, 0x05, 578 0x9f, 0xa2, 0xd6, 0x0e, 0x02, 0xda, 0x77, 0xc1, 579 0x41, 0x60, 0x71, 0xc1, 0x97, 0xcf, 0x17, 0x02, 580 0x57, 0x02, 0x43, 0x04, 0x21, 0x04, 0xe0, 0x00, 581 0x43, 0x04, 0x21, 0x04, 0xe0, 0x00, 0x43, 0x04, 582 0x21, 0x04, 0xe0, 0x00, 0xc1, 0x07, 0x01, 0x00, 583 0xc9, 0x05, 0xc8, 0x05, 0x97, 0xcf, 584 0, 0 585 }; 586 587 /* Firmware fixup (data?) segment */ 588 const unsigned char kue_fix_seg[] = 589 { 590 /******************************************/ 591 /* NOTE: B6/C3 is data header signature */ 592 /* 0xAA/0xBB is data length = total */ 593 /* bytes - 7, 0xCC is type, 0xDD is */ 594 /* interrupt to use. */ 595 /******************************************/ 596 0xB6, 0xC3, 0xc9, 0x02, 0x03, 0x64, 597 0x02, 0x00, 0x08, 0x00, 0x24, 0x00, 0x2e, 0x00, 598 0x2c, 0x00, 0x3e, 0x00, 0x44, 0x00, 0x48, 0x00, 599 0x50, 0x00, 0x5c, 0x00, 0x60, 0x00, 0x66, 0x00, 600 0x6c, 0x00, 0x70, 0x00, 0x76, 0x00, 0x74, 0x00, 601 0x7a, 0x00, 0x7e, 0x00, 0x84, 0x00, 0x8a, 0x00, 602 0x8e, 0x00, 0x92, 0x00, 0x98, 0x00, 0x9c, 0x00, 603 0xa0, 0x00, 0xa8, 0x00, 0xae, 0x00, 0xb4, 0x00, 604 0xb2, 0x00, 0xba, 0x00, 0xbe, 0x00, 0xc4, 0x00, 605 0xc8, 0x00, 0xce, 0x00, 0xd2, 0x00, 0xd6, 0x00, 606 0xda, 0x00, 0xe2, 0x00, 0xe0, 0x00, 0xea, 0x00, 607 0xf2, 0x00, 0xfe, 0x00, 0x06, 0x01, 0x0c, 0x01, 608 0x1a, 0x01, 0x24, 0x01, 0x22, 0x01, 0x2a, 0x01, 609 0x30, 0x01, 0x36, 0x01, 0x3c, 0x01, 0x4e, 0x01, 610 0x52, 0x01, 0x58, 0x01, 0x5c, 0x01, 0x9c, 0x01, 611 0xb6, 0x01, 0xba, 0x01, 0xc0, 0x01, 0xca, 0x01, 612 0xd0, 0x01, 0xda, 0x01, 0xe2, 0x01, 0xea, 0x01, 613 0xf0, 0x01, 0x0a, 0x02, 0x0e, 0x02, 0x14, 0x02, 614 0x26, 0x02, 0x6c, 0x02, 0x8e, 0x02, 0x98, 0x02, 615 0xa0, 0x02, 0xa6, 0x02, 0xba, 0x02, 0xc6, 0x02, 616 0xce, 0x02, 0xe8, 0x02, 0xee, 0x02, 0xf4, 0x02, 617 0xf8, 0x02, 0x0a, 0x03, 0x10, 0x03, 0x1a, 0x03, 618 0x1e, 0x03, 0x2a, 0x03, 0x2e, 0x03, 0x34, 0x03, 619 0x3a, 0x03, 0x44, 0x03, 0x4e, 0x03, 0x5a, 0x03, 620 0x5e, 0x03, 0x6a, 0x03, 0x72, 0x03, 0x80, 0x03, 621 0x84, 0x03, 0x8c, 0x03, 0x94, 0x03, 0x98, 0x03, 622 0xa8, 0x03, 0xae, 0x03, 0xb4, 0x03, 0xba, 0x03, 623 0xce, 0x03, 0xcc, 0x03, 0xd6, 0x03, 0xdc, 0x03, 624 0xec, 0x03, 0xf0, 0x03, 0xfe, 0x03, 0x1c, 0x04, 625 0x30, 0x04, 0x38, 0x04, 0x3c, 0x04, 0x40, 0x04, 626 0x48, 0x04, 0x46, 0x04, 0x54, 0x04, 0x5e, 0x04, 627 0x64, 0x04, 0x74, 0x04, 0x78, 0x04, 0x84, 0x04, 628 0xd8, 0x04, 0xec, 0x04, 0xf0, 0x04, 0xf8, 0x04, 629 0xfe, 0x04, 0x1c, 0x05, 0x2c, 0x05, 0x30, 0x05, 630 0x4a, 0x05, 0x56, 0x05, 0x5a, 0x05, 0x88, 0x05, 631 0x8c, 0x05, 0x96, 0x05, 0x9a, 0x05, 0xa8, 0x05, 632 0xcc, 0x05, 0xd2, 0x05, 0xda, 0x05, 0xe0, 0x05, 633 0xe4, 0x05, 0xfc, 0x05, 0x06, 0x06, 0x14, 0x06, 634 0x12, 0x06, 0x1a, 0x06, 0x20, 0x06, 0x26, 0x06, 635 0x2e, 0x06, 0x34, 0x06, 0x48, 0x06, 0x52, 0x06, 636 0x64, 0x06, 0x86, 0x06, 0x90, 0x06, 0x9a, 0x06, 637 0xa0, 0x06, 0xac, 0x06, 0xaa, 0x06, 0xb2, 0x06, 638 0xb8, 0x06, 0xdc, 0x06, 0xda, 0x06, 0xe2, 0x06, 639 0xe8, 0x06, 0xf2, 0x06, 0xf8, 0x06, 0xfc, 0x06, 640 0x0a, 0x07, 0x10, 0x07, 0x14, 0x07, 0x24, 0x07, 641 0x2a, 0x07, 0x32, 0x07, 0x38, 0x07, 0xb2, 0x07, 642 0xba, 0x07, 0xde, 0x07, 0xe4, 0x07, 0x10, 0x08, 643 0x14, 0x08, 0x1a, 0x08, 0x1e, 0x08, 0x30, 0x08, 644 0x38, 0x08, 0x3c, 0x08, 0x44, 0x08, 0x42, 0x08, 645 0x48, 0x08, 0xc6, 0x08, 0xcc, 0x08, 0xd2, 0x08, 646 0xfe, 0x08, 0x04, 0x09, 0x0a, 0x09, 0x0e, 0x09, 647 0x12, 0x09, 0x16, 0x09, 0x20, 0x09, 0x24, 0x09, 648 0x28, 0x09, 0x32, 0x09, 0x46, 0x09, 0x4a, 0x09, 649 0x50, 0x09, 0x54, 0x09, 0x5a, 0x09, 0x60, 0x09, 650 0x7c, 0x09, 0x80, 0x09, 0xb8, 0x09, 0xbc, 0x09, 651 0xc0, 0x09, 0xc4, 0x09, 0xc8, 0x09, 0xcc, 0x09, 652 0xd0, 0x09, 0xd4, 0x09, 0xec, 0x09, 0xf4, 0x09, 653 0xf6, 0x09, 0xf8, 0x09, 0xfa, 0x09, 0xfc, 0x09, 654 0xfe, 0x09, 0x00, 0x0a, 0x02, 0x0a, 0x04, 0x0a, 655 0x06, 0x0a, 0x08, 0x0a, 0x0a, 0x0a, 0x0c, 0x0a, 656 0x10, 0x0a, 0x18, 0x0a, 0x24, 0x0a, 0x2c, 0x0a, 657 0x32, 0x0a, 0x3c, 0x0a, 0x46, 0x0a, 0x4c, 0x0a, 658 0x50, 0x0a, 0x54, 0x0a, 0x5a, 0x0a, 0x5e, 0x0a, 659 0x66, 0x0a, 0x6c, 0x0a, 0x72, 0x0a, 0x78, 0x0a, 660 0x7e, 0x0a, 0x7c, 0x0a, 0x82, 0x0a, 0x8c, 0x0a, 661 0x92, 0x0a, 0x90, 0x0a, 0x98, 0x0a, 0x96, 0x0a, 662 0xa2, 0x0a, 0xb2, 0x0a, 0xb6, 0x0a, 0xc4, 0x0a, 663 0xe2, 0x0a, 0xe0, 0x0a, 0xe8, 0x0a, 0xee, 0x0a, 664 0xf4, 0x0a, 0xf2, 0x0a, 0xf8, 0x0a, 0x0c, 0x0b, 665 0x1a, 0x0b, 0x24, 0x0b, 0x40, 0x0b, 0x44, 0x0b, 666 0x48, 0x0b, 0x4e, 0x0b, 0x4c, 0x0b, 0x52, 0x0b, 667 0x68, 0x0b, 0x6c, 0x0b, 0x70, 0x0b, 0x76, 0x0b, 668 0x88, 0x0b, 0x92, 0x0b, 0xbe, 0x0b, 0xca, 0x0b, 669 0xce, 0x0b, 0xde, 0x0b, 0xf4, 0x0b, 0xfa, 0x0b, 670 0x00, 0x0c, 0x24, 0x0c, 0x28, 0x0c, 0x30, 0x0c, 671 0x36, 0x0c, 0x3c, 0x0c, 0x40, 0x0c, 0x4a, 0x0c, 672 0x50, 0x0c, 0x58, 0x0c, 0x56, 0x0c, 0x5c, 0x0c, 673 0x60, 0x0c, 0x64, 0x0c, 0x80, 0x0c, 0x94, 0x0c, 674 0x9a, 0x0c, 0x98, 0x0c, 0x9e, 0x0c, 0xa4, 0x0c, 675 0xa2, 0x0c, 0xa8, 0x0c, 0xac, 0x0c, 0xb0, 0x0c, 676 0xb4, 0x0c, 0xb8, 0x0c, 0xbc, 0x0c, 0xce, 0x0c, 677 0xd2, 0x0c, 0xd6, 0x0c, 0xf4, 0x0c, 0xfa, 0x0c, 678 0x00, 0x0d, 0xfe, 0x0c, 0x06, 0x0d, 0x0e, 0x0d, 679 0x0c, 0x0d, 0x16, 0x0d, 0x1c, 0x0d, 0x22, 0x0d, 680 0x20, 0x0d, 0x30, 0x0d, 0x7e, 0x0d, 0x82, 0x0d, 681 0x9a, 0x0d, 0xa0, 0x0d, 0xa6, 0x0d, 0xb0, 0x0d, 682 0xb8, 0x0d, 0xc2, 0x0d, 0xc8, 0x0d, 0xce, 0x0d, 683 0xd4, 0x0d, 0xdc, 0x0d, 0x1e, 0x0e, 0x2c, 0x0e, 684 0x3e, 0x0e, 0x4c, 0x0e, 0x50, 0x0e, 0x5e, 0x0e, 685 0xae, 0x0e, 0xb8, 0x0e, 0xc6, 0x0e, 0xca, 0x0e, 686 0, 0 687 }; 688 689 /* Fixup command. */ 690 #define KUE_TRIGCMD_OFFSET 5 691 const unsigned char kue_trig_seg[] = { 692 0xb6, 0xc3, 0x01, 0x00, 0x06, 0x64, 0x00, 0x00 693 }; 694