diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 72028dbe1..1248dacdf 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -229,7 +229,12 @@ set(SOURCES pgm_type.c pickit2.c pickit2.h - pickit5_updi_lut.c + pickit5_lut_dw.c + pickit5_lut_isp.c + pickit5_lut_jtag.c + pickit5_lut_pdi.c + pickit5_lut_tpi.c + pickit5_lut_updi.c pickit5_lut.h pickit5.c pickit5.h diff --git a/src/Makefile.am b/src/Makefile.am index 9d0833f23..615363a6c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -156,7 +156,12 @@ libavrdude_la_SOURCES = \ pgm_type.c \ pickit2.c \ pickit2.h \ - pickit5_updi_lut.c \ + pickit5_lut_dw.c \ + pickit5_lut_isp.c \ + pickit5_lut_jtag.c \ + pickit5_lut_pdi.c \ + pickit5_lut_tpi.c \ + pickit5_lut_updi.c \ pickit5_lut.h \ pickit5.c \ pickit5.h \ diff --git a/src/avrdude.1 b/src/avrdude.1 index 266ea99a5..6d0b6c893 100644 --- a/src/avrdude.1 +++ b/src/avrdude.1 @@ -239,13 +239,12 @@ The Atmel DFU bootloader is supported in both, FLIP protocol version 1 (AT90USB* and ATmega*U* devices), as well as version 2 (Xmega devices). See below for some hints about FLIP version 1 protocol behaviour. .Pp -The MPLAB(R) PICkit 4 and MPLAB(R) SNAP, are supported in JTAG, TPI, ISP, +The MPLAB(R) PICkit 4/5 and MPLAB(R) SNAP, are supported in JTAG, TPI, ISP, PDI and UPDI mode. The Curiosity Nano board is supported in UPDI mode. It is dubbed .Dq PICkit on Board , thus the name .Pa pkobn_updi . -The MPLAB(R) PICkit 5 is currently only supported in UPDI mode. .Pp SerialUPDI programmer implementation is based on Microchip's .Em pymcuprog Li https://github.com/microchip-pic-avr-tools/pymcuprog @@ -1610,8 +1609,9 @@ Show help menu and exit. Specify a voltage between 1.8 and 5.5 V that the programmer should supply to the target. If there is already a valid voltage applied to the VTG Pin, this setting will be ignored. When AVRDUDE detects an external voltage outside -of this range, it will terminate the operation. You can disable this by -setting the voltage to 0 V. +of this range, it will terminate the operation. You can disable this check by +setting the voltage to 0 V. If an XMEGA part was selected, a requested voltage +above 3.49 V will lead to an abort of operation. .It Ar hvupdi High-voltage UPDI programming is used to enable a UPDI pin that has previously been set to RESET or GPIO mode. Use -x hvupdi to enable high-voltage UPDI diff --git a/src/avrdude.conf.in b/src/avrdude.conf.in index b9688c35e..be2ba0f90 100644 --- a/src/avrdude.conf.in +++ b/src/avrdude.conf.in @@ -3058,40 +3058,124 @@ programmer # pickit4_tpi # Microchip PICkit 5. For details, see # https://www.microchip.com/en-us/development-tool/PG164150 # -# Currently -c pickit5 only supports UPDI programming +# The PICkit 5 supports the following programming modes +# using different programmer names: # -# PIN UPDI -# > 1 !RST(*) -# 2 VCC -# 3 GND -# 4 UPDI(*) -# 5 -# 6 -# 7 -# 8 +# Interface: Programmer name: +# JTAG pickit5, pickit5_jtag +# PDI pickit5_pdi +# UPDI pickit5_updi +# debugWIRE pickit5_dw (can auto-switch to ISP to write fuses) +# ISP pickit5_isp +# TPI pickit5_tpi +# +# PIN JTAG PDI UPDI ISP/dW TPI UART(°) +# > 1 RST(*) +# 2 VCC VCC VCC VCC VCC VCC +# 3 GND GND GND GND GND GND +# 4 TDO DATA UPDI(*) SDI DATA +# 5 TCK SCK SCK +# 6 RST SCK RST/dW RST +# 7 TDI SDO TX (target) +# 8 TMS RX (target) +# +# Note: pickit5_dw does not support flash erase and must switch +# to ISP, thus requires all 6 Pins when modifing the flash # # (*): The PICkit5 can generate a High-Voltage (12V) Pulse on this pins -# to restore the UPDI Pin functionality, if it was changed through fuses. -# AVRDUDE automatically selects the correct pin, if the HV pulse is -# enabled through the '-x hvupdi' flag. +# to restore the UPDI Pin functionality, if it was changed through fuses. +# AVRDUDE automatically selects the correct pin, if the HV pulse is +# enabled through the '-x hvupdi' flag. +# (°): The PICkit5 can also be used as a USB to UART +# interface for simple serial debugging. #------------------------------------------------------------ -# pickit5 /pickit5_updi +# pickit5 /pickit5_jtag #------------------------------------------------------------ +programmer # pickit5_jtag + id = "pickit5", "pickit5_jtag"; + desc = "MPLAB(R) PICkit 5, PICkit 4 and SNAP (PIC) in JTAG Mode"; + type = "pickit5_jtag"; + prog_modes = PM_JTAG | PM_XMEGAJTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbvid = 0x04d8; + usbpid = 0x9036, 0x9012, 0x9018; # PK5, PK4 (pic mode), snap (pic mode) +; + + +#------------------------------------------------------------ +# pickit5_updi +#------------------------------------------------------------ programmer # pickit5_updi id = "pickit5_updi"; - desc = "MPLAB(R) PICkit 5, PICkit 4 and SNAP (PIC)"; + desc = "MPLAB(R) PICkit 5, PICkit 4 and SNAP (PIC) in UPDI Mode"; type = "pickit5_updi"; prog_modes = PM_UPDI; extra_features = HAS_VTARG_READ; connection_type = usb; - baudrate = 200000; # UPDI default clock usbvid = 0x04d8; usbpid = 0x9036, 0x9012, 0x9018; # PK5, PK4 (pic mode), snap (pic mode) hvupdi_support = 0, 1, 2; ; +#------------------------------------------------------------ +# pickit5_isp +#------------------------------------------------------------ +programmer # pickit5_isp + id = "pickit5_isp"; + desc = "MPLAB(R) PICkit 5, PICkit 4 and SNAP (PIC) in ISP Mode"; + type = "pickit5_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbvid = 0x04d8; + usbpid = 0x9036, 0x9012, 0x9018; # PK5, PK4 (pic mode), snap (pic mode) +; + +#------------------------------------------------------------ +# pickit5_dw +#------------------------------------------------------------ +programmer # pickit5_dw + id = "pickit5_dw"; + desc = "MPLAB(R) PICkit 5, PICkit 4 and SNAP (PIC) in dW Mode"; + type = "pickit5_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbvid = 0x04d8; + usbpid = 0x9036, 0x9012, 0x9018; # PK5, PK4 (pic mode), snap (pic mode) +; + +#------------------------------------------------------------ +# pickit5_tpi +#------------------------------------------------------------ +programmer # pickit5_tpi + id = "pickit5_tpi"; + desc = "MPLAB(R) PICkit 5, PICkit 4 and SNAP (PIC) in TPI Mode"; + type = "pickit5_tpi"; + prog_modes = PM_TPI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbvid = 0x04d8; + usbpid = 0x9036, 0x9012, 0x9018; # PK5, PK4 (pic mode), snap (pic mode) +; + +#------------------------------------------------------------ +# pickit5_pdi +#------------------------------------------------------------ +programmer # pickit5_tpi + id = "pickit5_pdi"; + desc = "MPLAB(R) PICkit 5, PICkit 4 and SNAP (PIC) in PDI Mode"; + type = "pickit5_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbvid = 0x04d8; + usbpid = 0x9036, 0x9012, 0x9018; # PK5, PK4 (pic mode), snap (pic mode) +; + #------------------------------------------------------------ # snap /snap_jtag #------------------------------------------------------------ diff --git a/src/doc/avrdude.texi b/src/doc/avrdude.texi index 733ad4bbd..91c508e1d 100644 --- a/src/doc/avrdude.texi +++ b/src/doc/avrdude.texi @@ -400,11 +400,10 @@ See below for some hints about FLIP version 1 protocol behaviour. @cindex PICkit 4 @cindex PICkit 5 @cindex SNAP -The MPLAB(R) PICkit 4 and MPLAB(R) SNAP are supported in JTAG, TPI, ISP, PDI and UPDI mode. +The MPLAB(R) PICkit 4/5 and MPLAB(R) SNAP are supported in JTAG, TPI, ISP, PDI and UPDI mode. @cindex Curiosity nano The Curiosity Nano board is supported in UPDI mode. It is dubbed ``PICkit on Board'', thus the name @code{pkobn_updi}. -The MPLAB(R) PICkit 5 is currently only supported in UPDI mode. @cindex SerialUPDI SerialUPDI programmer implementation is based on Microchip's @@ -1338,8 +1337,9 @@ The PICkit 5 and PICkit 4 (PIC Mode) programmer can accept following extended pa Specify a voltage between 1.8 and 5.5@w{ }V that the programmer should supply to the target. If there is already a valid voltage applied to the VTG Pin, this setting will be ignored. When AVRDUDE detects an external voltage outside -of this range, it will terminate the operation. You can disable this by -setting the voltage to 0@w{ }V. +of this range, it will terminate the operation. You can disable this check by +setting the voltage to 0@w{ }V. If an XMEGA part was selected, a requested voltage +above 3.49@w{ }V will lead to an abort of operation. @item hvupdi High-voltage UPDI programming is used to enable a UPDI pin that has previously been set to RESET or GPIO mode. Use @code{-x hvupdi} to enable high-voltage UPDI diff --git a/src/pgm_type.c b/src/pgm_type.c index 59f97de80..5b555d31a 100644 --- a/src/pgm_type.c +++ b/src/pgm_type.c @@ -97,6 +97,11 @@ const PROGRAMMER_TYPE programmers_types[] = { // Name(s) the programmers call {"micronucleus", micronucleus_initpgm, micronucleus_desc}, // "micronucleus" or "Micronucleus V2.0" {"par", par_initpgm, par_desc}, // "PPI" {"pickit2", pickit2_initpgm, pickit2_desc}, // "pickit2" + {"pickit5_dw", pickit5_initpgm, pickit5_desc}, // "pickit5" + {"pickit5_isp", pickit5_initpgm, pickit5_desc}, // "pickit5" + {"pickit5_jtag", pickit5_initpgm, pickit5_desc}, // "pickit5" + {"pickit5_pdi", pickit5_initpgm, pickit5_desc}, // "pickit5" + {"pickit5_tpi", pickit5_initpgm, pickit5_desc}, // "pickit5" {"pickit5_updi", pickit5_initpgm, pickit5_desc}, // "pickit5" {"serbb", serbb_initpgm, serbb_desc}, // "SERBB" {"serialupdi", serialupdi_initpgm, serialupdi_desc}, // "serialupdi" diff --git a/src/pickit5.c b/src/pickit5.c index 13bdc66bb..504322c10 100644 --- a/src/pickit5.c +++ b/src/pickit5.c @@ -27,6 +27,7 @@ #include #include #include +#include #include "avrdude.h" #include "libavrdude.h" @@ -51,46 +52,56 @@ #define USB_PK5_DATA_READ_EP 0x83 #define USB_PK5_DATA_WRITE_EP 0x04 -#define USB_PK5_MAX_XFER 512 +#define USB_PK5_MAX_XFER 512 // That's the size Pickit reports #define CHECK_ERROR 0x01 #define BIST_TEST 0x02 #define BIST_RESULT 0x03 -#define PGM_TYPE_PK5 0x00 // Default -#define PGM_TYPE_PK4 0x01 // PICkit4 -#define PGM_TYPE_SNAP 0x02 // SNAP +#define PGM_TYPE_PK5 0x00 // Default +#define PGM_TYPE_PK4 0x01 // PICkit4 +#define PGM_TYPE_SNAP 0x02 // SNAP -#define PK_OP_NONE 0x00 // Init -#define PK_OP_FOUND 0x01 // PK is connected to USB -#define PK_OP_RESPONDS 0x02 // Responds to get_fw() requests -#define PK_OP_READY 0x03 // Voltage Set, Clock Set +#define PK_OP_NONE 0x00 // Init +#define PK_OP_FOUND 0x01 // PK is connected to USB +#define PK_OP_RESPONDS 0x02 // Responds to get_fw() requests +#define PK_OP_READY 0x03 // Voltage Set, Clock Set #define POWER_SOURCE_EXT 0x00 #define POWER_SOURCE_INT 0x01 #define POWER_SOURCE_NONE 0x02 +#define ERROR_USB_SEND -10 // Start at 10 to avoid collisions +#define ERROR_USB_RECV -11 +#define ERROR_SCRIPT_PARAM_SIZE -12 +#define ERROR_BAD_RESPONSE -13 +#define ERROR_SCRIPT_EXECUTION -14 + // Private data for this programmer struct pdata { - unsigned char pgm_type; // Used to skip unsupported functions - unsigned char pk_op_mode; // See PK_OP_ defines - unsigned char power_source; // 0: external / 1: from PICkit / 2: ignore check - unsigned char hvupdi_enabled; // 0: no HV / 1: HV generation enabled - double target_voltage; // Voltage to supply to target + unsigned char pgm_type; // Used to skip unsupported functions + unsigned char pk_op_mode; // See PK_OP_ defines + unsigned char power_source; // 0: external / 1: from PICkit / 2: ignore check + unsigned char hvupdi_enabled; // 0: no HV / 1: HV generation enabled + double target_voltage; // Voltage to supply to target - double measured_vcc; // This and below for print_params() + double measured_vcc; // This and below for print_params() unsigned int measured_current; - unsigned int actual_updi_clk; + unsigned int actual_pgm_clk; + + unsigned char nvm_version; // Used to determine the offset for SIGROW/DevID on UPDI - unsigned char nvm_version; // Used to determine the offset for SIGROW/DevID + unsigned char dW_switched_isp; // for debugWIRE: Flag to indicate we switch to ISP - unsigned char devID[4]; // Last byte has the Chip Revision of the target - unsigned char app_version[3]; // Buffer for display() sent by get_fw() - unsigned char fw_info[16]; // Buffer for display() sent by get_fw() + unsigned char devID[4]; // Last byte has the Chip Revision of the target + unsigned char app_version[3]; // Buffer for display() sent by get_fw() + unsigned char fw_info[16]; // Buffer for display() sent by get_fw() unsigned char sernum_string[20]; // Buffer for display() sent by get_fw() char sib_string[32]; - unsigned char txBuf[512]; - unsigned char rxBuf[512]; + unsigned char prodsig[256]; // Buffer for Prodsig that contains more then one memory + unsigned int prod_sig_len; // length of read prodsig (to know if it got filled) + unsigned char txBuf[2048]; // Buffer for transfers + unsigned char rxBuf[2048]; // 2048 because of WriteEEmem_dw with 1728 bytes length SCRIPT scripts; }; @@ -122,7 +133,6 @@ static int pickit5_write_byte(const PROGRAMMER *pgm, const AVRPART *p, const AVR static int pickit5_read_byte(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, unsigned long addr, unsigned char *value); static int pickit5_read_dev_id(const PROGRAMMER *pgm, const AVRPART *p); -static int pickit5_read_sib(const PROGRAMMER *pgm, const AVRPART *p, char *sib); static int pickit5_read_chip_rev(const PROGRAMMER *pgm, const AVRPART *p, unsigned char *chip_rev); static int pickit5_read_array(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, unsigned long addr, int len, unsigned char *value); @@ -130,10 +140,34 @@ static int pickit5_write_array(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, unsigned long addr, int len, unsigned char *value); // UPDI-specific functions +static int pickit5_updi_init(const PROGRAMMER *pgm, const AVRPART *p, double v_target); static int pickit5_updi_write_byte(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, unsigned long addr, unsigned char value); static int pickit5_updi_read_byte(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, unsigned long addr, unsigned char *value); +static int pickit5_updi_read_sib(const PROGRAMMER *pgm, const AVRPART *p, char *sib); +static int pickit5_updi_write_cs_reg(const PROGRAMMER *pgm, unsigned int addr, unsigned char value); +static int pickit5_updi_read_cs_reg(const PROGRAMMER *pgm, unsigned int addr, unsigned char *value); + +// ISP-specific +static int pickit5_isp_write_fuse(const PROGRAMMER *pgm, const AVRMEM *mem, unsigned char value); +static int pickit5_isp_read_fuse(const PROGRAMMER *pgm, const AVRMEM *mem, unsigned long addr, unsigned char *value); + +// debugWIRE-specific +static int pickit5_dw_write_fuse(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, unsigned char value); +static int pickit5_dw_read_fuse(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, unsigned char *value); +static void pickit5_dw_switch_to_isp(const PROGRAMMER *pgm, const AVRPART *p); +static void pickit5_isp_switch_to_dw(const PROGRAMMER *pgm, const AVRPART *p); + +// TPI-specific +static int pickit5_tpi_read(const PROGRAMMER *pgm, const AVRPART *p, + const AVRMEM *mem, unsigned long addr, int len, unsigned char *value); +static int pickit5_tpi_write(const PROGRAMMER *pgm, const AVRPART *p, + const AVRMEM *mem, unsigned long addr, int len, unsigned char *value); + +// JTAG-Specific +static int pickit5_jtag_write_fuse(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, unsigned char value); +static int pickit5_jtag_read_fuse(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, unsigned char *value); // Extra functions static int pickit5_get_fw_info(const PROGRAMMER *pgm); @@ -141,27 +175,35 @@ static int pickit5_set_vtarget(const PROGRAMMER *pgm, double v); static int pickit5_get_vtarget(const PROGRAMMER *pgm, double *v); static int pickit5_set_ptg_mode(const PROGRAMMER *pgm); static int pickit5_set_sck_period(const PROGRAMMER *pgm, double sckperiod); -static int pickit5_write_cs_reg(const PROGRAMMER *pgm, unsigned int addr, unsigned char value); -static int pickit5_read_cs_reg(const PROGRAMMER *pgm, unsigned int addr, unsigned char *value); + // Internal functions inline static void pickit5_uint32_to_array(unsigned char *buf, uint32_t num); inline static unsigned int pickit5_array_to_uint32(unsigned char *buf); inline static void pickit5_create_payload_header(unsigned char *buf, unsigned int type, - unsigned int msg_len, unsigned int trans_len); + unsigned int msg_len, unsigned int transfer_len); inline static void pickit5_create_script_header(unsigned char *buf, unsigned int arg_len, unsigned int script_len); -inline static int pickit5_check_ret_status(const PROGRAMMER *pgm); + +static int pickit5_read_prodsig(const PROGRAMMER *pgm, const AVRPART *p, + const AVRMEM *mem, unsigned long addr, int len, unsigned char *value); static int pickit5_get_status(const PROGRAMMER *pgm, unsigned char status); static int pickit5_send_script(const PROGRAMMER *pgm, unsigned int script_type, const unsigned char *script, unsigned int script_len, const unsigned char *param, unsigned int param_len, unsigned int payload_len); -static int pickit5_send_script_done(const PROGRAMMER *pgm, char *func); -static int pickit5_read_response(const PROGRAMMER *pgm, char *fn_name); +static int pickit5_send_script_done(const PROGRAMMER *pgm); +static int pickit5_read_response(const PROGRAMMER *pgm); +static int pickit5_send_script_cmd(const PROGRAMMER *pgm, const unsigned char *scr, unsigned int scr_len, + const unsigned char *param, unsigned int param_len); +static int pickit5_upload_data(const PROGRAMMER *pgm, const unsigned char *scr, unsigned int scr_len, + const unsigned char *param, unsigned int param_len, unsigned char *recv_buf, unsigned int recv_len); +static int pickit5_download_data(const PROGRAMMER *pgm, const unsigned char *scr, unsigned int scr_len, + const unsigned char *param, unsigned int param_len, unsigned char *send_buf, unsigned int send_len); + // Extra-USB related functions, because we need more then 2 endpoints -static int usbdev_data_recv(const union filedescriptor *fd, unsigned char *buf, size_t nbytes); -static int usbdev_data_send(const union filedescriptor *fd, const unsigned char *bp, size_t mlen); +static int usbdev_bulk_recv(const union filedescriptor *fd, unsigned char *buf, size_t nbytes); +static int usbdev_bulk_send(const union filedescriptor *fd, const unsigned char *bp, size_t mlen); inline static void pickit5_uint32_to_array(unsigned char *buf, uint32_t num) { *(buf++) = (uint8_t) num; @@ -181,11 +223,11 @@ inline static unsigned int pickit5_array_to_uint32(unsigned char *buf) { } inline static void pickit5_create_payload_header(unsigned char *buf, unsigned int type, - unsigned int msg_len, unsigned int trans_len) { + unsigned int msg_len, unsigned int transfer_len) { pickit5_uint32_to_array(&buf[0], type); pickit5_uint32_to_array(&buf[4], 0); pickit5_uint32_to_array(&buf[8], msg_len); - pickit5_uint32_to_array(&buf[12], trans_len); + pickit5_uint32_to_array(&buf[12], transfer_len); } inline static void pickit5_create_script_header(unsigned char *buf, unsigned int arg_len, unsigned int script_len) { @@ -245,7 +287,7 @@ static int pickit5_parseextparms(const PROGRAMMER *pgm, const LISTID extparms) { return LIBAVRDUDE_EXIT; } - pmsg_error("invalid extended parameter %s\n", extended_param); + pmsg_error("invalid extended parameter: %s\n", extended_param); rv = -1; } return rv; @@ -262,16 +304,20 @@ static int pickit5_send_script(const PROGRAMMER *pgm, unsigned int script_type, const unsigned char *script, unsigned int script_len, const unsigned char *param, unsigned int param_len, unsigned int payload_len) { - if(script == NULL) - return -1; + if(script == NULL) { + pmsg_error("invalid script pointer passed\n"); + return -3; + } unsigned int header_len = 16 + 8; // Header info + script header unsigned int preamble_len = header_len + param_len; unsigned int message_len = preamble_len + script_len; + pmsg_debug("%s(scr_len: %u, param_len: %u, data_len: %u)\n", __func__, script_len, param_len, payload_len); - if(message_len > 1023) // Required memory will exceed buffer size, abort - return -1; // 1 kB should be enough for everything - + if(message_len >= 2048){ // Required memory will exceed buffer size, abort + pmsg_error("requested message size (%u) too large\n", message_len); + return ERROR_SCRIPT_PARAM_SIZE; // 2 kB should be enough for everything + } unsigned char *buf = my.txBuf; pickit5_create_payload_header(&buf[0], script_type, message_len, payload_len); @@ -282,35 +328,193 @@ static int pickit5_send_script(const PROGRAMMER *pgm, unsigned int script_type, memcpy(&buf[preamble_len], script, script_len); - return serial_send(&pgm->fd, buf, message_len); + int ret_val = serial_send(&pgm->fd, buf, message_len); + if(ret_val < 0) { + pmsg_error("sending script failed\n"); + } + return ret_val; } -static int pickit5_read_response(const PROGRAMMER *pgm, char *fn_name) { +static int pickit5_read_response(const PROGRAMMER *pgm) { unsigned char *buf = my.rxBuf; if(serial_recv(&pgm->fd, buf, 512) < 0) { - pmsg_error("reading from PICkit failed"); - return -1; + pmsg_error("reading from programmer failed\n"); + return ERROR_USB_RECV; } unsigned int status = pickit5_array_to_uint32(&buf[0]); + unsigned int error_code = pickit5_array_to_uint32(&buf[16]); if(status != 0x0D) { - pmsg_error("unexpected response in function %s", fn_name); - return -1; + pmsg_error("unexpected read response: 0x%2X\n", status); + return ERROR_BAD_RESPONSE; + } + + if(error_code != 0x00) { + pmsg_error("Script Error returned: 0x%2X\n", error_code); + return ERROR_SCRIPT_EXECUTION; } return 0; } -static int pickit5_send_script_done(const PROGRAMMER *pgm, char *func) { +/* + Terminates the data stream over the data endpoint +*/ +static int pickit5_send_script_done(const PROGRAMMER *pgm) { unsigned char script_done[16]; unsigned int script_done_type = 0x0103; pickit5_create_payload_header(script_done, script_done_type, 16, 0); - if(serial_send(&pgm->fd, script_done, 16) >= 0) - return pickit5_read_response(pgm, func); - pmsg_error("failed sending script done message"); - return -1; + if(serial_send(&pgm->fd, script_done, 16) < 0) { + pmsg_error("failed sending script done message\n"); + return ERROR_USB_SEND; + } + return pickit5_read_response(pgm); +} + + +static int pickit5_get_status(const PROGRAMMER *pgm, unsigned char status) { + unsigned char *buf = my.txBuf; + const unsigned int type = 0x0105; + unsigned int key_len = 0; + + if(CHECK_ERROR == status) { + key_len = strlen("ERROR_STATUS_KEY") + 1; + memcpy(&buf[16], "ERROR_STATUS_KEY", key_len); + } else if(BIST_TEST == status) { + key_len = strlen("BIST Tested") + 1; + memcpy(&buf[16], "BIST Tested", key_len); + } else if(BIST_RESULT == status) { + key_len = strlen("BIST Results") + 1; + memcpy(&buf[16], "BIST Results", key_len); + } + if(0 == key_len) { + pmsg_error("unknown key type %d passed to %s()\n", status, __func__); + return -1; + } + unsigned int msg_len = 16 + key_len; + + pickit5_create_payload_header(buf, type, msg_len, 0); + serial_send(&pgm->fd, buf, msg_len); + serial_recv(&pgm->fd, my.rxBuf, 512); + + if(0x0D != my.rxBuf[0]) { + pmsg_error("bad response from programmer: %i\n", my.rxBuf[0]); + return -1; + } + + unsigned int status_len = pickit5_array_to_uint32(&(my.rxBuf[8])); + + if(status_len > 64) + status_len = 64; + my.rxBuf[16 + status_len] = 0x00; // Known zero-terminator + if(str_starts((const char *) &(my.rxBuf[16]), "NONE") == 0) { + pmsg_error("programmer's status report: %s\n", buf); + return -1; + } + return 0; +} + + +/* + Sends a script without any data on the data endpoint +*/ +static int pickit5_send_script_cmd(const PROGRAMMER *pgm, const unsigned char *scr, unsigned int scr_len, + const unsigned char *param, unsigned int param_len) { + + if(pickit5_send_script(pgm, SCR_CMD, scr, scr_len, param, param_len, 0) < 0) { + pmsg_error("sending script failed\n"); + return -1; + } + if(pickit5_read_response(pgm) < 0) { + pmsg_error("reading script response failed\n"); + return -2; + } + return 0; +} + +/* + Sends a script and sends the send_buf array over the data endpoint +*/ +static int pickit5_download_data(const PROGRAMMER *pgm, const unsigned char *scr, unsigned int scr_len, + const unsigned char *param, unsigned int param_len, unsigned char *send_buf, unsigned int send_len) { + + if(pickit5_send_script(pgm, SCR_DOWNLOAD, scr, scr_len, param, param_len, send_len) < 0) { + pmsg_error("sending script with download failed\n"); + return -1; + } + if(pickit5_read_response(pgm) < 0) { + return -2; + } + if(usbdev_bulk_send(&pgm->fd, send_buf, send_len) < 0) { + pmsg_error("transmission failed on the data channel\n"); + if(pickit5_send_script_done(pgm) < 0) { + pmsg_error("failed to abort download mode, please power-cycle the programmer and part\n"); + return -3; + } + pmsg_notice("attempting to recover from transmission error\n"); + if(pickit5_program_disable(pgm, NULL) < 0) { + pmsg_error("failed to disable programming mode, please power-cycle the programmer and part\n"); + return -3; + } + if(pickit5_program_enable(pgm, NULL) < 0) { + pmsg_error("failed to re-enable programming mode, please power-cycle the programmer and part\n"); + return -3; + } + pmsg_notice("successfully recovered from transmission error, please retry the previous operation\n"); + return -3; + } + if(pickit5_get_status(pgm, CHECK_ERROR) < 0) { + pmsg_error("status check not 'NONE' on download\n"); + + if(pickit5_send_script_done(pgm) < 0) { + pmsg_error("failed to abort download mode, please power-cycle the programmer and part\n"); + return -4; + } + return -4; + } + if(pickit5_send_script_done(pgm) < 0) { + pmsg_error("sending script done message failed\n"); + return -5; + } + return 0; +} + +/* + Sends a script and reads data from the data channel into recv_buf. +*/ +static int pickit5_upload_data(const PROGRAMMER *pgm, const unsigned char *scr, unsigned int scr_len, + const unsigned char *param, unsigned int param_len, unsigned char *recv_buf, unsigned int recv_len) { + + if(pickit5_send_script(pgm, SCR_UPLOAD, scr, scr_len, param, param_len, recv_len) < 0) { + pmsg_error("sending script with upload failed\n"); + return -1; + } + if(pickit5_read_response(pgm) < 0) { + if(pickit5_send_script_done(pgm) < 0) { + pmsg_error("failed to abort upload mode, please power-cycle the programmer and part\n"); + return -2; + } + if(pickit5_program_disable(pgm, NULL) < 0) { + pmsg_error("failed to disable programming mode, please power-cycle the programmer and part\n"); + return -2; + } + if(pickit5_program_enable(pgm, NULL) < 0) { + pmsg_error("failed to re-enable programming mode, please power-cycle the programmer and part\n"); + return -2; + } + return -2; + } + if(usbdev_bulk_recv(&pgm->fd, recv_buf, recv_len) < 0) { + pmsg_error("reading data memory failed\n"); + //return -3; // Do not abort here, try to send script done + } + if(pickit5_send_script_done(pgm) < 0) { + pmsg_error("sending script done message failed\n"); + return -4; + } + return 0; } static int pickit5_open(PROGRAMMER *pgm, const char *port) { @@ -358,7 +562,7 @@ static int pickit5_open(PROGRAMMER *pgm, const char *port) { if(vidp != pidp) { // User specified an VID // First: Handle VID input if(sscanf(vidp, "%x", &new_vid) != 1) { - pmsg_error("failed to parse -P VID input %s: unexpected format", vidp); + pmsg_error("failed to parse -P VID input %s: unexpected format\n", vidp); return -1; } } else { // VID space empty: default to Microchip @@ -367,7 +571,7 @@ static int pickit5_open(PROGRAMMER *pgm, const char *port) { // Now handle PID input if(sscanf(pidp + 1, "%x", &new_pid) != 1) { - pmsg_error("failed to parse -P PID input %s: unexpected format", pidp+1); + pmsg_error("failed to parse -P PID input %s: unexpected format\n", pidp+1); return -1; } @@ -442,13 +646,71 @@ static void pickit5_enable(PROGRAMMER *pgm, const AVRPART *p) { // This will reduce overhead and increase speed AVRMEM *mem; - if((mem = avr_locate_sram(p))) - mem->page_size = mem->size < 256? mem->size: 256; - if((mem = avr_locate_eeprom(p))) - mem->page_size = mem->size < 32? mem->size: 32; - if((mem = avr_locate_sib(p))) { // This is mandatory as PICkit is reading all 32 bytes at once - mem->page_size = 32; - mem->readsize = 32; + if(is_updi(pgm)){ + if((mem = avr_locate_sram(p))) { + mem->page_size = mem->size < 256? mem->size : 256; + } + if((mem = avr_locate_eeprom(p))) { + mem->page_size = mem->size < 32? mem->size : 32; + } + if((mem = avr_locate_sib(p))) { // This is mandatory as PICkit is reading all 32 bytes at once + mem->page_size = 32; + mem->readsize = 32; + } + } + if(is_debugwire(pgm)) { + if((mem = avr_locate_flash(p))) { + mem->page_size = mem->size < 1024? mem->size : 1024; // The Flash Write function on DW needs 1600 bytes + mem->readsize = mem->size < 1024? mem->size : 1024; // this reduces overhead and speeds things up + } + } + if(is_isp(pgm)){ + if((mem = avr_locate_flash(p))) { + if(mem->mode != 0x04) { // Don't change default flash settings on old AVRs + mem->page_size = mem->size < 1024? mem->size : 1024; + mem->readsize = mem->size < 1024? mem->size : 1024; + } else { + mem->page_size = 256; + mem->readsize = 256; + mem->blocksize = 256; + } + } + if((mem = avr_locate_eeprom(p))) { + if(mem->mode == 0x04) { // Increasing minimal write/read length so that the old AVRs work with PK5 + mem->page_size = 0x04; + mem->readsize = 0x04; + mem->blocksize = 0x04; + } + } + if((mem = avr_locate_calibration(p))) { + if(mem->size == 1) { // any 1 byte wide calibration is also in prodsig + mem->offset = 1; // add an offset to profit of the prodsig buffering + } + } + } + if(both_jtag(pgm, p)) { + if((mem = avr_locate_flash(p))) { + mem->page_size = mem->size < 512? mem->size : 512; + mem->readsize = mem->size < 512? mem->size : 512; + } + } + if(both_xmegajtag(pgm, p) || both_pdi(pgm, p)) { + if((mem = avr_locate_flash(p))) { + mem->page_size = mem->size < 1024? mem->size : 1024; + mem->readsize = mem->size < 1024? mem->size : 1024; + } + if((mem = avr_locate_application(p))) { + mem->page_size = mem->size < 1024? mem->size : 1024; + mem->readsize = mem->size < 1024? mem->size : 1024; + } + if((mem = avr_locate_apptable(p))) { + mem->page_size = mem->size < 1024? mem->size : 1024; + mem->readsize = mem->size < 1024? mem->size : 1024; + } + if((mem = avr_locate_boot(p))) { + mem->page_size = mem->size < 1024? mem->size : 1024; + mem->readsize = mem->size < 1024? mem->size : 1024; + } } } @@ -468,11 +730,63 @@ static void pickit5_display(const PROGRAMMER *pgm, const char *p) { static void pickit5_print_parms(const PROGRAMMER *pgm, FILE *fp) { pickit5_get_vtarget(pgm, NULL); - fmsg_out(fp, "UPDI clock : %u kHz\n", my.actual_updi_clk / 1000); - fmsg_out(fp, "Target Vcc : %1.2f V\n", my.measured_vcc); + fmsg_out(fp, "Target programming clk: %u kHz\n", my.actual_pgm_clk / 1000); + fmsg_out(fp, "Target vcc : %1.2f V\n", my.measured_vcc); fmsg_out(fp, "Target current : %3u mA\n", my.measured_current); } +static int pickit5_updi_init(const PROGRAMMER *pgm, const AVRPART *p, double v_target) { + if(pickit5_program_enable(pgm, p) < 0) + return -1; + + // Get SIB so we can get the NVM Version + if(pickit5_updi_read_sib(pgm, p, my.sib_string) < 0) { + pmsg_error("failed to obtain System Info Block\n"); + return -1; + } + + if(pickit5_read_dev_id(pgm, p) < 0) { + pmsg_error("failed to obtain device ID\n"); + return -1; + } + + unsigned int baud = my.actual_pgm_clk; + if(baud < 300) { // Better be safe than sorry + pmsg_warning("UPDI needs a higher clock for operation, increasing UPDI to 300 Hz\n"); + baud = 300; + } + if(baud > 225000) { + if(v_target < 2.9) { + pmsg_warning("UPDI needs a voltage of more than 2.9 V for a faster baudrate, limiting UPDI to 225 kHz\n"); + baud = 225000; + } else { + if(baud > 900000) { + pmsg_warning("requested clock %u Hz too high, limiting UPDI to 900 kHz\n", baud); + baud = 900000; + } + pickit5_set_sck_period(pgm, 1.0 / 100000); // Start with 100 kHz + pickit5_updi_write_cs_reg(pgm, UPDI_ASI_CTRLA, 0x01); // Change UPDI clock to 16 MHz + + unsigned char ret_val = 0; + pickit5_updi_read_cs_reg(pgm, UPDI_ASI_CTRLA, &ret_val); + if(ret_val != 0x01) { + pmsg_warning("failed to change UPDI clock, falling back to 225 kHz\n"); + baud = 225000; + } + // Possible speed optimization: Reduce Guard Time Value and maybe response signature? + } + } + + if(pickit5_set_sck_period(pgm, 1.0 / baud) >= 0) { + pmsg_notice("UPDI speed set to %i kHz\n", baud / 1000); + my.actual_pgm_clk = baud; + } else { + pmsg_warning("failed to set UPDI speed, continuing\n"); + } + return 1; +} + + static int pickit5_initialize(const PROGRAMMER *pgm, const AVRPART *p) { pmsg_debug("%s()\n", __func__); if(!pgm->cookie) @@ -484,12 +798,32 @@ static int pickit5_initialize(const PROGRAMMER *pgm, const AVRPART *p) { } int rc = -1; - - if(pgm->prog_modes == PM_UPDI) + unsigned int default_baud; + + if(both_debugwire(pgm, p)) { + rc = get_pickit_dw_script(&(my.scripts), p->desc); + default_baud = 125000; // debugWIRE does not allow to select speed, this is for ISP mode + } else if(both_isp(pgm, p)) { + rc = get_pickit_isp_script(&(my.scripts), p->desc); + default_baud = 125000; + } else if(both_jtag(pgm, p) || both_xmegajtag(pgm, p)) { + rc = get_pickit_jtag_script(&(my.scripts), p->desc); + default_baud = 500000; + } else if(both_updi(pgm, p)) { rc = get_pickit_updi_script(&(my.scripts), p->desc); + default_baud = 200000; + } else if(both_tpi(pgm, p)) { + rc = get_pickit_tpi_script(&(my.scripts), p->desc); + default_baud = 125000; + } else if(both_pdi(pgm, p)) { + rc = get_pickit_pdi_script(&(my.scripts), p->desc); + default_baud = 500000; + } - if(rc == -1) + if(rc == -1) { + pmsg_error("no matching prog_mode found, aborting\n"); return -1; + } if(rc == -2) { pmsg_error("failed to match scripts to %s, aborting\n", p->desc); return -1; @@ -497,14 +831,15 @@ static int pickit5_initialize(const PROGRAMMER *pgm, const AVRPART *p) { if(my.hvupdi_enabled > 0) { if(p->hvupdi_variant == 0) - pmsg_notice("high-voltage SYSCFG0 override on UPDI Pin enabled\n"); + pmsg_notice("high-voltage SYSCFG0 override on UPDI pin enabled\n"); if(p->hvupdi_variant == 2) - pmsg_notice("high-voltage SYSCFG0 override on RST Pin enabled\n"); + pmsg_notice("high-voltage SYSCFG0 override on RST pin enabled\n"); } if(my.pk_op_mode < PK_OP_RESPONDS) { - if(pickit5_get_fw_info(pgm) < 0) // PK responds: we can try to enable voltage + if(pickit5_get_fw_info(pgm) < 0) { // PK responds: we can try to enable voltage return -1; + } my.pk_op_mode = PK_OP_RESPONDS; } @@ -519,7 +854,13 @@ static int pickit5_initialize(const PROGRAMMER *pgm, const AVRPART *p) { if(my.power_source == POWER_SOURCE_NONE) { pmsg_warning("no external voltage detected but continuing anyway\n"); } else if(my.power_source == POWER_SOURCE_INT) { - pmsg_notice("no extenal Voltage detected; trying to supply from PICkit\n"); + pmsg_notice("no extenal voltage detected; trying to supply from programmer\n"); + if(both_xmegajtag(pgm, p) || both_pdi(pgm, p)) { + if(my.target_voltage > 3.49) { + pmsg_error("xMega part selected but requested voltage is over 3.49V, aborting."); + return -1; + } + } if(pickit5_set_vtarget(pgm, my.target_voltage) < 0) return -1; // Set requested voltage @@ -527,9 +868,15 @@ static int pickit5_initialize(const PROGRAMMER *pgm, const AVRPART *p) { if(pickit5_get_vtarget(pgm, &v_target) < 0) return -1; // Verify voltage - if(v_target < my.target_voltage - 0.25 // Voltage supply is not accurate: allow some room - || v_target > my.target_voltage + 0.15) { - pmsg_error("target voltage out of range, aborting\n"); + // Make sure the voltage is in our requested range. Due to voltage drop on + // the LDO and on USB itself, the lower limit is capped at 4.4V + double upper_limit = my.target_voltage + 0.2; + double lower_limit = my.target_voltage - 0.3; + if(lower_limit > 4.4) { + lower_limit = 4.4; + } + if((v_target < lower_limit) || (v_target > upper_limit)) { + pmsg_error("target voltage (%1.2fV) is outside of allowed range, aborting\n", v_target); return -1; } } else { @@ -538,73 +885,45 @@ static int pickit5_initialize(const PROGRAMMER *pgm, const AVRPART *p) { } } else { my.power_source = POWER_SOURCE_EXT; // Overwrite user input - pmsg_notice("external Voltage detected: will not supply power\n"); + pmsg_notice("external voltage detected: will not supply power\n"); } my.pk_op_mode = PK_OP_READY; - - // Target is powered, set the UPDI baudrate; adjust UPDICLKSEL if possible and neccessary - if(pickit5_program_enable(pgm, p) < 0) - return -1; - - // Get SIB so we can get the NVM Version - if(pickit5_read_sib(pgm, p, my.sib_string) < 0) { - pmsg_error("failed to obtain System Info Block\n"); - return -1; - } - - if(pickit5_read_dev_id(pgm, p) < 0) { - pmsg_error("failed to obtain device ID\n"); - return -1; - } + my.dW_switched_isp = 0; double bitclock = pgm->bitclock; unsigned int baud = pgm->baudrate; - if(baud == 200000) { // If baud unchanged - if(bitclock > 0.0) { - baud = (unsigned int) (1.0 / pgm->bitclock); // Bitclock in us + if(baud != 0) { + if(bitclock != 0.0) { + pmsg_warning("both -b baudrate and -B bitclock given; using -b setting.\n"); } - } else { - if(bitclock > 0.0) { - pmsg_error("both -b baudrate and -B bitclock given; please use only one, aborting\n"); + } else if(bitclock != 0.0) { + baud = (unsigned int) (1.0 / pgm->bitclock); // Bitclock in us + } else { // Neither set, use default + baud = default_baud; + } + my.actual_pgm_clk = baud; + + if(is_updi(pgm)) { // UPDI got it's own init as it is well enough documented to select the + if(pickit5_updi_init(pgm, p, v_target) < 0) { // CLKDIV based on the voltage and requested baud return -1; } - } + } else { - if(baud < 300) { // Better be safe than sorry - pmsg_warning("UPDI needs a higher clock for operation, increasing UPDI to 300 Hz\n"); - baud = 300; - } - if(baud > 225000) { - if(v_target < 2.9) { - pmsg_warning("UPDI needs a voltage of more than 2.9 V for a faster baudrate, limiting UPDI to 225 kHz\n"); - baud = 225000; - } else { - if(baud > 900000) { - pmsg_warning("requested clock %u Hz too high, limiting UPDI to 900 kHz\n", baud); - baud = 900000; - } - pickit5_set_sck_period(pgm, 1.0 / 100000); // Start with 200 kHz - pickit5_write_cs_reg(pgm, UPDI_ASI_CTRLA, 0x01); // Change UPDI clock to 16 MHz - unsigned char ret_val = 0; + // JTAG __requires__ setting the speed before program enable + pickit5_set_sck_period(pgm, 1.0 / my.actual_pgm_clk); - pickit5_read_cs_reg(pgm, UPDI_ASI_CTRLA, &ret_val); - if(ret_val != 0x01) { - pmsg_warning("failed to change UPDI clock, falling back to 225 kHz\n"); - baud = 225000; - } + if(pickit5_program_enable(pgm, p) < 0) { + pmsg_error("failed to enable programming mode\n"); + return -1; + } + if(pickit5_read_dev_id(pgm, p) < 0) { + pmsg_error("failed to obtain device ID\n"); + return -1; } - } - if(pickit5_set_sck_period(pgm, 1.0 / baud) >= 0) { - pmsg_notice("UPDI speed set to %i kHz\n", baud / 1000); - my.actual_updi_clk = baud; - } else { - pmsg_warning("failed to set UPDI speed, continuing\n"); - my.actual_updi_clk = 100000; // Default clock? - } - pickit5_program_enable(pgm, p); + } return 0; } @@ -613,6 +932,7 @@ static int pickit5_cmd(const PROGRAMMER *pgm, const unsigned char *cmd, unsigned } static int pickit5_program_enable(const PROGRAMMER *pgm, const AVRPART *p) { + (void) p; // Warning! this file is passing NULL at some point pmsg_debug("%s()\n", __func__); const unsigned char *enter_prog = my.scripts.EnterProgMode; unsigned int enter_prog_len = my.scripts.EnterProgMode_len; @@ -627,26 +947,23 @@ static int pickit5_program_enable(const PROGRAMMER *pgm, const AVRPART *p) { } } if(my.pk_op_mode == PK_OP_READY) { - if(pickit5_send_script(pgm, SCR_CMD, enter_prog, enter_prog_len, NULL, 0, 0) < 0) - return -1; - - if(pickit5_read_response(pgm, "Enter Programming Mode") < 0) + if(pickit5_send_script_cmd(pgm, enter_prog, enter_prog_len, NULL, 0) < 0) { return -1; + } } return 0; } static int pickit5_program_disable(const PROGRAMMER *pgm, const AVRPART *p) { + (void) p; // Warning! this file is passing NULL at some point pmsg_debug("%s()\n", __func__); - const unsigned char *enter_prog = my.scripts.ExitProgMode; - unsigned int enter_prog_len = my.scripts.ExitProgMode_len; + const unsigned char *exit_prog = my.scripts.ExitProgMode; + unsigned int exit_prog_len = my.scripts.ExitProgMode_len; if(my.pk_op_mode == PK_OP_READY) { - if(pickit5_send_script(pgm, SCR_CMD, enter_prog, enter_prog_len, NULL, 0, 0) < 0) - return -1; - - if(pickit5_read_response(pgm, "Exit Programming Mode") < 0) + if(pickit5_send_script_cmd(pgm, exit_prog, exit_prog_len, NULL, 0) < 0) { return -1; + } } return 0; } @@ -655,17 +972,18 @@ static int pickit5_chip_erase(const PROGRAMMER *pgm, const AVRPART *p) { pmsg_debug("%s()\n", __func__); pickit5_program_enable(pgm, p); + if(is_debugwire(pgm)) { // dW Chip erase doesn't seem to be working, use ISP + pickit5_dw_switch_to_isp(pgm, p); + } const unsigned char *chip_erase = my.scripts.EraseChip; unsigned int chip_erase_len = my.scripts.EraseChip_len; - if(pickit5_send_script(pgm, SCR_CMD, chip_erase, chip_erase_len, NULL, 0, 0) >= 0) { - if(pickit5_read_response(pgm, "Erase Chip") >= 0) { - if(pickit5_array_to_uint32(&(my.rxBuf[16])) == 0x00) { - pmsg_info("target successfully erased\n"); - my.pk_op_mode = PK_OP_READY; - pickit5_program_enable(pgm, p); - return 0; - } + if(pickit5_send_script_cmd(pgm, chip_erase, chip_erase_len, NULL, 0) >= 0) { + if(pickit5_array_to_uint32(&(my.rxBuf[16])) == 0x00) { + pmsg_info("target successfully erased\n"); + my.pk_op_mode = PK_OP_READY; + pickit5_program_enable(pgm, p); + return 0; } } @@ -685,25 +1003,41 @@ static int pickit5_paged_write(const PROGRAMMER *pgm, const AVRPART *p, const AV return pickit5_write_array(pgm, p, mem, address, n_bytes, &mem->buf[address]); } -// Sets UPDI Frequency in kHz +// Sets Frequency in kHz static int pickit5_set_sck_period(const PROGRAMMER *pgm, double sckperiod) { pmsg_debug("%s()\n", __func__); double frq = (0.001 / sckperiod) + 0.5; // 1ms/period = kHz; round up const unsigned char *set_speed = my.scripts.SetSpeed; - int set_speed_len = my.scripts.SetSpeed_len; + unsigned int set_speed_len = my.scripts.SetSpeed_len; unsigned char buf[4]; + if(set_speed == NULL) { // debugWIRE has no set speed, just return success + return 0; + } pickit5_uint32_to_array(buf, frq); - if(pickit5_send_script(pgm, SCR_CMD, set_speed, set_speed_len, buf, 4, 0) < 0) - return -1; - if(pickit5_read_response(pgm, "Set UPDI Speed") < 0) - return -1; - return 0; + if(pickit5_send_script_cmd(pgm, set_speed, set_speed_len, buf, 4) >= 0) { + return 0; + } + + pmsg_error("failed to set speed.\n"); + return -1; } static int pickit5_write_byte(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, unsigned long addr, unsigned char value) { - int rc = pickit5_write_array(pgm, p, mem, addr, 1, &value); + int rc = 0; + if(mem_is_a_fuse(mem)) { + if(is_isp(pgm)){ + rc = pickit5_isp_write_fuse(pgm, mem, value); + } else if(is_debugwire(pgm)){ + rc = pickit5_dw_write_fuse(pgm, p, mem, value); + } else if(both_jtag(pgm, p)){ + rc = pickit5_jtag_write_fuse(pgm, p, mem, value); + } + } + if(rc == 0) { + rc = pickit5_write_array(pgm, p, mem, addr, 1, &value); + } if(rc < 0) return rc; @@ -712,7 +1046,28 @@ static int pickit5_write_byte(const PROGRAMMER *pgm, const AVRPART *p, static int pickit5_read_byte(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, unsigned long addr, unsigned char *value) { - int rc = pickit5_read_array(pgm, p, mem, addr, 1, value); + int rc = 0; + if(mem_is_signature(mem)) { + if(addr < 4) { + *value = my.devID[addr]; + rc = 1; + } else { + rc = -1; + } + } else if(mem_is_a_fuse(mem)) { + if(is_isp(pgm)) { + rc = pickit5_isp_read_fuse(pgm, mem, addr, value); + } else if(is_debugwire(pgm)) { + rc = pickit5_dw_read_fuse(pgm, p, mem, value); + } else if(both_jtag(pgm, p)) { + rc = pickit5_jtag_read_fuse(pgm, p, mem, value); + } + } else if(mem_is_in_sigrow(mem) || mem_is_calibration(mem)) { // For some weird reason this OR is needed? + rc = pickit5_read_prodsig(pgm, p, mem, addr, 1, value); + } + if(rc == 0) { + rc = pickit5_read_array(pgm, p, mem, addr, 1, value); + } if(rc < 0) return rc; @@ -728,43 +1083,20 @@ static int pickit5_updi_write_byte(const PROGRAMMER *pgm, const AVRPART *p, return -1; } addr += mem->offset; - pmsg_debug("%s(0x%4X, %i)\n", __func__, (unsigned) addr, value); - // This script is based on WriteCSreg; reduces overhead by avoiding writing data EP - const unsigned char h_len = 24; // 16 + 8 - const unsigned char p_len = 8; - const unsigned char s_len = 8; - const unsigned char m_len = h_len + p_len + s_len; + pmsg_debug("%s(addr: 0x%4X, value: %i)\n", __func__, (unsigned) addr, value); + // This script is based on WriteCSreg; reduces overhead by avoiding writing data EP unsigned char write8_fast[] = { - 0x00, 0x01, 0x00, 0x00, // [0] SCR_CMD - 0x00, 0x00, 0x00, 0x00, // [4] always 0 - m_len, 0x00, 0x00, 0x00, // [8] message length = 16 + 8 + param (8) + script (8) = 40 - 0x00, 0x00, 0x00, 0x00, // [12] keep at 0 to receive the data in the "response" - - p_len, 0x00, 0x00, 0x00, // [16] param length: 8 bytes - s_len, 0x00, 0x00, 0x00, // [20] length of script: 8 bytes - - 0x00, 0x00, 0x00, 0x00, // [24] param: address to write to, will be overwritten - 0x00, 0x00, 0x00, 0x00, // [28] param: byte to write, will be overwritten - - // Script itself: - 0x91, 0x00, // Copy first 4 bytes of param to reg 0 - 0x91, 0x01, // Copy second 4 bytes of param to reg 1 - 0x1E, 0x06, 0x00, 0x01, // Store to address in reg 0 the byte in reg 1 + 0x90, 0x00, addr, (addr >> 8), 0x00, 0x00, // Place address in r0 + 0x9B, 0x01, value, // Place value in r1 + 0x1E, 0x06, 0x00, 0x01, // Store to address in reg 0 the byte in reg 1 }; - write8_fast[24] = (((unsigned char *) &addr)[0]); - write8_fast[25] = (((unsigned char *) &addr)[1]); - write8_fast[28] = value; - - serial_send(&pgm->fd, write8_fast, m_len); - unsigned char *buf = my.rxBuf; - if(serial_recv(&pgm->fd, buf, 512) >= 0) { // Read response - if(buf[0] == 0x0D) { - return 0; - } - } - return -1; + int rc = pickit5_send_script_cmd(pgm, write8_fast, sizeof(write8_fast), NULL, 0); + if(rc < 0) { + return -1; + } + return 1; } // UPDI-specific function providing a reduced overhead when reading a single byte @@ -777,85 +1109,78 @@ static int pickit5_updi_read_byte(const PROGRAMMER *pgm, const AVRPART *p, return -1; } addr += mem->offset; - pmsg_debug("%s(0x%4X)\n", __func__, (unsigned int) addr); - // This script is based on ReadSIB; reduces overhead by avoiding readind data EP - const unsigned char h_len = 24; // 16 + 8 - const unsigned char p_len = 4; - const unsigned char s_len = 6; - const unsigned char m_len = h_len + p_len + s_len; + pmsg_debug("%s(addr: 0x%4X)\n", __func__, (unsigned int) addr); unsigned char read8_fast[] = { - 0x00, 0x01, 0x00, 0x00, // [0] SCR_CMD - 0x00, 0x00, 0x00, 0x00, // [4] always 0 - m_len, 0x00, 0x00, 0x00, // [8] message length = 16 + 8 + param (4) + script (6) = 34 - 0x00, 0x00, 0x00, 0x00, // [12] keep at 0 to receive the data in the "response" - - p_len, 0x00, 0x00, 0x00, // [16] param length: 4 bytes - s_len, 0x00, 0x00, 0x00, // [20] length of script: 6 bytes - - 0x00, 0x00, 0x00, 0x00, // [24] param: address to read from, will be overwritten - - // Script itself: - 0x91, 0x00, // Copy first 4 bytes of param to reg 0 - 0x1E, 0x03, 0x00, // Load byte from address in reg 0 - 0x9F // Send data from 0x1E to "response" + 0x90, 0x00, addr, (addr >> 8), 0x00, 0x00, // load address (only 16-bit wide) + 0x1E, 0x03, 0x00, // Load byte from address in reg 0 + 0x9F // Send data from 0x1E to "response" }; - read8_fast[24] = (((unsigned char *) &addr)[0]); - read8_fast[25] = (((unsigned char *) &addr)[1]); - - serial_send(&pgm->fd, read8_fast, m_len); - unsigned char *buf = my.rxBuf; - if(serial_recv(&pgm->fd, buf, 512) >= 0) { // Read response - if(buf[0] == 0x0D) { - if(buf[20] == 0x01) { - *value = buf[24]; - return 0; - } - } + int rc = pickit5_send_script_cmd(pgm, read8_fast, sizeof(read8_fast), NULL, 0); + if(rc < 0) { + return -1; + } else { + *value = my.rxBuf[24]; + return 1; } - return -1; - } else { // Fall back to standard function + } + return 0; + /*else { // Fall back to standard function int rc = pickit5_read_array(pgm, p, mem, addr, 1, value); if(rc < 0) return rc; - return 0; + return 1; } + */ } // Return numbers of byte written static int pickit5_write_array(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, unsigned long addr, int len, unsigned char *value) { - pmsg_debug("%s(%s, 0x%04x, %i)", __func__, mem->desc, (unsigned int) addr, len); + pmsg_debug("%s(%s, addr: 0x%04x, offset: %i, len: %i)\n", __func__, mem->desc, (unsigned int) addr, mem->offset, len); if(len > mem->size || mem->size < 1) { pmsg_error("cannot write to %s %s owing to its size %d\n", p->desc, mem->desc, mem->size); return -1; } if(addr >= (unsigned long) mem->size) { - pmsg_error("cannot write to %s %s as address 0x%04lx outside range [0, 0x%04x]\n", + pmsg_error("cannot write to %s %s as address 0x%04lx is not in range [0, 0x%04x]\n", p->desc, mem->desc, addr, mem->size - 1); return -1; } + if(is_debugwire(pgm) && !mem_is_in_flash(mem)) { // for flash programming, stay in ISP mode + pickit5_isp_switch_to_dw(pgm, p); + } + if(is_tpi(pgm)) { + pickit5_tpi_write(pgm, p, mem, addr, len, value); + } + const unsigned char *write_bytes = NULL; unsigned int write_bytes_len = 0; if((mem_is_in_flash(mem) && (len == mem->page_size))) { - write_bytes = my.scripts.WriteProgmem; + write_bytes = my.scripts.WriteProgmem; write_bytes_len = my.scripts.WriteProgmem_len; - } else if(mem_is_eeprom(mem)) { - write_bytes = my.scripts.WriteDataEEmem; + } else if(mem_is_boot(mem) && my.scripts.WriteBootMem != NULL) { + write_bytes = my.scripts.WriteBootMem; + write_bytes_len = my.scripts.WriteBootMem_len; + } else if(mem_is_eeprom(mem) && my.scripts.WriteDataEEmem != NULL) { + write_bytes = my.scripts.WriteDataEEmem; write_bytes_len = my.scripts.WriteDataEEmem_len; - } else if(mem_is_user_type(mem)) { - write_bytes = my.scripts.WriteIDmem; + } else if((mem_is_a_fuse(mem) || mem_is_in_fuses(mem)) && my.scripts.WriteConfigmemFuse != NULL) { + write_bytes = my.scripts.WriteConfigmemFuse; + write_bytes_len = my.scripts.WriteConfigmemFuse_len; + } else if(mem_is_lock(mem) && my.scripts.WriteConfigmemLock != NULL) { + write_bytes = my.scripts.WriteConfigmemLock; + write_bytes_len = my.scripts.WriteConfigmemLock_len; + } else if(mem_is_user_type(mem) && my.scripts.WriteIDmem != NULL) { + write_bytes = my.scripts.WriteIDmem; write_bytes_len = my.scripts.WriteIDmem_len; - } else if(mem_is_in_fuses(mem)) { - write_bytes = my.scripts.WriteConfigmem; - write_bytes_len = my.scripts.WriteConfigmem_len; } else if(!mem_is_readonly(mem)) { // SRAM, IO, LOCK - if((len == 1) && (pgm->prog_modes == PM_UPDI)) { + if((len == 1) && is_updi(pgm)) { return pickit5_updi_write_byte(pgm, p, mem, addr, value[0]); } write_bytes = my.scripts.WriteMem8; @@ -864,64 +1189,80 @@ static int pickit5_write_array(const PROGRAMMER *pgm, const AVRPART *p, pmsg_error("unsupported memory %s\n", mem->desc); return -2; } - addr += mem->offset; - unsigned char buf[8]; - pickit5_uint32_to_array(&buf[0], addr); - pickit5_uint32_to_array(&buf[4], len); - - if(pickit5_send_script(pgm, SCR_DOWNLOAD, write_bytes, write_bytes_len, buf, 8, len) < 0) { - pmsg_error("sending script failed\n"); - return -1; + addr += mem->offset; + if(both_jtag(pgm, p) && mem_is_in_flash(mem)) { + addr /= 2; } - if(pickit5_read_response(pgm, "Write Bytes") < 0) { - pmsg_error("reading script response failed\n"); - return -1; - } - if(usbdev_data_send(&pgm->fd, value, len) < 0) { - pmsg_error("failed when sending data\n"); - return -1; - } - if(pickit5_get_status(pgm, CHECK_ERROR) < 0) { - pmsg_error("error check failed\n"); - return -1; - } - if(pickit5_send_script_done(pgm, "Write Bytes") < 0) { - pmsg_error("sending script done message failed\n"); - return -1; + unsigned char param[8]; + pickit5_uint32_to_array(¶m[0], addr); + pickit5_uint32_to_array(¶m[4], len); + + int rc = pickit5_download_data(pgm, write_bytes, write_bytes_len, param, 8, value, len); + if(rc < 0) { + return LIBAVRDUDE_EXIT; // Any error here means that a write fail occured, so restart + } else { + return len; } - return len; } // Return numbers of byte read static int pickit5_read_array(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, unsigned long addr, int len, unsigned char *value) { - pmsg_debug("%s(%u, %u)\n", __func__, (unsigned) addr, len); + pmsg_debug("%s(%s, addr: 0x%04x, offset: %i, len: %i)\n", __func__, mem->desc, (unsigned int) addr, mem->offset, len); + if(len > mem->size || mem->size < 1) { pmsg_error("cannot read from %s %s owing to its size %d\n", p->desc, mem->desc, mem->size); return -1; } if(addr >= (unsigned long) mem->size) { - pmsg_error("cannot read from %s %s as address 0x%04lx outside range [0, 0x%04x]\n", + pmsg_error("cannot read from %s %s as address 0x%04lx is not in range [0, 0x%04x]\n", p->desc, mem->desc, addr, mem->size - 1); return -1; } + if(mem_is_signature(mem)) { // DeviceID is read only once and buffered + if(len == 1) { + *value = my.devID[addr]; + return 0; + } + return -1; + } + + if(is_debugwire(pgm)) { + pickit5_isp_switch_to_dw(pgm, p); + } + if(is_tpi(pgm)) { + return pickit5_tpi_read(pgm, p, mem, addr, len, value); + } + const unsigned char *read_bytes = NULL; unsigned int read_bytes_len = 0; if(mem_is_in_flash(mem)) { - read_bytes = my.scripts.ReadProgmem; - read_bytes_len = my.scripts.ReadProgmem_len; - } else if(mem_is_eeprom(mem)) { - read_bytes = my.scripts.ReadDataEEmem; - read_bytes_len = my.scripts.ReadDataEEmem_len; - } else if(mem_is_user_type(mem)) { - read_bytes = my.scripts.ReadIDmem; - read_bytes_len = my.scripts.ReadIDmem_len; + read_bytes = my.scripts.ReadProgmem; + read_bytes_len = my.scripts.ReadProgmem_len; + } else if(mem_is_boot(mem) && my.scripts.ReadBootMem != NULL) { + read_bytes = my.scripts.ReadBootMem; + read_bytes_len = my.scripts.ReadBootMem_len; + } else if(mem_is_calibration(mem) && my.scripts.ReadCalibrationByte != NULL) { + read_bytes = my.scripts.ReadCalibrationByte; + read_bytes_len = my.scripts.ReadCalibrationByte_len; + } else if(mem_is_eeprom(mem) && my.scripts.ReadDataEEmem != NULL) { + read_bytes = my.scripts.ReadDataEEmem; + read_bytes_len = my.scripts.ReadDataEEmem_len; + } else if((mem_is_a_fuse(mem) || mem_is_in_fuses(mem)) && my.scripts.ReadConfigmemFuse != NULL) { + read_bytes = my.scripts.ReadConfigmemFuse; + read_bytes_len = my.scripts.ReadConfigmemFuse_len; + } else if(mem_is_lock(mem) && my.scripts.ReadConfigmemLock != NULL) { + read_bytes = my.scripts.ReadConfigmemLock; + read_bytes_len = my.scripts.ReadConfigmemLock_len; + } else if(mem_is_user_type(mem) && my.scripts.ReadIDmem != NULL) { + read_bytes = my.scripts.ReadIDmem; + read_bytes_len = my.scripts.ReadIDmem_len; } else if(mem_is_sib(mem)) { if(len == 1) { *value = my.sib_string[addr]; @@ -931,87 +1272,112 @@ static int pickit5_read_array(const PROGRAMMER *pgm, const AVRPART *p, return 32; } return -1; - } else if(mem_is_signature(mem)) { - if(len == 1) { - *value = my.devID[addr]; - return 0; - } - return -1; - } else if(mem_is_in_sigrow(mem) || mem_is_user_type(mem) || mem_is_a_fuse(mem)) { - read_bytes = my.scripts.ReadConfigmem; - read_bytes_len = my.scripts.ReadConfigmem_len; + } else if((mem_is_in_sigrow(mem) || mem_is_user_type(mem)) && my.scripts.ReadConfigmem != NULL) { + read_bytes = my.scripts.ReadConfigmem; + read_bytes_len = my.scripts.ReadConfigmem_len; } else if(!mem_is_readonly(mem)) { // SRAM, IO, LOCK, USERROW - if((len == 1) && (pgm->prog_modes == PM_UPDI)) { - return pickit5_updi_read_byte(pgm, p, mem, addr, value); + if((len == 1) && is_updi(pgm)) { + if(pickit5_updi_read_byte(pgm, p, mem, addr, value) < 0) { + return -1; + } else { + return 0; + } } - read_bytes = my.scripts.ReadMem8; - read_bytes_len = my.scripts.ReadMem8_len; + read_bytes = my.scripts.ReadMem8; + read_bytes_len = my.scripts.ReadMem8_len; } else { pmsg_error("unsupported memory %s\n", mem->desc); return -2; } addr += mem->offset; - unsigned char buf[8]; + if(both_jtag(pgm, p) && mem_is_in_flash(mem)) { + addr /= 2; + } + unsigned char param[8]; - pickit5_uint32_to_array(&buf[0], addr); - pickit5_uint32_to_array(&buf[4], len); + pickit5_uint32_to_array(¶m[0], addr); + pickit5_uint32_to_array(¶m[4], len); - if(pickit5_send_script(pgm, SCR_UPLOAD, read_bytes, read_bytes_len, buf, 8, len) < 0) { - pmsg_error("sending script failed\n"); - return -1; - } - if(pickit5_read_response(pgm, "Read Bytes") < 0) { - pmsg_error("unexpected read response\n"); - return -1; - } - if(usbdev_data_recv(&pgm->fd, value, len) < 0) { - pmsg_error("reading data memory failed\n"); - return -1; - } - if(pickit5_send_script_done(pgm, "Read Bytes") < 0) { - pmsg_error("sending script done message failed\n"); - return -1; + int rc = pickit5_upload_data(pgm, read_bytes, read_bytes_len, param, 8, value, len); + + if(rc < 0) { + return LIBAVRDUDE_EXIT; // Any error here means that a read fail occured, better restart + } else { + return len; } - return len; } + static int pickit5_read_dev_id(const PROGRAMMER *pgm, const AVRPART *p) { pmsg_debug("%s()\n", __func__); const unsigned char *read_id = my.scripts.GetDeviceID; // Defaults unsigned int read_id_len = my.scripts.GetDeviceID_len; - if(my.nvm_version >= '0' && my.nvm_version <= '9') { - read_id = get_devid_script_by_nvm_ver(my.nvm_version); // Only address changes, not length + if(is_updi(pgm)) { + if(my.nvm_version >= '0' && my.nvm_version <= '9') { + read_id = get_devid_script_by_nvm_ver(my.nvm_version); // Only address changes, not length + } + } else if(is_debugwire(pgm)) { + unsigned char scr [] = {0x7D, 0x00, 0x00, 0x00}; // Not sure what this does + unsigned int scr_len = sizeof(scr); + pickit5_send_script_cmd(pgm, scr, scr_len, NULL, 0); + pickit5_program_enable(pgm, p); + if(my.rxBuf[17] == 0x0E) { // Errors figured out during 6 hours of failing to get it to work + if(my.rxBuf[16] == 0x10 || my.rxBuf[16] == 58) { // with the serial/bootloader auto-reset circuit on Arduino board + pmsg_error("debugWIRE transmission error, Aborting."); + msg_error("(make sure there are no caps and a pullup >= 10kOhm on the Reset line)\n"); + } else { + pmsg_error("%d\n", my.rxBuf[16]); + } + return -1; + } + const unsigned char get_sig [] = { // *screams* why was this function not in the scripts?? + 0x90, 0x0C, 0x03, 0x00, 0x00, 0x00, // Set reg to 0x03 + 0x1e, 0x45, 0x0C, // Send 0xF0 + reg and receive 2 bytes (found by trial and error) + 0x9D, // place word into status response + }; + if(pickit5_send_script_cmd(pgm, get_sig, sizeof(get_sig), NULL, 0) >= 0) { + unsigned char len = my.rxBuf[20]; + if(len == 0x02) { // if debugWIRE + my.devID[0] = 0x1E; // dW doesn't send the first byte, fill it in + my.devID[1] = my.rxBuf[25]; // Flip byte order + my.devID[2] = my.rxBuf[24]; + return 0; + } + } + return -1; } - if(pickit5_send_script(pgm, SCR_CMD, read_id, read_id_len, NULL, 0, 0) < 0) + if(pickit5_send_script_cmd(pgm, read_id, read_id_len, NULL, 0) < 0) { return -1; - if(pickit5_read_response(pgm, "Read Device ID") >= 0) { - if(my.rxBuf[0] == 0x0D) { - if(my.rxBuf[20] == 0x04) { - memcpy(my.devID, &my.rxBuf[24], 4); - return 0; + } + + if(my.rxBuf[0] == 0x0D) { + unsigned char len = my.rxBuf[20]; + if(len == 0x03 || len == 0x04) { // just DevId or UPDI with revision + memcpy(my.devID, &my.rxBuf[24], len); + } else { + if(my.hvupdi_enabled && p->hvupdi_variant == HV_UPDI_VARIANT_2) { + pmsg_info("failed to get DeviceID with activated HV Pulse on RST"); + msg_info("if the wiring is correct, try connecting a 16 V, 1 uF cap between RST and GND\n"); } else { - if(my.hvupdi_enabled && p->hvupdi_variant == HV_UPDI_VARIANT_2) { - pmsg_info("failed to get DeviceID with activated HV Pulse on RST\n"); - pmsg_info("if the wiring is correct, try connecting a 16 V, 1 uF cap between RST and GND\n"); - } + pmsg_error("length (%u) mismatch of returned Device ID.\n", len); } + return -1; } } - return -1; + return 0; } -static int pickit5_read_sib(const PROGRAMMER *pgm, const AVRPART *p, char *sib) { +static int pickit5_updi_read_sib(const PROGRAMMER *pgm, const AVRPART *p, char *sib) { pmsg_debug("%s()\n", __func__); const unsigned char *read_sib = my.scripts.ReadSIB; unsigned int read_sib_len = my.scripts.ReadSIB_len; - if(pickit5_send_script(pgm, SCR_CMD, read_sib, read_sib_len, NULL, 0, 0) < 0) - return -1; - if(pickit5_read_response(pgm, "Read SIB") < 0) + if(pickit5_send_script_cmd(pgm, read_sib, read_sib_len, NULL, 0) < 0) { return -1; + } unsigned int ret_len = pickit5_array_to_uint32(&(my.rxBuf[20])); if(ret_len == 32) { @@ -1026,17 +1392,21 @@ static int pickit5_read_sib(const PROGRAMMER *pgm, const AVRPART *p, char *sib) static int pickit5_read_chip_rev(const PROGRAMMER *pgm, const AVRPART *p, unsigned char *chip_rev) { pmsg_debug("%s()\n", __func__); - *chip_rev = my.devID[3]; + if(is_updi(pgm)) { // on UPDI Devices, the chip revision is sent as the 4th byte + *chip_rev = my.devID[3]; + } else { // for the rest, more research is neccessary. + chip_rev = 0x00; + } return 0; } -static int pickit5_write_cs_reg(const PROGRAMMER *pgm, unsigned int addr, unsigned char value) { - pmsg_debug("%s(%u, %i)", __func__, addr, value); +static int pickit5_updi_write_cs_reg(const PROGRAMMER *pgm, unsigned int addr, unsigned char value) { + pmsg_debug("%s(CS Addr: %u, Value:%i)\n", __func__, addr, value); const unsigned char *write_cs = my.scripts.WriteCSreg; unsigned int write_cs_len = my.scripts.WriteCSreg_len; if(addr > 0x0C) { - pmsg_error("CS reg %i out of range [0x00, 0x0C], addr\n", addr); + pmsg_error("CS reg %i out of range [0x00, 0x0C]\n", addr); return -1; } @@ -1045,20 +1415,16 @@ static int pickit5_write_cs_reg(const PROGRAMMER *pgm, unsigned int addr, unsign buf[0] = addr; buf[1] = value; - if(pickit5_send_script(pgm, SCR_CMD, write_cs, write_cs_len, buf, 2, 0) < 0) { - pmsg_error("sending script failed\n"); + if(pickit5_send_script_cmd(pgm, write_cs, write_cs_len, buf, 2) < 0) { + pmsg_error("CS reg write failed\n"); return -1; } - if(pickit5_read_response(pgm, "Write CS reg") < 0) { - pmsg_error("reading script response failed\n"); - return -1; - } return 1; } -static int pickit5_read_cs_reg(const PROGRAMMER *pgm, unsigned int addr, unsigned char *value) { - pmsg_debug("%s(%i)\n", __func__, addr); +static int pickit5_updi_read_cs_reg(const PROGRAMMER *pgm, unsigned int addr, unsigned char *value) { + pmsg_debug("%s(CS Addr: %u)\n", __func__, addr); const unsigned char *read_cs = my.scripts.ReadCSreg; unsigned int read_cs_len = my.scripts.ReadCSreg_len; @@ -1070,26 +1436,386 @@ static int pickit5_read_cs_reg(const PROGRAMMER *pgm, unsigned int addr, unsigne unsigned char buf[1]; buf[0] = addr; + int ret_val = pickit5_upload_data(pgm, read_cs, read_cs_len, buf, 1, value, 1); - if(pickit5_send_script(pgm, SCR_UPLOAD, read_cs, read_cs_len, buf, 1, 1) < 0) { + if(ret_val == -1) { pmsg_error("sending script failed\n"); return -1; - } - if(pickit5_read_response(pgm, "Read CS") < 0) { + } else if(ret_val == -2) { pmsg_error("unexpected read response\n"); return -1; - } - if(usbdev_data_recv(&pgm->fd, value, 1) < 0) { - pmsg_error("reading CS memory failed\n"); + } else if(ret_val == -3) { + pmsg_error("reading CS reg failed\n"); return -1; - } - if(pickit5_send_script_done(pgm, "Read CS") < 0) { + } else if(ret_val == -4) { pmsg_error("sending script done message failed\n"); return -1; } return 0; } + +static void pickit5_dw_switch_to_isp(const PROGRAMMER *pgm, const AVRPART *p) { + pmsg_debug("%s(%u)\n", __func__, my.dW_switched_isp); + if(my.dW_switched_isp == 0) { + if(pickit5_send_script_cmd(pgm, my.scripts.switchtoISP, my.scripts.switchtoISP_len, NULL, 0) >= 0) { + my.dW_switched_isp = 1; + pickit5_program_disable(pgm, p); + if(get_pickit_isp_script(&(my.scripts), p->desc) < 0) { + pmsg_error("failed switching scripts, aborting.\n"); + return; + } + pmsg_notice("switched to ISP mode\n"); + pickit5_set_sck_period(pgm, 1.0 / my.actual_pgm_clk); + pickit5_program_enable(pgm, p); + } + } +} + +static void pickit5_isp_switch_to_dw(const PROGRAMMER *pgm, const AVRPART *p) { + if(my.dW_switched_isp) { + // dW_switched_isp is set when accessing fuses where dW has to be switched to ISP + // we have to power cycle to switch back to dW so that the scripts work. + // For now, only support power-cycling through PICkit. + // Maybe in the future: monitor voltages and wait for voltage falling and rising + if(my.power_source == POWER_SOURCE_INT) { + pickit5_program_disable(pgm, p); + pickit5_set_vtarget(pgm, 0.0); // has a little delay already built in + if(get_pickit_dw_script(&(my.scripts), p->desc) < 0) { + pmsg_error("failed switching scripts, aborting.\n"); + return; + } + pickit5_set_vtarget(pgm, my.target_voltage); + pickit5_program_enable(pgm, p); + my.dW_switched_isp = 0; + } else { + pmsg_error("programmer switched the part to ISP mode when writing fuses."); + msg_error("to continue, the part has to be power cycled and the operation restarted.\n"); + } + } +} + + +// Original Script only supports doing all three bytes at once, +// doing a custom script felt easier to integrate into avrdude, +// especially as we already have all the programming commands in the .conf file +static int pickit5_isp_write_fuse(const PROGRAMMER *pgm, const AVRMEM *mem, unsigned char value) { + pmsg_debug("%s(offset: %i, val: %i)\n", __func__, mem->offset, value); + + unsigned int cmd; + avr_set_bits(mem->op[AVR_OP_WRITE], (unsigned char*)&cmd); + avr_set_addr(mem->op[AVR_OP_WRITE], (unsigned char*)&cmd, mem_fuse_offset(mem)); + avr_set_input(mem->op[AVR_OP_WRITE], (unsigned char*)&cmd, value); + + unsigned char write_fuse_isp [] = { + 0x90, 0x00, 0x32, 0x00, 0x00, 0x00, // load 0x32 to r00 + 0x1E, 0x37, 0x00, // Enable Programming? + 0x9F, // Send status byte from temp_reg to host + 0xA8, 0x00, 0x00, 0x00, 0x00, // ??? + 0x90, 0x01, (cmd >> 24), (cmd >> 16), (cmd >> 8), cmd, // load programming command to r01 (swapped bitorder) + 0x1E, 0x34, 0x01, // Execute write command placed in r01 + }; + unsigned int write_fuse_isp_len = sizeof(write_fuse_isp); + +/* + write_fuse_isp[14] = (uint8_t) cmd; // swap bitorder and fill array + write_fuse_isp[13] = (uint8_t) (cmd >> 8); + write_fuse_isp[12] = (uint8_t) (cmd >> 16); + write_fuse_isp[11] = (uint8_t) (cmd >> 24); +*/ + if(pickit5_send_script_cmd(pgm, write_fuse_isp, write_fuse_isp_len, NULL, 0) < 0) { + pmsg_error("write fuse script failed\n"); + return -1; + } + if(0x01 != my.rxBuf[20]) { // length + pmsg_error("write fuse script did not receive a status response\n"); + return -1; + } + if(0x00 != my.rxBuf[24]) { + pmsg_error("failed to start fuse write operation(%d)\n", my.rxBuf[24]); + return -1; + } + return 1; +} + +static int pickit5_isp_read_fuse(const PROGRAMMER *pgm, const AVRMEM *mem, unsigned long addr, unsigned char *value) { + pmsg_debug("%s(offset: %i)\n", __func__, mem->offset); + + unsigned int cmd; + avr_set_bits(mem->op[AVR_OP_READ], (unsigned char*)&cmd); + avr_set_addr(mem->op[AVR_OP_READ], (unsigned char*)&cmd, addr + mem->offset); + + + unsigned char read_fuse_isp [] = { // as we pull the command from avrdude's conf file, this isn't limited to fuses + 0x90, 0x00, 0x32, 0x00, 0x00, 0x00, // load 0x32 to r00 + 0x1E, 0x37, 0x00, // Enable Programming? + 0x9F, // Send status from temp_reg to host + 0xA8, 0x00, 0x00, 0x00, 0x00, // ??? + 0x90, 0x01, (cmd >> 24), (cmd >> 16), (cmd >> 8), cmd, // load programming command to r01 (swapped bitorder) + 0x9B, 0x02, 0x03, // load 0x03 to r02 + 0x9B, 0x03, 0x00, // load 0x00 to r03 + 0x1E, 0x35, 0x01, 0x02, 0x03, // Execute Command placed in r01 + 0x9F // Send data from temp_reg to host + }; + unsigned int read_fuse_isp_len = sizeof(read_fuse_isp); + +/* + read_fuse_isp[14] = (uint8_t) cmd; // swap bitorder and fill array + read_fuse_isp[13] = (uint8_t) (cmd >> 8); + read_fuse_isp[12] = (uint8_t) (cmd >> 16); + read_fuse_isp[11] = (uint8_t) (cmd >> 24); +*/ + if(pickit5_send_script_cmd(pgm, read_fuse_isp, read_fuse_isp_len, NULL, 0) < 0) { + pmsg_error("read fuse script failed\n"); + return -1; + } + if(0x02 != my.rxBuf[20]) { // length + pmsg_error("unexpected amount (%d) of bytes returned.\n", my.rxBuf[20]); + return -1; + } + if(0x00 != my.rxBuf[24]) { + pmsg_error("failed to start fuse read operation (%d)\n", my.rxBuf[24]); + return -1; + } + *value = my.rxBuf[25]; // return value + return 1; +} + + +// debugWIRE cannot write nor read fuses, have to change to ISP for that. +// Luckily, there is a custom script doing fuse access on ISP anyway, +// so no need to switch between script sets +static int pickit5_dw_write_fuse(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, unsigned char value) { + pickit5_dw_switch_to_isp(pgm, p); + return pickit5_isp_write_fuse(pgm, mem, value); +} + +static int pickit5_dw_read_fuse(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, unsigned char *value) { + pickit5_dw_switch_to_isp(pgm, p); + return pickit5_isp_read_fuse(pgm, mem, 0, value); +} + + +// gave JTAG also a custom script to make integration into avrdude +// easier. Also encodes all data in script itself instead of using paramters +static int pickit5_jtag_write_fuse(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, unsigned char value) { + pmsg_debug("%s(offset: %i, val: %i)\n", __func__, mem->offset, value); + unsigned char fuse_cmd = 0x33; // value for lfuse + unsigned char fuse_poll = 0x33; // value for lfuse + if(mem_is_hfuse(mem)) { + fuse_cmd = 0x37; + fuse_poll = 0x37; + } else if(mem_is_efuse(mem)) { + fuse_cmd = 0x3B; + fuse_poll = 0x37; + } + + unsigned char write_fuse_jtag [] = { + 0x9C, 0x00, 0x00, fuse_cmd, // Write fuse write command A to r00 + 0x9C, 0x06, 0x00, (fuse_cmd & 0xFD), // Write fuse write command B to r06 + 0x9C, 0x07, 0x00, fuse_poll, // Write fuse poll command to r07 + 0x9C, 0x01, value, 0x13, // Write new fuse value plus load command (0x13) into r01 + 0x9b, 0x02, 0x0F, // Set r02 to 0x0F + 0x9b, 0x03, 0x05, // Set r03 to 0x05 (PROG_COMMANDS) + 0x1e, 0x66, 0x03, // JTAG Write to Instruction Reg the value in r03 + 0x90, 0x04, 0x40, 0x23, 0x00, 0x00, // set r04 to 0x2340 (Enter Fuse Write) + 0x1e, 0x67, 0x04, 0x02, // JTAG: Write to Data Reg the value in r04 with a length in r02(16) + 0x1e, 0x67, 0x01, 0x02, // JTAG: Write to Data Reg the value in r01 with a length in r02(16) + + 0x1e, 0x67, 0x00, 0x02, // JTAG: Write to Data Reg the value in r00 with a length in r02(16) + 0x1e, 0x67, 0x06, 0x02, // JTAG: Write to Data Reg the value in r06 with a length in r02(16) + 0x1e, 0x67, 0x00, 0x02, // JTAG: Write to Data Reg the value in r00 with a length in r02(16) + 0x1e, 0x67, 0x00, 0x02, // JTAG: Write to Data Reg the value in r00 with a length in r02(16) + + 0xa2, // do + 0x1e, 0x6b, 0x07, 0x02, // JTAG: Write/read Data Reg the value in r07 with a length in r02(16) + 0xa5, 0x00, 0x02, 0x00, 0x00, // while ((temp_reg & 0x200) != 0x200) + 0x00, 0x02, 0x00, 0x00, 0x0a, 0x00, // + }; + unsigned int write_fuse_isp_len = sizeof(write_fuse_jtag); + + if(pickit5_send_script_cmd(pgm, write_fuse_jtag, write_fuse_isp_len, NULL, 0) < 0) { + pmsg_error("write fuse script failed\n"); + return -1; + } + return 1; +} + +static int pickit5_jtag_read_fuse(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, unsigned char *value) { + pmsg_debug("%s(offset: %i)\n", __func__, mem->offset); + + unsigned char fuse_cmd = 0x33; // value for lfuse + if(mem_is_hfuse(mem)) { + fuse_cmd = 0x3F; + } else if(mem_is_efuse(mem)) { + fuse_cmd = 0x3B; + } + + unsigned char read_fuse_jtag [] = { + 0x9C, 0x00, 0x00, fuse_cmd, // load fuse read command A in r00 + 0x9C, 0x01, 0x00, (fuse_cmd & 0xFE), // load fuse read command B in r01 + 0x9b, 0x02, 0x0f, // set r02 to 0x07 + 0x9b, 0x03, 0x05, // set r03 to 0x05 (PROG COMMANDS) + 0x1e, 0x66, 0x03, // Write JTAG Instruction in r03 + 0x9C, 0x04, 0x04, 0x23, // set r04 to 0x2304 (Enter Fuse Bit Read) + 0x1e, 0x67, 0x04, 0x02, // Write JTAG instruction in r04 with length in r02 (7 bits) + 0x1e, 0x67, 0x01, 0x02, // Write JTAG instruction in r01 with length in r02 (7 bits) + 0x1E, 0x6B, 0x00, 0x02, // Write JTAG instruction in r00 with length in r02 (7 bits) and shift data in + 0x9F, // Send temp-reg to return status + }; + + unsigned int read_fuse_jtag_len = sizeof(read_fuse_jtag); + + if(pickit5_send_script_cmd(pgm, read_fuse_jtag, read_fuse_jtag_len, NULL, 0) < 0) { + pmsg_error("read fuse script failed\n"); + return -1; + } + if(0x01 != my.rxBuf[20]) { // length + return -1; + } + *value = my.rxBuf[24]; // return value + return 1; +} + + +// TPI has an unified memory space, meaning that any memory (even SRAM) +// can be accessed by the same command, meaning that we don't need the +// decision tree found in the "read/write array" functions +static int pickit5_tpi_write(const PROGRAMMER *pgm, const AVRPART *p, + const AVRMEM *mem, unsigned long addr, int len, unsigned char *value) { + pmsg_debug("%s(%s, addr: 0x%04x, offset: %i, len: %i)\n", __func__, mem->desc, (unsigned int) addr, mem->offset, len); + + const unsigned char* write_bytes = my.scripts.WriteProgmem; + unsigned int write_bytes_len = my.scripts.WriteProgmem_len; + addr += mem->offset; + + unsigned char buf[8]; + + pickit5_uint32_to_array(&buf[0], addr); + pickit5_uint32_to_array(&buf[4], len); + + int rc = pickit5_download_data(pgm, write_bytes, write_bytes_len, buf, 8, value, len); + if(rc < 0) { + return -1; + } else { + return len; + } +} + +static int pickit5_tpi_read(const PROGRAMMER *pgm, const AVRPART *p, + const AVRMEM *mem, unsigned long addr, int len, unsigned char *value) { + pmsg_debug("%s(%s, addr: 0x%04x, offset: %i, len: %i)\n", __func__, mem->desc, (unsigned int) addr, mem->offset, len); + + const unsigned char* read_bytes = my.scripts.ReadProgmem; + unsigned int read_bytes_len = my.scripts.ReadProgmem_len; + + addr += mem->offset; + unsigned char buf[8]; + pickit5_uint32_to_array(&buf[0], addr); + pickit5_uint32_to_array(&buf[4], len); + int rc = pickit5_upload_data(pgm, read_bytes, read_bytes_len, buf, 8, value, len); + + if(rc < 0) { + return -1; + } else { + return len; + } +} + + +// There are often multiple memories located in prodsig, we try to read it once +// and handle all further requests through a buffer. +static int pickit5_read_prodsig(const PROGRAMMER *pgm, const AVRPART *p, + const AVRMEM *mem, unsigned long addr, int len, unsigned char *value) { + pmsg_debug("%s(%s, addr: 0x%04x, offset: %i, len: %i)\n", __func__, mem->desc, (unsigned int) addr, mem->offset, len); + int rc = 0; + + AVRMEM *prodsig = avr_locate_prodsig(p); + if(prodsig == NULL) { + return 0; // no prodsig on this device, try again in read_array + } + if(mem->offset < prodsig->offset || + (mem->offset + mem->size) > (prodsig->offset) + (prodsig->size)) { + return 0; // Requested memory not in prodsig, try again in read_array + } + + int max_mem_len = sizeof(my.prodsig); // Current devices have not more than 128 bytes + unsigned mem_len = (prodsig->size < max_mem_len)? prodsig->size: max_mem_len; + + if((addr + len) > mem_len) { + pmsg_warning("requested memory is outside of the progsig on the device\n"); + return 0; + } + + unsigned int prod_addr = addr + mem->offset - prodsig->offset; // adjust offset + + if(prod_addr == 0x00 || (my.prod_sig_len == 0x00)) { // update buffer + if(my.scripts.ReadConfigmem != NULL) { + unsigned char param_buf[8]; + pickit5_uint32_to_array(¶m_buf[0], prodsig->offset); + pickit5_uint32_to_array(¶m_buf[4], mem_len); + rc = pickit5_upload_data(pgm, my.scripts.ReadConfigmem, my.scripts.ReadConfigmem_len, param_buf, 8, my.prodsig, mem_len); + } else if(mem->op[AVR_OP_READ] != NULL) { + if(both_jtag(pgm, p)){ + const unsigned char read_prodsigmem_jtag [] = { + 0x90, 0x00, 0x00, 0x03, 0x00, 0x00, // set r00 to 0x0300 (Load Address byte command (0x3bb)) + 0x9b, 0x01, 0x0f, // set r01 to 0x0F + 0x9b, 0x02, 0x05, // set r02 to 0x05 (PROG COMMANDS) + 0x90, 0x03, 0x08, 0x23, 0x00, 0x00, // set r03 to 0x2308 (Enter Signature Read) + 0x90, 0x05, 0x00, 0x32, 0x00, 0x00, // set r05 to 0x3200 (Read Signature byte I) + 0x90, 0x06, 0x00, 0x33, 0x00, 0x00, // set r06 to 0x3300 (Read Signature byte II) + + 0xAC, mem_len, 0x00, // loop for mem length + 0x1e, 0x66, 0x02, // Write JTAG Instruction in r03 (PROG COMMANDS) + 0x1e, 0x67, 0x03, 0x01, // Write JTAG instruction in r02 with length in r01 (15 bits) + 0x1e, 0x67, 0x00, 0x01, // Write JTAG instruction in r00 with length in r01 (15 bits) + 0x1e, 0x67, 0x05, 0x01, // Write JTAG instruction in r05 with length in r01 (15 bits) + 0x1E, 0x6B, 0x06, 0x01, // Write JTAG instruction in r06 with length in r01 (15 bits) and shift data in + 0x9F, // Send temp-reg to return status + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, // increase address (r00) by 1 + 0xA4, // End of for loop + }; + rc = pickit5_upload_data(pgm, read_prodsigmem_jtag, sizeof(read_prodsigmem_jtag), NULL, 0, my.prodsig, mem_len); + } else if(is_isp(pgm)) { + // Ok, this one is tricky due to the lsb being on another position compared to the rest, + // The solution is to read two bytes in one while loop and toggle the LSB + const unsigned char read_prodsig_isp [] = { + 0x90, 0x00, 0x32, 0x00, 0x00, 0x00, // load 0x32 to r00 + 0x90, 0x01, 0x00, 0x00, 0x00, 0x30, // load programming command to r01 (the same on all) + 0x9B, 0x02, 0x03, // load 0x03 to r02 + 0x9B, 0x03, 0x00, // load 0x00 to r03 + 0x1E, 0x37, 0x00, // Enable Programming? + 0xAC, (mem_len / 2), 0x00, // loop for half the mem length + 0x1E, 0x35, 0x01, 0x02, 0x03, // Execute ISP Read command in r01 + 0x9F, // Send Data back to USB + 0x92, 0x01, 0x00, 0x00, 0x00, 0x08, // set LSB of prodsig address + 0x1E, 0x35, 0x01, 0x02, 0x03, // Execute ISP Read command in r01 + 0x9F, // Send Data back to USB + 0x69, 0x01, 0x00, 0x00, 0x00, 0x08, // clr LSB of prodsig address + 0x92, 0x01, 0x00, 0x01, 0x00, 0x00, // increase address by "2" + 0xA4, // End of for loop + }; + rc = pickit5_upload_data(pgm, read_prodsig_isp, sizeof(read_prodsig_isp), NULL, 0, my.prodsig, mem_len); + } else { + return 0; // debugWIRE + } + } else { + return 0; // part has no prodsig nor ReadConfigmem + } + } + if(rc >= 0) { // No errors, copy data + my.prod_sig_len = mem_len; + if(len == 1) { + *value = my.prodsig[prod_addr]; + } else { + memcpy(value, &my.prodsig[prod_addr], len); + } + return 1; // Success + } + return rc; // Error Code from transfer functions +} + + static int pickit5_get_fw_info(const PROGRAMMER *pgm) { pmsg_debug("%s()\n", __func__); unsigned char *buf = my.rxBuf; @@ -1118,9 +1844,6 @@ static int pickit5_get_fw_info(const PROGRAMMER *pgm) { } static int pickit5_set_vtarget(const PROGRAMMER *pgm, double v) { - if(my.pgm_type >= PGM_TYPE_SNAP) // SNAP can't supply power, ignore - return 0; - unsigned char set_vtarget[] = { 0x40, 0x00, 0x00, 0x00, 0x00, // Vdd @@ -1135,24 +1858,22 @@ static int pickit5_set_vtarget(const PROGRAMMER *pgm, double v) { 0x44 }; + if(my.pgm_type >= PGM_TYPE_SNAP) { // SNAP can't supply power, ignore + return 0; + } + if(v < 1.0) { // Anything below 1 V equals disabling Power pmsg_debug("%s(disable)\n", __func__); - if(pickit5_send_script(pgm, SCR_CMD, power_source, 5, NULL, 0, 0) < 0) - return -1; - if(pickit5_read_response(pgm, "Select external power source") < 0) + if(pickit5_send_script_cmd(pgm, power_source, 5, NULL, 0) < 0) return -1; - if(pickit5_send_script(pgm, SCR_CMD, disable_power, 1, NULL, 0, 0) < 0) - return -1; - if(pickit5_read_response(pgm, "Disabling Power") < 0) + if(pickit5_send_script_cmd(pgm, disable_power, 1, NULL, 0) < 0) return -1; usleep(50000); // There might be some caps, let them discharge } else { pmsg_debug("%s(%1.2f V)\n", __func__, v); power_source[1] = 0x01; - if(pickit5_send_script(pgm, SCR_CMD, power_source, 5, NULL, 0, 0) < 0) - return -1; - if(pickit5_read_response(pgm, "Select internal power source") < 0) + if(pickit5_send_script_cmd(pgm, power_source, 5, NULL, 0) < 0) return -1; int vtarg = (int) (v * 1000.0); @@ -1161,10 +1882,7 @@ static int pickit5_set_vtarget(const PROGRAMMER *pgm, double v) { pickit5_uint32_to_array(&set_vtarget[5], vtarg); pickit5_uint32_to_array(&set_vtarget[9], vtarg); - if(pickit5_send_script(pgm, SCR_CMD, set_vtarget, 15, NULL, 0, 0) < 0) - return -1; - - if(pickit5_read_response(pgm, "set_vtarget") < 0) + if(pickit5_send_script_cmd(pgm, set_vtarget, 15, NULL, 0) < 0) return -1; } return 0; @@ -1176,11 +1894,8 @@ static int pickit5_get_vtarget(const PROGRAMMER *pgm, double *v) { pmsg_debug("%s()\n", __func__); - if(pickit5_send_script(pgm, SCR_CMD, get_vtarget, 1, NULL, 0, 0) < 0) - return -1; - - if(pickit5_read_response(pgm, "get_vtarget") < 0) - return -1; + if(pickit5_send_script_cmd(pgm, get_vtarget, 1, NULL, 0) < 0) + return -1; // 24 - internal Vdd [mV] // 28 - target Vdd [mV] @@ -1197,7 +1912,7 @@ static int pickit5_get_vtarget(const PROGRAMMER *pgm, double *v) { static int pickit5_set_ptg_mode(const PROGRAMMER *pgm) { if(my.pgm_type >= PGM_TYPE_SNAP) // Don't bother if Programmer doesn't support PTG - return 0; // Side note: Bitmask would be probably better in the future + return 0; // Note: Bitmask would be probably better in the future unsigned char ptg_mode[] = { 0x5E, 0x00, 0x00, 0x00, 0x00, @@ -1206,66 +1921,12 @@ static int pickit5_set_ptg_mode(const PROGRAMMER *pgm) { pmsg_debug("%s()\n", __func__); - if(pickit5_send_script(pgm, SCR_UPLOAD, ptg_mode, 5, NULL, 0, 4) < 0) - return -1; - if(pickit5_read_response(pgm, "Set PTG mode") < 0) - return -1; - - if(usbdev_data_recv(&pgm->fd, buf, 4) < 0) - return -1; - if(pickit5_send_script_done(pgm, "Set PTG Mode") < 0) - return -1; - return 0; -} - -static int pickit5_get_status(const PROGRAMMER *pgm, unsigned char status) { - unsigned char *buf = my.txBuf; - const unsigned int type = 0x0105; - unsigned int key_len = 0; - - if(CHECK_ERROR == status) { - key_len = strlen("ERROR_STATUS_KEY") + 1; - memcpy(&buf[16], "ERROR_STATUS_KEY", key_len); - } else if(BIST_TEST == status) { - key_len = strlen("BIST Tested") + 1; - memcpy(&buf[16], "BIST Tested", key_len); - } else if(BIST_RESULT == status) { - key_len = strlen("BIST Results") + 1; - memcpy(&buf[16], "BIST Results", key_len); - } - if(0 == key_len) { - pmsg_error("unknown key type %d passed to %s()", status, __func__); - return -1; - } - unsigned int msg_len = 16 + key_len; - - pickit5_create_payload_header(buf, type, msg_len, 0); - serial_send(&pgm->fd, buf, msg_len); - serial_recv(&pgm->fd, my.rxBuf, 512); - if(pickit5_check_ret_status(pgm) < 0) { - return -1; - } - unsigned int status_len = pickit5_array_to_uint32(&(my.rxBuf[8])); - - if(status_len > 64) - status_len = 64; - my.rxBuf[16 + status_len] = 0x00; // Known zero-terminator - if(str_starts((const char *) &(my.rxBuf[16]), "NONE") == 0) { - pmsg_error("PICkit error status report: %s", buf); + if(pickit5_upload_data(pgm, ptg_mode, 5, NULL, 0, buf, 4)) { return -1; } return 0; } -inline static int pickit5_check_ret_status(const PROGRAMMER *pgm) { - unsigned char ret = my.rxBuf[0]; - - if(0x0D != ret) { - pmsg_error("PICkit5 bad response %i", ret); - return -1; - } - return 0; -} void pickit5_initpgm(PROGRAMMER *pgm) { strcpy(pgm->type, "pickit5"); @@ -1291,7 +1952,7 @@ void pickit5_initpgm(PROGRAMMER *pgm) { pgm->teardown = pickit5_teardown; pgm->set_sck_period = pickit5_set_sck_period; pgm->end_programming = pickit5_program_disable; - pgm->read_sib = pickit5_read_sib; + pgm->read_sib = pickit5_updi_read_sib; pgm->read_chip_rev = pickit5_read_chip_rev; pgm->set_vtarget = pickit5_set_vtarget; pgm->get_vtarget = pickit5_get_vtarget; @@ -1299,24 +1960,15 @@ void pickit5_initpgm(PROGRAMMER *pgm) { } -#if defined(HAVE_USB_H) -static int usb_fill_buf(const union filedescriptor *fd, int maxsize, int ep, int use_interrupt_xfer) { - int rv = (use_interrupt_xfer? usb_interrupt_read: usb_bulk_read)(fd->usb.handle, ep, cx->usb_buf, - maxsize, 10000); - - if(rv < 0) { - pmsg_notice2("%s(): usb_%s_read() error: %s\n", __func__, - use_interrupt_xfer? "interrupt": "bulk", usb_strerror()); - return -1; - } - cx->usb_buflen = rv; - cx->usb_bufptr = 0; +/* + The following functions are required to handle the data read and write Endpoints of the Pickit. + This functions are hardcoded on the Pickit endpoint numbers +*/ +#if defined(HAVE_USB_H) - return 0; -} -static int usbdev_data_recv(const union filedescriptor *fd, unsigned char *buf, size_t nbytes) { +static int usbdev_bulk_recv(const union filedescriptor *fd, unsigned char *buf, size_t nbytes) { int i, amnt; unsigned char *p = buf; @@ -1325,9 +1977,17 @@ static int usbdev_data_recv(const union filedescriptor *fd, unsigned char *buf, for(i = 0; nbytes > 0;) { if(cx->usb_buflen <= cx->usb_bufptr) { - if(usb_fill_buf(fd, fd->usb.max_xfer, USB_PK5_DATA_READ_EP, fd->usb.use_interrupt_xfer) < 0) + int rv = usb_bulk_read(fd->usb.handle, USB_PK5_DATA_READ_EP, cx->usb_buf, fd->usb.max_xfer, 10000); + + if(rv < 0) { + pmsg_notice2("%s(): usb_bulk_read() error: %s\n", __func__, usb_strerror()); return -1; + } + + cx->usb_buflen = rv; + cx->usb_bufptr = 0; } + amnt = cx->usb_buflen - cx->usb_bufptr > (int) nbytes? (int) nbytes: cx->usb_buflen - cx->usb_bufptr; memcpy(buf + i, cx->usb_buf + cx->usb_bufptr, amnt); cx->usb_bufptr += amnt; @@ -1341,11 +2001,10 @@ static int usbdev_data_recv(const union filedescriptor *fd, unsigned char *buf, return 0; } -static int usbdev_data_send(const union filedescriptor *fd, const unsigned char *bp, size_t mlen) { +static int usbdev_bulk_send(const union filedescriptor *fd, const unsigned char *bp, size_t mlen) { int rv; - int i = mlen; const unsigned char *p = bp; - int tx_size; + int tx_size, i = mlen; if(fd->usb.handle == NULL) return -1; @@ -1358,22 +2017,22 @@ static int usbdev_data_send(const union filedescriptor *fd, const unsigned char */ do { tx_size = ((int) mlen < fd->usb.max_xfer)? (int) mlen: fd->usb.max_xfer; - if(fd->usb.use_interrupt_xfer) - rv = usb_interrupt_write(fd->usb.handle, USB_PK5_DATA_WRITE_EP, (char *) bp, tx_size, 10000); - else - rv = usb_bulk_write(fd->usb.handle, USB_PK5_DATA_WRITE_EP, (char *) bp, tx_size, 10000); + + rv = usb_bulk_write(fd->usb.handle, USB_PK5_DATA_WRITE_EP, (char *) bp, tx_size, 10000); if(rv != tx_size) { pmsg_error("wrote %d out of %d bytes, err = %s\n", rv, tx_size, usb_strerror()); return -1; } bp += tx_size; mlen -= tx_size; + i += tx_size; } while(mlen > 0); if(verbose > 3) trace_buffer(__func__, p, i); return 0; } + #else /* @@ -1382,11 +2041,11 @@ static int usbdev_data_send(const union filedescriptor *fd, const unsigned char * This does not seem to be possible with usbhid */ -static int usbdev_data_recv(const union filedescriptor *fd, unsigned char *buf, size_t nbytes) { +static int usbdev_bulk_recv(const union filedescriptor *fd, unsigned char *buf, size_t nbytes) { return -1; } -static int usbdev_data_send(const union filedescriptor *fd, const unsigned char *bp, size_t mlen) { +static int usbdev_bulk_send(const union filedescriptor *fd, const unsigned char *bp, size_t mlen) { return -1; } #endif diff --git a/src/pickit5_lut.h b/src/pickit5_lut.h index 27b4c3327..3c03e1cd0 100644 --- a/src/pickit5_lut.h +++ b/src/pickit5_lut.h @@ -1,4 +1,6 @@ -/* This file was auto-generated by scripts_decoder.py, any changes will be overwritten */ +/* This file was auto-generated by scripts_decoder.py. + * Any changes will be overwritten on regeneration + */ /* * avrdude - A Downloader/Uploader for AVR device programmers @@ -61,20 +63,41 @@ struct avr_script_lut { unsigned int ReadMem8_len; const unsigned char *WriteConfigmem; unsigned int WriteConfigmem_len; + const unsigned char *WriteConfigmemFuse; + unsigned int WriteConfigmemFuse_len; + const unsigned char *WriteConfigmemLock; + unsigned int WriteConfigmemLock_len; const unsigned char *ReadConfigmem; unsigned int ReadConfigmem_len; + const unsigned char *ReadConfigmemFuse; + unsigned int ReadConfigmemFuse_len; + const unsigned char *ReadConfigmemLock; + unsigned int ReadConfigmemLock_len; const unsigned char *WriteIDmem; unsigned int WriteIDmem_len; const unsigned char *ReadIDmem; unsigned int ReadIDmem_len; const unsigned char *ReadSIB; unsigned int ReadSIB_len; + const unsigned char *switchtoISP; + unsigned int switchtoISP_len; + const unsigned char *ReadCalibrationByte; + unsigned int ReadCalibrationByte_len; + const unsigned char *WriteBootMem; + unsigned int WriteBootMem_len; + const unsigned char *ReadBootMem; + unsigned int ReadBootMem_len; }; typedef struct avr_script_lut SCRIPT; const unsigned char * get_devid_script_by_nvm_ver(unsigned char version); +int get_pickit_dw_script(SCRIPT *scr, const char *partdesc); +int get_pickit_isp_script(SCRIPT *scr, const char *partdesc); +int get_pickit_jtag_script(SCRIPT *scr, const char *partdesc); int get_pickit_updi_script(SCRIPT *scr, const char *partdesc); +int get_pickit_pdi_script(SCRIPT *scr, const char *partdesc); +int get_pickit_tpi_script(SCRIPT *scr, const char *partdesc); #ifdef __cplusplus } diff --git a/src/pickit5_lut_dw.c b/src/pickit5_lut_dw.c new file mode 100644 index 000000000..294e1431c --- /dev/null +++ b/src/pickit5_lut_dw.c @@ -0,0 +1,4441 @@ +/* This file was auto-generated by scripts_decoder.py. + * Any changes will be overwritten on regeneration + */ + +/* + * avrdude - A Downloader/Uploader for AVR device programmers + * Copyright (C) 2024 MX682X + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include +#include +#include "pickit5_lut.h" + + +const unsigned char EnterProgMode_dw_0[2] = { + 0x1e, 0x4a, +}; + +const unsigned char ExitProgMode_dw_0[31] = { + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x1e, 0x4e, 0x90, 0x0c, 0x30, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x4c, +}; + +const unsigned char EraseChip_dw_0[1] = { + 0xaf, +}; + +const unsigned char WriteProgmem_dw_0[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x40, 0x00, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x40, 0x00, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x80, 0x0f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x80, 0x0f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x80, 0x0f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x80, 0x0f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x01, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x20, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x80, 0x0f, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x80, 0x0f, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x01, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x11, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x80, 0x0f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x80, + 0x0f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x80, 0x0f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x80, 0x0f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteProgmem_dw_1[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x80, 0x00, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x80, 0x00, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x80, 0x0f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x80, 0x0f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x80, 0x0f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x80, 0x0f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x80, 0x00, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x01, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x40, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x80, 0x0f, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x80, 0x0f, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x01, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x11, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x80, 0x0f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x80, + 0x0f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x80, 0x0f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x80, 0x0f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteProgmem_dw_2[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x80, 0x00, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x80, 0x00, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x00, 0x1f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x00, 0x1f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x00, 0x1f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x00, 0x1f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x80, 0x00, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x01, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x40, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x00, 0x1f, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x00, 0x1f, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x01, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x11, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x00, 0x1f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x00, + 0x1f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x00, 0x1f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x00, 0x1f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteProgmem_dw_3[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x80, 0x00, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x80, 0x00, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x80, 0x1f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x80, 0x1f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x80, 0x1f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x80, 0x1f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x80, 0x00, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x01, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x40, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x80, 0x1f, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x80, 0x1f, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x01, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x11, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x80, 0x1f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x80, + 0x1f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x80, 0x1f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x80, 0x1f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteProgmem_dw_4[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x80, 0x00, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x80, 0x00, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x80, 0x00, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x01, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x40, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x01, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x11, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteProgmem_dw_5[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x80, 0x00, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x80, 0x00, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x00, 0x3f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x00, 0x3f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x00, 0x3f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x00, 0x3f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x80, 0x00, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x01, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x40, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x00, 0x3f, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x00, 0x3f, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x01, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x11, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x00, 0x3f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x00, + 0x3f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x00, 0x3f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x00, 0x3f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteProgmem_dw_6[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x40, 0x00, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x40, 0x00, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x01, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x20, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x01, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x11, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteProgmem_dw_7[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x00, 0x01, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x00, 0x01, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x00, 0x7e, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x00, 0x7e, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x80, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x00, 0x7e, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x00, 0x7e, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x00, 0x01, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x01, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x80, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x00, 0x7e, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x00, 0x7e, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x01, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x11, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x00, 0x7e, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x00, + 0x7e, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x00, 0x7e, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x00, 0x7e, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteProgmem_dw_8[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x80, 0x00, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x80, 0x00, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x00, 0x7e, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x00, 0x7e, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x00, 0x7e, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x00, 0x7e, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x80, 0x00, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x01, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x40, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x00, 0x7e, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x00, 0x7e, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x01, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x11, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x00, 0x7e, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x00, + 0x7e, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x00, 0x7e, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x00, 0x7e, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteProgmem_dw_9[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x80, 0x00, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x80, 0x00, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x00, 0x0f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x00, 0x0f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x00, 0x0f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x00, 0x0f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x80, 0x00, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x01, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x40, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x00, 0x0f, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x00, 0x0f, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x01, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x11, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x00, 0x0f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x00, + 0x0f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x00, 0x0f, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x00, 0x0f, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteProgmem_dw_10[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x2e, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x20, 0x00, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x2e, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x10, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x01, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x10, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x0e, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x1e, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteProgmem_dw_11[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x2e, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x20, 0x00, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x2e, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x10, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x04, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x10, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x0e, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x1e, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteProgmem_dw_12[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x1f, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x20, 0x00, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x1f, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x10, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x01, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x10, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x0f, 0xb2, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x1f, 0xb2, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteProgmem_dw_13[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x27, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x20, 0x00, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x27, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x10, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x01, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x10, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x07, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x17, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteProgmem_dw_14[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x22, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x20, 0x00, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x22, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x10, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x01, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x10, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x02, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x12, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteProgmem_dw_15[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x20, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x20, 0x00, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x10, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x01, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x10, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x00, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x10, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteProgmem_dw_16[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x27, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x40, 0x00, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x40, 0x00, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x27, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x01, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x20, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x07, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x17, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteProgmem_dw_17[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x27, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x10, 0x00, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x10, 0x00, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x27, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x08, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x10, 0x00, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x04, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x08, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x07, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x17, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteProgmem_dw_18[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x22, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x40, 0x00, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x40, 0x00, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x22, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x01, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x20, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x02, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x12, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteProgmem_dw_19[1610] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x59, 0x0c, 0x0d, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0x03, 0x3f, 0x00, 0x00, 0x00, + 0x6e, 0x02, 0x03, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x20, 0x00, 0x00, 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, + 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x60, 0x05, 0x01, 0x90, 0x06, 0x40, 0x00, 0x00, + 0x00, 0xfa, 0x05, 0x06, 0xfc, 0x00, 0x60, 0x07, 0x05, 0xfb, 0x02, 0x01, 0x90, 0x07, 0x40, 0x00, + 0x00, 0x00, 0x6a, 0x05, 0x07, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x23, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x03, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0xcc, 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, + 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0xfb, 0xd1, + 0x01, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x02, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x03, 0x90, 0x04, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x46, 0x04, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x02, 0x1e, 0x47, + 0x00, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, + 0x02, 0xcf, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x90, 0x03, + 0x02, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x03, 0xc5, 0x02, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x90, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x01, 0x00, 0x00, 0x00, 0xad, 0x04, 0x6e, 0x03, 0x02, + 0xae, 0x60, 0x04, 0x00, 0x93, 0x04, 0x03, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xad, 0x04, + 0x6e, 0x03, 0x02, 0xae, 0x60, 0x04, 0x00, 0x6a, 0x04, 0x03, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0x02, 0xfb, 0x11, 0x03, 0x90, 0x18, 0xa7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x03, + 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x0c, + 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x55, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x02, + 0x03, 0x90, 0x06, 0x20, 0x00, 0x00, 0x00, 0xad, 0x06, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x03, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x19, 0x00, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x99, 0x01, 0x1e, 0x46, 0x01, 0x90, 0x19, 0x10, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x01, + 0x1e, 0x46, 0x01, 0x90, 0x18, 0xb7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, + 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x02, 0x32, 0x96, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0xae, 0x90, + 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xed, 0x03, 0x90, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, 0x90, 0x02, 0xfc, + 0x01, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, 0x0c, 0x23, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, + 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, 0x90, + 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x55, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x04, + 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x03, + 0x90, 0x02, 0xc1, 0xe1, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x02, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xc7, 0xbf, 0x00, 0x00, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x02, 0xe8, 0x95, 0x00, 0x00, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x02, 0x90, 0x0c, 0x33, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x51, 0x1e, 0x54, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x55, 0x90, 0x02, 0x57, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x46, 0x1e, 0x6e, 0x00, 0x07, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x05, 0x08, 0xeb, + 0x00, 0x90, 0x02, 0x5f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, + 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char ReadProgmem_dw_0[302] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x59, 0x0c, 0x0d, 0x60, 0x02, 0x01, 0x90, 0x03, 0x40, 0x00, 0x00, 0x00, 0xfa, 0x02, + 0x03, 0x49, 0x00, 0x60, 0x04, 0x02, 0xfb, 0x4f, 0x00, 0x90, 0x04, 0x40, 0x00, 0x00, 0x00, 0x6a, + 0x02, 0x04, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x00, 0x90, 0x0c, + 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, + 0x80, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x40, 0x00, 0x00, 0x00, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6e, 0x00, 0x04, 0x90, 0x05, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x02, + 0x05, 0x38, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char ReadProgmem_dw_1[302] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x59, 0x0c, 0x0d, 0x60, 0x02, 0x01, 0x90, 0x03, 0x80, 0x00, 0x00, 0x00, 0xfa, 0x02, + 0x03, 0x49, 0x00, 0x60, 0x04, 0x02, 0xfb, 0x4f, 0x00, 0x90, 0x04, 0x80, 0x00, 0x00, 0x00, 0x6a, + 0x02, 0x04, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x00, 0x90, 0x0c, + 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, + 0x00, 0x01, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x80, 0x00, 0x00, 0x00, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6e, 0x00, 0x04, 0x90, 0x05, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x02, + 0x05, 0x38, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char ReadProgmem_dw_2[302] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x59, 0x0c, 0x0d, 0x60, 0x02, 0x01, 0x90, 0x03, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x02, + 0x03, 0x49, 0x00, 0x60, 0x04, 0x02, 0xfb, 0x4f, 0x00, 0x90, 0x04, 0x00, 0x01, 0x00, 0x00, 0x6a, + 0x02, 0x04, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x00, 0x90, 0x0c, + 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, + 0x00, 0x02, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x01, 0x00, 0x00, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6e, 0x00, 0x04, 0x90, 0x05, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x02, + 0x05, 0x38, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char ReadProgmem_dw_3[302] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x59, 0x0c, 0x0d, 0x60, 0x02, 0x01, 0x90, 0x03, 0x20, 0x00, 0x00, 0x00, 0xfa, 0x02, + 0x03, 0x49, 0x00, 0x60, 0x04, 0x02, 0xfb, 0x4f, 0x00, 0x90, 0x04, 0x20, 0x00, 0x00, 0x00, 0x6a, + 0x02, 0x04, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x00, 0x90, 0x0c, + 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, + 0x40, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x20, 0x00, 0x00, 0x00, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6e, 0x00, 0x04, 0x90, 0x05, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x02, + 0x05, 0x38, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char ReadProgmem_dw_4[302] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, + 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x59, 0x0c, 0x0d, 0x60, 0x02, 0x01, 0x90, 0x03, 0x10, 0x00, 0x00, 0x00, 0xfa, 0x02, + 0x03, 0x49, 0x00, 0x60, 0x04, 0x02, 0xfb, 0x4f, 0x00, 0x90, 0x04, 0x10, 0x00, 0x00, 0x00, 0x6a, + 0x02, 0x04, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x00, 0x90, 0x0c, + 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, + 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x10, 0x00, 0x00, 0x00, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6e, 0x00, 0x04, 0x90, 0x05, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x02, + 0x05, 0x38, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, + 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x5a, +}; + +const unsigned char WriteDataEEmem_dw_0[1728] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x0b, 0x01, 0x93, 0x0b, 0x04, 0x00, 0x90, 0x02, 0x3f, 0x00, 0x00, + 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, + 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1c, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, + 0x31, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, + 0x1d, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xb5, + 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, + 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0x90, 0x02, 0x42, 0x00, + 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x90, 0x0a, 0x04, 0x00, 0x00, 0x00, 0xad, 0x0a, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x0c, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x46, + 0x0c, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x1e, 0x47, 0x00, 0x90, + 0x18, 0xf2, 0xbd, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xe1, 0xbd, 0x00, 0x00, 0x90, 0x0c, + 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x90, 0x19, 0x01, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x0c, 0x1e, 0x46, 0x0c, 0x90, + 0x18, 0x00, 0xbc, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xaf, 0xbb, 0x00, 0x00, 0x90, 0x0c, + 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x90, 0x18, 0xbf, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x94, 0x0a, 0x00, 0x92, 0x00, 0x01, + 0x00, 0x00, 0x00, 0xae, 0x90, 0x02, 0x3f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, + 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x46, 0x1c, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1d, + 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1e, 0x90, 0x02, + 0x42, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, + 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, 0x02, 0x01, 0x00, + 0x00, 0x00, 0x6a, 0x0b, 0x02, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x06, 0xfb, 0x0b, 0x00, +}; + +const unsigned char WriteDataEEmem_dw_1[1728] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x0b, 0x01, 0x93, 0x0b, 0x04, 0x00, 0x90, 0x02, 0x3c, 0x00, 0x00, + 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, + 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, + 0x31, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, + 0x1d, 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xb5, + 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, + 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0x90, 0x02, 0x3f, 0x00, + 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x90, 0x0a, 0x04, 0x00, 0x00, 0x00, 0xad, 0x0a, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x0c, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x46, + 0x0c, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x1e, 0x47, 0x00, 0x90, + 0x18, 0xff, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xee, 0xbb, 0x00, 0x00, 0x90, 0x0c, + 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x90, 0x19, 0x01, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x0c, 0x1e, 0x46, 0x0c, 0x90, + 0x18, 0x0d, 0xba, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xac, 0xbb, 0x00, 0x00, 0x90, 0x0c, + 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x90, 0x18, 0xbc, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x94, 0x0a, 0x00, 0x92, 0x00, 0x01, + 0x00, 0x00, 0x00, 0xae, 0x90, 0x02, 0x3c, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, + 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x46, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1d, + 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1e, 0x90, 0x02, + 0x3f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, + 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, 0x02, 0x01, 0x00, + 0x00, 0x00, 0x6a, 0x0b, 0x02, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x06, 0xfb, 0x0b, 0x00, +}; + +const unsigned char WriteDataEEmem_dw_2[1728] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x0b, 0x01, 0x93, 0x0b, 0x08, 0x00, 0x90, 0x02, 0x3f, 0x00, 0x00, + 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, + 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1c, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, + 0x31, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, + 0x1d, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xb5, + 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, + 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0x90, 0x02, 0x42, 0x00, + 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x90, 0x0a, 0x08, 0x00, 0x00, 0x00, 0xad, 0x0a, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x0c, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x46, + 0x0c, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x1e, 0x47, 0x00, 0x90, + 0x18, 0xf2, 0xbd, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xe1, 0xbd, 0x00, 0x00, 0x90, 0x0c, + 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x90, 0x19, 0x01, 0xb6, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x0c, 0x1e, 0x46, 0x0c, 0x90, + 0x18, 0x00, 0xbc, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xaf, 0xbb, 0x00, 0x00, 0x90, 0x0c, + 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x90, 0x18, 0xbf, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x94, 0x0a, 0x00, 0x92, 0x00, 0x01, + 0x00, 0x00, 0x00, 0xae, 0x90, 0x02, 0x3f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, + 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x46, 0x1c, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1d, + 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1e, 0x90, 0x02, + 0x42, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, + 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, 0x02, 0x01, 0x00, + 0x00, 0x00, 0x6a, 0x0b, 0x02, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x06, 0xfb, 0x0b, 0x00, +}; + +const unsigned char WriteDataEEmem_dw_3[1728] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x0b, 0x01, 0x93, 0x0b, 0x04, 0x00, 0x90, 0x02, 0x3c, 0x00, 0x00, + 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x2e, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, + 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, + 0x2e, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, + 0x1d, 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x2e, 0x00, 0x00, 0x00, 0xb5, + 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, + 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0x90, 0x02, 0x3f, 0x00, + 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x2e, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x90, 0x0a, 0x04, 0x00, 0x00, 0x00, 0xad, 0x0a, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x0c, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x46, + 0x0c, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x1e, 0x47, 0x00, 0x90, + 0x18, 0xff, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xee, 0xbb, 0x00, 0x00, 0x90, 0x0c, + 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x90, 0x19, 0x0e, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x0c, 0x1e, 0x46, 0x0c, 0x90, + 0x18, 0x0d, 0xba, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xac, 0xbb, 0x00, 0x00, 0x90, 0x0c, + 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x90, 0x18, 0xbc, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x94, 0x0a, 0x00, 0x92, 0x00, 0x01, + 0x00, 0x00, 0x00, 0xae, 0x90, 0x02, 0x3c, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, + 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x46, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1d, + 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1e, 0x90, 0x02, + 0x3f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, + 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, 0x02, 0x01, 0x00, + 0x00, 0x00, 0x6a, 0x0b, 0x02, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x06, 0xfb, 0x0b, 0x00, +}; + +const unsigned char WriteDataEEmem_dw_4[1728] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x0b, 0x01, 0x93, 0x0b, 0x04, 0x00, 0x90, 0x02, 0x3c, 0x00, 0x00, + 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x1f, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, + 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, + 0x1f, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, + 0x1d, 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x1f, 0x00, 0x00, 0x00, 0xb5, + 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, + 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0x90, 0x02, 0x3f, 0x00, + 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x1f, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x90, 0x0a, 0x04, 0x00, 0x00, 0x00, 0xad, 0x0a, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x0c, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x46, + 0x0c, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x1e, 0x47, 0x00, 0x90, + 0x18, 0xff, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xee, 0xbb, 0x00, 0x00, 0x90, 0x0c, + 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x90, 0x19, 0x0f, 0xb2, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x0c, 0x1e, 0x46, 0x0c, 0x90, + 0x18, 0x0d, 0xba, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xac, 0xbb, 0x00, 0x00, 0x90, 0x0c, + 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x90, 0x18, 0xbc, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x94, 0x0a, 0x00, 0x92, 0x00, 0x01, + 0x00, 0x00, 0x00, 0xae, 0x90, 0x02, 0x3c, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, + 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x46, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1d, + 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1e, 0x90, 0x02, + 0x3f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, + 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, 0x02, 0x01, 0x00, + 0x00, 0x00, 0x6a, 0x0b, 0x02, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x06, 0xfb, 0x0b, 0x00, +}; + +const unsigned char WriteDataEEmem_dw_5[1728] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x0b, 0x01, 0x93, 0x0b, 0x04, 0x00, 0x90, 0x02, 0x3c, 0x00, 0x00, + 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x27, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, + 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, + 0x27, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, + 0x1d, 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x27, 0x00, 0x00, 0x00, 0xb5, + 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, + 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0x90, 0x02, 0x3f, 0x00, + 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x27, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x90, 0x0a, 0x04, 0x00, 0x00, 0x00, 0xad, 0x0a, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x0c, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x46, + 0x0c, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x1e, 0x47, 0x00, 0x90, + 0x18, 0xff, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xee, 0xbb, 0x00, 0x00, 0x90, 0x0c, + 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x90, 0x19, 0x07, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x0c, 0x1e, 0x46, 0x0c, 0x90, + 0x18, 0x0d, 0xba, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xac, 0xbb, 0x00, 0x00, 0x90, 0x0c, + 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x90, 0x18, 0xbc, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x94, 0x0a, 0x00, 0x92, 0x00, 0x01, + 0x00, 0x00, 0x00, 0xae, 0x90, 0x02, 0x3c, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, + 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x46, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1d, + 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1e, 0x90, 0x02, + 0x3f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, + 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, 0x02, 0x01, 0x00, + 0x00, 0x00, 0x6a, 0x0b, 0x02, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x06, 0xfb, 0x0b, 0x00, +}; + +const unsigned char WriteDataEEmem_dw_6[1728] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x0b, 0x01, 0x93, 0x0b, 0x04, 0x00, 0x90, 0x02, 0x3c, 0x00, 0x00, + 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x22, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, + 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, + 0x22, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, + 0x1d, 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x22, 0x00, 0x00, 0x00, 0xb5, + 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, + 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0x90, 0x02, 0x3f, 0x00, + 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x22, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x90, 0x0a, 0x04, 0x00, 0x00, 0x00, 0xad, 0x0a, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x0c, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x46, + 0x0c, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x1e, 0x47, 0x00, 0x90, + 0x18, 0xff, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xee, 0xbb, 0x00, 0x00, 0x90, 0x0c, + 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x90, 0x19, 0x02, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x0c, 0x1e, 0x46, 0x0c, 0x90, + 0x18, 0x0d, 0xba, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xac, 0xbb, 0x00, 0x00, 0x90, 0x0c, + 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x90, 0x18, 0xbc, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x94, 0x0a, 0x00, 0x92, 0x00, 0x01, + 0x00, 0x00, 0x00, 0xae, 0x90, 0x02, 0x3c, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, + 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x46, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1d, + 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1e, 0x90, 0x02, + 0x3f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, + 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, 0x02, 0x01, 0x00, + 0x00, 0x00, 0x6a, 0x0b, 0x02, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x06, 0xfb, 0x0b, 0x00, +}; + +const unsigned char WriteDataEEmem_dw_7[1728] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x0b, 0x01, 0x93, 0x0b, 0x04, 0x00, 0x90, 0x02, 0x3c, 0x00, 0x00, + 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x20, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, + 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, + 0x20, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, + 0x1d, 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x20, 0x00, 0x00, 0x00, 0xb5, + 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, + 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0x90, 0x02, 0x3f, 0x00, + 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x20, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x90, 0x0a, 0x04, 0x00, 0x00, 0x00, 0xad, 0x0a, 0x90, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, + 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x0c, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x46, + 0x0c, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x1e, 0x47, 0x00, 0x90, + 0x18, 0xff, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xee, 0xbb, 0x00, 0x00, 0x90, 0x0c, + 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x90, 0x19, 0x00, 0xb4, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x99, 0x0c, 0x1e, 0x46, 0x0c, 0x90, + 0x18, 0x0d, 0xba, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, + 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xac, 0xbb, 0x00, 0x00, 0x90, 0x0c, + 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x90, 0x18, 0xbc, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x94, 0x0a, 0x00, 0x92, 0x00, 0x01, + 0x00, 0x00, 0x00, 0xae, 0x90, 0x02, 0x3c, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, + 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x46, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1d, + 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1e, 0x90, 0x02, + 0x3f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, + 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, 0x02, 0x01, 0x00, + 0x00, 0x00, 0x6a, 0x0b, 0x02, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x06, 0xfb, 0x0b, 0x00, +}; + +const unsigned char ReadDataEEmem_dw_0[1648] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x0b, 0x01, 0x93, 0x0b, 0x04, 0x00, 0x90, 0x02, 0x3f, 0x00, 0x00, + 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, + 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1c, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, + 0x31, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, + 0x1d, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xb5, + 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, + 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0x90, 0x02, 0x42, 0x00, + 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x90, 0x0a, 0x04, 0x00, 0x00, 0x00, 0xad, 0x0a, 0x95, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1c, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x1e, 0x47, 0x00, 0x90, 0x18, + 0xf2, 0xbd, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, + 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xe1, 0xbd, 0x00, 0x00, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x90, 0x18, 0xcf, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x19, 0x00, 0xb4, 0x00, 0x00, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x18, 0x01, 0xbe, 0x00, 0x00, 0x1e, 0x5b, 0x18, 0x9f, 0x96, 0x92, 0x00, 0x01, + 0x00, 0x00, 0x00, 0xae, 0x90, 0x02, 0x3f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, + 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x46, 0x1c, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1d, + 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1e, 0x90, 0x02, + 0x42, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, + 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, 0x02, 0x01, 0x00, + 0x00, 0x00, 0x6a, 0x0b, 0x02, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x70, 0x06, 0xfb, 0x0b, 0x00, +}; + +const unsigned char ReadDataEEmem_dw_1[1648] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x0b, 0x01, 0x93, 0x0b, 0x04, 0x00, 0x90, 0x02, 0x3c, 0x00, 0x00, + 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, + 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, + 0x31, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, + 0x1d, 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xb5, + 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, + 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0x90, 0x02, 0x3f, 0x00, + 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x90, 0x0a, 0x04, 0x00, 0x00, 0x00, 0xad, 0x0a, 0x95, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1c, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x1e, 0x47, 0x00, 0x90, 0x18, + 0xff, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, + 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xee, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x90, 0x18, 0xcc, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x19, 0x0d, 0xb2, 0x00, 0x00, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x18, 0x01, 0xbe, 0x00, 0x00, 0x1e, 0x5b, 0x18, 0x9f, 0x96, 0x92, 0x00, 0x01, + 0x00, 0x00, 0x00, 0xae, 0x90, 0x02, 0x3c, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, + 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x46, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1d, + 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1e, 0x90, 0x02, + 0x3f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, + 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, 0x02, 0x01, 0x00, + 0x00, 0x00, 0x6a, 0x0b, 0x02, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x70, 0x06, 0xfb, 0x0b, 0x00, +}; + +const unsigned char ReadDataEEmem_dw_2[1648] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x0b, 0x01, 0x93, 0x0b, 0x08, 0x00, 0x90, 0x02, 0x3f, 0x00, 0x00, + 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, + 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1c, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, + 0x31, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, + 0x1d, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xb5, + 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, + 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0x90, 0x02, 0x42, 0x00, + 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x31, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x90, 0x0a, 0x08, 0x00, 0x00, 0x00, 0xad, 0x0a, 0x95, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1c, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x1e, 0x47, 0x00, 0x90, 0x18, + 0xf2, 0xbd, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, + 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xe1, 0xbd, 0x00, 0x00, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x90, 0x18, 0xcf, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x19, 0x00, 0xb4, 0x00, 0x00, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x18, 0x01, 0xbe, 0x00, 0x00, 0x1e, 0x5b, 0x18, 0x9f, 0x96, 0x92, 0x00, 0x01, + 0x00, 0x00, 0x00, 0xae, 0x90, 0x02, 0x3f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, + 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x46, 0x1c, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1d, + 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1e, 0x90, 0x02, + 0x42, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, + 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, 0x02, 0x01, 0x00, + 0x00, 0x00, 0x6a, 0x0b, 0x02, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x70, 0x06, 0xfb, 0x0b, 0x00, +}; + +const unsigned char ReadDataEEmem_dw_3[1648] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x0b, 0x01, 0x93, 0x0b, 0x04, 0x00, 0x90, 0x02, 0x3c, 0x00, 0x00, + 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x2e, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, + 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, + 0x2e, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, + 0x1d, 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x2e, 0x00, 0x00, 0x00, 0xb5, + 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, + 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0x90, 0x02, 0x3f, 0x00, + 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x2e, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x90, 0x0a, 0x04, 0x00, 0x00, 0x00, 0xad, 0x0a, 0x95, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1c, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x1e, 0x47, 0x00, 0x90, 0x18, + 0xff, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, + 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xee, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x90, 0x18, 0xcc, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x19, 0x0d, 0xb2, 0x00, 0x00, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x18, 0x0e, 0xbc, 0x00, 0x00, 0x1e, 0x5b, 0x18, 0x9f, 0x96, 0x92, 0x00, 0x01, + 0x00, 0x00, 0x00, 0xae, 0x90, 0x02, 0x3c, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, + 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x46, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1d, + 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1e, 0x90, 0x02, + 0x3f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, + 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, 0x02, 0x01, 0x00, + 0x00, 0x00, 0x6a, 0x0b, 0x02, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x70, 0x06, 0xfb, 0x0b, 0x00, +}; + +const unsigned char ReadDataEEmem_dw_4[1648] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x0b, 0x01, 0x93, 0x0b, 0x04, 0x00, 0x90, 0x02, 0x3c, 0x00, 0x00, + 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x1f, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, + 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, + 0x1f, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, + 0x1d, 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x1f, 0x00, 0x00, 0x00, 0xb5, + 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, + 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0x90, 0x02, 0x3f, 0x00, + 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x1f, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x90, 0x0a, 0x04, 0x00, 0x00, 0x00, 0xad, 0x0a, 0x95, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1c, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x1e, 0x47, 0x00, 0x90, 0x18, + 0xff, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, + 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xee, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x90, 0x18, 0xcc, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x19, 0x0d, 0xb2, 0x00, 0x00, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x18, 0x0f, 0xba, 0x00, 0x00, 0x1e, 0x5b, 0x18, 0x9f, 0x96, 0x92, 0x00, 0x01, + 0x00, 0x00, 0x00, 0xae, 0x90, 0x02, 0x3c, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, + 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x46, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1d, + 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1e, 0x90, 0x02, + 0x3f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, + 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, 0x02, 0x01, 0x00, + 0x00, 0x00, 0x6a, 0x0b, 0x02, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x70, 0x06, 0xfb, 0x0b, 0x00, +}; + +const unsigned char ReadDataEEmem_dw_5[1648] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x0b, 0x01, 0x93, 0x0b, 0x04, 0x00, 0x90, 0x02, 0x3c, 0x00, 0x00, + 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x27, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, + 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, + 0x27, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, + 0x1d, 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x27, 0x00, 0x00, 0x00, 0xb5, + 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, + 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0x90, 0x02, 0x3f, 0x00, + 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x27, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x90, 0x0a, 0x04, 0x00, 0x00, 0x00, 0xad, 0x0a, 0x95, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1c, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x1e, 0x47, 0x00, 0x90, 0x18, + 0xff, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, + 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xee, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x90, 0x18, 0xcc, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x19, 0x0d, 0xb2, 0x00, 0x00, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x18, 0x07, 0xbc, 0x00, 0x00, 0x1e, 0x5b, 0x18, 0x9f, 0x96, 0x92, 0x00, 0x01, + 0x00, 0x00, 0x00, 0xae, 0x90, 0x02, 0x3c, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, + 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x46, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1d, + 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1e, 0x90, 0x02, + 0x3f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, + 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, 0x02, 0x01, 0x00, + 0x00, 0x00, 0x6a, 0x0b, 0x02, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x70, 0x06, 0xfb, 0x0b, 0x00, +}; + +const unsigned char ReadDataEEmem_dw_6[1648] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x0b, 0x01, 0x93, 0x0b, 0x04, 0x00, 0x90, 0x02, 0x3c, 0x00, 0x00, + 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x22, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, + 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, + 0x22, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, + 0x1d, 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x22, 0x00, 0x00, 0x00, 0xb5, + 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, + 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0x90, 0x02, 0x3f, 0x00, + 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x22, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x90, 0x0a, 0x04, 0x00, 0x00, 0x00, 0xad, 0x0a, 0x95, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1c, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x1e, 0x47, 0x00, 0x90, 0x18, + 0xff, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, + 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xee, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x90, 0x18, 0xcc, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x19, 0x0d, 0xb2, 0x00, 0x00, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x18, 0x02, 0xbc, 0x00, 0x00, 0x1e, 0x5b, 0x18, 0x9f, 0x96, 0x92, 0x00, 0x01, + 0x00, 0x00, 0x00, 0xae, 0x90, 0x02, 0x3c, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, + 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x46, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1d, + 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1e, 0x90, 0x02, + 0x3f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, + 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, 0x02, 0x01, 0x00, + 0x00, 0x00, 0x6a, 0x0b, 0x02, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x70, 0x06, 0xfb, 0x0b, 0x00, +}; + +const unsigned char ReadDataEEmem_dw_7[1648] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x0b, 0x01, 0x93, 0x0b, 0x04, 0x00, 0x90, 0x02, 0x3c, 0x00, 0x00, + 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x20, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, + 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, + 0x20, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, + 0x1d, 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x20, 0x00, 0x00, 0x00, 0xb5, + 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, + 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x0e, 0x03, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1e, 0x90, 0x02, 0x3f, 0x00, + 0x00, 0x00, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x90, 0x0d, 0x20, 0x00, 0x00, + 0x00, 0x6a, 0x0c, 0x0d, 0xfe, 0x0c, 0x20, 0x00, 0x00, 0x00, 0xb5, 0x02, 0x90, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, + 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x60, 0x0e, 0x03, 0x68, 0x0e, 0x01, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x03, + 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6c, 0x1f, 0x90, 0x0a, 0x04, 0x00, 0x00, 0x00, 0xad, 0x0a, 0x95, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1c, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x46, 0x0c, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x46, 0x0c, 0x1e, 0x47, 0x00, 0x90, 0x18, + 0xff, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, + 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x18, 0xee, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, + 0x90, 0x18, 0xcc, 0xbb, 0x00, 0x00, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x18, + 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x90, 0x19, 0x0d, 0xb2, 0x00, 0x00, 0x90, + 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x19, 0x90, 0x0c, 0x23, 0x00, 0x00, 0x00, 0x1e, + 0x40, 0x0c, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x18, 0x00, 0xbc, 0x00, 0x00, 0x1e, 0x5b, 0x18, 0x9f, 0x96, 0x92, 0x00, 0x01, + 0x00, 0x00, 0x00, 0xae, 0x90, 0x02, 0x3c, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, + 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, + 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, + 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x46, 0x1c, 0x90, 0x02, 0x3d, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x0c, 0x1e, 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1d, + 0x90, 0x02, 0x3e, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x02, 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, + 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, + 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1e, 0x90, 0x02, + 0x3f, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, + 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x02, + 0x90, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, + 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, + 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, + 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x46, 0x1f, 0x90, 0x02, 0x01, 0x00, + 0x00, 0x00, 0x6a, 0x0b, 0x02, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x70, 0x06, 0xfb, 0x0b, 0x00, +}; + +const unsigned char WriteMem8_dw_0[217] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x02, 0x01, 0x90, 0x03, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x02, 0x03, + 0x18, 0x00, 0x60, 0x04, 0x02, 0xfb, 0x1e, 0x00, 0x90, 0x04, 0x00, 0x01, 0x00, 0x00, 0x6a, 0x02, + 0x04, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, + 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, + 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, + 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, 0x47, 0x00, 0x90, 0x0d, 0x00, + 0x00, 0x00, 0x00, 0x60, 0x0e, 0x04, 0x68, 0x0e, 0x01, 0x6e, 0x0d, 0x0e, 0x92, 0x0d, 0x01, 0x00, + 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, + 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x60, 0x0c, 0x04, 0x1e, 0x48, 0x0c, 0x6e, 0x00, 0x04, 0x90, 0x05, + 0x00, 0x00, 0x00, 0x00, 0xfc, 0x02, 0x05, 0x07, 0x00, +}; + +const unsigned char ReadMem8_dw_0[205] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x60, 0x02, 0x01, 0x90, 0x03, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x02, + 0x03, 0x19, 0x00, 0x60, 0x04, 0x02, 0xfb, 0x1f, 0x00, 0x90, 0x04, 0x00, 0x01, 0x00, 0x00, 0x6a, + 0x02, 0x04, 0x60, 0x06, 0x00, 0x90, 0x07, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x06, 0x07, 0xfe, 0x06, + 0x31, 0x00, 0x00, 0x00, 0xbf, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x04, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x04, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6e, + 0x00, 0x04, 0x90, 0x05, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x02, 0x05, 0x08, 0x00, +}; + +const unsigned char ReadMem8_dw_1[205] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x60, 0x02, 0x01, 0x90, 0x03, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x02, + 0x03, 0x19, 0x00, 0x60, 0x04, 0x02, 0xfb, 0x1f, 0x00, 0x90, 0x04, 0x00, 0x01, 0x00, 0x00, 0x6a, + 0x02, 0x04, 0x60, 0x06, 0x00, 0x90, 0x07, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x06, 0x07, 0xfe, 0x06, + 0x2e, 0x00, 0x00, 0x00, 0xbf, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x04, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x04, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6e, + 0x00, 0x04, 0x90, 0x05, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x02, 0x05, 0x08, 0x00, +}; + +const unsigned char ReadMem8_dw_2[205] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x60, 0x02, 0x01, 0x90, 0x03, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x02, + 0x03, 0x19, 0x00, 0x60, 0x04, 0x02, 0xfb, 0x1f, 0x00, 0x90, 0x04, 0x00, 0x01, 0x00, 0x00, 0x6a, + 0x02, 0x04, 0x60, 0x06, 0x00, 0x90, 0x07, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x06, 0x07, 0xfe, 0x06, + 0x1f, 0x00, 0x00, 0x00, 0xbf, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x04, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x04, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6e, + 0x00, 0x04, 0x90, 0x05, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x02, 0x05, 0x08, 0x00, +}; + +const unsigned char ReadMem8_dw_3[205] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x60, 0x02, 0x01, 0x90, 0x03, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x02, + 0x03, 0x19, 0x00, 0x60, 0x04, 0x02, 0xfb, 0x1f, 0x00, 0x90, 0x04, 0x00, 0x01, 0x00, 0x00, 0x6a, + 0x02, 0x04, 0x60, 0x06, 0x00, 0x90, 0x07, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x06, 0x07, 0xfe, 0x06, + 0x27, 0x00, 0x00, 0x00, 0xbf, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x04, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x04, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6e, + 0x00, 0x04, 0x90, 0x05, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x02, 0x05, 0x08, 0x00, +}; + +const unsigned char ReadMem8_dw_4[205] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x60, 0x02, 0x01, 0x90, 0x03, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x02, + 0x03, 0x19, 0x00, 0x60, 0x04, 0x02, 0xfb, 0x1f, 0x00, 0x90, 0x04, 0x00, 0x01, 0x00, 0x00, 0x6a, + 0x02, 0x04, 0x60, 0x06, 0x00, 0x90, 0x07, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x06, 0x07, 0xfe, 0x06, + 0x22, 0x00, 0x00, 0x00, 0xbf, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x04, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x04, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6e, + 0x00, 0x04, 0x90, 0x05, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x02, 0x05, 0x08, 0x00, +}; + +const unsigned char ReadMem8_dw_5[205] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x60, 0x02, 0x01, 0x90, 0x03, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x02, + 0x03, 0x19, 0x00, 0x60, 0x04, 0x02, 0xfb, 0x1f, 0x00, 0x90, 0x04, 0x00, 0x01, 0x00, 0x00, 0x6a, + 0x02, 0x04, 0x60, 0x06, 0x00, 0x90, 0x07, 0x20, 0x00, 0x00, 0x00, 0x6a, 0x06, 0x07, 0xfe, 0x06, + 0x20, 0x00, 0x00, 0x00, 0xbf, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x1e, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x41, 0x0c, 0x0d, 0x90, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x05, 0x00, + 0x00, 0x00, 0x1e, 0x42, 0x0c, 0x0d, 0x90, 0x0c, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x0c, 0x1e, + 0x47, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x43, + 0x0c, 0x0d, 0x60, 0x0e, 0x04, 0x68, 0x0e, 0x01, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0d, + 0x0e, 0x90, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x43, 0x0c, 0x0d, 0x90, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x04, 0x1e, 0x49, 0x0c, 0x0d, 0x0e, 0x6e, + 0x00, 0x04, 0x90, 0x05, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x02, 0x05, 0x08, 0x00, +}; + +const unsigned char switchtoISP_dw_0[11] = { + 0x1e, 0x4a, 0x90, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x00, +}; + + + + +static void pickit_dw_script_init(SCRIPT *scr); +static void pickit_dw_script_init(SCRIPT *scr) { + memset(scr, 0x00, sizeof(SCRIPT)); // Make sure everything is NULL + + scr->EnterProgMode = EnterProgMode_dw_0; + scr->ExitProgMode = ExitProgMode_dw_0; + scr->EraseChip = EraseChip_dw_0; + scr->WriteMem8 = WriteMem8_dw_0; + scr->switchtoISP = switchtoISP_dw_0; + + scr->EnterProgMode_len = sizeof(EnterProgMode_dw_0); + scr->ExitProgMode_len = sizeof(ExitProgMode_dw_0); + scr->EraseChip_len = sizeof(EraseChip_dw_0); + scr->WriteMem8_len = sizeof(WriteMem8_dw_0); + scr->switchtoISP_len = sizeof(switchtoISP_dw_0); +} + + +const char * const pickit5_dw_chip_lut[] = { + "AT90PWM1", "AT90PWM161", "AT90PWM216", "AT90PWM2B", "AT90PWM3", "AT90PWM316", "AT90PWM3B", "AT90PWM81", + "AT90USB162", "AT90USB82", "ATmega168", "ATmega168A", "ATmega168P", "ATmega168PA", "ATmega168PB", "ATmega16HVA", + "ATmega16HVB","ATmega16HVBrevB", "ATmega16M1", "ATmega16U2", "ATmega328", "ATmega328P", "ATmega328PB", "ATmega32C1", + "ATmega32HVB","ATmega32HVBrevB", "ATmega32M1", "ATmega32U2", "ATmega48", "ATmega48A", "ATmega48P", "ATmega48PA", + "ATmega48PB", "ATmega64C1", "ATmega64HVE2", "ATmega64M1", "ATmega88", "ATmega88A", "ATmega88P", "ATmega88PA", + "ATmega88PB", "ATmega8HVA", "ATmega8U2", "ATtiny13", "ATtiny13A", "ATtiny1634", "ATtiny167", "ATtiny2313", + "ATtiny2313A", "ATtiny24", "ATtiny24A", "ATtiny25", "ATtiny261", "ATtiny261A", "ATtiny4313", "ATtiny43U", + "ATtiny44", "ATtiny441", "ATtiny44A", "ATtiny45", "ATtiny461", "ATtiny461A", "ATtiny48", "ATtiny828", + "ATtiny84", "ATtiny841", "ATtiny84A", "ATtiny85", "ATtiny861", "ATtiny861A", "ATtiny87", "ATtiny88", +}; + +int get_pickit_dw_script(SCRIPT *scr, const char* partdesc) { + if ((scr == NULL) || (partdesc == NULL)) { + return -1; + } + int namepos = -1; + for (int i = 0; i < 72; i++) { + if (strcmp(pickit5_dw_chip_lut[i], partdesc) == 0) { + namepos = i; + break; + } + } + if (namepos == -1) { + return -2; + } + + pickit_dw_script_init(scr); // load common functions + + switch (namepos) { + case 0: /* AT90PWM1 */ + case 3: /* AT90PWM2B */ + case 4: /* AT90PWM3 */ + case 6: /* AT90PWM3B */ + case 36: /* ATmega88 */ + case 37: /* ATmega88A */ + case 38: /* ATmega88P */ + case 39: /* ATmega88PA */ + case 40: /* ATmega88PB */ + case 63: /* ATtiny828 */ + scr->WriteProgmem = WriteProgmem_dw_0; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_0); + scr->ReadProgmem = ReadProgmem_dw_0; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_0); + scr->WriteDataEEmem = WriteDataEEmem_dw_0; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_0); + scr->ReadDataEEmem = ReadDataEEmem_dw_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_0); + scr->ReadMem8 = ReadMem8_dw_0; + scr->ReadMem8_len = sizeof(ReadMem8_dw_0); + break; + case 1: /* AT90PWM161 */ + scr->WriteProgmem = WriteProgmem_dw_1; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_1); + scr->ReadProgmem = ReadProgmem_dw_1; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_1); + scr->WriteDataEEmem = WriteDataEEmem_dw_1; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_1); + scr->ReadDataEEmem = ReadDataEEmem_dw_1; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_1); + scr->ReadMem8 = ReadMem8_dw_0; + scr->ReadMem8_len = sizeof(ReadMem8_dw_0); + break; + case 2: /* AT90PWM216 */ + case 5: /* AT90PWM316 */ + case 8: /* AT90USB162 */ + case 9: /* AT90USB82 */ + case 16: /* ATmega16HVB */ + case 17: /* ATmega16HVBrevB */ + case 18: /* ATmega16M1 */ + case 19: /* ATmega16U2 */ + scr->WriteProgmem = WriteProgmem_dw_2; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_2); + scr->ReadProgmem = ReadProgmem_dw_1; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_1); + scr->WriteDataEEmem = WriteDataEEmem_dw_0; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_0); + scr->ReadDataEEmem = ReadDataEEmem_dw_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_0); + scr->ReadMem8 = ReadMem8_dw_0; + scr->ReadMem8_len = sizeof(ReadMem8_dw_0); + break; + case 7: /* AT90PWM81 */ + scr->WriteProgmem = WriteProgmem_dw_0; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_0); + scr->ReadProgmem = ReadProgmem_dw_0; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_0); + scr->WriteDataEEmem = WriteDataEEmem_dw_1; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_1); + scr->ReadDataEEmem = ReadDataEEmem_dw_1; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_1); + scr->ReadMem8 = ReadMem8_dw_0; + scr->ReadMem8_len = sizeof(ReadMem8_dw_0); + break; + case 10: /* ATmega168 */ + case 11: /* ATmega168A */ + case 12: /* ATmega168P */ + case 13: /* ATmega168PA */ + case 14: /* ATmega168PB */ + scr->WriteProgmem = WriteProgmem_dw_3; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_3); + scr->ReadProgmem = ReadProgmem_dw_1; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_1); + scr->WriteDataEEmem = WriteDataEEmem_dw_0; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_0); + scr->ReadDataEEmem = ReadDataEEmem_dw_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_0); + scr->ReadMem8 = ReadMem8_dw_0; + scr->ReadMem8_len = sizeof(ReadMem8_dw_0); + break; + case 15: /* ATmega16HVA */ + case 41: /* ATmega8HVA */ + case 46: /* ATtiny167 */ + case 70: /* ATtiny87 */ + scr->WriteProgmem = WriteProgmem_dw_4; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_4); + scr->ReadProgmem = ReadProgmem_dw_1; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_1); + scr->WriteDataEEmem = WriteDataEEmem_dw_0; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_0); + scr->ReadDataEEmem = ReadDataEEmem_dw_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_0); + scr->ReadMem8 = ReadMem8_dw_0; + scr->ReadMem8_len = sizeof(ReadMem8_dw_0); + break; + case 20: /* ATmega328 */ + case 21: /* ATmega328P */ + case 22: /* ATmega328PB */ + case 23: /* ATmega32C1 */ + case 24: /* ATmega32HVB */ + case 25: /* ATmega32HVBrevB */ + case 26: /* ATmega32M1 */ + case 27: /* ATmega32U2 */ + scr->WriteProgmem = WriteProgmem_dw_5; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_5); + scr->ReadProgmem = ReadProgmem_dw_1; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_1); + scr->WriteDataEEmem = WriteDataEEmem_dw_0; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_0); + scr->ReadDataEEmem = ReadDataEEmem_dw_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_0); + scr->ReadMem8 = ReadMem8_dw_0; + scr->ReadMem8_len = sizeof(ReadMem8_dw_0); + break; + case 28: /* ATmega48 */ + case 29: /* ATmega48A */ + case 30: /* ATmega48P */ + case 31: /* ATmega48PA */ + case 32: /* ATmega48PB */ + case 62: /* ATtiny48 */ + case 71: /* ATtiny88 */ + scr->WriteProgmem = WriteProgmem_dw_6; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_6); + scr->ReadProgmem = ReadProgmem_dw_0; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_0); + scr->WriteDataEEmem = WriteDataEEmem_dw_0; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_0); + scr->ReadDataEEmem = ReadDataEEmem_dw_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_0); + scr->ReadMem8 = ReadMem8_dw_0; + scr->ReadMem8_len = sizeof(ReadMem8_dw_0); + break; + case 33: /* ATmega64C1 */ + case 35: /* ATmega64M1 */ + scr->WriteProgmem = WriteProgmem_dw_7; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_7); + scr->ReadProgmem = ReadProgmem_dw_2; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_2); + scr->WriteDataEEmem = WriteDataEEmem_dw_2; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_2); + scr->ReadDataEEmem = ReadDataEEmem_dw_2; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_2); + scr->ReadMem8 = ReadMem8_dw_0; + scr->ReadMem8_len = sizeof(ReadMem8_dw_0); + break; + case 34: /* ATmega64HVE2 */ + scr->WriteProgmem = WriteProgmem_dw_8; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_8); + scr->ReadProgmem = ReadProgmem_dw_1; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_1); + scr->WriteDataEEmem = WriteDataEEmem_dw_0; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_0); + scr->ReadDataEEmem = ReadDataEEmem_dw_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_0); + scr->ReadMem8 = ReadMem8_dw_0; + scr->ReadMem8_len = sizeof(ReadMem8_dw_0); + break; + case 42: /* ATmega8U2 */ + scr->WriteProgmem = WriteProgmem_dw_9; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_9); + scr->ReadProgmem = ReadProgmem_dw_1; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_1); + scr->WriteDataEEmem = WriteDataEEmem_dw_0; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_0); + scr->ReadDataEEmem = ReadDataEEmem_dw_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_0); + scr->ReadMem8 = ReadMem8_dw_0; + scr->ReadMem8_len = sizeof(ReadMem8_dw_0); + break; + case 43: /* ATtiny13 */ + case 44: /* ATtiny13A */ + scr->WriteProgmem = WriteProgmem_dw_10; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_10); + scr->ReadProgmem = ReadProgmem_dw_3; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_3); + scr->WriteDataEEmem = WriteDataEEmem_dw_3; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_3); + scr->ReadDataEEmem = ReadDataEEmem_dw_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_3); + scr->ReadMem8 = ReadMem8_dw_1; + scr->ReadMem8_len = sizeof(ReadMem8_dw_1); + break; + case 45: /* ATtiny1634 */ + scr->WriteProgmem = WriteProgmem_dw_11; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_11); + scr->ReadProgmem = ReadProgmem_dw_3; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_3); + scr->WriteDataEEmem = WriteDataEEmem_dw_3; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_3); + scr->ReadDataEEmem = ReadDataEEmem_dw_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_3); + scr->ReadMem8 = ReadMem8_dw_1; + scr->ReadMem8_len = sizeof(ReadMem8_dw_1); + break; + case 47: /* ATtiny2313 */ + scr->WriteProgmem = WriteProgmem_dw_12; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_12); + scr->ReadProgmem = ReadProgmem_dw_3; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_3); + scr->WriteDataEEmem = WriteDataEEmem_dw_4; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_4); + scr->ReadDataEEmem = ReadDataEEmem_dw_4; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_4); + scr->ReadMem8 = ReadMem8_dw_2; + scr->ReadMem8_len = sizeof(ReadMem8_dw_2); + break; + case 48: /* ATtiny2313A */ + case 49: /* ATtiny24 */ + case 50: /* ATtiny24A */ + scr->WriteProgmem = WriteProgmem_dw_13; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_13); + scr->ReadProgmem = ReadProgmem_dw_3; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_3); + scr->WriteDataEEmem = WriteDataEEmem_dw_5; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_5); + scr->ReadDataEEmem = ReadDataEEmem_dw_5; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_5); + scr->ReadMem8 = ReadMem8_dw_3; + scr->ReadMem8_len = sizeof(ReadMem8_dw_3); + break; + case 51: /* ATtiny25 */ + scr->WriteProgmem = WriteProgmem_dw_14; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_14); + scr->ReadProgmem = ReadProgmem_dw_3; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_3); + scr->WriteDataEEmem = WriteDataEEmem_dw_6; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_6); + scr->ReadDataEEmem = ReadDataEEmem_dw_6; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_6); + scr->ReadMem8 = ReadMem8_dw_4; + scr->ReadMem8_len = sizeof(ReadMem8_dw_4); + break; + case 52: /* ATtiny261 */ + case 53: /* ATtiny261A */ + scr->WriteProgmem = WriteProgmem_dw_15; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_15); + scr->ReadProgmem = ReadProgmem_dw_3; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_3); + scr->WriteDataEEmem = WriteDataEEmem_dw_7; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_7); + scr->ReadDataEEmem = ReadDataEEmem_dw_7; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_7); + scr->ReadMem8 = ReadMem8_dw_5; + scr->ReadMem8_len = sizeof(ReadMem8_dw_5); + break; + case 54: /* ATtiny4313 */ + case 55: /* ATtiny43U */ + case 56: /* ATtiny44 */ + case 58: /* ATtiny44A */ + case 64: /* ATtiny84 */ + case 66: /* ATtiny84A */ + scr->WriteProgmem = WriteProgmem_dw_16; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_16); + scr->ReadProgmem = ReadProgmem_dw_0; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_0); + scr->WriteDataEEmem = WriteDataEEmem_dw_5; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_5); + scr->ReadDataEEmem = ReadDataEEmem_dw_5; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_5); + scr->ReadMem8 = ReadMem8_dw_3; + scr->ReadMem8_len = sizeof(ReadMem8_dw_3); + break; + case 57: /* ATtiny441 */ + case 65: /* ATtiny841 */ + scr->WriteProgmem = WriteProgmem_dw_17; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_17); + scr->ReadProgmem = ReadProgmem_dw_4; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_4); + scr->WriteDataEEmem = WriteDataEEmem_dw_5; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_5); + scr->ReadDataEEmem = ReadDataEEmem_dw_5; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_5); + scr->ReadMem8 = ReadMem8_dw_3; + scr->ReadMem8_len = sizeof(ReadMem8_dw_3); + break; + case 59: /* ATtiny45 */ + case 67: /* ATtiny85 */ + scr->WriteProgmem = WriteProgmem_dw_18; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_18); + scr->ReadProgmem = ReadProgmem_dw_0; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_0); + scr->WriteDataEEmem = WriteDataEEmem_dw_6; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_6); + scr->ReadDataEEmem = ReadDataEEmem_dw_6; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_6); + scr->ReadMem8 = ReadMem8_dw_4; + scr->ReadMem8_len = sizeof(ReadMem8_dw_4); + break; + case 60: /* ATtiny461 */ + case 61: /* ATtiny461A */ + case 68: /* ATtiny861 */ + case 69: /* ATtiny861A */ + scr->WriteProgmem = WriteProgmem_dw_19; + scr->WriteProgmem_len = sizeof(WriteProgmem_dw_19); + scr->ReadProgmem = ReadProgmem_dw_0; + scr->ReadProgmem_len = sizeof(ReadProgmem_dw_0); + scr->WriteDataEEmem = WriteDataEEmem_dw_7; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_dw_7); + scr->ReadDataEEmem = ReadDataEEmem_dw_7; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_dw_7); + scr->ReadMem8 = ReadMem8_dw_5; + scr->ReadMem8_len = sizeof(ReadMem8_dw_5); + break; + } + return 0; +} \ No newline at end of file diff --git a/src/pickit5_lut_isp.c b/src/pickit5_lut_isp.c new file mode 100644 index 000000000..325672848 --- /dev/null +++ b/src/pickit5_lut_isp.c @@ -0,0 +1,3550 @@ +/* This file was auto-generated by scripts_decoder.py. + * Any changes will be overwritten on regeneration + */ + +/* + * avrdude - A Downloader/Uploader for AVR device programmers + * Copyright (C) 2024 MX682X + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include +#include +#include "pickit5_lut.h" + + +const unsigned char EnterProgMode_isp_0[44] = { + 0xac, 0x02, 0x00, 0x1e, 0x30, 0x90, 0x05, 0x00, 0x00, 0x53, 0xac, 0x9b, 0x06, 0x02, 0x9b, 0x07, + 0x00, 0x1e, 0x35, 0x05, 0x06, 0x07, 0x6c, 0x06, 0xfd, 0x53, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x1e, + 0x36, 0xa4, 0x1e, 0x31, 0x90, 0x01, 0xc0, 0x0e, 0x00, 0x00, 0x7f, 0x01, +}; + +const unsigned char ExitProgMode_isp_0[2] = { + 0x1e, 0x31, +}; + +const unsigned char SetSpeed_isp_0[5] = { + 0x91, 0x00, 0x1e, 0x33, 0x00, +}; + +const unsigned char GetDeviceID_isp_0[66] = { + 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x9c, 0x01, 0x00, 0x00, 0xac, 0x03, 0x00, 0x9b, 0x0c, 0x32, + 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0e, 0x00, 0xfc, 0x0d, 0x0e, 0x42, 0x00, 0x60, 0x0c, 0x00, + 0x9b, 0x0d, 0x03, 0x9b, 0x0e, 0x00, 0x1e, 0x35, 0x0c, 0x0d, 0x0e, 0x9f, 0x92, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x60, 0x02, 0x01, 0x68, 0x02, 0x08, 0x66, 0x00, 0xff, 0x00, 0xff, 0xff, 0x7c, 0x00, + 0x02, 0xa4, +}; + +const unsigned char EraseChip_isp_0[58] = { + 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0e, 0x00, 0xfc, 0x0d, 0x0e, 0x3a, 0x00, + 0x90, 0x0c, 0x00, 0x00, 0x80, 0xac, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x01, 0xfe, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x2a, 0x00, 0x94, 0x2d, 0x00, 0xfb, 0x3a, 0x00, 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0e, 0x00, 0xfc, 0x0d, 0x0e, 0x3a, 0x00, +}; + +const unsigned char EraseChip_isp_1[58] = { + 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0e, 0x00, 0xfc, 0x0d, 0x0e, 0x3a, 0x00, + 0x90, 0x0c, 0x00, 0x00, 0x80, 0xac, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x01, 0xfe, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x2a, 0x00, 0x94, 0x37, 0x00, 0xfb, 0x3a, 0x00, 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0e, 0x00, 0xfc, 0x0d, 0x0e, 0x3a, 0x00, +}; + +const unsigned char EraseChip_isp_2[58] = { + 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0e, 0x00, 0xfc, 0x0d, 0x0e, 0x3a, 0x00, + 0x90, 0x0c, 0x00, 0x00, 0x80, 0xac, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x00, 0xfe, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x2a, 0x00, 0x94, 0x14, 0x00, 0xfb, 0x3a, 0x00, 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0e, 0x00, 0xfc, 0x0d, 0x0e, 0x3a, 0x00, +}; + +const unsigned char EraseChip_isp_3[58] = { + 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0e, 0x00, 0xfc, 0x0d, 0x0e, 0x3a, 0x00, + 0x90, 0x0c, 0x00, 0x00, 0x80, 0xac, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x01, 0xfe, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x2a, 0x00, 0x94, 0x14, 0x00, 0xfb, 0x3a, 0x00, 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0e, 0x00, 0xfc, 0x0d, 0x0e, 0x3a, 0x00, +}; + +const unsigned char EraseChip_isp_4[58] = { + 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0e, 0x00, 0xfc, 0x0d, 0x0e, 0x3a, 0x00, + 0x90, 0x0c, 0x00, 0x00, 0x80, 0xac, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x00, 0xfe, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x2a, 0x00, 0x94, 0x64, 0x00, 0xfb, 0x3a, 0x00, 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0e, 0x00, 0xfc, 0x0d, 0x0e, 0x3a, 0x00, +}; + +const unsigned char EraseChip_isp_5[58] = { + 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0e, 0x00, 0xfc, 0x0d, 0x0e, 0x3a, 0x00, + 0x90, 0x0c, 0x00, 0x00, 0x80, 0xac, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x00, 0xfe, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x2a, 0x00, 0x94, 0x0a, 0x00, 0xfb, 0x3a, 0x00, 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0e, 0x00, 0xfc, 0x0d, 0x0e, 0x3a, 0x00, +}; + +const unsigned char WriteProgmem_isp_0[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x00, 0x02, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x00, 0x01, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x80, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x80, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_1[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x80, 0x00, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x00, 0x01, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x80, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x80, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_2[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x00, 0x01, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x00, 0x01, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x80, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x80, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_3[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x20, 0x00, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x40, 0x00, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x20, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x20, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_4[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x40, 0x00, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x80, 0x00, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x40, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x40, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_5[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x00, 0x02, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x00, 0x01, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x80, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x80, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x06, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x06, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x06, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_6[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x40, 0x00, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x80, 0x00, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x40, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x40, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x06, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x06, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x06, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_7[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x00, 0x01, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x00, 0x01, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x80, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x80, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x06, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x06, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x06, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_8[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x20, 0x00, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x80, 0x00, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x40, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x40, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x06, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x06, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x06, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_9[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x00, 0x02, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x21, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x00, 0x01, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x21, 0x93, 0x01, 0x80, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x80, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x21, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_10[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x00, 0x02, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x00, 0x01, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x80, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x80, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x32, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x32, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x32, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_11[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x40, 0x00, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x21, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x80, 0x00, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x21, 0x93, 0x01, 0x40, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x40, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x21, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_12[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x00, 0x04, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x00, 0x01, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x80, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x80, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_13[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x00, 0x04, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x00, 0x01, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x80, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x80, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x32, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x32, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x32, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_14[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x80, 0x00, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x21, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x80, 0x00, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x21, 0x93, 0x01, 0x40, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x40, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x21, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_15[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x80, 0x00, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x80, 0x00, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x40, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x40, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_16[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x80, 0x00, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x80, 0x00, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x40, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x40, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x06, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x06, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x06, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_17[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x10, 0x00, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x40, 0x00, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x20, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x20, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_18[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x00, 0x01, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x21, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x00, 0x01, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x21, 0x93, 0x01, 0x80, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x80, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x21, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_19[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x00, 0x01, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x00, 0x01, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x80, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x80, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x32, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x32, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x32, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_20[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x00, 0x01, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x80, 0x00, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x40, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x40, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_21[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x20, 0x00, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x21, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x40, 0x00, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x21, 0x93, 0x01, 0x20, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x20, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x21, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_22[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x20, 0x00, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x80, 0x00, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x40, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x40, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_23[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x04, 0x00, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x80, 0x00, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x04, 0x93, 0x01, 0x40, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x40, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x04, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_24[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x04, 0x00, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x20, 0x00, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x10, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x10, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_25[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x40, 0x00, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x20, 0x00, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x10, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x10, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_26[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x08, 0x00, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x20, 0x00, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x10, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x10, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_27[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x08, 0x00, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x21, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x20, 0x00, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x21, 0x93, 0x01, 0x10, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x10, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x21, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_28[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x10, 0x00, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x10, 0x00, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x08, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x08, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_isp_29[589] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, + 0x02, 0x00, 0xfc, 0x03, 0x02, 0x4d, 0x02, 0x90, 0x15, 0x00, 0x20, 0x00, 0x00, 0x90, 0x16, 0x00, + 0x00, 0x02, 0x00, 0x67, 0x01, 0x01, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x90, 0x12, 0x10, 0x00, 0x00, 0x00, + 0x67, 0x12, 0x01, 0x9b, 0x14, 0x41, 0x93, 0x01, 0x08, 0x00, 0xad, 0x01, 0xfa, 0x15, 0x16, 0x54, + 0x00, 0xfb, 0x72, 0x00, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xac, 0x08, 0x00, 0x99, 0x0b, 0x99, 0x0c, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x84, + 0x00, 0xfb, 0x8c, 0x00, 0xfe, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x40, 0x60, 0x0e, 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, + 0x0e, 0x7c, 0x0d, 0x0b, 0x1e, 0x34, 0x0d, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x48, 0x60, 0x0e, 0x00, + 0x68, 0x0e, 0x08, 0x66, 0x0e, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x4c, 0x60, + 0x10, 0x00, 0x6a, 0x10, 0x12, 0x68, 0x10, 0x08, 0x66, 0x10, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0f, + 0x10, 0x1e, 0x34, 0x0f, 0x94, 0x04, 0x00, 0x66, 0x14, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x08, 0x01, 0xfe, 0x14, 0x20, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfe, 0x14, 0x10, + 0x00, 0x00, 0x00, 0x39, 0x01, 0xfb, 0x3c, 0x01, 0x9b, 0x0f, 0x32, 0x1e, 0x37, 0x0f, 0x6c, 0x10, + 0x9b, 0x11, 0x00, 0xfc, 0x10, 0x11, 0x3d, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x68, 0x11, 0x08, 0x67, 0x11, 0x08, + 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0xfb, 0x3c, 0x01, 0x94, 0x0a, 0x00, 0xae, 0xfb, 0x4d, 0x02, + 0x90, 0x14, 0x41, 0x00, 0x00, 0x00, 0xad, 0x01, 0x99, 0x0b, 0x99, 0x0c, 0xfa, 0x15, 0x16, 0x54, + 0x01, 0xfb, 0x72, 0x01, 0x60, 0x0d, 0x00, 0x67, 0x0d, 0x08, 0x66, 0x0d, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0e, 0x0d, 0x1e, + 0x34, 0x0e, 0xfe, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x40, + 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, + 0x0f, 0x0b, 0x1e, 0x34, 0x0f, 0x66, 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, + 0x00, 0xae, 0x01, 0xfe, 0x14, 0x04, 0x00, 0x00, 0x00, 0xb4, 0x01, 0xfb, 0xdc, 0x01, 0x94, 0x0a, + 0x00, 0xfb, 0xdc, 0x01, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, + 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0b, 0x6c, + 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xfb, 0x4d, 0x02, 0xfe, 0x0c, 0xff, 0x00, + 0x00, 0x00, 0x46, 0x02, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x48, 0x60, 0x10, 0x00, 0x68, 0x10, 0x08, + 0x66, 0x0f, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0f, 0x10, 0x7c, 0x0f, 0x0c, 0x1e, 0x34, 0x0f, 0x66, + 0x14, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x14, 0x02, 0x00, 0x00, 0x00, 0x18, 0x02, 0xfe, 0x14, 0x04, + 0x00, 0x00, 0x00, 0x1e, 0x02, 0xfb, 0x46, 0x02, 0x94, 0x0a, 0x00, 0xfb, 0x46, 0x02, 0x90, 0x0f, + 0x28, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x67, 0x10, 0x08, 0x60, 0x11, 0x00, 0x66, 0x11, 0xff, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x0f, 0x10, 0x11, 0x0c, 0x6c, 0x10, 0xfe, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x02, 0xfb, 0x4d, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char ReadProgmem_isp_0[156] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x67, 0x01, 0x01, 0x93, 0x01, 0x80, 0x00, 0x9b, 0x02, + 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, 0x02, 0x00, 0xfc, 0x03, 0x02, 0x9c, 0x00, 0x90, 0x0c, + 0x00, 0x00, 0x02, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, 0xad, 0x01, 0xfa, 0x0c, 0x0d, 0x34, + 0x00, 0xfb, 0x52, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0xac, 0x80, 0x00, 0x60, 0x0c, 0x00, 0x68, 0x0c, 0x08, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x20, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0c, + 0x9b, 0x0f, 0x03, 0x9b, 0x10, 0x00, 0x1e, 0x35, 0x0d, 0x0f, 0x10, 0x9f, 0x90, 0x0e, 0x00, 0x00, + 0x00, 0x28, 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0e, 0x0c, 0x1e, 0x35, 0x0e, 0x0f, 0x10, + 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x94, 0x04, 0x00, 0xae, +}; + +const unsigned char ReadProgmem_isp_1[156] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x67, 0x01, 0x01, 0x93, 0x01, 0x80, 0x00, 0x9b, 0x02, + 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, 0x02, 0x00, 0xfc, 0x03, 0x02, 0x9c, 0x00, 0x90, 0x0c, + 0x00, 0x80, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, 0xad, 0x01, 0xfa, 0x0c, 0x0d, 0x34, + 0x00, 0xfb, 0x52, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0xac, 0x80, 0x00, 0x60, 0x0c, 0x00, 0x68, 0x0c, 0x08, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x20, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0c, + 0x9b, 0x0f, 0x03, 0x9b, 0x10, 0x00, 0x1e, 0x35, 0x0d, 0x0f, 0x10, 0x9f, 0x90, 0x0e, 0x00, 0x00, + 0x00, 0x28, 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0e, 0x0c, 0x1e, 0x35, 0x0e, 0x0f, 0x10, + 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x94, 0x04, 0x00, 0xae, +}; + +const unsigned char ReadProgmem_isp_2[156] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x67, 0x01, 0x01, 0x93, 0x01, 0x80, 0x00, 0x9b, 0x02, + 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, 0x02, 0x00, 0xfc, 0x03, 0x02, 0x9c, 0x00, 0x90, 0x0c, + 0x00, 0x00, 0x01, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, 0xad, 0x01, 0xfa, 0x0c, 0x0d, 0x34, + 0x00, 0xfb, 0x52, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0xac, 0x80, 0x00, 0x60, 0x0c, 0x00, 0x68, 0x0c, 0x08, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x20, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0c, + 0x9b, 0x0f, 0x03, 0x9b, 0x10, 0x00, 0x1e, 0x35, 0x0d, 0x0f, 0x10, 0x9f, 0x90, 0x0e, 0x00, 0x00, + 0x00, 0x28, 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0e, 0x0c, 0x1e, 0x35, 0x0e, 0x0f, 0x10, + 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x94, 0x04, 0x00, 0xae, +}; + +const unsigned char ReadProgmem_isp_3[156] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x67, 0x01, 0x01, 0x93, 0x01, 0x20, 0x00, 0x9b, 0x02, + 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, 0x02, 0x00, 0xfc, 0x03, 0x02, 0x9c, 0x00, 0x90, 0x0c, + 0x00, 0x20, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, 0xad, 0x01, 0xfa, 0x0c, 0x0d, 0x34, + 0x00, 0xfb, 0x52, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0xac, 0x20, 0x00, 0x60, 0x0c, 0x00, 0x68, 0x0c, 0x08, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x20, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0c, + 0x9b, 0x0f, 0x03, 0x9b, 0x10, 0x00, 0x1e, 0x35, 0x0d, 0x0f, 0x10, 0x9f, 0x90, 0x0e, 0x00, 0x00, + 0x00, 0x28, 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0e, 0x0c, 0x1e, 0x35, 0x0e, 0x0f, 0x10, + 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x94, 0x04, 0x00, 0xae, +}; + +const unsigned char ReadProgmem_isp_4[156] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x67, 0x01, 0x01, 0x93, 0x01, 0x40, 0x00, 0x9b, 0x02, + 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, 0x02, 0x00, 0xfc, 0x03, 0x02, 0x9c, 0x00, 0x90, 0x0c, + 0x00, 0x40, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, 0xad, 0x01, 0xfa, 0x0c, 0x0d, 0x34, + 0x00, 0xfb, 0x52, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0xac, 0x40, 0x00, 0x60, 0x0c, 0x00, 0x68, 0x0c, 0x08, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x20, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0c, + 0x9b, 0x0f, 0x03, 0x9b, 0x10, 0x00, 0x1e, 0x35, 0x0d, 0x0f, 0x10, 0x9f, 0x90, 0x0e, 0x00, 0x00, + 0x00, 0x28, 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0e, 0x0c, 0x1e, 0x35, 0x0e, 0x0f, 0x10, + 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x94, 0x04, 0x00, 0xae, +}; + +const unsigned char ReadProgmem_isp_5[156] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x67, 0x01, 0x01, 0x93, 0x01, 0x40, 0x00, 0x9b, 0x02, + 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, 0x02, 0x00, 0xfc, 0x03, 0x02, 0x9c, 0x00, 0x90, 0x0c, + 0x00, 0x20, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, 0xad, 0x01, 0xfa, 0x0c, 0x0d, 0x34, + 0x00, 0xfb, 0x52, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0xac, 0x40, 0x00, 0x60, 0x0c, 0x00, 0x68, 0x0c, 0x08, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x20, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0c, + 0x9b, 0x0f, 0x03, 0x9b, 0x10, 0x00, 0x1e, 0x35, 0x0d, 0x0f, 0x10, 0x9f, 0x90, 0x0e, 0x00, 0x00, + 0x00, 0x28, 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0e, 0x0c, 0x1e, 0x35, 0x0e, 0x0f, 0x10, + 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x94, 0x04, 0x00, 0xae, +}; + +const unsigned char ReadProgmem_isp_6[156] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x67, 0x01, 0x01, 0x93, 0x01, 0x80, 0x00, 0x9b, 0x02, + 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, 0x02, 0x00, 0xfc, 0x03, 0x02, 0x9c, 0x00, 0x90, 0x0c, + 0x00, 0x00, 0x04, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, 0xad, 0x01, 0xfa, 0x0c, 0x0d, 0x34, + 0x00, 0xfb, 0x52, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0xac, 0x80, 0x00, 0x60, 0x0c, 0x00, 0x68, 0x0c, 0x08, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x20, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0c, + 0x9b, 0x0f, 0x03, 0x9b, 0x10, 0x00, 0x1e, 0x35, 0x0d, 0x0f, 0x10, 0x9f, 0x90, 0x0e, 0x00, 0x00, + 0x00, 0x28, 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0e, 0x0c, 0x1e, 0x35, 0x0e, 0x0f, 0x10, + 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x94, 0x04, 0x00, 0xae, +}; + +const unsigned char ReadProgmem_isp_7[156] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x67, 0x01, 0x01, 0x93, 0x01, 0x40, 0x00, 0x9b, 0x02, + 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, 0x02, 0x00, 0xfc, 0x03, 0x02, 0x9c, 0x00, 0x90, 0x0c, + 0x00, 0x80, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, 0xad, 0x01, 0xfa, 0x0c, 0x0d, 0x34, + 0x00, 0xfb, 0x52, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0xac, 0x40, 0x00, 0x60, 0x0c, 0x00, 0x68, 0x0c, 0x08, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x20, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0c, + 0x9b, 0x0f, 0x03, 0x9b, 0x10, 0x00, 0x1e, 0x35, 0x0d, 0x0f, 0x10, 0x9f, 0x90, 0x0e, 0x00, 0x00, + 0x00, 0x28, 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0e, 0x0c, 0x1e, 0x35, 0x0e, 0x0f, 0x10, + 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x94, 0x04, 0x00, 0xae, +}; + +const unsigned char ReadProgmem_isp_8[156] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x67, 0x01, 0x01, 0x93, 0x01, 0x20, 0x00, 0x9b, 0x02, + 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, 0x02, 0x00, 0xfc, 0x03, 0x02, 0x9c, 0x00, 0x90, 0x0c, + 0x00, 0x10, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, 0xad, 0x01, 0xfa, 0x0c, 0x0d, 0x34, + 0x00, 0xfb, 0x52, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0xac, 0x20, 0x00, 0x60, 0x0c, 0x00, 0x68, 0x0c, 0x08, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x20, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0c, + 0x9b, 0x0f, 0x03, 0x9b, 0x10, 0x00, 0x1e, 0x35, 0x0d, 0x0f, 0x10, 0x9f, 0x90, 0x0e, 0x00, 0x00, + 0x00, 0x28, 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0e, 0x0c, 0x1e, 0x35, 0x0e, 0x0f, 0x10, + 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x94, 0x04, 0x00, 0xae, +}; + +const unsigned char ReadProgmem_isp_9[156] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x67, 0x01, 0x01, 0x93, 0x01, 0x40, 0x00, 0x9b, 0x02, + 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, 0x02, 0x00, 0xfc, 0x03, 0x02, 0x9c, 0x00, 0x90, 0x0c, + 0x00, 0x00, 0x01, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, 0xad, 0x01, 0xfa, 0x0c, 0x0d, 0x34, + 0x00, 0xfb, 0x52, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0xac, 0x40, 0x00, 0x60, 0x0c, 0x00, 0x68, 0x0c, 0x08, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x20, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0c, + 0x9b, 0x0f, 0x03, 0x9b, 0x10, 0x00, 0x1e, 0x35, 0x0d, 0x0f, 0x10, 0x9f, 0x90, 0x0e, 0x00, 0x00, + 0x00, 0x28, 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0e, 0x0c, 0x1e, 0x35, 0x0e, 0x0f, 0x10, + 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x94, 0x04, 0x00, 0xae, +}; + +const unsigned char ReadProgmem_isp_10[156] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x67, 0x01, 0x01, 0x93, 0x01, 0x40, 0x00, 0x9b, 0x02, + 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, 0x02, 0x00, 0xfc, 0x03, 0x02, 0x9c, 0x00, 0x90, 0x0c, + 0x00, 0x04, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, 0xad, 0x01, 0xfa, 0x0c, 0x0d, 0x34, + 0x00, 0xfb, 0x52, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0xac, 0x40, 0x00, 0x60, 0x0c, 0x00, 0x68, 0x0c, 0x08, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x20, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0c, + 0x9b, 0x0f, 0x03, 0x9b, 0x10, 0x00, 0x1e, 0x35, 0x0d, 0x0f, 0x10, 0x9f, 0x90, 0x0e, 0x00, 0x00, + 0x00, 0x28, 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0e, 0x0c, 0x1e, 0x35, 0x0e, 0x0f, 0x10, + 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x94, 0x04, 0x00, 0xae, +}; + +const unsigned char ReadProgmem_isp_11[156] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x67, 0x01, 0x01, 0x93, 0x01, 0x10, 0x00, 0x9b, 0x02, + 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, 0x02, 0x00, 0xfc, 0x03, 0x02, 0x9c, 0x00, 0x90, 0x0c, + 0x00, 0x04, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, 0xad, 0x01, 0xfa, 0x0c, 0x0d, 0x34, + 0x00, 0xfb, 0x52, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0xac, 0x10, 0x00, 0x60, 0x0c, 0x00, 0x68, 0x0c, 0x08, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x20, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0c, + 0x9b, 0x0f, 0x03, 0x9b, 0x10, 0x00, 0x1e, 0x35, 0x0d, 0x0f, 0x10, 0x9f, 0x90, 0x0e, 0x00, 0x00, + 0x00, 0x28, 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0e, 0x0c, 0x1e, 0x35, 0x0e, 0x0f, 0x10, + 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x94, 0x04, 0x00, 0xae, +}; + +const unsigned char ReadProgmem_isp_12[156] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x67, 0x01, 0x01, 0x93, 0x01, 0x10, 0x00, 0x9b, 0x02, + 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, 0x02, 0x00, 0xfc, 0x03, 0x02, 0x9c, 0x00, 0x90, 0x0c, + 0x00, 0x40, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, 0xad, 0x01, 0xfa, 0x0c, 0x0d, 0x34, + 0x00, 0xfb, 0x52, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0xac, 0x10, 0x00, 0x60, 0x0c, 0x00, 0x68, 0x0c, 0x08, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x20, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0c, + 0x9b, 0x0f, 0x03, 0x9b, 0x10, 0x00, 0x1e, 0x35, 0x0d, 0x0f, 0x10, 0x9f, 0x90, 0x0e, 0x00, 0x00, + 0x00, 0x28, 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0e, 0x0c, 0x1e, 0x35, 0x0e, 0x0f, 0x10, + 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x94, 0x04, 0x00, 0xae, +}; + +const unsigned char ReadProgmem_isp_13[156] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x67, 0x01, 0x01, 0x93, 0x01, 0x10, 0x00, 0x9b, 0x02, + 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, 0x02, 0x00, 0xfc, 0x03, 0x02, 0x9c, 0x00, 0x90, 0x0c, + 0x00, 0x08, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, 0xad, 0x01, 0xfa, 0x0c, 0x0d, 0x34, + 0x00, 0xfb, 0x52, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0xac, 0x10, 0x00, 0x60, 0x0c, 0x00, 0x68, 0x0c, 0x08, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x20, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0c, + 0x9b, 0x0f, 0x03, 0x9b, 0x10, 0x00, 0x1e, 0x35, 0x0d, 0x0f, 0x10, 0x9f, 0x90, 0x0e, 0x00, 0x00, + 0x00, 0x28, 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0e, 0x0c, 0x1e, 0x35, 0x0e, 0x0f, 0x10, + 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x94, 0x04, 0x00, 0xae, +}; + +const unsigned char ReadProgmem_isp_14[156] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x67, 0x01, 0x01, 0x93, 0x01, 0x08, 0x00, 0x9b, 0x02, + 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, 0x02, 0x00, 0xfc, 0x03, 0x02, 0x9c, 0x00, 0x90, 0x0c, + 0x00, 0x10, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, 0xad, 0x01, 0xfa, 0x0c, 0x0d, 0x34, + 0x00, 0xfb, 0x52, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0xac, 0x08, 0x00, 0x60, 0x0c, 0x00, 0x68, 0x0c, 0x08, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x20, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0c, + 0x9b, 0x0f, 0x03, 0x9b, 0x10, 0x00, 0x1e, 0x35, 0x0d, 0x0f, 0x10, 0x9f, 0x90, 0x0e, 0x00, 0x00, + 0x00, 0x28, 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0e, 0x0c, 0x1e, 0x35, 0x0e, 0x0f, 0x10, + 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x94, 0x04, 0x00, 0xae, +}; + +const unsigned char ReadProgmem_isp_15[156] = { + 0x91, 0x00, 0x91, 0x01, 0x67, 0x00, 0x01, 0x67, 0x01, 0x01, 0x93, 0x01, 0x08, 0x00, 0x9b, 0x02, + 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x03, 0x9b, 0x02, 0x00, 0xfc, 0x03, 0x02, 0x9c, 0x00, 0x90, 0x0c, + 0x00, 0x20, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, 0xad, 0x01, 0xfa, 0x0c, 0x0d, 0x34, + 0x00, 0xfb, 0x52, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, + 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, + 0x34, 0x0d, 0xac, 0x08, 0x00, 0x60, 0x0c, 0x00, 0x68, 0x0c, 0x08, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x20, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0d, 0x0c, + 0x9b, 0x0f, 0x03, 0x9b, 0x10, 0x00, 0x1e, 0x35, 0x0d, 0x0f, 0x10, 0x9f, 0x90, 0x0e, 0x00, 0x00, + 0x00, 0x28, 0x66, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0e, 0x0c, 0x1e, 0x35, 0x0e, 0x0f, 0x10, + 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x94, 0x04, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_0[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x10, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x08, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x08, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x08, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x14, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x14, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x10, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x14, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_1[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x04, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x08, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x08, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x08, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x14, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x14, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x04, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x14, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_2[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x08, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x08, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x08, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x08, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x14, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x14, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x08, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x14, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_3[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x02, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x04, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x04, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x05, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x05, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x02, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x05, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_4[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x10, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x08, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x08, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x08, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x0a, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x0a, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x10, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x0a, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_5[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x02, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x04, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x04, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x14, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x14, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x02, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x14, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_6[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x08, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x08, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x08, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x08, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x0a, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x0a, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x08, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x0a, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_7[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x10, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x08, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x08, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x08, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x04, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x14, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x14, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x10, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x04, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x14, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_8[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x10, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x08, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x08, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x08, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x32, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x10, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x32, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_9[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x02, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x04, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x04, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x04, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x14, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x14, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x02, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x04, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x14, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_10[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x04, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x04, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x14, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x14, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x14, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_11[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x02, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x04, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x04, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x0a, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x0a, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x02, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x0a, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_12[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x20, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x08, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x08, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x08, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x32, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x20, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x32, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_13[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x04, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x04, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x04, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x04, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x14, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x14, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x04, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x04, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x14, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_14[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x04, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x04, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x04, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x0a, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x0a, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x04, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x0a, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_15[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x04, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x04, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x04, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x14, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x14, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x04, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x14, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_16[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x08, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x08, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x08, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x08, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x04, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x14, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x14, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x08, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x04, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x14, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_17[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x08, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x08, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x08, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x08, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x32, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x08, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x32, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_18[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x02, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x02, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x02, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x04, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x14, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x14, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x04, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x14, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_19[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x04, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x04, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x05, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x05, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x05, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_20[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x80, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x04, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x04, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x06, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x06, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x80, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x06, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_21[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x80, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x04, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x04, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x0a, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x0a, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x80, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x0a, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_22[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x80, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x04, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x04, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x05, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x05, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x80, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x05, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_23[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x80, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x04, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x04, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x04, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x14, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x14, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x80, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x04, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x14, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_24[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x04, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x04, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x06, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x06, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x06, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_25[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x04, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x04, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x0a, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x0a, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x0a, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_26[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x04, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x04, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x0a, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x0a, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x0a, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_27[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x04, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x04, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x05, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x05, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x05, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_isp_28[391] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0xe1, 0x00, 0x90, 0x02, 0x41, 0x00, 0x00, 0x00, 0x66, 0x02, 0x01, 0x00, 0x00, 0x00, + 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x90, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x02, 0x00, 0x60, 0x14, 0x01, 0x93, 0x14, 0x04, 0x00, 0xad, 0x14, 0xfa, 0x0c, 0x0d, + 0x45, 0x00, 0xfb, 0x63, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x66, 0x0c, 0x00, 0xff, 0xff, + 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0xac, 0x04, 0x00, 0x99, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x60, 0x0e, + 0x00, 0x68, 0x0e, 0x08, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0d, 0x0e, 0x7c, 0x0d, 0x0c, + 0x1e, 0x34, 0x0d, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc2, + 0x60, 0x0d, 0x00, 0x90, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x6a, 0x0d, 0x0e, 0x68, 0x0d, 0x08, 0x66, + 0x0d, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x0c, 0x0d, 0x1e, 0x34, 0x0c, 0x94, 0x04, 0x00, 0x9b, 0x0c, + 0x41, 0x66, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x0c, 0x40, 0x00, 0x00, 0x00, 0xca, 0x00, 0xfe, + 0x0c, 0x10, 0x00, 0x00, 0x00, 0xdd, 0x00, 0xfb, 0xe0, 0x00, 0x9b, 0x0c, 0x14, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0xe0, 0x00, 0xfb, 0xe0, 0x00, 0x94, 0x14, 0x00, + 0xae, 0xfb, 0x87, 0x01, 0xad, 0x01, 0x90, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, + 0x02, 0x00, 0xfa, 0x0c, 0x0d, 0xfa, 0x00, 0xfb, 0x18, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, + 0x66, 0x0c, 0x00, 0xff, 0xff, 0x00, 0x66, 0x0d, 0x00, 0x00, 0x00, 0xff, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x4d, 0x7c, 0x0d, 0x0c, 0x1e, 0x34, 0x0d, 0x99, 0x0e, 0x90, 0x0c, 0x00, 0x00, 0x00, 0xc0, + 0x60, 0x0d, 0x00, 0x68, 0x0d, 0x08, 0x66, 0x0c, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x0c, 0x0d, 0x7c, + 0x0c, 0x0e, 0x1e, 0x34, 0x0c, 0x9b, 0x0c, 0x41, 0x66, 0x0c, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x0c, + 0x02, 0x00, 0x00, 0x00, 0x59, 0x01, 0xfe, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x01, 0xfe, 0x0c, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x01, 0xfb, 0x80, 0x01, 0x94, 0x14, 0x00, 0xfb, 0x80, 0x01, 0x9b, + 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x87, 0x01, 0xfb, + 0x80, 0x01, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x08, 0x60, 0x0d, 0x00, 0x1e, 0x39, 0x0c, 0x0d, 0x0e, + 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char ReadDataEEmem_isp_0[129] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0x81, 0x00, 0x90, 0x0c, 0x00, 0x10, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, + 0x60, 0x0e, 0x01, 0x93, 0x0e, 0x08, 0x00, 0xad, 0x0e, 0xfa, 0x0c, 0x0d, 0x31, 0x00, 0xfb, 0x4f, + 0x00, 0x60, 0x0f, 0x00, 0x67, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x66, 0x10, 0x00, + 0x00, 0x00, 0xff, 0x90, 0x10, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x10, 0x0f, 0x1e, 0x34, 0x10, 0xac, + 0x08, 0x00, 0x60, 0x0f, 0x00, 0x68, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x90, 0x10, + 0x00, 0x00, 0x00, 0xa0, 0x66, 0x10, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x10, 0x0f, 0x9b, 0x11, 0x03, + 0x9b, 0x12, 0x00, 0x1e, 0x35, 0x10, 0x11, 0x12, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, + 0xae, +}; + +const unsigned char ReadDataEEmem_isp_1[129] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0x81, 0x00, 0x90, 0x0c, 0x00, 0x04, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, + 0x60, 0x0e, 0x01, 0x93, 0x0e, 0x08, 0x00, 0xad, 0x0e, 0xfa, 0x0c, 0x0d, 0x31, 0x00, 0xfb, 0x4f, + 0x00, 0x60, 0x0f, 0x00, 0x67, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x66, 0x10, 0x00, + 0x00, 0x00, 0xff, 0x90, 0x10, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x10, 0x0f, 0x1e, 0x34, 0x10, 0xac, + 0x08, 0x00, 0x60, 0x0f, 0x00, 0x68, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x90, 0x10, + 0x00, 0x00, 0x00, 0xa0, 0x66, 0x10, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x10, 0x0f, 0x9b, 0x11, 0x03, + 0x9b, 0x12, 0x00, 0x1e, 0x35, 0x10, 0x11, 0x12, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, + 0xae, +}; + +const unsigned char ReadDataEEmem_isp_2[129] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0x81, 0x00, 0x90, 0x0c, 0x00, 0x08, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, + 0x60, 0x0e, 0x01, 0x93, 0x0e, 0x08, 0x00, 0xad, 0x0e, 0xfa, 0x0c, 0x0d, 0x31, 0x00, 0xfb, 0x4f, + 0x00, 0x60, 0x0f, 0x00, 0x67, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x66, 0x10, 0x00, + 0x00, 0x00, 0xff, 0x90, 0x10, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x10, 0x0f, 0x1e, 0x34, 0x10, 0xac, + 0x08, 0x00, 0x60, 0x0f, 0x00, 0x68, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x90, 0x10, + 0x00, 0x00, 0x00, 0xa0, 0x66, 0x10, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x10, 0x0f, 0x9b, 0x11, 0x03, + 0x9b, 0x12, 0x00, 0x1e, 0x35, 0x10, 0x11, 0x12, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, + 0xae, +}; + +const unsigned char ReadDataEEmem_isp_3[129] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0x81, 0x00, 0x90, 0x0c, 0x00, 0x02, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, + 0x60, 0x0e, 0x01, 0x93, 0x0e, 0x04, 0x00, 0xad, 0x0e, 0xfa, 0x0c, 0x0d, 0x31, 0x00, 0xfb, 0x4f, + 0x00, 0x60, 0x0f, 0x00, 0x67, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x66, 0x10, 0x00, + 0x00, 0x00, 0xff, 0x90, 0x10, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x10, 0x0f, 0x1e, 0x34, 0x10, 0xac, + 0x04, 0x00, 0x60, 0x0f, 0x00, 0x68, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x90, 0x10, + 0x00, 0x00, 0x00, 0xa0, 0x66, 0x10, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x10, 0x0f, 0x9b, 0x11, 0x03, + 0x9b, 0x12, 0x00, 0x1e, 0x35, 0x10, 0x11, 0x12, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, + 0xae, +}; + +const unsigned char ReadDataEEmem_isp_4[129] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0x81, 0x00, 0x90, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, + 0x60, 0x0e, 0x01, 0x93, 0x0e, 0x04, 0x00, 0xad, 0x0e, 0xfa, 0x0c, 0x0d, 0x31, 0x00, 0xfb, 0x4f, + 0x00, 0x60, 0x0f, 0x00, 0x67, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x66, 0x10, 0x00, + 0x00, 0x00, 0xff, 0x90, 0x10, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x10, 0x0f, 0x1e, 0x34, 0x10, 0xac, + 0x04, 0x00, 0x60, 0x0f, 0x00, 0x68, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x90, 0x10, + 0x00, 0x00, 0x00, 0xa0, 0x66, 0x10, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x10, 0x0f, 0x9b, 0x11, 0x03, + 0x9b, 0x12, 0x00, 0x1e, 0x35, 0x10, 0x11, 0x12, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, + 0xae, +}; + +const unsigned char ReadDataEEmem_isp_5[129] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0x81, 0x00, 0x90, 0x0c, 0x00, 0x20, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, + 0x60, 0x0e, 0x01, 0x93, 0x0e, 0x08, 0x00, 0xad, 0x0e, 0xfa, 0x0c, 0x0d, 0x31, 0x00, 0xfb, 0x4f, + 0x00, 0x60, 0x0f, 0x00, 0x67, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x66, 0x10, 0x00, + 0x00, 0x00, 0xff, 0x90, 0x10, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x10, 0x0f, 0x1e, 0x34, 0x10, 0xac, + 0x08, 0x00, 0x60, 0x0f, 0x00, 0x68, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x90, 0x10, + 0x00, 0x00, 0x00, 0xa0, 0x66, 0x10, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x10, 0x0f, 0x9b, 0x11, 0x03, + 0x9b, 0x12, 0x00, 0x1e, 0x35, 0x10, 0x11, 0x12, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, + 0xae, +}; + +const unsigned char ReadDataEEmem_isp_6[129] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0x81, 0x00, 0x90, 0x0c, 0x00, 0x04, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, + 0x60, 0x0e, 0x01, 0x93, 0x0e, 0x04, 0x00, 0xad, 0x0e, 0xfa, 0x0c, 0x0d, 0x31, 0x00, 0xfb, 0x4f, + 0x00, 0x60, 0x0f, 0x00, 0x67, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x66, 0x10, 0x00, + 0x00, 0x00, 0xff, 0x90, 0x10, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x10, 0x0f, 0x1e, 0x34, 0x10, 0xac, + 0x04, 0x00, 0x60, 0x0f, 0x00, 0x68, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x90, 0x10, + 0x00, 0x00, 0x00, 0xa0, 0x66, 0x10, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x10, 0x0f, 0x9b, 0x11, 0x03, + 0x9b, 0x12, 0x00, 0x1e, 0x35, 0x10, 0x11, 0x12, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, + 0xae, +}; + +const unsigned char ReadDataEEmem_isp_7[129] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0x81, 0x00, 0x90, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, + 0x60, 0x0e, 0x01, 0x93, 0x0e, 0x02, 0x00, 0xad, 0x0e, 0xfa, 0x0c, 0x0d, 0x31, 0x00, 0xfb, 0x4f, + 0x00, 0x60, 0x0f, 0x00, 0x67, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x66, 0x10, 0x00, + 0x00, 0x00, 0xff, 0x90, 0x10, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x10, 0x0f, 0x1e, 0x34, 0x10, 0xac, + 0x02, 0x00, 0x60, 0x0f, 0x00, 0x68, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x90, 0x10, + 0x00, 0x00, 0x00, 0xa0, 0x66, 0x10, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x10, 0x0f, 0x9b, 0x11, 0x03, + 0x9b, 0x12, 0x00, 0x1e, 0x35, 0x10, 0x11, 0x12, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, + 0xae, +}; + +const unsigned char ReadDataEEmem_isp_8[129] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0x81, 0x00, 0x90, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, + 0x60, 0x0e, 0x01, 0x93, 0x0e, 0x04, 0x00, 0xad, 0x0e, 0xfa, 0x0c, 0x0d, 0x31, 0x00, 0xfb, 0x4f, + 0x00, 0x60, 0x0f, 0x00, 0x67, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x66, 0x10, 0x00, + 0x00, 0x00, 0xff, 0x90, 0x10, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x10, 0x0f, 0x1e, 0x34, 0x10, 0xac, + 0x04, 0x00, 0x60, 0x0f, 0x00, 0x68, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x90, 0x10, + 0x00, 0x00, 0x00, 0xa0, 0x66, 0x10, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x10, 0x0f, 0x9b, 0x11, 0x03, + 0x9b, 0x12, 0x00, 0x1e, 0x35, 0x10, 0x11, 0x12, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, + 0xae, +}; + +const unsigned char ReadDataEEmem_isp_9[129] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x32, 0x1e, 0x37, 0x02, 0x6c, 0x04, 0x9b, 0x03, 0x00, 0xfc, + 0x04, 0x03, 0x81, 0x00, 0x90, 0x0c, 0x80, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x02, 0x00, + 0x60, 0x0e, 0x01, 0x93, 0x0e, 0x04, 0x00, 0xad, 0x0e, 0xfa, 0x0c, 0x0d, 0x31, 0x00, 0xfb, 0x4f, + 0x00, 0x60, 0x0f, 0x00, 0x67, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x66, 0x10, 0x00, + 0x00, 0x00, 0xff, 0x90, 0x10, 0x00, 0x00, 0x00, 0x4d, 0x7c, 0x10, 0x0f, 0x1e, 0x34, 0x10, 0xac, + 0x04, 0x00, 0x60, 0x0f, 0x00, 0x68, 0x0f, 0x08, 0x66, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x90, 0x10, + 0x00, 0x00, 0x00, 0xa0, 0x66, 0x10, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x10, 0x0f, 0x9b, 0x11, 0x03, + 0x9b, 0x12, 0x00, 0x1e, 0x35, 0x10, 0x11, 0x12, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, + 0xae, +}; + +const unsigned char WriteConfigmemFuse_isp_0[71] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0a, 0x00, 0x00, 0xa0, 0xac, 0x90, 0x0b, 0x00, 0x00, 0xa8, 0xac, + 0x90, 0x0c, 0x00, 0x00, 0xa4, 0xac, 0x90, 0x02, 0x32, 0x00, 0x00, 0x00, 0x90, 0x03, 0x0a, 0x00, + 0x00, 0x00, 0xad, 0x01, 0x1e, 0x37, 0x02, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x99, 0x04, 0x6d, 0x05, + 0x03, 0x66, 0x05, 0x00, 0xff, 0xff, 0xff, 0x7c, 0x05, 0x04, 0x1e, 0x34, 0x05, 0x94, 0x0a, 0x00, + 0x92, 0x03, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteConfigmemFuse_isp_1[71] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0a, 0x00, 0x00, 0xa0, 0xac, 0x90, 0x0b, 0x00, 0x00, 0xa8, 0xac, + 0x90, 0x0c, 0x00, 0x00, 0xa4, 0xac, 0x90, 0x02, 0x32, 0x00, 0x00, 0x00, 0x90, 0x03, 0x0a, 0x00, + 0x00, 0x00, 0xad, 0x01, 0x1e, 0x37, 0x02, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x99, 0x04, 0x6d, 0x05, + 0x03, 0x66, 0x05, 0x00, 0xff, 0xff, 0xff, 0x7c, 0x05, 0x04, 0x1e, 0x34, 0x05, 0x94, 0x06, 0x00, + 0x92, 0x03, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteConfigmemFuse_isp_2[71] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0a, 0x00, 0x00, 0xa0, 0xac, 0x90, 0x0b, 0x00, 0x00, 0xa8, 0xac, + 0x90, 0x0c, 0x00, 0x00, 0xa4, 0xac, 0x90, 0x02, 0x32, 0x00, 0x00, 0x00, 0x90, 0x03, 0x0a, 0x00, + 0x00, 0x00, 0xad, 0x01, 0x1e, 0x37, 0x02, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x99, 0x04, 0x6d, 0x05, + 0x03, 0x66, 0x05, 0x00, 0xff, 0xff, 0xff, 0x7c, 0x05, 0x04, 0x1e, 0x34, 0x05, 0x94, 0x32, 0x00, + 0x92, 0x03, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteConfigmemLock_isp_0[43] = { + 0x91, 0x05, 0x91, 0x06, 0x90, 0x00, 0x00, 0x00, 0xe0, 0xac, 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x28, 0x00, 0x66, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x99, 0x0c, 0x7c, 0x00, 0x0c, 0x1e, 0x34, 0x00, 0x94, 0x0a, 0x00, +}; + +const unsigned char WriteConfigmemLock_isp_1[43] = { + 0x91, 0x05, 0x91, 0x06, 0x90, 0x00, 0x00, 0x00, 0xe0, 0xac, 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x28, 0x00, 0x66, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x99, 0x0c, 0x7c, 0x00, 0x0c, 0x1e, 0x34, 0x00, 0x94, 0x06, 0x00, +}; + +const unsigned char WriteConfigmemLock_isp_2[43] = { + 0x91, 0x05, 0x91, 0x06, 0x90, 0x00, 0x00, 0x00, 0xe0, 0xac, 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0c, 0x00, 0xfc, 0x0d, 0x0c, 0x28, 0x00, 0x66, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x99, 0x0c, 0x7c, 0x00, 0x0c, 0x1e, 0x34, 0x00, 0x94, 0x32, 0x00, +}; + +const unsigned char ReadConfigmemFuse_isp_0[66] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x0a, 0x00, 0x00, 0x00, 0x50, 0x90, 0x0b, 0x00, 0x00, 0x08, 0x58, + 0x90, 0x0c, 0x00, 0x00, 0x08, 0x50, 0x90, 0x02, 0x32, 0x00, 0x00, 0x00, 0x9b, 0x06, 0x03, 0x9b, + 0x07, 0x00, 0x90, 0x03, 0x0a, 0x00, 0x00, 0x00, 0x1e, 0x37, 0x02, 0xa8, 0x00, 0x00, 0x00, 0x00, + 0xad, 0x01, 0x6d, 0x05, 0x03, 0x1e, 0x35, 0x05, 0x06, 0x07, 0x9f, 0x92, 0x03, 0x01, 0x00, 0x00, + 0x00, 0xae, +}; + +const unsigned char ReadConfigmemLock_isp_0[41] = { + 0x91, 0x05, 0x91, 0x06, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, + 0x6c, 0x0d, 0x9b, 0x0e, 0x00, 0xfc, 0x0d, 0x0e, 0x29, 0x00, 0x60, 0x0c, 0x00, 0x9b, 0x0d, 0x03, + 0x9b, 0x0e, 0x00, 0x1e, 0x35, 0x0c, 0x0d, 0x0e, 0x9f, +}; + +const unsigned char ReadCalibrationByte_isp_0[37] = { + 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0x9b, 0x0c, 0x32, 0x1e, 0x37, 0x0c, 0x6c, 0x0d, 0x9b, 0x0e, + 0x00, 0xfc, 0x0d, 0x0e, 0x25, 0x00, 0x60, 0x0c, 0x00, 0x9b, 0x0d, 0x03, 0x9b, 0x0e, 0x00, 0x1e, + 0x35, 0x0c, 0x0d, 0x0e, 0x9f, +}; + +const unsigned char switchtoISP_isp_0[11] = { + 0x1e, 0x4a, 0x90, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x00, +}; + + + + +static void pickit_isp_script_init(SCRIPT *scr); +static void pickit_isp_script_init(SCRIPT *scr) { + memset(scr, 0x00, sizeof(SCRIPT)); // Make sure everything is NULL + + scr->EnterProgMode = EnterProgMode_isp_0; + scr->ExitProgMode = ExitProgMode_isp_0; + scr->SetSpeed = SetSpeed_isp_0; + scr->GetDeviceID = GetDeviceID_isp_0; + scr->ReadConfigmemFuse = ReadConfigmemFuse_isp_0; + scr->ReadConfigmemLock = ReadConfigmemLock_isp_0; + scr->ReadCalibrationByte = ReadCalibrationByte_isp_0; + scr->switchtoISP = switchtoISP_isp_0; + + scr->EnterProgMode_len = sizeof(EnterProgMode_isp_0); + scr->ExitProgMode_len = sizeof(ExitProgMode_isp_0); + scr->SetSpeed_len = sizeof(SetSpeed_isp_0); + scr->GetDeviceID_len = sizeof(GetDeviceID_isp_0); + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_isp_0); + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_isp_0); + scr->ReadCalibrationByte_len = sizeof(ReadCalibrationByte_isp_0); + scr->switchtoISP_len = sizeof(switchtoISP_isp_0); +} + + +const char * const pickit5_isp_chip_lut[] = { + "AT90CAN128", "AT90CAN32", "AT90CAN64", "AT90PWM1", "AT90PWM161", "AT90PWM216", "AT90PWM2B", "AT90PWM3", + "AT90PWM316", "AT90PWM3B", "AT90PWM81", "AT90USB1286", "AT90USB1287", "AT90USB162", "AT90USB646", "AT90USB647", + "AT90USB82", "ATmega128", "ATmega1280", "ATmega1281", "ATmega1284", "ATmega1284P", "ATmega1284RFR2", "ATmega128A", + "ATmega128RFA1", "ATmega128RFR2", "ATmega16", "ATmega162", "ATmega164A", "ATmega164P", "ATmega164PA", "ATmega165A", + "ATmega165P", "ATmega165PA", "ATmega168", "ATmega168A", "ATmega168P", "ATmega168PA", "ATmega168PB", "ATmega169A", + "ATmega169P", "ATmega169PA", "ATmega16A", "ATmega16HVA", "ATmega16HVB","ATmega16HVBrevB", "ATmega16M1", "ATmega16U2", + "ATmega16U4", "ATmega2560", "ATmega2561", "ATmega2564RFR2", "ATmega256RFR2", "ATmega32", "ATmega324A", "ATmega324P", + "ATmega324PA", "ATmega324PB", "ATmega325", "ATmega3250", "ATmega3250A", "ATmega3250P", "ATmega3250PA", "ATmega325A", + "ATmega325P", "ATmega325PA", "ATmega328", "ATmega328P", "ATmega328PB", "ATmega329", "ATmega3290", "ATmega3290A", + "ATmega3290P", "ATmega3290PA", "ATmega329A", "ATmega329P", "ATmega329PA", "ATmega32A", "ATmega32C1", "ATmega32HVB", + "ATmega32HVBrevB", "ATmega32M1", "ATmega32U2", "ATmega32U4", "ATmega48", "ATmega48A", "ATmega48P", "ATmega48PA", + "ATmega48PB", "ATmega64", "ATmega640", "ATmega644", "ATmega644A", "ATmega644P", "ATmega644PA", "ATmega644RFR2", + "ATmega645", "ATmega6450", "ATmega6450A", "ATmega6450P", "ATmega645A", "ATmega645P", "ATmega649", "ATmega6490", + "ATmega6490A", "ATmega6490P", "ATmega649A", "ATmega649P", "ATmega64A", "ATmega64C1", "ATmega64HVE2", "ATmega64M1", + "ATmega64RFR2", "ATmega8", "ATmega8515", "ATmega8535", "ATmega88", "ATmega88A", "ATmega88P", "ATmega88PA", + "ATmega88PB", "ATmega8A", "ATmega8HVA", "ATmega8U2", "ATtiny12", "ATtiny13", "ATtiny13A", "ATtiny15", + "ATtiny1634", "ATtiny167", "ATtiny2313", "ATtiny2313A", "ATtiny24", "ATtiny24A", "ATtiny25", "ATtiny26", + "ATtiny261", "ATtiny261A", "ATtiny4313", "ATtiny43U", "ATtiny44", "ATtiny441", "ATtiny44A", "ATtiny45", + "ATtiny461", "ATtiny461A", "ATtiny48", "ATtiny828", "ATtiny84", "ATtiny841", "ATtiny84A", "ATtiny85", + "ATtiny861", "ATtiny861A", "ATtiny87", "ATtiny88", +}; + +int get_pickit_isp_script(SCRIPT *scr, const char* partdesc) { + if ((scr == NULL) || (partdesc == NULL)) { + return -1; + } + int namepos = -1; + for (int i = 0; i < 156; i++) { + if (strcmp(pickit5_isp_chip_lut[i], partdesc) == 0) { + namepos = i; + break; + } + } + if (namepos == -1) { + return -2; + } + + pickit_isp_script_init(scr); // load common functions + + switch (namepos) { + case 0: /* AT90CAN128 */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_0; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_0); + scr->ReadProgmem = ReadProgmem_isp_0; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_0); + scr->WriteDataEEmem = WriteDataEEmem_isp_0; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_0); + scr->ReadDataEEmem = ReadDataEEmem_isp_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 1: /* AT90CAN32 */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_1; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_1); + scr->ReadProgmem = ReadProgmem_isp_1; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_1); + scr->WriteDataEEmem = WriteDataEEmem_isp_1; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_1); + scr->ReadDataEEmem = ReadDataEEmem_isp_1; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_1); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 2: /* AT90CAN64 */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_2; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_2); + scr->ReadProgmem = ReadProgmem_isp_2; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_2); + scr->WriteDataEEmem = WriteDataEEmem_isp_2; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_2); + scr->ReadDataEEmem = ReadDataEEmem_isp_2; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_2); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 3: /* AT90PWM1 */ + case 6: /* AT90PWM2B */ + case 7: /* AT90PWM3 */ + case 9: /* AT90PWM3B */ + case 10: /* AT90PWM81 */ + case 151: /* ATtiny85 */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_3; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_3); + scr->ReadProgmem = ReadProgmem_isp_3; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_3); + scr->WriteDataEEmem = WriteDataEEmem_isp_3; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_3); + scr->ReadDataEEmem = ReadDataEEmem_isp_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_3); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 4: /* AT90PWM161 */ + case 5: /* AT90PWM216 */ + case 8: /* AT90PWM316 */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_4; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_4); + scr->ReadProgmem = ReadProgmem_isp_4; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_4); + scr->WriteDataEEmem = WriteDataEEmem_isp_3; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_3); + scr->ReadDataEEmem = ReadDataEEmem_isp_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_3); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 11: /* AT90USB1286 */ + case 12: /* AT90USB1287 */ + scr->EraseChip = EraseChip_isp_1; + scr->EraseChip_len = sizeof(EraseChip_isp_1); + scr->WriteProgmem = WriteProgmem_isp_5; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_5); + scr->ReadProgmem = ReadProgmem_isp_0; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_0); + scr->WriteDataEEmem = WriteDataEEmem_isp_4; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_4); + scr->ReadDataEEmem = ReadDataEEmem_isp_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_1; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_1); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_1; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_1); + break; + case 13: /* AT90USB162 */ + case 47: /* ATmega16U2 */ + case 48: /* ATmega16U4 */ + scr->EraseChip = EraseChip_isp_1; + scr->EraseChip_len = sizeof(EraseChip_isp_1); + scr->WriteProgmem = WriteProgmem_isp_6; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_6); + scr->ReadProgmem = ReadProgmem_isp_4; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_4); + scr->WriteDataEEmem = WriteDataEEmem_isp_5; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_5); + scr->ReadDataEEmem = ReadDataEEmem_isp_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_3); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_1; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_1); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_1; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_1); + break; + case 14: /* AT90USB646 */ + case 15: /* AT90USB647 */ + scr->EraseChip = EraseChip_isp_1; + scr->EraseChip_len = sizeof(EraseChip_isp_1); + scr->WriteProgmem = WriteProgmem_isp_7; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_7); + scr->ReadProgmem = ReadProgmem_isp_2; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_2); + scr->WriteDataEEmem = WriteDataEEmem_isp_6; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_6); + scr->ReadDataEEmem = ReadDataEEmem_isp_2; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_2); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_1; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_1); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_1; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_1); + break; + case 16: /* AT90USB82 */ + case 123: /* ATmega8U2 */ + scr->EraseChip = EraseChip_isp_1; + scr->EraseChip_len = sizeof(EraseChip_isp_1); + scr->WriteProgmem = WriteProgmem_isp_8; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_8); + scr->ReadProgmem = ReadProgmem_isp_5; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_5); + scr->WriteDataEEmem = WriteDataEEmem_isp_5; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_5); + scr->ReadDataEEmem = ReadDataEEmem_isp_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_3); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_1; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_1); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_1; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_1); + break; + case 17: /* ATmega128 */ + case 23: /* ATmega128A */ + scr->EraseChip = EraseChip_isp_2; + scr->EraseChip_len = sizeof(EraseChip_isp_2); + scr->WriteProgmem = WriteProgmem_isp_9; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_9); + scr->ReadProgmem = ReadProgmem_isp_0; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_0); + scr->WriteDataEEmem = WriteDataEEmem_isp_7; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_7); + scr->ReadDataEEmem = ReadDataEEmem_isp_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 18: /* ATmega1280 */ + case 19: /* ATmega1281 */ + case 20: /* ATmega1284 */ + case 21: /* ATmega1284P */ + scr->EraseChip = EraseChip_isp_1; + scr->EraseChip_len = sizeof(EraseChip_isp_1); + scr->WriteProgmem = WriteProgmem_isp_0; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_0); + scr->ReadProgmem = ReadProgmem_isp_0; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_0); + scr->WriteDataEEmem = WriteDataEEmem_isp_4; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_4); + scr->ReadDataEEmem = ReadDataEEmem_isp_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 22: /* ATmega1284RFR2 */ + case 24: /* ATmega128RFA1 */ + case 25: /* ATmega128RFR2 */ + scr->EraseChip = EraseChip_isp_1; + scr->EraseChip_len = sizeof(EraseChip_isp_1); + scr->WriteProgmem = WriteProgmem_isp_10; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_10); + scr->ReadProgmem = ReadProgmem_isp_0; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_0); + scr->WriteDataEEmem = WriteDataEEmem_isp_8; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_8); + scr->ReadDataEEmem = ReadDataEEmem_isp_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_2; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_2); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_2; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_2); + break; + case 26: /* ATmega16 */ + case 42: /* ATmega16A */ + scr->EraseChip = EraseChip_isp_2; + scr->EraseChip_len = sizeof(EraseChip_isp_2); + scr->WriteProgmem = WriteProgmem_isp_11; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_11); + scr->ReadProgmem = ReadProgmem_isp_4; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_4); + scr->WriteDataEEmem = WriteDataEEmem_isp_9; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_9); + scr->ReadDataEEmem = ReadDataEEmem_isp_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_3); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 27: /* ATmega162 */ + scr->EraseChip = EraseChip_isp_2; + scr->EraseChip_len = sizeof(EraseChip_isp_2); + scr->WriteProgmem = WriteProgmem_isp_4; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_4); + scr->ReadProgmem = ReadProgmem_isp_4; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_4); + scr->WriteDataEEmem = WriteDataEEmem_isp_5; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_5); + scr->ReadDataEEmem = ReadDataEEmem_isp_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_3); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 28: /* ATmega164A */ + case 29: /* ATmega164P */ + case 30: /* ATmega164PA */ + case 31: /* ATmega165A */ + case 32: /* ATmega165P */ + case 33: /* ATmega165PA */ + case 34: /* ATmega168 */ + case 35: /* ATmega168A */ + case 36: /* ATmega168P */ + case 37: /* ATmega168PA */ + case 38: /* ATmega168PB */ + case 39: /* ATmega169A */ + case 40: /* ATmega169P */ + case 41: /* ATmega169PA */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_4; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_4); + scr->ReadProgmem = ReadProgmem_isp_4; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_4); + scr->WriteDataEEmem = WriteDataEEmem_isp_5; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_5); + scr->ReadDataEEmem = ReadDataEEmem_isp_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_3); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 43: /* ATmega16HVA */ + scr->EraseChip = EraseChip_isp_3; + scr->EraseChip_len = sizeof(EraseChip_isp_3); + scr->WriteProgmem = WriteProgmem_isp_4; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_4); + scr->ReadProgmem = ReadProgmem_isp_4; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_4); + scr->WriteDataEEmem = WriteDataEEmem_isp_10; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_10); + scr->ReadDataEEmem = ReadDataEEmem_isp_4; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_4); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 44: /* ATmega16HVB */ + case 45: /* ATmega16HVBrevB */ + case 46: /* ATmega16M1 */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_4; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_4); + scr->ReadProgmem = ReadProgmem_isp_4; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_4); + scr->WriteDataEEmem = WriteDataEEmem_isp_11; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_11); + scr->ReadDataEEmem = ReadDataEEmem_isp_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_3); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 49: /* ATmega2560 */ + case 50: /* ATmega2561 */ + scr->EraseChip = EraseChip_isp_1; + scr->EraseChip_len = sizeof(EraseChip_isp_1); + scr->WriteProgmem = WriteProgmem_isp_12; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_12); + scr->ReadProgmem = ReadProgmem_isp_6; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_6); + scr->WriteDataEEmem = WriteDataEEmem_isp_4; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_4); + scr->ReadDataEEmem = ReadDataEEmem_isp_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 51: /* ATmega2564RFR2 */ + case 52: /* ATmega256RFR2 */ + scr->EraseChip = EraseChip_isp_1; + scr->EraseChip_len = sizeof(EraseChip_isp_1); + scr->WriteProgmem = WriteProgmem_isp_13; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_13); + scr->ReadProgmem = ReadProgmem_isp_6; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_6); + scr->WriteDataEEmem = WriteDataEEmem_isp_12; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_12); + scr->ReadDataEEmem = ReadDataEEmem_isp_5; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_5); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_2; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_2); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_2; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_2); + break; + case 53: /* ATmega32 */ + case 77: /* ATmega32A */ + scr->EraseChip = EraseChip_isp_2; + scr->EraseChip_len = sizeof(EraseChip_isp_2); + scr->WriteProgmem = WriteProgmem_isp_14; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_14); + scr->ReadProgmem = ReadProgmem_isp_7; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_7); + scr->WriteDataEEmem = WriteDataEEmem_isp_13; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_13); + scr->ReadDataEEmem = ReadDataEEmem_isp_6; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_6); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 54: /* ATmega324A */ + case 55: /* ATmega324P */ + case 56: /* ATmega324PA */ + case 57: /* ATmega324PB */ + case 58: /* ATmega325 */ + case 59: /* ATmega3250 */ + case 60: /* ATmega3250A */ + case 61: /* ATmega3250P */ + case 62: /* ATmega3250PA */ + case 63: /* ATmega325A */ + case 64: /* ATmega325P */ + case 65: /* ATmega325PA */ + case 69: /* ATmega329 */ + case 70: /* ATmega3290 */ + case 71: /* ATmega3290A */ + case 72: /* ATmega3290P */ + case 73: /* ATmega3290PA */ + case 74: /* ATmega329A */ + case 75: /* ATmega329P */ + case 76: /* ATmega329PA */ + case 78: /* ATmega32C1 */ + case 79: /* ATmega32HVB */ + case 80: /* ATmega32HVBrevB */ + case 81: /* ATmega32M1 */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_15; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_15); + scr->ReadProgmem = ReadProgmem_isp_7; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_7); + scr->WriteDataEEmem = WriteDataEEmem_isp_14; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_14); + scr->ReadDataEEmem = ReadDataEEmem_isp_6; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_6); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 66: /* ATmega328 */ + case 67: /* ATmega328P */ + case 68: /* ATmega328PB */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_15; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_15); + scr->ReadProgmem = ReadProgmem_isp_7; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_7); + scr->WriteDataEEmem = WriteDataEEmem_isp_15; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_15); + scr->ReadDataEEmem = ReadDataEEmem_isp_6; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_6); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 82: /* ATmega32U2 */ + case 83: /* ATmega32U4 */ + scr->EraseChip = EraseChip_isp_1; + scr->EraseChip_len = sizeof(EraseChip_isp_1); + scr->WriteProgmem = WriteProgmem_isp_16; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_16); + scr->ReadProgmem = ReadProgmem_isp_7; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_7); + scr->WriteDataEEmem = WriteDataEEmem_isp_15; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_15); + scr->ReadDataEEmem = ReadDataEEmem_isp_6; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_6); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_1; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_1); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_1; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_1); + break; + case 84: /* ATmega48 */ + case 85: /* ATmega48A */ + case 86: /* ATmega48P */ + case 87: /* ATmega48PA */ + case 88: /* ATmega48PB */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_17; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_17); + scr->ReadProgmem = ReadProgmem_isp_8; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_8); + scr->WriteDataEEmem = WriteDataEEmem_isp_10; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_10); + scr->ReadDataEEmem = ReadDataEEmem_isp_4; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_4); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 89: /* ATmega64 */ + case 108: /* ATmega64A */ + scr->EraseChip = EraseChip_isp_2; + scr->EraseChip_len = sizeof(EraseChip_isp_2); + scr->WriteProgmem = WriteProgmem_isp_18; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_18); + scr->ReadProgmem = ReadProgmem_isp_2; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_2); + scr->WriteDataEEmem = WriteDataEEmem_isp_16; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_16); + scr->ReadDataEEmem = ReadDataEEmem_isp_2; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_2); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 90: /* ATmega640 */ + scr->EraseChip = EraseChip_isp_1; + scr->EraseChip_len = sizeof(EraseChip_isp_1); + scr->WriteProgmem = WriteProgmem_isp_2; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_2); + scr->ReadProgmem = ReadProgmem_isp_2; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_2); + scr->WriteDataEEmem = WriteDataEEmem_isp_4; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_4); + scr->ReadDataEEmem = ReadDataEEmem_isp_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 91: /* ATmega644 */ + case 92: /* ATmega644A */ + case 93: /* ATmega644P */ + case 94: /* ATmega644PA */ + scr->EraseChip = EraseChip_isp_1; + scr->EraseChip_len = sizeof(EraseChip_isp_1); + scr->WriteProgmem = WriteProgmem_isp_2; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_2); + scr->ReadProgmem = ReadProgmem_isp_2; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_2); + scr->WriteDataEEmem = WriteDataEEmem_isp_6; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_6); + scr->ReadDataEEmem = ReadDataEEmem_isp_2; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_2); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 95: /* ATmega644RFR2 */ + case 112: /* ATmega64RFR2 */ + scr->EraseChip = EraseChip_isp_1; + scr->EraseChip_len = sizeof(EraseChip_isp_1); + scr->WriteProgmem = WriteProgmem_isp_19; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_19); + scr->ReadProgmem = ReadProgmem_isp_2; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_2); + scr->WriteDataEEmem = WriteDataEEmem_isp_17; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_17); + scr->ReadDataEEmem = ReadDataEEmem_isp_2; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_2); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_2; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_2); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_2; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_2); + break; + case 96: /* ATmega645 */ + case 97: /* ATmega6450 */ + case 98: /* ATmega6450A */ + case 99: /* ATmega6450P */ + case 100: /* ATmega645A */ + case 101: /* ATmega645P */ + case 102: /* ATmega649 */ + case 103: /* ATmega6490 */ + case 104: /* ATmega6490A */ + case 105: /* ATmega6490P */ + case 106: /* ATmega649A */ + case 107: /* ATmega649P */ + case 109: /* ATmega64C1 */ + case 111: /* ATmega64M1 */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_2; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_2); + scr->ReadProgmem = ReadProgmem_isp_2; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_2); + scr->WriteDataEEmem = WriteDataEEmem_isp_6; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_6); + scr->ReadDataEEmem = ReadDataEEmem_isp_2; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_2); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 110: /* ATmega64HVE2 */ + scr->EraseChip = EraseChip_isp_3; + scr->EraseChip_len = sizeof(EraseChip_isp_3); + scr->WriteProgmem = WriteProgmem_isp_20; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_20); + scr->ReadProgmem = ReadProgmem_isp_9; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_9); + scr->WriteDataEEmem = WriteDataEEmem_isp_15; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_15); + scr->ReadDataEEmem = ReadDataEEmem_isp_6; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_6); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 113: /* ATmega8 */ + case 114: /* ATmega8515 */ + case 115: /* ATmega8535 */ + case 121: /* ATmega8A */ + scr->EraseChip = EraseChip_isp_2; + scr->EraseChip_len = sizeof(EraseChip_isp_2); + scr->WriteProgmem = WriteProgmem_isp_21; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_21); + scr->ReadProgmem = ReadProgmem_isp_3; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_3); + scr->WriteDataEEmem = WriteDataEEmem_isp_9; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_9); + scr->ReadDataEEmem = ReadDataEEmem_isp_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_3); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 116: /* ATmega88 */ + case 117: /* ATmega88A */ + case 118: /* ATmega88P */ + case 119: /* ATmega88PA */ + case 120: /* ATmega88PB */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_3; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_3); + scr->ReadProgmem = ReadProgmem_isp_3; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_3); + scr->WriteDataEEmem = WriteDataEEmem_isp_5; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_5); + scr->ReadDataEEmem = ReadDataEEmem_isp_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_3); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 122: /* ATmega8HVA */ + scr->EraseChip = EraseChip_isp_3; + scr->EraseChip_len = sizeof(EraseChip_isp_3); + scr->WriteProgmem = WriteProgmem_isp_22; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_22); + scr->ReadProgmem = ReadProgmem_isp_5; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_5); + scr->WriteDataEEmem = WriteDataEEmem_isp_10; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_10); + scr->ReadDataEEmem = ReadDataEEmem_isp_4; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_4); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 124: /* ATtiny12 */ + case 127: /* ATtiny15 */ + scr->EraseChip = EraseChip_isp_4; + scr->EraseChip_len = sizeof(EraseChip_isp_4); + scr->WriteProgmem = WriteProgmem_isp_23; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_23); + scr->ReadProgmem = ReadProgmem_isp_10; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_10); + scr->WriteDataEEmem = WriteDataEEmem_isp_18; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_18); + scr->ReadDataEEmem = ReadDataEEmem_isp_7; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_7); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 125: /* ATtiny13 */ + case 126: /* ATtiny13A */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_24; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_24); + scr->ReadProgmem = ReadProgmem_isp_11; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_11); + scr->WriteDataEEmem = WriteDataEEmem_isp_19; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_19); + scr->ReadDataEEmem = ReadDataEEmem_isp_8; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_8); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 128: /* ATtiny1634 */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_25; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_25); + scr->ReadProgmem = ReadProgmem_isp_12; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_12); + scr->WriteDataEEmem = WriteDataEEmem_isp_10; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_10); + scr->ReadDataEEmem = ReadDataEEmem_isp_4; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_4); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 129: /* ATtiny167 */ + scr->EraseChip = EraseChip_isp_5; + scr->EraseChip_len = sizeof(EraseChip_isp_5); + scr->WriteProgmem = WriteProgmem_isp_4; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_4); + scr->ReadProgmem = ReadProgmem_isp_4; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_4); + scr->WriteDataEEmem = WriteDataEEmem_isp_11; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_11); + scr->ReadDataEEmem = ReadDataEEmem_isp_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_3); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 130: /* ATtiny2313 */ + case 131: /* ATtiny2313A */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_26; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_26); + scr->ReadProgmem = ReadProgmem_isp_13; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_13); + scr->WriteDataEEmem = WriteDataEEmem_isp_20; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_20); + scr->ReadDataEEmem = ReadDataEEmem_isp_9; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_9); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 132: /* ATtiny24 */ + case 133: /* ATtiny24A */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_26; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_26); + scr->ReadProgmem = ReadProgmem_isp_13; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_13); + scr->WriteDataEEmem = WriteDataEEmem_isp_21; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_21); + scr->ReadDataEEmem = ReadDataEEmem_isp_9; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_9); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 134: /* ATtiny25 */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_26; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_26); + scr->ReadProgmem = ReadProgmem_isp_13; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_13); + scr->WriteDataEEmem = WriteDataEEmem_isp_22; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_22); + scr->ReadDataEEmem = ReadDataEEmem_isp_9; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_9); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 135: /* ATtiny26 */ + scr->EraseChip = EraseChip_isp_2; + scr->EraseChip_len = sizeof(EraseChip_isp_2); + scr->WriteProgmem = WriteProgmem_isp_27; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_27); + scr->ReadProgmem = ReadProgmem_isp_13; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_13); + scr->WriteDataEEmem = WriteDataEEmem_isp_23; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_23); + scr->ReadDataEEmem = ReadDataEEmem_isp_9; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_9); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 136: /* ATtiny261 */ + case 137: /* ATtiny261A */ + scr->EraseChip = EraseChip_isp_5; + scr->EraseChip_len = sizeof(EraseChip_isp_5); + scr->WriteProgmem = WriteProgmem_isp_26; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_26); + scr->ReadProgmem = ReadProgmem_isp_13; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_13); + scr->WriteDataEEmem = WriteDataEEmem_isp_21; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_21); + scr->ReadDataEEmem = ReadDataEEmem_isp_9; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_9); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 138: /* ATtiny4313 */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_17; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_17); + scr->ReadProgmem = ReadProgmem_isp_8; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_8); + scr->WriteDataEEmem = WriteDataEEmem_isp_24; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_24); + scr->ReadDataEEmem = ReadDataEEmem_isp_4; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_4); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 139: /* ATtiny43U */ + scr->EraseChip = EraseChip_isp_5; + scr->EraseChip_len = sizeof(EraseChip_isp_5); + scr->WriteProgmem = WriteProgmem_isp_17; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_17); + scr->ReadProgmem = ReadProgmem_isp_8; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_8); + scr->WriteDataEEmem = WriteDataEEmem_isp_25; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_25); + scr->ReadDataEEmem = ReadDataEEmem_isp_8; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_8); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 140: /* ATtiny44 */ + case 142: /* ATtiny44A */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_17; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_17); + scr->ReadProgmem = ReadProgmem_isp_8; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_8); + scr->WriteDataEEmem = WriteDataEEmem_isp_26; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_26); + scr->ReadDataEEmem = ReadDataEEmem_isp_4; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_4); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 141: /* ATtiny441 */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_28; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_28); + scr->ReadProgmem = ReadProgmem_isp_14; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_14); + scr->WriteDataEEmem = WriteDataEEmem_isp_26; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_26); + scr->ReadDataEEmem = ReadDataEEmem_isp_4; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_4); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 143: /* ATtiny45 */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_17; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_17); + scr->ReadProgmem = ReadProgmem_isp_8; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_8); + scr->WriteDataEEmem = WriteDataEEmem_isp_27; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_27); + scr->ReadDataEEmem = ReadDataEEmem_isp_4; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_4); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 144: /* ATtiny461 */ + case 145: /* ATtiny461A */ + scr->EraseChip = EraseChip_isp_5; + scr->EraseChip_len = sizeof(EraseChip_isp_5); + scr->WriteProgmem = WriteProgmem_isp_17; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_17); + scr->ReadProgmem = ReadProgmem_isp_8; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_8); + scr->WriteDataEEmem = WriteDataEEmem_isp_26; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_26); + scr->ReadDataEEmem = ReadDataEEmem_isp_4; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_4); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 146: /* ATtiny48 */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_17; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_17); + scr->ReadProgmem = ReadProgmem_isp_8; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_8); + scr->WriteDataEEmem = WriteDataEEmem_isp_28; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_28); + scr->ReadDataEEmem = ReadDataEEmem_isp_8; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_8); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 147: /* ATtiny828 */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_3; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_3); + scr->ReadProgmem = ReadProgmem_isp_3; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_3); + scr->WriteDataEEmem = WriteDataEEmem_isp_10; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_10); + scr->ReadDataEEmem = ReadDataEEmem_isp_4; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_4); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 148: /* ATtiny84 */ + case 150: /* ATtiny84A */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_3; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_3); + scr->ReadProgmem = ReadProgmem_isp_3; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_3); + scr->WriteDataEEmem = WriteDataEEmem_isp_11; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_11); + scr->ReadDataEEmem = ReadDataEEmem_isp_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_3); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 149: /* ATtiny841 */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_29; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_29); + scr->ReadProgmem = ReadProgmem_isp_15; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_15); + scr->WriteDataEEmem = WriteDataEEmem_isp_11; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_11); + scr->ReadDataEEmem = ReadDataEEmem_isp_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_3); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 152: /* ATtiny861 */ + case 153: /* ATtiny861A */ + scr->EraseChip = EraseChip_isp_5; + scr->EraseChip_len = sizeof(EraseChip_isp_5); + scr->WriteProgmem = WriteProgmem_isp_3; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_3); + scr->ReadProgmem = ReadProgmem_isp_3; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_3); + scr->WriteDataEEmem = WriteDataEEmem_isp_11; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_11); + scr->ReadDataEEmem = ReadDataEEmem_isp_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_3); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 154: /* ATtiny87 */ + scr->EraseChip = EraseChip_isp_5; + scr->EraseChip_len = sizeof(EraseChip_isp_5); + scr->WriteProgmem = WriteProgmem_isp_22; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_22); + scr->ReadProgmem = ReadProgmem_isp_5; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_5); + scr->WriteDataEEmem = WriteDataEEmem_isp_11; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_11); + scr->ReadDataEEmem = ReadDataEEmem_isp_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_3); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + case 155: /* ATtiny88 */ + scr->EraseChip = EraseChip_isp_0; + scr->EraseChip_len = sizeof(EraseChip_isp_0); + scr->WriteProgmem = WriteProgmem_isp_3; + scr->WriteProgmem_len = sizeof(WriteProgmem_isp_3); + scr->ReadProgmem = ReadProgmem_isp_3; + scr->ReadProgmem_len = sizeof(ReadProgmem_isp_3); + scr->WriteDataEEmem = WriteDataEEmem_isp_28; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_isp_28); + scr->ReadDataEEmem = ReadDataEEmem_isp_8; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_isp_8); + scr->WriteConfigmemFuse = WriteConfigmemFuse_isp_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_isp_0); + scr->WriteConfigmemLock = WriteConfigmemLock_isp_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0); + break; + } + return 0; +} \ No newline at end of file diff --git a/src/pickit5_lut_jtag.c b/src/pickit5_lut_jtag.c new file mode 100644 index 000000000..f02f6bd8b --- /dev/null +++ b/src/pickit5_lut_jtag.c @@ -0,0 +1,2028 @@ +/* This file was auto-generated by scripts_decoder.py. + * Any changes will be overwritten on regeneration + */ + +/* + * avrdude - A Downloader/Uploader for AVR device programmers + * Copyright (C) 2024 MX682X + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include +#include +#include "pickit5_lut.h" + + +const unsigned char EnterProgMode_jtag_0[70] = { + 0x9b, 0x00, 0x00, 0x1e, 0x60, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9b, 0x01, 0x04, 0x1e, + 0x62, 0x00, 0x01, 0x9b, 0x00, 0x00, 0x9b, 0x01, 0x01, 0x1e, 0x63, 0x00, 0x01, 0x9b, 0x00, 0x0c, + 0x1e, 0x66, 0x00, 0x90, 0x00, 0x01, 0x00, 0x00, 0x00, 0x9b, 0x01, 0x01, 0x1e, 0x67, 0x00, 0x01, + 0x94, 0x32, 0x00, 0x9b, 0x00, 0x04, 0x1e, 0x66, 0x00, 0x90, 0x00, 0x70, 0xa3, 0x00, 0x00, 0x9b, + 0x01, 0x10, 0x1e, 0x67, 0x00, 0x01, +}; + +const unsigned char EnterProgMode_jtag_1[179] = { + 0x90, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x60, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x01, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x62, 0x00, 0x01, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x63, 0x00, 0x01, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1e, + 0x66, 0x00, 0x90, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x6a, 0x00, 0x90, 0x00, 0x07, 0x00, 0x00, + 0x00, 0x1e, 0x66, 0x00, 0x9b, 0x01, 0x00, 0x9b, 0x02, 0xfd, 0x1e, 0x0f, 0x01, 0x02, 0x9b, 0x01, + 0x00, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, + 0x9b, 0x01, 0x01, 0x9b, 0x02, 0x59, 0x1e, 0x0f, 0x01, 0x02, 0x9b, 0x01, 0x00, 0x65, 0xff, 0x88, + 0xd8, 0xcd, 0x04, 0x65, 0x45, 0xab, 0x89, 0x12, 0x04, 0x1e, 0x11, 0x01, 0x9b, 0x01, 0x00, 0x1e, + 0x0e, 0x01, 0x6c, 0x02, 0x66, 0x02, 0xf9, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, + 0xfc, 0x02, 0x03, 0xaa, 0x00, 0x9b, 0x01, 0x00, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x02, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x00, 0xe8, 0x03, 0xfb, 0xb2, 0x00, 0x90, 0x01, 0x00, 0x01, 0x00, 0x00, + 0x7f, 0x01, 0x5a, +}; + +const unsigned char ExitProgMode_jtag_0[75] = { + 0x9b, 0x00, 0x05, 0x1e, 0x66, 0x00, 0x90, 0x00, 0x00, 0x23, 0x00, 0x00, 0x9b, 0x01, 0x0f, 0x1e, + 0x67, 0x00, 0x01, 0x90, 0x00, 0x00, 0x33, 0x00, 0x00, 0x9b, 0x01, 0x0f, 0x1e, 0x67, 0x00, 0x01, + 0x9b, 0x00, 0x04, 0x1e, 0x66, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9b, 0x01, 0x10, 0x1e, + 0x67, 0x00, 0x01, 0x94, 0x0a, 0x00, 0x9b, 0x00, 0x0c, 0x1e, 0x66, 0x00, 0x90, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x9b, 0x01, 0x01, 0x1e, 0x67, 0x00, 0x01, 0x1e, 0x64, +}; + +const unsigned char ExitProgMode_jtag_1[40] = { + 0x9b, 0x01, 0x01, 0x9b, 0x02, 0x00, 0x1e, 0x0f, 0x01, 0x02, 0x9b, 0x01, 0x00, 0x9b, 0x02, 0x00, + 0x1e, 0x0f, 0x01, 0x02, 0x9b, 0x01, 0x00, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x1e, 0x64, +}; + +const unsigned char SetSpeed_jtag_0[20] = { + 0x91, 0x00, 0x9b, 0x01, 0x02, 0x1e, 0x60, 0x01, 0x1e, 0x61, 0x00, 0x9b, 0x01, 0x00, 0x1e, 0x60, + 0x01, 0x1e, 0x61, 0x00, +}; + +const unsigned char SetSpeed_jtag_1[14] = { + 0x91, 0x00, 0x90, 0x01, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x60, 0x01, 0x1e, 0x61, 0x00, +}; + +const unsigned char GetDeviceID_jtag_0[149] = { + 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 0x04, 0x00, 0x00, 0x00, 0x90, 0x0a, 0x01, 0x00, + 0x00, 0x00, 0x90, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x60, 0x02, 0x01, 0xad, 0x02, 0x9b, 0x04, 0x05, + 0x1e, 0x66, 0x04, 0x90, 0x04, 0x08, 0x23, 0x00, 0x00, 0x9b, 0x05, 0x0f, 0x1e, 0x67, 0x04, 0x05, + 0x60, 0x03, 0x00, 0x90, 0x04, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x04, 0x03, 0x9b, 0x05, 0x0f, 0x1e, + 0x67, 0x04, 0x05, 0x90, 0x04, 0x00, 0x32, 0x00, 0x00, 0x6e, 0x04, 0x03, 0x9b, 0x05, 0x0f, 0x1e, + 0x67, 0x04, 0x05, 0x90, 0x04, 0x00, 0x33, 0x00, 0x00, 0x9b, 0x05, 0x0f, 0x95, 0x1e, 0x6b, 0x04, + 0x05, 0x6c, 0x0b, 0x66, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0b, 0x18, 0xfc, 0x0a, 0x0d, 0x80, + 0x00, 0x66, 0x0b, 0x00, 0x00, 0x00, 0xf0, 0x67, 0x0b, 0x04, 0x7c, 0x0c, 0x0b, 0xfb, 0x86, 0x00, + 0x7c, 0x0c, 0x0b, 0x67, 0x0c, 0x08, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0x92, 0x0a, 0x01, 0x00, + 0x00, 0x00, 0xae, 0x98, 0x0c, +}; + +const unsigned char GetDeviceID_jtag_1[104] = { + 0x95, 0x90, 0x01, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x90, + 0x03, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x03, 0x6c, 0x0a, 0x90, 0x03, 0xc4, 0x01, 0x00, 0x01, + 0x1e, 0x03, 0x03, 0x6c, 0x0b, 0x90, 0x00, 0x90, 0x00, 0x00, 0x01, 0x1e, 0x09, 0x00, 0x9c, 0x01, + 0x03, 0x00, 0x1e, 0x10, 0x01, 0x9b, 0x02, 0x03, 0x1e, 0x0c, 0x02, 0x90, 0x02, 0x93, 0x00, 0x00, + 0x01, 0x1e, 0x03, 0x02, 0x9f, 0x90, 0x01, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x67, 0x00, 0x90, 0x03, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x03, 0x0a, 0x90, 0x03, 0xc4, + 0x01, 0x00, 0x01, 0x1e, 0x06, 0x03, 0x0b, 0x5a, +}; + +const unsigned char EraseChip_jtag_0[83] = { + 0x9b, 0x00, 0x05, 0x1e, 0x66, 0x00, 0x90, 0x00, 0x80, 0x23, 0x00, 0x00, 0x9b, 0x01, 0x0f, 0x1e, + 0x67, 0x00, 0x01, 0x90, 0x00, 0x80, 0x31, 0x00, 0x00, 0x9b, 0x01, 0x0f, 0x1e, 0x67, 0x00, 0x01, + 0x90, 0x00, 0x80, 0x33, 0x00, 0x00, 0x9b, 0x01, 0x0f, 0x1e, 0x67, 0x00, 0x01, 0x90, 0x00, 0x80, + 0x33, 0x00, 0x00, 0x9b, 0x01, 0x0f, 0x1e, 0x67, 0x00, 0x01, 0x90, 0x00, 0x80, 0x33, 0x00, 0x00, + 0x9b, 0x01, 0x0f, 0xa2, 0x1e, 0x6b, 0x00, 0x01, 0xa5, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x64, 0x00, +}; + +const unsigned char EraseChip_jtag_1[99] = { + 0x90, 0x01, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x01, 0x6c, 0x05, 0x90, 0x01, 0xca, 0x01, 0x00, + 0x01, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x01, 0x02, 0x90, 0x01, 0xcb, 0x01, 0x00, + 0x01, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x01, 0x02, 0x90, 0x01, 0x00, 0x00, 0x00, + 0x00, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xd0, 0x07, + 0x94, 0x0a, 0x00, 0x90, 0x01, 0xcf, 0x01, 0x00, 0x01, 0xa2, 0x1e, 0x03, 0x01, 0xa5, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x90, 0x01, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, + 0x01, 0x05, 0x5a, +}; + +const unsigned char WriteProgmem_jtag_0[276] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x04, 0x0f, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x9b, 0x07, 0x05, 0x1e, 0x66, 0x07, 0x90, 0x07, 0x10, 0x23, 0x00, 0x00, 0x1e, + 0x67, 0x07, 0x04, 0x90, 0x0b, 0x00, 0x00, 0x02, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x02, 0x00, 0xf9, + 0x0b, 0x0c, 0x4d, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x10, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, + 0x90, 0x0b, 0x00, 0x0b, 0x00, 0x00, 0x6e, 0x0b, 0x0c, 0x1e, 0x67, 0x0b, 0x04, 0x60, 0x07, 0x00, + 0x67, 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x90, 0x08, 0x00, 0x07, 0x00, 0x00, 0x6e, + 0x08, 0x07, 0x1e, 0x67, 0x08, 0x04, 0xac, 0x80, 0x00, 0x60, 0x08, 0x00, 0x6e, 0x08, 0x06, 0x66, + 0x08, 0xff, 0x00, 0x00, 0x00, 0x90, 0x09, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x09, 0x08, 0x1e, 0x67, + 0x09, 0x04, 0x99, 0x07, 0x90, 0x08, 0x00, 0x13, 0x00, 0x00, 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, + 0x04, 0x99, 0x07, 0x90, 0x08, 0x00, 0x17, 0x00, 0x00, 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, 0x04, + 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x77, 0x00, 0x00, + 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x92, 0x06, + 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, + 0x07, 0x00, 0x35, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, + 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, + 0x37, 0x00, 0x00, 0xa2, 0x1e, 0x6b, 0x07, 0x04, 0xa5, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0xf4, 0x01, 0x92, 0x00, 0x80, 0x00, 0x00, 0x00, 0x69, 0x01, 0x00, 0x01, 0x00, 0x00, 0xfc, + 0x01, 0x0e, 0x0d, 0x00, +}; + +const unsigned char WriteProgmem_jtag_1[276] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x04, 0x0f, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x9b, 0x07, 0x05, 0x1e, 0x66, 0x07, 0x90, 0x07, 0x10, 0x23, 0x00, 0x00, 0x1e, + 0x67, 0x07, 0x04, 0x90, 0x0b, 0x00, 0x80, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x02, 0x00, 0xf9, + 0x0b, 0x0c, 0x4d, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x10, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, + 0x90, 0x0b, 0x00, 0x0b, 0x00, 0x00, 0x6e, 0x0b, 0x0c, 0x1e, 0x67, 0x0b, 0x04, 0x60, 0x07, 0x00, + 0x67, 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x90, 0x08, 0x00, 0x07, 0x00, 0x00, 0x6e, + 0x08, 0x07, 0x1e, 0x67, 0x08, 0x04, 0xac, 0x80, 0x00, 0x60, 0x08, 0x00, 0x6e, 0x08, 0x06, 0x66, + 0x08, 0xff, 0x00, 0x00, 0x00, 0x90, 0x09, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x09, 0x08, 0x1e, 0x67, + 0x09, 0x04, 0x99, 0x07, 0x90, 0x08, 0x00, 0x13, 0x00, 0x00, 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, + 0x04, 0x99, 0x07, 0x90, 0x08, 0x00, 0x17, 0x00, 0x00, 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, 0x04, + 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x77, 0x00, 0x00, + 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x92, 0x06, + 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, + 0x07, 0x00, 0x35, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, + 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, + 0x37, 0x00, 0x00, 0xa2, 0x1e, 0x6b, 0x07, 0x04, 0xa5, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0xf4, 0x01, 0x92, 0x00, 0x80, 0x00, 0x00, 0x00, 0x69, 0x01, 0x00, 0x01, 0x00, 0x00, 0xfc, + 0x01, 0x0e, 0x0d, 0x00, +}; + +const unsigned char WriteProgmem_jtag_2[276] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x04, 0x0f, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x9b, 0x07, 0x05, 0x1e, 0x66, 0x07, 0x90, 0x07, 0x10, 0x23, 0x00, 0x00, 0x1e, + 0x67, 0x07, 0x04, 0x90, 0x0b, 0x00, 0x00, 0x01, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x02, 0x00, 0xf9, + 0x0b, 0x0c, 0x4d, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x10, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, + 0x90, 0x0b, 0x00, 0x0b, 0x00, 0x00, 0x6e, 0x0b, 0x0c, 0x1e, 0x67, 0x0b, 0x04, 0x60, 0x07, 0x00, + 0x67, 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x90, 0x08, 0x00, 0x07, 0x00, 0x00, 0x6e, + 0x08, 0x07, 0x1e, 0x67, 0x08, 0x04, 0xac, 0x80, 0x00, 0x60, 0x08, 0x00, 0x6e, 0x08, 0x06, 0x66, + 0x08, 0xff, 0x00, 0x00, 0x00, 0x90, 0x09, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x09, 0x08, 0x1e, 0x67, + 0x09, 0x04, 0x99, 0x07, 0x90, 0x08, 0x00, 0x13, 0x00, 0x00, 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, + 0x04, 0x99, 0x07, 0x90, 0x08, 0x00, 0x17, 0x00, 0x00, 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, 0x04, + 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x77, 0x00, 0x00, + 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x92, 0x06, + 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, + 0x07, 0x00, 0x35, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, + 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, + 0x37, 0x00, 0x00, 0xa2, 0x1e, 0x6b, 0x07, 0x04, 0xa5, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0xf4, 0x01, 0x92, 0x00, 0x80, 0x00, 0x00, 0x00, 0x69, 0x01, 0x00, 0x01, 0x00, 0x00, 0xfc, + 0x01, 0x0e, 0x0d, 0x00, +}; + +const unsigned char WriteProgmem_jtag_3[276] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x04, 0x0f, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x9b, 0x07, 0x05, 0x1e, 0x66, 0x07, 0x90, 0x07, 0x10, 0x23, 0x00, 0x00, 0x1e, + 0x67, 0x07, 0x04, 0x90, 0x0b, 0x00, 0x40, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x02, 0x00, 0xf9, + 0x0b, 0x0c, 0x4d, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x10, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, + 0x90, 0x0b, 0x00, 0x0b, 0x00, 0x00, 0x6e, 0x0b, 0x0c, 0x1e, 0x67, 0x0b, 0x04, 0x60, 0x07, 0x00, + 0x67, 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x90, 0x08, 0x00, 0x07, 0x00, 0x00, 0x6e, + 0x08, 0x07, 0x1e, 0x67, 0x08, 0x04, 0xac, 0x40, 0x00, 0x60, 0x08, 0x00, 0x6e, 0x08, 0x06, 0x66, + 0x08, 0xff, 0x00, 0x00, 0x00, 0x90, 0x09, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x09, 0x08, 0x1e, 0x67, + 0x09, 0x04, 0x99, 0x07, 0x90, 0x08, 0x00, 0x13, 0x00, 0x00, 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, + 0x04, 0x99, 0x07, 0x90, 0x08, 0x00, 0x17, 0x00, 0x00, 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, 0x04, + 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x77, 0x00, 0x00, + 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x92, 0x06, + 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, + 0x07, 0x00, 0x35, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, + 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, + 0x37, 0x00, 0x00, 0xa2, 0x1e, 0x6b, 0x07, 0x04, 0xa5, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0xf4, 0x01, 0x92, 0x00, 0x40, 0x00, 0x00, 0x00, 0x69, 0x01, 0x80, 0x00, 0x00, 0x00, 0xfc, + 0x01, 0x0e, 0x0d, 0x00, +}; + +const unsigned char WriteProgmem_jtag_4[276] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x04, 0x0f, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x9b, 0x07, 0x05, 0x1e, 0x66, 0x07, 0x90, 0x07, 0x10, 0x23, 0x00, 0x00, 0x1e, + 0x67, 0x07, 0x04, 0x90, 0x0b, 0x00, 0x00, 0x04, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x02, 0x00, 0xf9, + 0x0b, 0x0c, 0x4d, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x10, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, + 0x90, 0x0b, 0x00, 0x0b, 0x00, 0x00, 0x6e, 0x0b, 0x0c, 0x1e, 0x67, 0x0b, 0x04, 0x60, 0x07, 0x00, + 0x67, 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x90, 0x08, 0x00, 0x07, 0x00, 0x00, 0x6e, + 0x08, 0x07, 0x1e, 0x67, 0x08, 0x04, 0xac, 0x80, 0x00, 0x60, 0x08, 0x00, 0x6e, 0x08, 0x06, 0x66, + 0x08, 0xff, 0x00, 0x00, 0x00, 0x90, 0x09, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x09, 0x08, 0x1e, 0x67, + 0x09, 0x04, 0x99, 0x07, 0x90, 0x08, 0x00, 0x13, 0x00, 0x00, 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, + 0x04, 0x99, 0x07, 0x90, 0x08, 0x00, 0x17, 0x00, 0x00, 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, 0x04, + 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x77, 0x00, 0x00, + 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x92, 0x06, + 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, + 0x07, 0x00, 0x35, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, + 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, + 0x37, 0x00, 0x00, 0xa2, 0x1e, 0x6b, 0x07, 0x04, 0xa5, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0xf4, 0x01, 0x92, 0x00, 0x80, 0x00, 0x00, 0x00, 0x69, 0x01, 0x00, 0x01, 0x00, 0x00, 0xfc, + 0x01, 0x0e, 0x0d, 0x00, +}; + +const unsigned char WriteProgmem_jtag_5[276] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x04, 0x0f, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x9b, 0x07, 0x05, 0x1e, 0x66, 0x07, 0x90, 0x07, 0x10, 0x23, 0x00, 0x00, 0x1e, + 0x67, 0x07, 0x04, 0x90, 0x0b, 0x00, 0x80, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x02, 0x00, 0xf9, + 0x0b, 0x0c, 0x4d, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x10, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, + 0x90, 0x0b, 0x00, 0x0b, 0x00, 0x00, 0x6e, 0x0b, 0x0c, 0x1e, 0x67, 0x0b, 0x04, 0x60, 0x07, 0x00, + 0x67, 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x90, 0x08, 0x00, 0x07, 0x00, 0x00, 0x6e, + 0x08, 0x07, 0x1e, 0x67, 0x08, 0x04, 0xac, 0x40, 0x00, 0x60, 0x08, 0x00, 0x6e, 0x08, 0x06, 0x66, + 0x08, 0xff, 0x00, 0x00, 0x00, 0x90, 0x09, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x09, 0x08, 0x1e, 0x67, + 0x09, 0x04, 0x99, 0x07, 0x90, 0x08, 0x00, 0x13, 0x00, 0x00, 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, + 0x04, 0x99, 0x07, 0x90, 0x08, 0x00, 0x17, 0x00, 0x00, 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, 0x04, + 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x77, 0x00, 0x00, + 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x92, 0x06, + 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, + 0x07, 0x00, 0x35, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, + 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, + 0x37, 0x00, 0x00, 0xa2, 0x1e, 0x6b, 0x07, 0x04, 0xa5, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0xf4, 0x01, 0x92, 0x00, 0x40, 0x00, 0x00, 0x00, 0x69, 0x01, 0x80, 0x00, 0x00, 0x00, 0xfc, + 0x01, 0x0e, 0x0d, 0x00, +}; + +const unsigned char WriteProgmem_jtag_6[276] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x04, 0x0f, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x9b, 0x07, 0x05, 0x1e, 0x66, 0x07, 0x90, 0x07, 0x10, 0x23, 0x00, 0x00, 0x1e, + 0x67, 0x07, 0x04, 0x90, 0x0b, 0x00, 0xa0, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x02, 0x00, 0xf9, + 0x0b, 0x0c, 0x4d, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x10, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, + 0x90, 0x0b, 0x00, 0x0b, 0x00, 0x00, 0x6e, 0x0b, 0x0c, 0x1e, 0x67, 0x0b, 0x04, 0x60, 0x07, 0x00, + 0x67, 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x90, 0x08, 0x00, 0x07, 0x00, 0x00, 0x6e, + 0x08, 0x07, 0x1e, 0x67, 0x08, 0x04, 0xac, 0x40, 0x00, 0x60, 0x08, 0x00, 0x6e, 0x08, 0x06, 0x66, + 0x08, 0xff, 0x00, 0x00, 0x00, 0x90, 0x09, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x09, 0x08, 0x1e, 0x67, + 0x09, 0x04, 0x99, 0x07, 0x90, 0x08, 0x00, 0x13, 0x00, 0x00, 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, + 0x04, 0x99, 0x07, 0x90, 0x08, 0x00, 0x17, 0x00, 0x00, 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, 0x04, + 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x77, 0x00, 0x00, + 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x92, 0x06, + 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, + 0x07, 0x00, 0x35, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, + 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x04, 0x90, 0x07, 0x00, + 0x37, 0x00, 0x00, 0xa2, 0x1e, 0x6b, 0x07, 0x04, 0xa5, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0xf4, 0x01, 0x92, 0x00, 0x40, 0x00, 0x00, 0x00, 0x69, 0x01, 0x80, 0x00, 0x00, 0x00, 0xfc, + 0x01, 0x0e, 0x0d, 0x00, +}; + +const unsigned char WriteProgmem_jtag_7[172] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x03, 0x01, 0x93, 0x03, 0x00, 0x02, 0xad, 0x03, 0x90, 0x04, 0xc0, + 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, + 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0b, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, + 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x00, 0x02, 0x1e, 0x10, 0x04, 0x1e, 0x0a, 0x04, 0x90, 0x04, + 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x90, 0x04, 0xca, 0x01, + 0x00, 0x01, 0x90, 0x05, 0x25, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x65, + 0xff, 0x00, 0x00, 0x00, 0x01, 0x9b, 0x06, 0x01, 0x1e, 0x0a, 0x06, 0x90, 0x06, 0xcf, 0x01, 0x00, + 0x01, 0xa2, 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, + 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, + 0x1e, 0x06, 0x06, 0x0b, 0x92, 0x00, 0x00, 0x02, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char WriteProgmem_jtag_8[172] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x03, 0x01, 0x93, 0x03, 0x00, 0x01, 0xad, 0x03, 0x90, 0x04, 0xc0, + 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, + 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0b, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, + 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x00, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0a, 0x04, 0x90, 0x04, + 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x90, 0x04, 0xca, 0x01, + 0x00, 0x01, 0x90, 0x05, 0x25, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x65, + 0xff, 0x00, 0x00, 0x00, 0x01, 0x9b, 0x06, 0x01, 0x1e, 0x0a, 0x06, 0x90, 0x06, 0xcf, 0x01, 0x00, + 0x01, 0xa2, 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, + 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, + 0x1e, 0x06, 0x06, 0x0b, 0x92, 0x00, 0x00, 0x01, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char ReadProgmem_jtag_0[184] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x9b, 0x05, 0x0f, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x9b, 0x07, 0x05, 0x1e, 0x66, 0x07, 0x90, 0x07, 0x02, 0x23, 0x00, 0x00, + 0x1e, 0x67, 0x07, 0x05, 0x90, 0x0b, 0x00, 0x00, 0x02, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x02, 0x00, + 0xf9, 0x0b, 0x0c, 0x48, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x10, 0x90, 0x0b, 0x00, 0x0b, 0x00, + 0x00, 0x6e, 0x0b, 0x0c, 0x1e, 0x67, 0x0b, 0x05, 0xac, 0x80, 0x00, 0x60, 0x07, 0x00, 0x6e, 0x07, + 0x04, 0x67, 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x90, 0x08, 0x00, 0x07, 0x00, 0x00, + 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, 0x05, 0x60, 0x08, 0x00, 0x6e, 0x08, 0x04, 0x66, 0x08, 0xff, + 0x00, 0x00, 0x00, 0x90, 0x09, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x09, 0x08, 0x1e, 0x67, 0x09, 0x05, + 0x90, 0x07, 0x00, 0x32, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x05, 0x90, 0x07, 0x00, 0x36, 0x00, 0x00, + 0x1e, 0x6b, 0x07, 0x05, 0x9f, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x6b, 0x07, 0x05, 0x9f, + 0x92, 0x04, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x69, 0x01, 0x00, 0x01, 0x00, 0x00, 0x92, 0x00, 0x80, + 0x00, 0x00, 0x00, 0xfc, 0x01, 0x0e, 0x0e, 0x00, +}; + +const unsigned char ReadProgmem_jtag_1[184] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x9b, 0x05, 0x0f, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x9b, 0x07, 0x05, 0x1e, 0x66, 0x07, 0x90, 0x07, 0x02, 0x23, 0x00, 0x00, + 0x1e, 0x67, 0x07, 0x05, 0x90, 0x0b, 0x00, 0x80, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x02, 0x00, + 0xf9, 0x0b, 0x0c, 0x48, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x10, 0x90, 0x0b, 0x00, 0x0b, 0x00, + 0x00, 0x6e, 0x0b, 0x0c, 0x1e, 0x67, 0x0b, 0x05, 0xac, 0x80, 0x00, 0x60, 0x07, 0x00, 0x6e, 0x07, + 0x04, 0x67, 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x90, 0x08, 0x00, 0x07, 0x00, 0x00, + 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, 0x05, 0x60, 0x08, 0x00, 0x6e, 0x08, 0x04, 0x66, 0x08, 0xff, + 0x00, 0x00, 0x00, 0x90, 0x09, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x09, 0x08, 0x1e, 0x67, 0x09, 0x05, + 0x90, 0x07, 0x00, 0x32, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x05, 0x90, 0x07, 0x00, 0x36, 0x00, 0x00, + 0x1e, 0x6b, 0x07, 0x05, 0x9f, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x6b, 0x07, 0x05, 0x9f, + 0x92, 0x04, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x69, 0x01, 0x00, 0x01, 0x00, 0x00, 0x92, 0x00, 0x80, + 0x00, 0x00, 0x00, 0xfc, 0x01, 0x0e, 0x0e, 0x00, +}; + +const unsigned char ReadProgmem_jtag_2[184] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x9b, 0x05, 0x0f, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x9b, 0x07, 0x05, 0x1e, 0x66, 0x07, 0x90, 0x07, 0x02, 0x23, 0x00, 0x00, + 0x1e, 0x67, 0x07, 0x05, 0x90, 0x0b, 0x00, 0x00, 0x01, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x02, 0x00, + 0xf9, 0x0b, 0x0c, 0x48, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x10, 0x90, 0x0b, 0x00, 0x0b, 0x00, + 0x00, 0x6e, 0x0b, 0x0c, 0x1e, 0x67, 0x0b, 0x05, 0xac, 0x80, 0x00, 0x60, 0x07, 0x00, 0x6e, 0x07, + 0x04, 0x67, 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x90, 0x08, 0x00, 0x07, 0x00, 0x00, + 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, 0x05, 0x60, 0x08, 0x00, 0x6e, 0x08, 0x04, 0x66, 0x08, 0xff, + 0x00, 0x00, 0x00, 0x90, 0x09, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x09, 0x08, 0x1e, 0x67, 0x09, 0x05, + 0x90, 0x07, 0x00, 0x32, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x05, 0x90, 0x07, 0x00, 0x36, 0x00, 0x00, + 0x1e, 0x6b, 0x07, 0x05, 0x9f, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x6b, 0x07, 0x05, 0x9f, + 0x92, 0x04, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x69, 0x01, 0x00, 0x01, 0x00, 0x00, 0x92, 0x00, 0x80, + 0x00, 0x00, 0x00, 0xfc, 0x01, 0x0e, 0x0e, 0x00, +}; + +const unsigned char ReadProgmem_jtag_3[184] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x9b, 0x05, 0x0f, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x9b, 0x07, 0x05, 0x1e, 0x66, 0x07, 0x90, 0x07, 0x02, 0x23, 0x00, 0x00, + 0x1e, 0x67, 0x07, 0x05, 0x90, 0x0b, 0x00, 0x40, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x02, 0x00, + 0xf9, 0x0b, 0x0c, 0x48, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x10, 0x90, 0x0b, 0x00, 0x0b, 0x00, + 0x00, 0x6e, 0x0b, 0x0c, 0x1e, 0x67, 0x0b, 0x05, 0xac, 0x40, 0x00, 0x60, 0x07, 0x00, 0x6e, 0x07, + 0x04, 0x67, 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x90, 0x08, 0x00, 0x07, 0x00, 0x00, + 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, 0x05, 0x60, 0x08, 0x00, 0x6e, 0x08, 0x04, 0x66, 0x08, 0xff, + 0x00, 0x00, 0x00, 0x90, 0x09, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x09, 0x08, 0x1e, 0x67, 0x09, 0x05, + 0x90, 0x07, 0x00, 0x32, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x05, 0x90, 0x07, 0x00, 0x36, 0x00, 0x00, + 0x1e, 0x6b, 0x07, 0x05, 0x9f, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x6b, 0x07, 0x05, 0x9f, + 0x92, 0x04, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x69, 0x01, 0x80, 0x00, 0x00, 0x00, 0x92, 0x00, 0x40, + 0x00, 0x00, 0x00, 0xfc, 0x01, 0x0e, 0x0e, 0x00, +}; + +const unsigned char ReadProgmem_jtag_4[184] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x9b, 0x05, 0x0f, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x9b, 0x07, 0x05, 0x1e, 0x66, 0x07, 0x90, 0x07, 0x02, 0x23, 0x00, 0x00, + 0x1e, 0x67, 0x07, 0x05, 0x90, 0x0b, 0x00, 0x00, 0x04, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x02, 0x00, + 0xf9, 0x0b, 0x0c, 0x48, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x10, 0x90, 0x0b, 0x00, 0x0b, 0x00, + 0x00, 0x6e, 0x0b, 0x0c, 0x1e, 0x67, 0x0b, 0x05, 0xac, 0x80, 0x00, 0x60, 0x07, 0x00, 0x6e, 0x07, + 0x04, 0x67, 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x90, 0x08, 0x00, 0x07, 0x00, 0x00, + 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, 0x05, 0x60, 0x08, 0x00, 0x6e, 0x08, 0x04, 0x66, 0x08, 0xff, + 0x00, 0x00, 0x00, 0x90, 0x09, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x09, 0x08, 0x1e, 0x67, 0x09, 0x05, + 0x90, 0x07, 0x00, 0x32, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x05, 0x90, 0x07, 0x00, 0x36, 0x00, 0x00, + 0x1e, 0x6b, 0x07, 0x05, 0x9f, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x6b, 0x07, 0x05, 0x9f, + 0x92, 0x04, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x69, 0x01, 0x00, 0x01, 0x00, 0x00, 0x92, 0x00, 0x80, + 0x00, 0x00, 0x00, 0xfc, 0x01, 0x0e, 0x0e, 0x00, +}; + +const unsigned char ReadProgmem_jtag_5[184] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x9b, 0x05, 0x0f, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x9b, 0x07, 0x05, 0x1e, 0x66, 0x07, 0x90, 0x07, 0x02, 0x23, 0x00, 0x00, + 0x1e, 0x67, 0x07, 0x05, 0x90, 0x0b, 0x00, 0x80, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x02, 0x00, + 0xf9, 0x0b, 0x0c, 0x48, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x10, 0x90, 0x0b, 0x00, 0x0b, 0x00, + 0x00, 0x6e, 0x0b, 0x0c, 0x1e, 0x67, 0x0b, 0x05, 0xac, 0x40, 0x00, 0x60, 0x07, 0x00, 0x6e, 0x07, + 0x04, 0x67, 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x90, 0x08, 0x00, 0x07, 0x00, 0x00, + 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, 0x05, 0x60, 0x08, 0x00, 0x6e, 0x08, 0x04, 0x66, 0x08, 0xff, + 0x00, 0x00, 0x00, 0x90, 0x09, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x09, 0x08, 0x1e, 0x67, 0x09, 0x05, + 0x90, 0x07, 0x00, 0x32, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x05, 0x90, 0x07, 0x00, 0x36, 0x00, 0x00, + 0x1e, 0x6b, 0x07, 0x05, 0x9f, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x6b, 0x07, 0x05, 0x9f, + 0x92, 0x04, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x69, 0x01, 0x80, 0x00, 0x00, 0x00, 0x92, 0x00, 0x40, + 0x00, 0x00, 0x00, 0xfc, 0x01, 0x0e, 0x0e, 0x00, +}; + +const unsigned char ReadProgmem_jtag_6[184] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x9b, 0x05, 0x0f, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x9b, 0x07, 0x05, 0x1e, 0x66, 0x07, 0x90, 0x07, 0x02, 0x23, 0x00, 0x00, + 0x1e, 0x67, 0x07, 0x05, 0x90, 0x0b, 0x00, 0xa0, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x02, 0x00, + 0xf9, 0x0b, 0x0c, 0x48, 0x00, 0x60, 0x0c, 0x00, 0x67, 0x0c, 0x10, 0x90, 0x0b, 0x00, 0x0b, 0x00, + 0x00, 0x6e, 0x0b, 0x0c, 0x1e, 0x67, 0x0b, 0x05, 0xac, 0x40, 0x00, 0x60, 0x07, 0x00, 0x6e, 0x07, + 0x04, 0x67, 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x90, 0x08, 0x00, 0x07, 0x00, 0x00, + 0x6e, 0x08, 0x07, 0x1e, 0x67, 0x08, 0x05, 0x60, 0x08, 0x00, 0x6e, 0x08, 0x04, 0x66, 0x08, 0xff, + 0x00, 0x00, 0x00, 0x90, 0x09, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x09, 0x08, 0x1e, 0x67, 0x09, 0x05, + 0x90, 0x07, 0x00, 0x32, 0x00, 0x00, 0x1e, 0x67, 0x07, 0x05, 0x90, 0x07, 0x00, 0x36, 0x00, 0x00, + 0x1e, 0x6b, 0x07, 0x05, 0x9f, 0x90, 0x07, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x6b, 0x07, 0x05, 0x9f, + 0x92, 0x04, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x69, 0x01, 0x80, 0x00, 0x00, 0x00, 0x92, 0x00, 0x40, + 0x00, 0x00, 0x00, 0xfc, 0x01, 0x0e, 0x0e, 0x00, +}; + +const unsigned char ReadProgmem_jtag_7[126] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x7d, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x60, 0x03, 0x01, 0x93, + 0x03, 0x00, 0x02, 0xad, 0x03, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x43, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x00, 0x02, 0x1e, 0x10, 0x04, 0x1e, + 0x0c, 0x04, 0x92, 0x00, 0x00, 0x02, 0x00, 0x00, 0xae, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, + 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char ReadProgmem_jtag_8[126] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x7d, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x60, 0x03, 0x01, 0x93, + 0x03, 0x00, 0x01, 0xad, 0x03, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x43, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x00, 0x01, 0x1e, 0x10, 0x04, 0x1e, + 0x0c, 0x04, 0x92, 0x00, 0x00, 0x01, 0x00, 0x00, 0xae, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, + 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char WriteDataEEmem_jtag_0[215] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x08, 0x00, 0x00, 0x00, 0x9b, 0x03, 0x0f, 0x60, 0x0a, 0x01, + 0x93, 0x0a, 0x08, 0x00, 0x90, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xad, 0x0a, 0x9b, 0x04, 0x05, 0x1e, + 0x66, 0x04, 0x90, 0x04, 0x11, 0x23, 0x00, 0x00, 0x1e, 0x67, 0x04, 0x03, 0x60, 0x04, 0x00, 0x6e, + 0x04, 0x0b, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, 0x00, 0x00, 0x90, 0x05, 0x00, 0x07, 0x00, + 0x00, 0x6e, 0x05, 0x04, 0x1e, 0x67, 0x05, 0x03, 0xac, 0x08, 0x00, 0x60, 0x06, 0x00, 0x7c, 0x06, + 0x0b, 0x66, 0x06, 0xff, 0x00, 0x00, 0x00, 0x90, 0x07, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x07, 0x06, + 0x1e, 0x67, 0x07, 0x03, 0x99, 0x05, 0x90, 0x06, 0x00, 0x13, 0x00, 0x00, 0x6e, 0x06, 0x05, 0x1e, + 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, + 0x77, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, + 0x03, 0x92, 0x0b, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x06, 0x00, 0x33, 0x00, 0x00, 0x1e, 0x67, + 0x06, 0x03, 0x90, 0x06, 0x00, 0x31, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x33, + 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x33, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, + 0x90, 0x06, 0x00, 0x33, 0x00, 0x00, 0xa2, 0x1e, 0x6b, 0x06, 0x03, 0xa5, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x19, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_jtag_1[215] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x04, 0x00, 0x00, 0x00, 0x9b, 0x03, 0x0f, 0x60, 0x0a, 0x01, + 0x93, 0x0a, 0x04, 0x00, 0x90, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xad, 0x0a, 0x9b, 0x04, 0x05, 0x1e, + 0x66, 0x04, 0x90, 0x04, 0x11, 0x23, 0x00, 0x00, 0x1e, 0x67, 0x04, 0x03, 0x60, 0x04, 0x00, 0x6e, + 0x04, 0x0b, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, 0x00, 0x00, 0x90, 0x05, 0x00, 0x07, 0x00, + 0x00, 0x6e, 0x05, 0x04, 0x1e, 0x67, 0x05, 0x03, 0xac, 0x04, 0x00, 0x60, 0x06, 0x00, 0x7c, 0x06, + 0x0b, 0x66, 0x06, 0xff, 0x00, 0x00, 0x00, 0x90, 0x07, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x07, 0x06, + 0x1e, 0x67, 0x07, 0x03, 0x99, 0x05, 0x90, 0x06, 0x00, 0x13, 0x00, 0x00, 0x6e, 0x06, 0x05, 0x1e, + 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, + 0x77, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, + 0x03, 0x92, 0x0b, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x06, 0x00, 0x33, 0x00, 0x00, 0x1e, 0x67, + 0x06, 0x03, 0x90, 0x06, 0x00, 0x31, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x33, + 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x33, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, + 0x90, 0x06, 0x00, 0x33, 0x00, 0x00, 0xa2, 0x1e, 0x6b, 0x06, 0x03, 0xa5, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x19, 0x00, 0xae, +}; + +const unsigned char WriteDataEEmem_jtag_2[334] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x03, 0x01, 0x93, 0x03, 0x20, 0x00, 0xad, 0x03, 0x90, 0x05, 0xc0, + 0x01, 0x00, 0x00, 0xfe, 0x05, 0x00, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x90, 0x09, 0xcc, 0x01, 0x00, + 0x01, 0x1e, 0x03, 0x09, 0x6c, 0x05, 0x6c, 0x0a, 0x66, 0x05, 0x08, 0x00, 0x00, 0x00, 0xfe, 0x05, + 0x00, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x60, 0x05, 0x0a, 0x66, 0x05, 0xf7, 0xff, 0xff, 0xff, 0x1e, + 0x06, 0x09, 0x05, 0xac, 0x02, 0x00, 0x90, 0x05, 0xca, 0x01, 0x00, 0x01, 0x90, 0x06, 0x36, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x05, 0x06, 0x90, 0x05, 0xcb, 0x01, 0x00, 0x01, 0x90, 0x06, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x05, 0x06, 0x90, 0x05, 0xca, 0x01, 0x00, 0x01, 0x90, 0x06, 0x33, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x05, 0x06, 0x90, 0x08, 0x00, 0x00, 0x8c, 0x00, 0x1e, 0x09, 0x08, 0x65, + 0xff, 0x00, 0x00, 0x00, 0x01, 0x90, 0x06, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x0a, 0x06, 0x90, 0x04, + 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x35, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, + 0x08, 0x65, 0xff, 0x00, 0x00, 0x00, 0x01, 0x9b, 0x06, 0x01, 0x1e, 0x0a, 0x06, 0x90, 0x06, 0xcf, + 0x01, 0x00, 0x01, 0xa2, 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x64, 0x00, 0xa4, 0x90, 0x05, 0xca, 0x01, 0x00, 0x01, 0x90, 0x06, 0x36, 0x00, 0x00, 0x00, 0x1e, + 0x06, 0x05, 0x06, 0x90, 0x05, 0xcb, 0x01, 0x00, 0x01, 0x90, 0x06, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x06, 0x05, 0x06, 0x90, 0x05, 0xca, 0x01, 0x00, 0x01, 0x90, 0x06, 0x33, 0x00, 0x00, 0x00, 0x1e, + 0x06, 0x05, 0x06, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x20, 0x00, 0x1e, 0x10, 0x04, 0x1e, 0x0a, 0x04, + 0x90, 0x05, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x05, 0x00, 0x00, 0x00, 0x00, 0x46, 0x01, 0x90, 0x04, + 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x34, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, + 0x00, 0x65, 0xff, 0x00, 0x00, 0x00, 0x01, 0x9b, 0x06, 0x01, 0x1e, 0x0a, 0x06, 0x90, 0x06, 0xcf, + 0x01, 0x00, 0x01, 0xa2, 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x64, 0x00, 0x1e, 0x06, 0x09, 0x0a, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char ReadDataEEmem_jtag_0[144] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x05, 0x1e, 0x66, 0x02, 0x90, 0x02, 0x03, 0x23, 0x00, 0x00, + 0x9b, 0x03, 0x0f, 0x1e, 0x67, 0x02, 0x03, 0x60, 0x02, 0x00, 0xad, 0x01, 0x60, 0x03, 0x02, 0x67, + 0x03, 0x08, 0x66, 0x03, 0xff, 0x00, 0x00, 0x00, 0x90, 0x04, 0x00, 0x07, 0x00, 0x00, 0x6e, 0x04, + 0x03, 0x9b, 0x05, 0x0f, 0x1e, 0x67, 0x04, 0x05, 0x90, 0x04, 0x00, 0x03, 0x00, 0x00, 0x60, 0x03, + 0x02, 0x90, 0x06, 0xff, 0x00, 0x00, 0x00, 0x7d, 0x03, 0x06, 0x6e, 0x04, 0x03, 0x9b, 0x05, 0x0f, + 0x1e, 0x67, 0x04, 0x05, 0x90, 0x03, 0x00, 0x33, 0x00, 0x00, 0x60, 0x04, 0x02, 0x66, 0x04, 0xff, + 0x00, 0x00, 0x00, 0x6e, 0x03, 0x04, 0x9b, 0x04, 0x0f, 0x1e, 0x67, 0x03, 0x04, 0x90, 0x03, 0x00, + 0x32, 0x00, 0x00, 0x9b, 0x04, 0x0f, 0x1e, 0x67, 0x03, 0x04, 0x95, 0x90, 0x03, 0x00, 0x33, 0x00, + 0x00, 0x9b, 0x04, 0x0f, 0x1e, 0x6b, 0x03, 0x04, 0x9f, 0x92, 0x02, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char ReadDataEEmem_jtag_1[126] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x7d, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x60, 0x03, 0x01, 0x93, + 0x03, 0x20, 0x00, 0xad, 0x03, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x06, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x20, 0x00, 0x1e, 0x10, 0x04, 0x1e, + 0x0c, 0x04, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0xae, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, + 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char WriteConfigmemFuse_jtag_0[160] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9b, 0x0a, 0x0f, 0xad, 0x01, 0x9b, + 0x02, 0x05, 0x1e, 0x66, 0x02, 0x90, 0x02, 0x40, 0x23, 0x00, 0x00, 0x1e, 0x67, 0x02, 0x0a, 0x99, + 0x0b, 0x90, 0x03, 0x00, 0x13, 0x00, 0x00, 0x6e, 0x03, 0x0b, 0x1e, 0x67, 0x03, 0x0a, 0xfe, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x46, 0x00, 0xfe, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4c, 0x00, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x9b, 0x04, 0x3b, 0xfb, 0x55, 0x00, 0x9b, 0x04, 0x37, 0xfb, + 0x55, 0x00, 0x9b, 0x04, 0x33, 0x60, 0x05, 0x04, 0x68, 0x05, 0x08, 0x1e, 0x67, 0x05, 0x0a, 0x60, + 0x05, 0x04, 0x69, 0x05, 0x02, 0x00, 0x00, 0x00, 0x68, 0x05, 0x08, 0x1e, 0x67, 0x05, 0x0a, 0x60, + 0x05, 0x04, 0x68, 0x05, 0x08, 0x1e, 0x67, 0x05, 0x0a, 0x60, 0x05, 0x04, 0x68, 0x05, 0x08, 0x1e, + 0x67, 0x05, 0x0a, 0x60, 0x05, 0x04, 0x68, 0x05, 0x08, 0xa2, 0x1e, 0x6b, 0x05, 0x0a, 0xa5, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteConfigmemFuse_jtag_1[71] = { + 0x91, 0x00, 0x91, 0x01, 0xad, 0x01, 0x90, 0x02, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x00, 0x90, 0x02, 0xca, 0x01, 0x00, 0x01, 0x90, 0x03, 0x4c, 0x00, 0x00, 0x00, + 0x1e, 0x06, 0x02, 0x03, 0x99, 0x04, 0x1e, 0x06, 0x00, 0x04, 0x90, 0x06, 0xcf, 0x01, 0x00, 0x01, + 0xa2, 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x92, + 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char WriteConfigmemLock_jtag_0[109] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9b, 0x02, 0x0f, 0xad, 0x01, 0x9b, + 0x03, 0x05, 0x1e, 0x66, 0x03, 0x90, 0x03, 0x20, 0x23, 0x00, 0x00, 0x1e, 0x67, 0x03, 0x02, 0x99, + 0x03, 0x90, 0x04, 0x00, 0x13, 0x00, 0x00, 0x6e, 0x04, 0x03, 0x1e, 0x67, 0x04, 0x02, 0x90, 0x04, + 0x00, 0x33, 0x00, 0x00, 0x1e, 0x67, 0x04, 0x02, 0x90, 0x04, 0x00, 0x31, 0x00, 0x00, 0x1e, 0x67, + 0x04, 0x02, 0x90, 0x04, 0x00, 0x33, 0x00, 0x00, 0x1e, 0x67, 0x04, 0x02, 0x90, 0x04, 0x00, 0x33, + 0x00, 0x00, 0x1e, 0x67, 0x04, 0x02, 0x90, 0x04, 0x00, 0x33, 0x00, 0x00, 0xa2, 0x1e, 0x6b, 0x04, + 0x02, 0xa5, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x0a, 0x00, 0xae, +}; + +const unsigned char WriteConfigmemLock_jtag_1[71] = { + 0x91, 0x00, 0x91, 0x01, 0xad, 0x01, 0x90, 0x02, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x00, 0x90, 0x02, 0xca, 0x01, 0x00, 0x01, 0x90, 0x03, 0x08, 0x00, 0x00, 0x00, + 0x1e, 0x06, 0x02, 0x03, 0x99, 0x04, 0x1e, 0x06, 0x00, 0x04, 0x90, 0x06, 0xcf, 0x01, 0x00, 0x01, + 0xa2, 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x92, + 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char ReadConfigmemFuse_jtag_0[114] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x9b, 0x02, 0x01, 0x9b, 0x07, 0x0f, 0x60, 0x08, 0x01, 0xad, 0x08, 0xfe, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x33, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x00, 0x00, 0x39, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3f, 0x00, 0x9b, 0x06, 0x3e, 0xfb, 0x42, 0x00, 0x9b, 0x06, 0x3a, 0xfb, 0x42, 0x00, 0x9b, + 0x06, 0x32, 0x9b, 0x09, 0x05, 0x1e, 0x66, 0x09, 0x90, 0x09, 0x04, 0x23, 0x00, 0x00, 0x1e, 0x67, + 0x09, 0x07, 0x60, 0x09, 0x06, 0x68, 0x09, 0x08, 0x1e, 0x67, 0x09, 0x07, 0x60, 0x09, 0x06, 0x6e, + 0x09, 0x02, 0x68, 0x09, 0x08, 0x95, 0x1e, 0x6b, 0x09, 0x07, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, + 0x00, 0xae, +}; + +const unsigned char ReadConfigmemFuse_jtag_1[106] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x69, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x90, 0x04, 0xca, 0x01, + 0x00, 0x01, 0x90, 0x05, 0x07, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x1e, + 0x10, 0x01, 0x1e, 0x0c, 0x01, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0a, 0x90, + 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char ReadConfigmemLock_jtag_0[63] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x02, 0x01, 0xad, 0x02, 0x9b, + 0x04, 0x05, 0x1e, 0x66, 0x04, 0x90, 0x04, 0x04, 0x23, 0x00, 0x00, 0x9b, 0x05, 0x0f, 0x1e, 0x67, + 0x04, 0x05, 0x90, 0x04, 0x00, 0x36, 0x00, 0x00, 0x9b, 0x05, 0x0f, 0x1e, 0x67, 0x04, 0x05, 0x90, + 0x04, 0x00, 0x37, 0x00, 0x00, 0x9b, 0x05, 0x0f, 0x95, 0x1e, 0x6b, 0x04, 0x05, 0x9f, 0xae, +}; + +const unsigned char ReadConfigmemLock_jtag_1[106] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x69, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x90, 0x04, 0xca, 0x01, + 0x00, 0x01, 0x90, 0x05, 0x07, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x1e, + 0x10, 0x01, 0x1e, 0x0c, 0x01, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0a, 0x90, + 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char WriteIDmem_jtag_0[400] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0x9b, 0x03, 0x0f, 0x60, 0x0a, 0x01, + 0x93, 0x0a, 0x00, 0x00, 0x67, 0x00, 0x01, 0xad, 0x0a, 0x90, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x9b, + 0x04, 0x05, 0x1e, 0x66, 0x04, 0x90, 0x04, 0x84, 0x23, 0x00, 0x00, 0x1e, 0x67, 0x04, 0x03, 0x60, + 0x04, 0x00, 0x6e, 0x04, 0x0b, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, 0x00, 0x00, 0x90, 0x05, + 0x00, 0x07, 0x00, 0x00, 0x6e, 0x05, 0x04, 0x1e, 0x67, 0x05, 0x03, 0x60, 0x06, 0x00, 0x7c, 0x06, + 0x0b, 0x66, 0x06, 0xff, 0x00, 0x00, 0x00, 0x90, 0x07, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x07, 0x06, + 0x1e, 0x67, 0x07, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, + 0x00, 0x77, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, + 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x35, + 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, + 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, + 0xa2, 0x1e, 0x6b, 0x06, 0x03, 0xa5, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xf4, 0x01, + 0x9b, 0x04, 0x05, 0x1e, 0x66, 0x04, 0x90, 0x04, 0x12, 0x23, 0x00, 0x00, 0x1e, 0x67, 0x04, 0x03, + 0x60, 0x04, 0x00, 0x6e, 0x04, 0x0b, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, 0x00, 0x00, 0x90, + 0x05, 0x00, 0x07, 0x00, 0x00, 0x6e, 0x05, 0x04, 0x1e, 0x67, 0x05, 0x03, 0xac, 0x00, 0x00, 0x60, + 0x06, 0x00, 0x7c, 0x06, 0x0b, 0x66, 0x06, 0xff, 0x00, 0x00, 0x00, 0x90, 0x07, 0x00, 0x03, 0x00, + 0x00, 0x6e, 0x07, 0x06, 0x1e, 0x67, 0x07, 0x03, 0x99, 0x05, 0x90, 0x06, 0x00, 0x13, 0x00, 0x00, + 0x6e, 0x06, 0x05, 0x1e, 0x67, 0x06, 0x03, 0x99, 0x05, 0x90, 0x06, 0x00, 0x17, 0x00, 0x00, 0x6e, + 0x06, 0x05, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, + 0x90, 0x06, 0x00, 0x77, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, + 0x1e, 0x67, 0x06, 0x03, 0x92, 0x0b, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x92, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x35, 0x00, + 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, + 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0xa2, + 0x1e, 0x6b, 0x06, 0x03, 0xa5, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xf4, 0x01, 0xae, +}; + +const unsigned char WriteIDmem_jtag_1[400] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x00, 0x01, 0x00, 0x00, 0x9b, 0x03, 0x0f, 0x60, 0x0a, 0x01, + 0x93, 0x0a, 0x00, 0x01, 0x67, 0x00, 0x01, 0xad, 0x0a, 0x90, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x9b, + 0x04, 0x05, 0x1e, 0x66, 0x04, 0x90, 0x04, 0x84, 0x23, 0x00, 0x00, 0x1e, 0x67, 0x04, 0x03, 0x60, + 0x04, 0x00, 0x6e, 0x04, 0x0b, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, 0x00, 0x00, 0x90, 0x05, + 0x00, 0x07, 0x00, 0x00, 0x6e, 0x05, 0x04, 0x1e, 0x67, 0x05, 0x03, 0x60, 0x06, 0x00, 0x7c, 0x06, + 0x0b, 0x66, 0x06, 0xff, 0x00, 0x00, 0x00, 0x90, 0x07, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x07, 0x06, + 0x1e, 0x67, 0x07, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, + 0x00, 0x77, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, + 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x35, + 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, + 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, + 0xa2, 0x1e, 0x6b, 0x06, 0x03, 0xa5, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xf4, 0x01, + 0x9b, 0x04, 0x05, 0x1e, 0x66, 0x04, 0x90, 0x04, 0x12, 0x23, 0x00, 0x00, 0x1e, 0x67, 0x04, 0x03, + 0x60, 0x04, 0x00, 0x6e, 0x04, 0x0b, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, 0x00, 0x00, 0x90, + 0x05, 0x00, 0x07, 0x00, 0x00, 0x6e, 0x05, 0x04, 0x1e, 0x67, 0x05, 0x03, 0xac, 0x80, 0x00, 0x60, + 0x06, 0x00, 0x7c, 0x06, 0x0b, 0x66, 0x06, 0xff, 0x00, 0x00, 0x00, 0x90, 0x07, 0x00, 0x03, 0x00, + 0x00, 0x6e, 0x07, 0x06, 0x1e, 0x67, 0x07, 0x03, 0x99, 0x05, 0x90, 0x06, 0x00, 0x13, 0x00, 0x00, + 0x6e, 0x06, 0x05, 0x1e, 0x67, 0x06, 0x03, 0x99, 0x05, 0x90, 0x06, 0x00, 0x17, 0x00, 0x00, 0x6e, + 0x06, 0x05, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, + 0x90, 0x06, 0x00, 0x77, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, + 0x1e, 0x67, 0x06, 0x03, 0x92, 0x0b, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x92, 0x00, 0x80, 0x00, 0x00, + 0x00, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x35, 0x00, + 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, + 0x06, 0x00, 0x37, 0x00, 0x00, 0x1e, 0x67, 0x06, 0x03, 0x90, 0x06, 0x00, 0x37, 0x00, 0x00, 0xa2, + 0x1e, 0x6b, 0x06, 0x03, 0xa5, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xf4, 0x01, 0xae, +}; + +const unsigned char WriteIDmem_jtag_2[198] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x04, 0x6c, 0x0a, 0x90, + 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x18, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x90, + 0x05, 0x55, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x00, 0x05, 0x90, 0x04, 0xcf, 0x01, 0x00, 0x01, 0xa2, + 0x1e, 0x03, 0x04, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x90, 0x04, + 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x04, 0x0a, 0x60, 0x03, 0x01, 0x93, 0x03, 0x00, 0x02, 0xad, + 0x03, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x00, 0x90, + 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, + 0x09, 0x00, 0x9c, 0x04, 0x00, 0x02, 0x1e, 0x10, 0x04, 0x1e, 0x0a, 0x04, 0x90, 0x04, 0xc0, 0x01, + 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, + 0x90, 0x05, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x65, 0xff, 0x00, + 0x00, 0x00, 0x01, 0x9b, 0x06, 0x01, 0x1e, 0x0a, 0x06, 0x90, 0x06, 0xcf, 0x01, 0x00, 0x01, 0xa2, + 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x92, 0x00, + 0x00, 0x02, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char WriteIDmem_jtag_3[198] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x04, 0x6c, 0x0a, 0x90, + 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x18, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x90, + 0x05, 0x55, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x00, 0x05, 0x90, 0x04, 0xcf, 0x01, 0x00, 0x01, 0xa2, + 0x1e, 0x03, 0x04, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x90, 0x04, + 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x04, 0x0a, 0x60, 0x03, 0x01, 0x93, 0x03, 0x00, 0x01, 0xad, + 0x03, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x00, 0x90, + 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, + 0x09, 0x00, 0x9c, 0x04, 0x00, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0a, 0x04, 0x90, 0x04, 0xc0, 0x01, + 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, + 0x90, 0x05, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x65, 0xff, 0x00, + 0x00, 0x00, 0x01, 0x9b, 0x06, 0x01, 0x1e, 0x0a, 0x06, 0x90, 0x06, 0xcf, 0x01, 0x00, 0x01, 0xa2, + 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x92, 0x00, + 0x00, 0x01, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char ReadIDmem_jtag_0[160] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x00, 0x00, 0x00, 0x00, 0x9b, 0x03, 0x0f, 0x60, 0x0a, 0x01, + 0x93, 0x0a, 0x00, 0x00, 0x67, 0x00, 0x01, 0xad, 0x0a, 0x90, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x9b, + 0x04, 0x05, 0x1e, 0x66, 0x04, 0x90, 0x04, 0x08, 0x23, 0x00, 0x00, 0x1e, 0x67, 0x04, 0x03, 0xac, + 0x00, 0x00, 0x60, 0x04, 0x00, 0x7c, 0x04, 0x0b, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, 0x00, + 0x00, 0x90, 0x05, 0x00, 0x07, 0x00, 0x00, 0x7c, 0x05, 0x04, 0x1e, 0x67, 0x05, 0x03, 0x60, 0x06, + 0x00, 0x7c, 0x06, 0x0b, 0x66, 0x06, 0xff, 0x00, 0x00, 0x00, 0x90, 0x07, 0x00, 0x03, 0x00, 0x00, + 0x7c, 0x07, 0x06, 0x1e, 0x67, 0x07, 0x03, 0x90, 0x04, 0x00, 0x32, 0x00, 0x00, 0x9b, 0x05, 0x0f, + 0x1e, 0x67, 0x04, 0x05, 0x90, 0x04, 0x00, 0x36, 0x00, 0x00, 0x9b, 0x05, 0x0f, 0x95, 0x1e, 0x6b, + 0x04, 0x05, 0x9f, 0x90, 0x04, 0x00, 0x37, 0x00, 0x00, 0x9b, 0x05, 0x0f, 0x95, 0x1e, 0x6b, 0x04, + 0x05, 0x9f, 0x92, 0x0b, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char ReadIDmem_jtag_1[160] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x00, 0x01, 0x00, 0x00, 0x9b, 0x03, 0x0f, 0x60, 0x0a, 0x01, + 0x93, 0x0a, 0x00, 0x01, 0x67, 0x00, 0x01, 0xad, 0x0a, 0x90, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x9b, + 0x04, 0x05, 0x1e, 0x66, 0x04, 0x90, 0x04, 0x08, 0x23, 0x00, 0x00, 0x1e, 0x67, 0x04, 0x03, 0xac, + 0x80, 0x00, 0x60, 0x04, 0x00, 0x7c, 0x04, 0x0b, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, 0x00, + 0x00, 0x90, 0x05, 0x00, 0x07, 0x00, 0x00, 0x7c, 0x05, 0x04, 0x1e, 0x67, 0x05, 0x03, 0x60, 0x06, + 0x00, 0x7c, 0x06, 0x0b, 0x66, 0x06, 0xff, 0x00, 0x00, 0x00, 0x90, 0x07, 0x00, 0x03, 0x00, 0x00, + 0x7c, 0x07, 0x06, 0x1e, 0x67, 0x07, 0x03, 0x90, 0x04, 0x00, 0x32, 0x00, 0x00, 0x9b, 0x05, 0x0f, + 0x1e, 0x67, 0x04, 0x05, 0x90, 0x04, 0x00, 0x36, 0x00, 0x00, 0x9b, 0x05, 0x0f, 0x95, 0x1e, 0x6b, + 0x04, 0x05, 0x9f, 0x90, 0x04, 0x00, 0x37, 0x00, 0x00, 0x9b, 0x05, 0x0f, 0x95, 0x1e, 0x6b, 0x04, + 0x05, 0x9f, 0x92, 0x0b, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x92, 0x00, 0x80, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char ReadIDmem_jtag_2[126] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x7d, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x60, 0x03, 0x01, 0x93, + 0x03, 0x00, 0x02, 0xad, 0x03, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x43, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x00, 0x02, 0x1e, 0x10, 0x04, 0x1e, + 0x0c, 0x04, 0x92, 0x00, 0x00, 0x02, 0x00, 0x00, 0xae, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, + 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char ReadIDmem_jtag_3[126] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x7d, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x60, 0x03, 0x01, 0x93, + 0x03, 0x00, 0x01, 0xad, 0x03, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x43, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x00, 0x01, 0x1e, 0x10, 0x04, 0x1e, + 0x0c, 0x04, 0x92, 0x00, 0x00, 0x01, 0x00, 0x00, 0xae, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, + 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char WriteMem8_jtag_0[493] = { + 0x91, 0x00, 0x91, 0x0a, 0xad, 0x0a, 0x99, 0x01, 0x9b, 0x0b, 0x00, 0xac, 0x03, 0x00, 0xfe, 0x0b, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0xfe, 0x0b, 0x01, 0x00, 0x00, 0x00, 0x2f, 0x00, 0xfe, 0x0b, + 0x02, 0x00, 0x00, 0x00, 0x41, 0x00, 0xfb, 0xdd, 0x01, 0x9b, 0x02, 0x10, 0xfb, 0x4d, 0x00, 0x9b, + 0x02, 0x1f, 0x60, 0x01, 0x00, 0x66, 0x01, 0x00, 0xff, 0x00, 0x00, 0x67, 0x01, 0x08, 0xfb, 0x4d, + 0x00, 0x9b, 0x02, 0x1e, 0x60, 0x01, 0x00, 0x66, 0x01, 0xff, 0x00, 0x00, 0x00, 0x60, 0x1c, 0x01, + 0x66, 0x1c, 0x0f, 0x00, 0x00, 0x00, 0x60, 0x1d, 0x02, 0x66, 0x1d, 0x0f, 0x00, 0x00, 0x00, 0x68, + 0x1d, 0x04, 0x7c, 0x1c, 0x1d, 0x60, 0x1d, 0x01, 0x66, 0x1d, 0xf0, 0x00, 0x00, 0x00, 0x68, 0x1d, + 0x04, 0x7c, 0x1c, 0x1d, 0x61, 0x1c, 0x00, 0xe0, 0x00, 0x00, 0x60, 0x03, 0x1c, 0x9b, 0x04, 0x0a, + 0x1e, 0x66, 0x04, 0x90, 0x05, 0x03, 0x00, 0x00, 0x00, 0x90, 0x06, 0x04, 0x00, 0x00, 0x00, 0xf8, + 0x05, 0x06, 0xa5, 0x00, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, 0x05, 0x01, 0x1e, 0x68, 0x03, + 0x04, 0x05, 0xfb, 0x25, 0x01, 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, 0x3f, 0x00, 0x00, 0x00, 0x68, + 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, 0x60, 0x0f, 0x11, 0x60, 0x11, + 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0c, 0xff, + 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0d, 0x08, 0x7c, + 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, 0x7c, 0x11, 0x0e, 0x66, 0x0f, + 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, 0x05, 0x11, 0x9b, 0x12, 0x01, + 0x1e, 0x69, 0x05, 0x10, 0x12, 0x92, 0x0b, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x03, 0x00, 0x83, + 0x00, 0x00, 0x9b, 0x04, 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, 0x03, 0x00, 0x00, 0x00, 0x90, 0x06, + 0x04, 0x00, 0x00, 0x00, 0xf8, 0x05, 0x06, 0x5a, 0x01, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, + 0x05, 0x01, 0x1e, 0x68, 0x03, 0x04, 0x05, 0xfb, 0xe5, 0x01, 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, + 0x3f, 0x00, 0x00, 0x00, 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, + 0x60, 0x0f, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, + 0x00, 0x00, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, + 0x00, 0x68, 0x0d, 0x08, 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, + 0x7c, 0x11, 0x0e, 0x66, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, + 0x05, 0x11, 0x9b, 0x12, 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, 0xfb, 0xe5, 0x01, 0x90, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x7f, 0x01, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char WriteMem8_jtag_1[493] = { + 0x91, 0x00, 0x91, 0x0a, 0xad, 0x0a, 0x99, 0x01, 0x9b, 0x0b, 0x00, 0xac, 0x03, 0x00, 0xfe, 0x0b, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0xfe, 0x0b, 0x01, 0x00, 0x00, 0x00, 0x2f, 0x00, 0xfe, 0x0b, + 0x02, 0x00, 0x00, 0x00, 0x41, 0x00, 0xfb, 0xdd, 0x01, 0x9b, 0x02, 0x10, 0xfb, 0x4d, 0x00, 0x9b, + 0x02, 0x1f, 0x60, 0x01, 0x00, 0x66, 0x01, 0x00, 0xff, 0x00, 0x00, 0x67, 0x01, 0x08, 0xfb, 0x4d, + 0x00, 0x9b, 0x02, 0x1e, 0x60, 0x01, 0x00, 0x66, 0x01, 0xff, 0x00, 0x00, 0x00, 0x60, 0x1c, 0x01, + 0x66, 0x1c, 0x0f, 0x00, 0x00, 0x00, 0x60, 0x1d, 0x02, 0x66, 0x1d, 0x0f, 0x00, 0x00, 0x00, 0x68, + 0x1d, 0x04, 0x7c, 0x1c, 0x1d, 0x60, 0x1d, 0x01, 0x66, 0x1d, 0xf0, 0x00, 0x00, 0x00, 0x68, 0x1d, + 0x04, 0x7c, 0x1c, 0x1d, 0x61, 0x1c, 0x00, 0xe0, 0x00, 0x00, 0x60, 0x03, 0x1c, 0x9b, 0x04, 0x0a, + 0x1e, 0x66, 0x04, 0x90, 0x05, 0x01, 0x00, 0x00, 0x00, 0x90, 0x06, 0x04, 0x00, 0x00, 0x00, 0xf8, + 0x05, 0x06, 0xa5, 0x00, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, 0x05, 0x01, 0x1e, 0x68, 0x03, + 0x04, 0x05, 0xfb, 0x25, 0x01, 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, 0x3f, 0x00, 0x00, 0x00, 0x68, + 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, 0x60, 0x0f, 0x11, 0x60, 0x11, + 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0c, 0xff, + 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0d, 0x08, 0x7c, + 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, 0x7c, 0x11, 0x0e, 0x66, 0x0f, + 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, 0x05, 0x11, 0x9b, 0x12, 0x01, + 0x1e, 0x69, 0x05, 0x10, 0x12, 0x92, 0x0b, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x03, 0x00, 0x83, + 0x00, 0x00, 0x9b, 0x04, 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, 0x01, 0x00, 0x00, 0x00, 0x90, 0x06, + 0x04, 0x00, 0x00, 0x00, 0xf8, 0x05, 0x06, 0x5a, 0x01, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, + 0x05, 0x01, 0x1e, 0x68, 0x03, 0x04, 0x05, 0xfb, 0xe5, 0x01, 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, + 0x3f, 0x00, 0x00, 0x00, 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, + 0x60, 0x0f, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, + 0x00, 0x00, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, + 0x00, 0x68, 0x0d, 0x08, 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, + 0x7c, 0x11, 0x0e, 0x66, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, + 0x05, 0x11, 0x9b, 0x12, 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, 0xfb, 0xe5, 0x01, 0x90, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x7f, 0x01, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char WriteMem8_jtag_2[493] = { + 0x91, 0x00, 0x91, 0x0a, 0xad, 0x0a, 0x99, 0x01, 0x9b, 0x0b, 0x00, 0xac, 0x03, 0x00, 0xfe, 0x0b, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0xfe, 0x0b, 0x01, 0x00, 0x00, 0x00, 0x2f, 0x00, 0xfe, 0x0b, + 0x02, 0x00, 0x00, 0x00, 0x41, 0x00, 0xfb, 0xdd, 0x01, 0x9b, 0x02, 0x10, 0xfb, 0x4d, 0x00, 0x9b, + 0x02, 0x1f, 0x60, 0x01, 0x00, 0x66, 0x01, 0x00, 0xff, 0x00, 0x00, 0x67, 0x01, 0x08, 0xfb, 0x4d, + 0x00, 0x9b, 0x02, 0x1e, 0x60, 0x01, 0x00, 0x66, 0x01, 0xff, 0x00, 0x00, 0x00, 0x60, 0x1c, 0x01, + 0x66, 0x1c, 0x0f, 0x00, 0x00, 0x00, 0x60, 0x1d, 0x02, 0x66, 0x1d, 0x0f, 0x00, 0x00, 0x00, 0x68, + 0x1d, 0x04, 0x7c, 0x1c, 0x1d, 0x60, 0x1d, 0x01, 0x66, 0x1d, 0xf0, 0x00, 0x00, 0x00, 0x68, 0x1d, + 0x04, 0x7c, 0x1c, 0x1d, 0x61, 0x1c, 0x00, 0xe0, 0x00, 0x00, 0x60, 0x03, 0x1c, 0x9b, 0x04, 0x0a, + 0x1e, 0x66, 0x04, 0x90, 0x05, 0x02, 0x00, 0x00, 0x00, 0x90, 0x06, 0x04, 0x00, 0x00, 0x00, 0xf8, + 0x05, 0x06, 0xa5, 0x00, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, 0x05, 0x01, 0x1e, 0x68, 0x03, + 0x04, 0x05, 0xfb, 0x25, 0x01, 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, 0x3f, 0x00, 0x00, 0x00, 0x68, + 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, 0x60, 0x0f, 0x11, 0x60, 0x11, + 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0c, 0xff, + 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0d, 0x08, 0x7c, + 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, 0x7c, 0x11, 0x0e, 0x66, 0x0f, + 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, 0x05, 0x11, 0x9b, 0x12, 0x01, + 0x1e, 0x69, 0x05, 0x10, 0x12, 0x92, 0x0b, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x03, 0x00, 0x83, + 0x00, 0x00, 0x9b, 0x04, 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, 0x02, 0x00, 0x00, 0x00, 0x90, 0x06, + 0x04, 0x00, 0x00, 0x00, 0xf8, 0x05, 0x06, 0x5a, 0x01, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, + 0x05, 0x01, 0x1e, 0x68, 0x03, 0x04, 0x05, 0xfb, 0xe5, 0x01, 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, + 0x3f, 0x00, 0x00, 0x00, 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, + 0x60, 0x0f, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, + 0x00, 0x00, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, + 0x00, 0x68, 0x0d, 0x08, 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, + 0x7c, 0x11, 0x0e, 0x66, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, + 0x05, 0x11, 0x9b, 0x12, 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, 0xfb, 0xe5, 0x01, 0x90, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x7f, 0x01, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char WriteMem8_jtag_3[493] = { + 0x91, 0x00, 0x91, 0x0a, 0xad, 0x0a, 0x99, 0x01, 0x9b, 0x0b, 0x00, 0xac, 0x03, 0x00, 0xfe, 0x0b, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0xfe, 0x0b, 0x01, 0x00, 0x00, 0x00, 0x2f, 0x00, 0xfe, 0x0b, + 0x02, 0x00, 0x00, 0x00, 0x41, 0x00, 0xfb, 0xdd, 0x01, 0x9b, 0x02, 0x10, 0xfb, 0x4d, 0x00, 0x9b, + 0x02, 0x1f, 0x60, 0x01, 0x00, 0x66, 0x01, 0x00, 0xff, 0x00, 0x00, 0x67, 0x01, 0x08, 0xfb, 0x4d, + 0x00, 0x9b, 0x02, 0x1e, 0x60, 0x01, 0x00, 0x66, 0x01, 0xff, 0x00, 0x00, 0x00, 0x60, 0x1c, 0x01, + 0x66, 0x1c, 0x0f, 0x00, 0x00, 0x00, 0x60, 0x1d, 0x02, 0x66, 0x1d, 0x0f, 0x00, 0x00, 0x00, 0x68, + 0x1d, 0x04, 0x7c, 0x1c, 0x1d, 0x60, 0x1d, 0x01, 0x66, 0x1d, 0xf0, 0x00, 0x00, 0x00, 0x68, 0x1d, + 0x04, 0x7c, 0x1c, 0x1d, 0x61, 0x1c, 0x00, 0xe0, 0x00, 0x00, 0x60, 0x03, 0x1c, 0x9b, 0x04, 0x0a, + 0x1e, 0x66, 0x04, 0x90, 0x05, 0x04, 0x00, 0x00, 0x00, 0x90, 0x06, 0x04, 0x00, 0x00, 0x00, 0xf8, + 0x05, 0x06, 0xa5, 0x00, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, 0x05, 0x01, 0x1e, 0x68, 0x03, + 0x04, 0x05, 0xfb, 0x25, 0x01, 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, 0x3f, 0x00, 0x00, 0x00, 0x68, + 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, 0x60, 0x0f, 0x11, 0x60, 0x11, + 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0c, 0xff, + 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0d, 0x08, 0x7c, + 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, 0x7c, 0x11, 0x0e, 0x66, 0x0f, + 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, 0x05, 0x11, 0x9b, 0x12, 0x01, + 0x1e, 0x69, 0x05, 0x10, 0x12, 0x92, 0x0b, 0x01, 0x00, 0x00, 0x00, 0xa4, 0x90, 0x03, 0x00, 0x83, + 0x00, 0x00, 0x9b, 0x04, 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, 0x04, 0x00, 0x00, 0x00, 0x90, 0x06, + 0x04, 0x00, 0x00, 0x00, 0xf8, 0x05, 0x06, 0x5a, 0x01, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, + 0x05, 0x01, 0x1e, 0x68, 0x03, 0x04, 0x05, 0xfb, 0xe5, 0x01, 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, + 0x3f, 0x00, 0x00, 0x00, 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, + 0x60, 0x0f, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, + 0x00, 0x00, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, + 0x00, 0x68, 0x0d, 0x08, 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, + 0x7c, 0x11, 0x0e, 0x66, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, + 0x05, 0x11, 0x9b, 0x12, 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, 0xfb, 0xe5, 0x01, 0x90, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x7f, 0x01, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char WriteMem8_jtag_4[70] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x01, 0x00, + 0xfa, 0x01, 0x03, 0x1b, 0x00, 0x60, 0x04, 0x01, 0xfb, 0x21, 0x00, 0x90, 0x04, 0x00, 0x00, 0x01, + 0x00, 0x6a, 0x01, 0x04, 0x90, 0x02, 0xca, 0x01, 0x00, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x06, 0x02, 0x03, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x04, 0x1e, 0x0a, 0x04, 0x6e, 0x00, 0x04, + 0xfc, 0x01, 0x07, 0x0a, 0x00, 0x5a, +}; + +const unsigned char ReadMem8_jtag_0[797] = { + 0x91, 0x00, 0x91, 0x12, 0x60, 0x14, 0x12, 0x60, 0x13, 0x00, 0xad, 0x14, 0x9b, 0x0b, 0x00, 0xac, + 0x02, 0x00, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0xfe, 0x0b, 0x01, 0x00, 0x00, 0x00, + 0x37, 0x00, 0xfb, 0x14, 0x03, 0x9b, 0x02, 0x1f, 0x60, 0x01, 0x13, 0x66, 0x01, 0x00, 0xff, 0x00, + 0x00, 0x67, 0x01, 0x08, 0xfb, 0x43, 0x00, 0x9b, 0x02, 0x1e, 0x60, 0x01, 0x13, 0x66, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x60, 0x1c, 0x01, 0x66, 0x1c, 0x0f, 0x00, 0x00, 0x00, 0x60, 0x1d, 0x02, 0x66, + 0x1d, 0x0f, 0x00, 0x00, 0x00, 0x68, 0x1d, 0x04, 0x7c, 0x1c, 0x1d, 0x60, 0x1d, 0x01, 0x66, 0x1d, + 0xf0, 0x00, 0x00, 0x00, 0x68, 0x1d, 0x04, 0x7c, 0x1c, 0x1d, 0x61, 0x1c, 0x00, 0xe0, 0x00, 0x00, + 0x60, 0x03, 0x1c, 0x9b, 0x04, 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, 0x03, 0x00, 0x00, 0x00, 0x90, + 0x06, 0x04, 0x00, 0x00, 0x00, 0xf8, 0x05, 0x06, 0x9b, 0x00, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, + 0x9b, 0x05, 0x01, 0x1e, 0x68, 0x03, 0x04, 0x05, 0xfb, 0x1b, 0x01, 0x60, 0x06, 0x03, 0x90, 0x0c, + 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, + 0x0e, 0x3f, 0x00, 0x00, 0x00, 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, + 0x02, 0x60, 0x0f, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, + 0x00, 0x00, 0x00, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, + 0x00, 0x00, 0x68, 0x0d, 0x08, 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, + 0x10, 0x7c, 0x11, 0x0e, 0x66, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, + 0x60, 0x05, 0x11, 0x9b, 0x12, 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, 0x92, 0x0b, 0x01, 0x00, 0x00, + 0x00, 0xa4, 0x90, 0x03, 0x00, 0x81, 0x00, 0x00, 0x9b, 0x04, 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, + 0x03, 0x00, 0x00, 0x00, 0x90, 0x06, 0x04, 0x00, 0x00, 0x00, 0xf8, 0x05, 0x06, 0x50, 0x01, 0x68, + 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, 0x05, 0x01, 0x1e, 0x68, 0x03, 0x04, 0x05, 0xfb, 0xd0, 0x01, + 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, 0x3f, 0x00, 0x00, 0x00, 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, + 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, 0x60, 0x0f, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, + 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, + 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0d, 0x08, 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, + 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, 0x7c, 0x11, 0x0e, 0x66, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, + 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, 0x05, 0x11, 0x9b, 0x12, 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, + 0x9b, 0x19, 0x10, 0x9b, 0x00, 0x31, 0x90, 0x1a, 0x01, 0xbe, 0x00, 0x00, 0x60, 0x1b, 0x19, 0x66, + 0x1b, 0x1f, 0x00, 0x00, 0x00, 0x68, 0x1b, 0x04, 0x7c, 0x1a, 0x1b, 0x60, 0x03, 0x1a, 0x9b, 0x04, + 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, 0x03, 0x00, 0x00, 0x00, 0x90, 0x06, 0x04, 0x00, 0x00, 0x00, + 0xf8, 0x05, 0x06, 0x16, 0x02, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, 0x05, 0x01, 0x1e, 0x68, + 0x03, 0x04, 0x05, 0xfb, 0x96, 0x02, 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, 0x3f, 0x00, 0x00, 0x00, + 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, 0x60, 0x0f, 0x11, 0x60, + 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0c, + 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0d, 0x08, + 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, 0x7c, 0x11, 0x0e, 0x66, + 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, 0x05, 0x11, 0x9b, 0x12, + 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, 0xfe, 0x00, 0x31, 0x00, 0x00, 0x00, 0xa1, 0x02, 0xfb, 0x1c, + 0x03, 0xa2, 0x9b, 0x04, 0x0b, 0x1e, 0x66, 0x04, 0x90, 0x04, 0x00, 0x00, 0x0d, 0x00, 0x9b, 0x05, + 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x68, 0x04, 0x05, 0x06, 0x90, 0x04, 0x00, 0x00, 0x0d, 0x00, 0x9b, + 0x05, 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x6c, 0x04, 0x05, 0x06, 0xa5, 0x10, 0x00, 0x00, 0x00, 0x10, + 0x00, 0x00, 0x00, 0x50, 0x00, 0x9b, 0x04, 0x0b, 0x1e, 0x66, 0x04, 0x90, 0x04, 0x00, 0x00, 0x0c, + 0x00, 0x9b, 0x05, 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x68, 0x04, 0x05, 0x06, 0x90, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x9b, 0x05, 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x6c, 0x04, 0x05, 0x06, 0x6c, 0x07, 0x67, + 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x98, 0x07, 0x92, 0x13, 0x01, 0x00, 0x00, 0x00, + 0xae, 0xfb, 0x1c, 0x03, 0x90, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7f, 0x01, 0x5a, +}; + +const unsigned char ReadMem8_jtag_1[797] = { + 0x91, 0x00, 0x91, 0x12, 0x60, 0x14, 0x12, 0x60, 0x13, 0x00, 0xad, 0x14, 0x9b, 0x0b, 0x00, 0xac, + 0x02, 0x00, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0xfe, 0x0b, 0x01, 0x00, 0x00, 0x00, + 0x37, 0x00, 0xfb, 0x14, 0x03, 0x9b, 0x02, 0x1f, 0x60, 0x01, 0x13, 0x66, 0x01, 0x00, 0xff, 0x00, + 0x00, 0x67, 0x01, 0x08, 0xfb, 0x43, 0x00, 0x9b, 0x02, 0x1e, 0x60, 0x01, 0x13, 0x66, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x60, 0x1c, 0x01, 0x66, 0x1c, 0x0f, 0x00, 0x00, 0x00, 0x60, 0x1d, 0x02, 0x66, + 0x1d, 0x0f, 0x00, 0x00, 0x00, 0x68, 0x1d, 0x04, 0x7c, 0x1c, 0x1d, 0x60, 0x1d, 0x01, 0x66, 0x1d, + 0xf0, 0x00, 0x00, 0x00, 0x68, 0x1d, 0x04, 0x7c, 0x1c, 0x1d, 0x61, 0x1c, 0x00, 0xe0, 0x00, 0x00, + 0x60, 0x03, 0x1c, 0x9b, 0x04, 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, 0x01, 0x00, 0x00, 0x00, 0x90, + 0x06, 0x04, 0x00, 0x00, 0x00, 0xf8, 0x05, 0x06, 0x9b, 0x00, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, + 0x9b, 0x05, 0x01, 0x1e, 0x68, 0x03, 0x04, 0x05, 0xfb, 0x1b, 0x01, 0x60, 0x06, 0x03, 0x90, 0x0c, + 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, + 0x0e, 0x3f, 0x00, 0x00, 0x00, 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, + 0x02, 0x60, 0x0f, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, + 0x00, 0x00, 0x00, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, + 0x00, 0x00, 0x68, 0x0d, 0x08, 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, + 0x10, 0x7c, 0x11, 0x0e, 0x66, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, + 0x60, 0x05, 0x11, 0x9b, 0x12, 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, 0x92, 0x0b, 0x01, 0x00, 0x00, + 0x00, 0xa4, 0x90, 0x03, 0x00, 0x81, 0x00, 0x00, 0x9b, 0x04, 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, + 0x01, 0x00, 0x00, 0x00, 0x90, 0x06, 0x04, 0x00, 0x00, 0x00, 0xf8, 0x05, 0x06, 0x50, 0x01, 0x68, + 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, 0x05, 0x01, 0x1e, 0x68, 0x03, 0x04, 0x05, 0xfb, 0xd0, 0x01, + 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, 0x3f, 0x00, 0x00, 0x00, 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, + 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, 0x60, 0x0f, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, + 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, + 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0d, 0x08, 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, + 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, 0x7c, 0x11, 0x0e, 0x66, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, + 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, 0x05, 0x11, 0x9b, 0x12, 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, + 0x9b, 0x19, 0x10, 0x9b, 0x00, 0x22, 0x90, 0x1a, 0x02, 0xbc, 0x00, 0x00, 0x60, 0x1b, 0x19, 0x66, + 0x1b, 0x1f, 0x00, 0x00, 0x00, 0x68, 0x1b, 0x04, 0x7c, 0x1a, 0x1b, 0x60, 0x03, 0x1a, 0x9b, 0x04, + 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, 0x01, 0x00, 0x00, 0x00, 0x90, 0x06, 0x04, 0x00, 0x00, 0x00, + 0xf8, 0x05, 0x06, 0x16, 0x02, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, 0x05, 0x01, 0x1e, 0x68, + 0x03, 0x04, 0x05, 0xfb, 0x96, 0x02, 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, 0x3f, 0x00, 0x00, 0x00, + 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, 0x60, 0x0f, 0x11, 0x60, + 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0c, + 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0d, 0x08, + 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, 0x7c, 0x11, 0x0e, 0x66, + 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, 0x05, 0x11, 0x9b, 0x12, + 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, 0xfe, 0x00, 0x22, 0x00, 0x00, 0x00, 0xa1, 0x02, 0xfb, 0x1c, + 0x03, 0xa2, 0x9b, 0x04, 0x0b, 0x1e, 0x66, 0x04, 0x90, 0x04, 0x00, 0x00, 0x0d, 0x00, 0x9b, 0x05, + 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x68, 0x04, 0x05, 0x06, 0x90, 0x04, 0x00, 0x00, 0x0d, 0x00, 0x9b, + 0x05, 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x6c, 0x04, 0x05, 0x06, 0xa5, 0x10, 0x00, 0x00, 0x00, 0x10, + 0x00, 0x00, 0x00, 0x50, 0x00, 0x9b, 0x04, 0x0b, 0x1e, 0x66, 0x04, 0x90, 0x04, 0x00, 0x00, 0x0c, + 0x00, 0x9b, 0x05, 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x68, 0x04, 0x05, 0x06, 0x90, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x9b, 0x05, 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x6c, 0x04, 0x05, 0x06, 0x6c, 0x07, 0x67, + 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x98, 0x07, 0x92, 0x13, 0x01, 0x00, 0x00, 0x00, + 0xae, 0xfb, 0x1c, 0x03, 0x90, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7f, 0x01, 0x5a, +}; + +const unsigned char ReadMem8_jtag_2[797] = { + 0x91, 0x00, 0x91, 0x12, 0x60, 0x14, 0x12, 0x60, 0x13, 0x00, 0xad, 0x14, 0x9b, 0x0b, 0x00, 0xac, + 0x02, 0x00, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0xfe, 0x0b, 0x01, 0x00, 0x00, 0x00, + 0x37, 0x00, 0xfb, 0x14, 0x03, 0x9b, 0x02, 0x1f, 0x60, 0x01, 0x13, 0x66, 0x01, 0x00, 0xff, 0x00, + 0x00, 0x67, 0x01, 0x08, 0xfb, 0x43, 0x00, 0x9b, 0x02, 0x1e, 0x60, 0x01, 0x13, 0x66, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x60, 0x1c, 0x01, 0x66, 0x1c, 0x0f, 0x00, 0x00, 0x00, 0x60, 0x1d, 0x02, 0x66, + 0x1d, 0x0f, 0x00, 0x00, 0x00, 0x68, 0x1d, 0x04, 0x7c, 0x1c, 0x1d, 0x60, 0x1d, 0x01, 0x66, 0x1d, + 0xf0, 0x00, 0x00, 0x00, 0x68, 0x1d, 0x04, 0x7c, 0x1c, 0x1d, 0x61, 0x1c, 0x00, 0xe0, 0x00, 0x00, + 0x60, 0x03, 0x1c, 0x9b, 0x04, 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, 0x02, 0x00, 0x00, 0x00, 0x90, + 0x06, 0x04, 0x00, 0x00, 0x00, 0xf8, 0x05, 0x06, 0x9b, 0x00, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, + 0x9b, 0x05, 0x01, 0x1e, 0x68, 0x03, 0x04, 0x05, 0xfb, 0x1b, 0x01, 0x60, 0x06, 0x03, 0x90, 0x0c, + 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, + 0x0e, 0x3f, 0x00, 0x00, 0x00, 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, + 0x02, 0x60, 0x0f, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, + 0x00, 0x00, 0x00, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, + 0x00, 0x00, 0x68, 0x0d, 0x08, 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, + 0x10, 0x7c, 0x11, 0x0e, 0x66, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, + 0x60, 0x05, 0x11, 0x9b, 0x12, 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, 0x92, 0x0b, 0x01, 0x00, 0x00, + 0x00, 0xa4, 0x90, 0x03, 0x00, 0x81, 0x00, 0x00, 0x9b, 0x04, 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, + 0x02, 0x00, 0x00, 0x00, 0x90, 0x06, 0x04, 0x00, 0x00, 0x00, 0xf8, 0x05, 0x06, 0x50, 0x01, 0x68, + 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, 0x05, 0x01, 0x1e, 0x68, 0x03, 0x04, 0x05, 0xfb, 0xd0, 0x01, + 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, 0x3f, 0x00, 0x00, 0x00, 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, + 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, 0x60, 0x0f, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, + 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, + 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0d, 0x08, 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, + 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, 0x7c, 0x11, 0x0e, 0x66, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, + 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, 0x05, 0x11, 0x9b, 0x12, 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, + 0x9b, 0x19, 0x10, 0x9b, 0x00, 0x31, 0x90, 0x1a, 0x01, 0xbe, 0x00, 0x00, 0x60, 0x1b, 0x19, 0x66, + 0x1b, 0x1f, 0x00, 0x00, 0x00, 0x68, 0x1b, 0x04, 0x7c, 0x1a, 0x1b, 0x60, 0x03, 0x1a, 0x9b, 0x04, + 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, 0x02, 0x00, 0x00, 0x00, 0x90, 0x06, 0x04, 0x00, 0x00, 0x00, + 0xf8, 0x05, 0x06, 0x16, 0x02, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, 0x05, 0x01, 0x1e, 0x68, + 0x03, 0x04, 0x05, 0xfb, 0x96, 0x02, 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, 0x3f, 0x00, 0x00, 0x00, + 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, 0x60, 0x0f, 0x11, 0x60, + 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0c, + 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0d, 0x08, + 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, 0x7c, 0x11, 0x0e, 0x66, + 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, 0x05, 0x11, 0x9b, 0x12, + 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, 0xfe, 0x00, 0x31, 0x00, 0x00, 0x00, 0xa1, 0x02, 0xfb, 0x1c, + 0x03, 0xa2, 0x9b, 0x04, 0x0b, 0x1e, 0x66, 0x04, 0x90, 0x04, 0x00, 0x00, 0x0d, 0x00, 0x9b, 0x05, + 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x68, 0x04, 0x05, 0x06, 0x90, 0x04, 0x00, 0x00, 0x0d, 0x00, 0x9b, + 0x05, 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x6c, 0x04, 0x05, 0x06, 0xa5, 0x10, 0x00, 0x00, 0x00, 0x10, + 0x00, 0x00, 0x00, 0x50, 0x00, 0x9b, 0x04, 0x0b, 0x1e, 0x66, 0x04, 0x90, 0x04, 0x00, 0x00, 0x0c, + 0x00, 0x9b, 0x05, 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x68, 0x04, 0x05, 0x06, 0x90, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x9b, 0x05, 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x6c, 0x04, 0x05, 0x06, 0x6c, 0x07, 0x67, + 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x98, 0x07, 0x92, 0x13, 0x01, 0x00, 0x00, 0x00, + 0xae, 0xfb, 0x1c, 0x03, 0x90, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7f, 0x01, 0x5a, +}; + +const unsigned char ReadMem8_jtag_3[797] = { + 0x91, 0x00, 0x91, 0x12, 0x60, 0x14, 0x12, 0x60, 0x13, 0x00, 0xad, 0x14, 0x9b, 0x0b, 0x00, 0xac, + 0x02, 0x00, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0xfe, 0x0b, 0x01, 0x00, 0x00, 0x00, + 0x37, 0x00, 0xfb, 0x14, 0x03, 0x9b, 0x02, 0x1f, 0x60, 0x01, 0x13, 0x66, 0x01, 0x00, 0xff, 0x00, + 0x00, 0x67, 0x01, 0x08, 0xfb, 0x43, 0x00, 0x9b, 0x02, 0x1e, 0x60, 0x01, 0x13, 0x66, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x60, 0x1c, 0x01, 0x66, 0x1c, 0x0f, 0x00, 0x00, 0x00, 0x60, 0x1d, 0x02, 0x66, + 0x1d, 0x0f, 0x00, 0x00, 0x00, 0x68, 0x1d, 0x04, 0x7c, 0x1c, 0x1d, 0x60, 0x1d, 0x01, 0x66, 0x1d, + 0xf0, 0x00, 0x00, 0x00, 0x68, 0x1d, 0x04, 0x7c, 0x1c, 0x1d, 0x61, 0x1c, 0x00, 0xe0, 0x00, 0x00, + 0x60, 0x03, 0x1c, 0x9b, 0x04, 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, 0x02, 0x00, 0x00, 0x00, 0x90, + 0x06, 0x04, 0x00, 0x00, 0x00, 0xf8, 0x05, 0x06, 0x9b, 0x00, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, + 0x9b, 0x05, 0x01, 0x1e, 0x68, 0x03, 0x04, 0x05, 0xfb, 0x1b, 0x01, 0x60, 0x06, 0x03, 0x90, 0x0c, + 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, + 0x0e, 0x3f, 0x00, 0x00, 0x00, 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, + 0x02, 0x60, 0x0f, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, + 0x00, 0x00, 0x00, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, + 0x00, 0x00, 0x68, 0x0d, 0x08, 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, + 0x10, 0x7c, 0x11, 0x0e, 0x66, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, + 0x60, 0x05, 0x11, 0x9b, 0x12, 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, 0x92, 0x0b, 0x01, 0x00, 0x00, + 0x00, 0xa4, 0x90, 0x03, 0x00, 0x81, 0x00, 0x00, 0x9b, 0x04, 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, + 0x02, 0x00, 0x00, 0x00, 0x90, 0x06, 0x04, 0x00, 0x00, 0x00, 0xf8, 0x05, 0x06, 0x50, 0x01, 0x68, + 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, 0x05, 0x01, 0x1e, 0x68, 0x03, 0x04, 0x05, 0xfb, 0xd0, 0x01, + 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, 0x3f, 0x00, 0x00, 0x00, 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, + 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, 0x60, 0x0f, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, + 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, + 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0d, 0x08, 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, + 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, 0x7c, 0x11, 0x0e, 0x66, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, + 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, 0x05, 0x11, 0x9b, 0x12, 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, + 0x9b, 0x19, 0x10, 0x9b, 0x00, 0x04, 0x90, 0x1a, 0x04, 0xb8, 0x00, 0x00, 0x60, 0x1b, 0x19, 0x66, + 0x1b, 0x1f, 0x00, 0x00, 0x00, 0x68, 0x1b, 0x04, 0x7c, 0x1a, 0x1b, 0x60, 0x03, 0x1a, 0x9b, 0x04, + 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, 0x02, 0x00, 0x00, 0x00, 0x90, 0x06, 0x04, 0x00, 0x00, 0x00, + 0xf8, 0x05, 0x06, 0x16, 0x02, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, 0x05, 0x01, 0x1e, 0x68, + 0x03, 0x04, 0x05, 0xfb, 0x96, 0x02, 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, 0x3f, 0x00, 0x00, 0x00, + 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, 0x60, 0x0f, 0x11, 0x60, + 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0c, + 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0d, 0x08, + 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, 0x7c, 0x11, 0x0e, 0x66, + 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, 0x05, 0x11, 0x9b, 0x12, + 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, 0xfe, 0x00, 0x04, 0x00, 0x00, 0x00, 0xa1, 0x02, 0xfb, 0x1c, + 0x03, 0xa2, 0x9b, 0x04, 0x0b, 0x1e, 0x66, 0x04, 0x90, 0x04, 0x00, 0x00, 0x0d, 0x00, 0x9b, 0x05, + 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x68, 0x04, 0x05, 0x06, 0x90, 0x04, 0x00, 0x00, 0x0d, 0x00, 0x9b, + 0x05, 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x6c, 0x04, 0x05, 0x06, 0xa5, 0x10, 0x00, 0x00, 0x00, 0x10, + 0x00, 0x00, 0x00, 0x50, 0x00, 0x9b, 0x04, 0x0b, 0x1e, 0x66, 0x04, 0x90, 0x04, 0x00, 0x00, 0x0c, + 0x00, 0x9b, 0x05, 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x68, 0x04, 0x05, 0x06, 0x90, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x9b, 0x05, 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x6c, 0x04, 0x05, 0x06, 0x6c, 0x07, 0x67, + 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x98, 0x07, 0x92, 0x13, 0x01, 0x00, 0x00, 0x00, + 0xae, 0xfb, 0x1c, 0x03, 0x90, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7f, 0x01, 0x5a, +}; + +const unsigned char ReadMem8_jtag_4[797] = { + 0x91, 0x00, 0x91, 0x12, 0x60, 0x14, 0x12, 0x60, 0x13, 0x00, 0xad, 0x14, 0x9b, 0x0b, 0x00, 0xac, + 0x02, 0x00, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0xfe, 0x0b, 0x01, 0x00, 0x00, 0x00, + 0x37, 0x00, 0xfb, 0x14, 0x03, 0x9b, 0x02, 0x1f, 0x60, 0x01, 0x13, 0x66, 0x01, 0x00, 0xff, 0x00, + 0x00, 0x67, 0x01, 0x08, 0xfb, 0x43, 0x00, 0x9b, 0x02, 0x1e, 0x60, 0x01, 0x13, 0x66, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x60, 0x1c, 0x01, 0x66, 0x1c, 0x0f, 0x00, 0x00, 0x00, 0x60, 0x1d, 0x02, 0x66, + 0x1d, 0x0f, 0x00, 0x00, 0x00, 0x68, 0x1d, 0x04, 0x7c, 0x1c, 0x1d, 0x60, 0x1d, 0x01, 0x66, 0x1d, + 0xf0, 0x00, 0x00, 0x00, 0x68, 0x1d, 0x04, 0x7c, 0x1c, 0x1d, 0x61, 0x1c, 0x00, 0xe0, 0x00, 0x00, + 0x60, 0x03, 0x1c, 0x9b, 0x04, 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, 0x04, 0x00, 0x00, 0x00, 0x90, + 0x06, 0x04, 0x00, 0x00, 0x00, 0xf8, 0x05, 0x06, 0x9b, 0x00, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, + 0x9b, 0x05, 0x01, 0x1e, 0x68, 0x03, 0x04, 0x05, 0xfb, 0x1b, 0x01, 0x60, 0x06, 0x03, 0x90, 0x0c, + 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, + 0x0e, 0x3f, 0x00, 0x00, 0x00, 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, + 0x02, 0x60, 0x0f, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, + 0x00, 0x00, 0x00, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, + 0x00, 0x00, 0x68, 0x0d, 0x08, 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, + 0x10, 0x7c, 0x11, 0x0e, 0x66, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, + 0x60, 0x05, 0x11, 0x9b, 0x12, 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, 0x92, 0x0b, 0x01, 0x00, 0x00, + 0x00, 0xa4, 0x90, 0x03, 0x00, 0x81, 0x00, 0x00, 0x9b, 0x04, 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, + 0x04, 0x00, 0x00, 0x00, 0x90, 0x06, 0x04, 0x00, 0x00, 0x00, 0xf8, 0x05, 0x06, 0x50, 0x01, 0x68, + 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, 0x05, 0x01, 0x1e, 0x68, 0x03, 0x04, 0x05, 0xfb, 0xd0, 0x01, + 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, 0x3f, 0x00, 0x00, 0x00, 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, + 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, 0x60, 0x0f, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, + 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, + 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0d, 0x08, 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, + 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, 0x7c, 0x11, 0x0e, 0x66, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, + 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, 0x05, 0x11, 0x9b, 0x12, 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, + 0x9b, 0x19, 0x10, 0x9b, 0x00, 0x31, 0x90, 0x1a, 0x01, 0xbe, 0x00, 0x00, 0x60, 0x1b, 0x19, 0x66, + 0x1b, 0x1f, 0x00, 0x00, 0x00, 0x68, 0x1b, 0x04, 0x7c, 0x1a, 0x1b, 0x60, 0x03, 0x1a, 0x9b, 0x04, + 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, 0x04, 0x00, 0x00, 0x00, 0x90, 0x06, 0x04, 0x00, 0x00, 0x00, + 0xf8, 0x05, 0x06, 0x16, 0x02, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, 0x05, 0x01, 0x1e, 0x68, + 0x03, 0x04, 0x05, 0xfb, 0x96, 0x02, 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, 0x3f, 0x00, 0x00, 0x00, + 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, 0x60, 0x0f, 0x11, 0x60, + 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0c, + 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0d, 0x08, + 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, 0x7c, 0x11, 0x0e, 0x66, + 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, 0x05, 0x11, 0x9b, 0x12, + 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, 0xfe, 0x00, 0x31, 0x00, 0x00, 0x00, 0xa1, 0x02, 0xfb, 0x1c, + 0x03, 0xa2, 0x9b, 0x04, 0x0b, 0x1e, 0x66, 0x04, 0x90, 0x04, 0x00, 0x00, 0x0d, 0x00, 0x9b, 0x05, + 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x68, 0x04, 0x05, 0x06, 0x90, 0x04, 0x00, 0x00, 0x0d, 0x00, 0x9b, + 0x05, 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x6c, 0x04, 0x05, 0x06, 0xa5, 0x10, 0x00, 0x00, 0x00, 0x10, + 0x00, 0x00, 0x00, 0x50, 0x00, 0x9b, 0x04, 0x0b, 0x1e, 0x66, 0x04, 0x90, 0x04, 0x00, 0x00, 0x0c, + 0x00, 0x9b, 0x05, 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x68, 0x04, 0x05, 0x06, 0x90, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x9b, 0x05, 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x6c, 0x04, 0x05, 0x06, 0x6c, 0x07, 0x67, + 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x98, 0x07, 0x92, 0x13, 0x01, 0x00, 0x00, 0x00, + 0xae, 0xfb, 0x1c, 0x03, 0x90, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7f, 0x01, 0x5a, +}; + +const unsigned char ReadMem8_jtag_5[797] = { + 0x91, 0x00, 0x91, 0x12, 0x60, 0x14, 0x12, 0x60, 0x13, 0x00, 0xad, 0x14, 0x9b, 0x0b, 0x00, 0xac, + 0x02, 0x00, 0xfe, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0xfe, 0x0b, 0x01, 0x00, 0x00, 0x00, + 0x37, 0x00, 0xfb, 0x14, 0x03, 0x9b, 0x02, 0x1f, 0x60, 0x01, 0x13, 0x66, 0x01, 0x00, 0xff, 0x00, + 0x00, 0x67, 0x01, 0x08, 0xfb, 0x43, 0x00, 0x9b, 0x02, 0x1e, 0x60, 0x01, 0x13, 0x66, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x60, 0x1c, 0x01, 0x66, 0x1c, 0x0f, 0x00, 0x00, 0x00, 0x60, 0x1d, 0x02, 0x66, + 0x1d, 0x0f, 0x00, 0x00, 0x00, 0x68, 0x1d, 0x04, 0x7c, 0x1c, 0x1d, 0x60, 0x1d, 0x01, 0x66, 0x1d, + 0xf0, 0x00, 0x00, 0x00, 0x68, 0x1d, 0x04, 0x7c, 0x1c, 0x1d, 0x61, 0x1c, 0x00, 0xe0, 0x00, 0x00, + 0x60, 0x03, 0x1c, 0x9b, 0x04, 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, 0x02, 0x00, 0x00, 0x00, 0x90, + 0x06, 0x04, 0x00, 0x00, 0x00, 0xf8, 0x05, 0x06, 0x9b, 0x00, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, + 0x9b, 0x05, 0x01, 0x1e, 0x68, 0x03, 0x04, 0x05, 0xfb, 0x1b, 0x01, 0x60, 0x06, 0x03, 0x90, 0x0c, + 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, + 0x0e, 0x3f, 0x00, 0x00, 0x00, 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, + 0x02, 0x60, 0x0f, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, + 0x00, 0x00, 0x00, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, + 0x00, 0x00, 0x68, 0x0d, 0x08, 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, + 0x10, 0x7c, 0x11, 0x0e, 0x66, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, + 0x60, 0x05, 0x11, 0x9b, 0x12, 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, 0x92, 0x0b, 0x01, 0x00, 0x00, + 0x00, 0xa4, 0x90, 0x03, 0x00, 0x81, 0x00, 0x00, 0x9b, 0x04, 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, + 0x02, 0x00, 0x00, 0x00, 0x90, 0x06, 0x04, 0x00, 0x00, 0x00, 0xf8, 0x05, 0x06, 0x50, 0x01, 0x68, + 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, 0x05, 0x01, 0x1e, 0x68, 0x03, 0x04, 0x05, 0xfb, 0xd0, 0x01, + 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, 0x3f, 0x00, 0x00, 0x00, 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, + 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, 0x60, 0x0f, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, + 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0c, 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, + 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0d, 0x08, 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, + 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, 0x7c, 0x11, 0x0e, 0x66, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, + 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, 0x05, 0x11, 0x9b, 0x12, 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, + 0x9b, 0x19, 0x10, 0x9b, 0x00, 0x22, 0x90, 0x1a, 0x02, 0xbc, 0x00, 0x00, 0x60, 0x1b, 0x19, 0x66, + 0x1b, 0x1f, 0x00, 0x00, 0x00, 0x68, 0x1b, 0x04, 0x7c, 0x1a, 0x1b, 0x60, 0x03, 0x1a, 0x9b, 0x04, + 0x0a, 0x1e, 0x66, 0x04, 0x90, 0x05, 0x02, 0x00, 0x00, 0x00, 0x90, 0x06, 0x04, 0x00, 0x00, 0x00, + 0xf8, 0x05, 0x06, 0x16, 0x02, 0x68, 0x03, 0x10, 0x9b, 0x04, 0x20, 0x9b, 0x05, 0x01, 0x1e, 0x68, + 0x03, 0x04, 0x05, 0xfb, 0x96, 0x02, 0x60, 0x06, 0x03, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x06, 0x66, 0x0e, 0x3f, 0x00, 0x00, 0x00, + 0x68, 0x11, 0x06, 0x7c, 0x0e, 0x11, 0x60, 0x11, 0x06, 0x67, 0x11, 0x02, 0x60, 0x0f, 0x11, 0x60, + 0x11, 0x06, 0x67, 0x11, 0x0a, 0x60, 0x10, 0x11, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0c, + 0xff, 0x00, 0x00, 0x00, 0x60, 0x11, 0x0c, 0x66, 0x0d, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0d, 0x08, + 0x7c, 0x11, 0x0d, 0x66, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0e, 0x10, 0x7c, 0x11, 0x0e, 0x66, + 0x0f, 0xff, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x18, 0x7c, 0x11, 0x0f, 0x60, 0x05, 0x11, 0x9b, 0x12, + 0x01, 0x1e, 0x69, 0x05, 0x10, 0x12, 0xfe, 0x00, 0x22, 0x00, 0x00, 0x00, 0xa1, 0x02, 0xfb, 0x1c, + 0x03, 0xa2, 0x9b, 0x04, 0x0b, 0x1e, 0x66, 0x04, 0x90, 0x04, 0x00, 0x00, 0x0d, 0x00, 0x9b, 0x05, + 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x68, 0x04, 0x05, 0x06, 0x90, 0x04, 0x00, 0x00, 0x0d, 0x00, 0x9b, + 0x05, 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x6c, 0x04, 0x05, 0x06, 0xa5, 0x10, 0x00, 0x00, 0x00, 0x10, + 0x00, 0x00, 0x00, 0x50, 0x00, 0x9b, 0x04, 0x0b, 0x1e, 0x66, 0x04, 0x90, 0x04, 0x00, 0x00, 0x0c, + 0x00, 0x9b, 0x05, 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x68, 0x04, 0x05, 0x06, 0x90, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x9b, 0x05, 0x15, 0x9b, 0x06, 0x00, 0x1e, 0x6c, 0x04, 0x05, 0x06, 0x6c, 0x07, 0x67, + 0x07, 0x08, 0x66, 0x07, 0xff, 0x00, 0x00, 0x00, 0x98, 0x07, 0x92, 0x13, 0x01, 0x00, 0x00, 0x00, + 0xae, 0xfb, 0x1c, 0x03, 0x90, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7f, 0x01, 0x5a, +}; + +const unsigned char ReadMem8_jtag_6[130] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x81, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x90, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x01, 0x00, 0xfa, 0x01, 0x03, 0x53, 0x00, 0x60, 0x04, 0x01, + 0xfb, 0x59, 0x00, 0x90, 0x04, 0x00, 0x00, 0x01, 0x00, 0x6a, 0x01, 0x04, 0x1e, 0x09, 0x00, 0x1e, + 0x10, 0x04, 0x1e, 0x0c, 0x04, 0x6e, 0x00, 0x04, 0xfc, 0x01, 0x07, 0x42, 0x00, 0x90, 0x06, 0xca, + 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, + 0x0b, 0x5a, +}; + +const unsigned char ReadCalibrationByte_jtag_0[82] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x02, 0x01, 0xad, 0x02, 0x9b, 0x04, 0x05, 0x1e, 0x66, 0x04, 0x90, + 0x04, 0x08, 0x23, 0x00, 0x00, 0x9b, 0x05, 0x0f, 0x1e, 0x67, 0x04, 0x05, 0x60, 0x03, 0x00, 0x90, + 0x04, 0x00, 0x03, 0x00, 0x00, 0x6e, 0x04, 0x03, 0x9b, 0x05, 0x0f, 0x1e, 0x67, 0x04, 0x05, 0x90, + 0x04, 0x00, 0x36, 0x00, 0x00, 0x9b, 0x05, 0x0f, 0x1e, 0x67, 0x04, 0x05, 0x90, 0x04, 0x00, 0x37, + 0x00, 0x00, 0x9b, 0x05, 0x0f, 0x95, 0x1e, 0x6b, 0x04, 0x05, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, + 0x00, 0xae, +}; + +const unsigned char WriteBootMem_jtag_0[130] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x03, 0x01, 0x93, 0x03, 0x00, 0x02, 0xad, 0x03, 0x90, 0x04, 0xc0, + 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x90, 0x04, 0xca, 0x01, 0x00, + 0x01, 0x90, 0x05, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, + 0x00, 0x02, 0x1e, 0x10, 0x04, 0x1e, 0x0a, 0x04, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x2c, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x65, 0xff, 0x00, 0x00, 0x00, 0x01, 0x9b, + 0x06, 0x01, 0x1e, 0x0a, 0x06, 0x90, 0x06, 0xcf, 0x01, 0x00, 0x01, 0xa2, 0x1e, 0x03, 0x06, 0xa5, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x92, 0x00, 0x00, 0x02, 0x00, 0x00, + 0xae, 0x5a, +}; + +const unsigned char WriteBootMem_jtag_1[130] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x03, 0x01, 0x93, 0x03, 0x00, 0x01, 0xad, 0x03, 0x90, 0x04, 0xc0, + 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x90, 0x04, 0xca, 0x01, 0x00, + 0x01, 0x90, 0x05, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, + 0x00, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0a, 0x04, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x2c, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x65, 0xff, 0x00, 0x00, 0x00, 0x01, 0x9b, + 0x06, 0x01, 0x1e, 0x0a, 0x06, 0x90, 0x06, 0xcf, 0x01, 0x00, 0x01, 0xa2, 0x1e, 0x03, 0x06, 0xa5, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x92, 0x00, 0x00, 0x01, 0x00, 0x00, + 0xae, 0x5a, +}; + +const unsigned char ReadBootMem_jtag_0[126] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x7d, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x60, 0x03, 0x01, 0x93, + 0x03, 0x00, 0x02, 0xad, 0x03, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x43, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x00, 0x02, 0x1e, 0x10, 0x04, 0x1e, + 0x0c, 0x04, 0x92, 0x00, 0x00, 0x02, 0x00, 0x00, 0xae, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, + 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char ReadBootMem_jtag_1[126] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x7d, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x60, 0x03, 0x01, 0x93, + 0x03, 0x00, 0x01, 0xad, 0x03, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x43, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x00, 0x01, 0x1e, 0x10, 0x04, 0x1e, + 0x0c, 0x04, 0x92, 0x00, 0x00, 0x01, 0x00, 0x00, 0xae, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, + 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char WriteConfigmem_jtag_0[89] = { + 0x91, 0x00, 0x91, 0x01, 0xfe, 0x00, 0x27, 0x00, 0x8f, 0x00, 0x15, 0x00, 0x90, 0x07, 0x4c, 0x00, + 0x00, 0x00, 0xfb, 0x1b, 0x00, 0x90, 0x07, 0x08, 0x00, 0x00, 0x00, 0xaf, 0xad, 0x01, 0x90, 0x02, + 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x90, 0x02, 0xca, 0x01, + 0x00, 0x01, 0x1e, 0x06, 0x02, 0x07, 0x99, 0x04, 0x1e, 0x06, 0x00, 0x04, 0x90, 0x06, 0xcf, 0x01, + 0x00, 0x01, 0xa2, 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, + 0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char ReadConfigmem_jtag_0[106] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x69, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x90, 0x04, 0xca, 0x01, + 0x00, 0x01, 0x90, 0x05, 0x07, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x1e, + 0x10, 0x01, 0x1e, 0x0c, 0x01, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0a, 0x90, + 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char WriteCSreg_jtag_0[8] = { + 0x99, 0x00, 0x99, 0x01, 0x1e, 0x0f, 0x00, 0x01, +}; + +const unsigned char ReadCSreg_jtag_0[6] = { + 0x99, 0x00, 0x1e, 0x0e, 0x00, 0x9f, +}; + + + + +static void pickit_jtag_script_init(SCRIPT *scr); +static void pickit_jtag_script_init(SCRIPT *scr) { + memset(scr, 0x00, sizeof(SCRIPT)); // Make sure everything is NULL + + scr->ReadCalibrationByte = ReadCalibrationByte_jtag_0; + scr->WriteCSreg = WriteCSreg_jtag_0; + scr->ReadCSreg = ReadCSreg_jtag_0; + + scr->ReadCalibrationByte_len = sizeof(ReadCalibrationByte_jtag_0); + scr->WriteCSreg_len = sizeof(WriteCSreg_jtag_0); + scr->ReadCSreg_len = sizeof(ReadCSreg_jtag_0); +} + + +const char * const pickit5_jtag_chip_lut[] = { + "AT90CAN128", "AT90CAN32", "AT90CAN64", "AT90USB1286", "AT90USB1287", "AT90USB646", "AT90USB647", "ATmega128", + "ATmega1280", "ATmega1281", "ATmega1284", "ATmega1284P", "ATmega1284RFR2", "ATmega128A", "ATmega128RFA1", "ATmega128RFR2", + "ATmega16", "ATmega162", "ATmega164A", "ATmega164P", "ATmega164PA", "ATmega165A", "ATmega165P", "ATmega165PA", + "ATmega169A", "ATmega169P", "ATmega169PA", "ATmega16A", "ATmega16U4", "ATmega2560", "ATmega2561", "ATmega2564RFR2", + "ATmega256RFR2", "ATmega32", "ATmega324A", "ATmega324P", "ATmega324PA", "ATmega324PB", "ATmega325", "ATmega3250", + "ATmega3250A", "ATmega3250P", "ATmega3250PA", "ATmega325A", "ATmega325P", "ATmega325PA", "ATmega329", "ATmega3290", + "ATmega3290A", "ATmega3290P", "ATmega3290PA", "ATmega329A", "ATmega329P", "ATmega329PA", "ATmega32A", "ATmega32U4", + "ATmega406", "ATmega64", "ATmega640", "ATmega644", "ATmega644A", "ATmega644P", "ATmega644PA", "ATmega644RFR2", + "ATmega645", "ATmega6450", "ATmega6450A", "ATmega6450P", "ATmega645A", "ATmega645P", "ATmega649", "ATmega6490", + "ATmega6490A", "ATmega6490P", "ATmega649A", "ATmega649P", "ATmega64A", "ATmega64RFR2", "ATxmega128A1", "ATxmega128A1U", + "ATxmega128A3", "ATxmega128A3U", "ATxmega192A3", "ATxmega192A3U", "ATxmega256A3", "ATxmega256A3B", "ATxmega256A3BU", "ATxmega256A3U", + "ATxmega64A1", "ATxmega64A1U", "ATxmega64A3", "ATxmega64A3U", "ATxmega128B1", "ATxmega128B3", "ATxmega64B1", "ATxmega64B3", +}; + +int get_pickit_jtag_script(SCRIPT *scr, const char* partdesc) { + if ((scr == NULL) || (partdesc == NULL)) { + return -1; + } + int namepos = -1; + for (int i = 0; i < 96; i++) { + if (strcmp(pickit5_jtag_chip_lut[i], partdesc) == 0) { + namepos = i; + break; + } + } + if (namepos == -1) { + return -2; + } + + pickit_jtag_script_init(scr); // load common functions + + switch (namepos) { + case 0: /* AT90CAN128 */ + case 3: /* AT90USB1286 */ + case 4: /* AT90USB1287 */ + case 8: /* ATmega1280 */ + case 9: /* ATmega1281 */ + case 10: /* ATmega1284 */ + case 11: /* ATmega1284P */ + case 14: /* ATmega128RFA1 */ + scr->EnterProgMode = EnterProgMode_jtag_0; + scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_0); + scr->ExitProgMode = ExitProgMode_jtag_0; + scr->ExitProgMode_len = sizeof(ExitProgMode_jtag_0); + scr->SetSpeed = SetSpeed_jtag_0; + scr->SetSpeed_len = sizeof(SetSpeed_jtag_0); + scr->GetDeviceID = GetDeviceID_jtag_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_jtag_0); + scr->EraseChip = EraseChip_jtag_0; + scr->EraseChip_len = sizeof(EraseChip_jtag_0); + scr->WriteProgmem = WriteProgmem_jtag_0; + scr->WriteProgmem_len = sizeof(WriteProgmem_jtag_0); + scr->ReadProgmem = ReadProgmem_jtag_0; + scr->ReadProgmem_len = sizeof(ReadProgmem_jtag_0); + scr->WriteDataEEmem = WriteDataEEmem_jtag_0; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_jtag_0); + scr->ReadDataEEmem = ReadDataEEmem_jtag_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_jtag_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_jtag_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_jtag_0); + scr->WriteConfigmemLock = WriteConfigmemLock_jtag_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_jtag_0); + scr->ReadConfigmemFuse = ReadConfigmemFuse_jtag_0; + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_jtag_0); + scr->ReadConfigmemLock = ReadConfigmemLock_jtag_0; + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_jtag_0); + scr->WriteIDmem = WriteIDmem_jtag_0; + scr->WriteIDmem_len = sizeof(WriteIDmem_jtag_0); + scr->ReadIDmem = ReadIDmem_jtag_0; + scr->ReadIDmem_len = sizeof(ReadIDmem_jtag_0); + scr->WriteMem8 = WriteMem8_jtag_0; + scr->WriteMem8_len = sizeof(WriteMem8_jtag_0); + scr->ReadMem8 = ReadMem8_jtag_0; + scr->ReadMem8_len = sizeof(ReadMem8_jtag_0); + break; + case 1: /* AT90CAN32 */ + scr->EnterProgMode = EnterProgMode_jtag_0; + scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_0); + scr->ExitProgMode = ExitProgMode_jtag_0; + scr->ExitProgMode_len = sizeof(ExitProgMode_jtag_0); + scr->SetSpeed = SetSpeed_jtag_0; + scr->SetSpeed_len = sizeof(SetSpeed_jtag_0); + scr->GetDeviceID = GetDeviceID_jtag_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_jtag_0); + scr->EraseChip = EraseChip_jtag_0; + scr->EraseChip_len = sizeof(EraseChip_jtag_0); + scr->WriteProgmem = WriteProgmem_jtag_1; + scr->WriteProgmem_len = sizeof(WriteProgmem_jtag_1); + scr->ReadProgmem = ReadProgmem_jtag_1; + scr->ReadProgmem_len = sizeof(ReadProgmem_jtag_1); + scr->WriteDataEEmem = WriteDataEEmem_jtag_0; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_jtag_0); + scr->ReadDataEEmem = ReadDataEEmem_jtag_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_jtag_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_jtag_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_jtag_0); + scr->WriteConfigmemLock = WriteConfigmemLock_jtag_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_jtag_0); + scr->ReadConfigmemFuse = ReadConfigmemFuse_jtag_0; + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_jtag_0); + scr->ReadConfigmemLock = ReadConfigmemLock_jtag_0; + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_jtag_0); + scr->WriteIDmem = WriteIDmem_jtag_0; + scr->WriteIDmem_len = sizeof(WriteIDmem_jtag_0); + scr->ReadIDmem = ReadIDmem_jtag_0; + scr->ReadIDmem_len = sizeof(ReadIDmem_jtag_0); + scr->WriteMem8 = WriteMem8_jtag_0; + scr->WriteMem8_len = sizeof(WriteMem8_jtag_0); + scr->ReadMem8 = ReadMem8_jtag_0; + scr->ReadMem8_len = sizeof(ReadMem8_jtag_0); + break; + case 2: /* AT90CAN64 */ + case 5: /* AT90USB646 */ + case 6: /* AT90USB647 */ + case 58: /* ATmega640 */ + case 59: /* ATmega644 */ + case 60: /* ATmega644A */ + case 61: /* ATmega644P */ + case 62: /* ATmega644PA */ + case 64: /* ATmega645 */ + case 65: /* ATmega6450 */ + case 66: /* ATmega6450A */ + case 67: /* ATmega6450P */ + case 68: /* ATmega645A */ + case 69: /* ATmega645P */ + case 70: /* ATmega649 */ + case 71: /* ATmega6490 */ + case 72: /* ATmega6490A */ + case 73: /* ATmega6490P */ + case 74: /* ATmega649A */ + case 75: /* ATmega649P */ + scr->EnterProgMode = EnterProgMode_jtag_0; + scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_0); + scr->ExitProgMode = ExitProgMode_jtag_0; + scr->ExitProgMode_len = sizeof(ExitProgMode_jtag_0); + scr->SetSpeed = SetSpeed_jtag_0; + scr->SetSpeed_len = sizeof(SetSpeed_jtag_0); + scr->GetDeviceID = GetDeviceID_jtag_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_jtag_0); + scr->EraseChip = EraseChip_jtag_0; + scr->EraseChip_len = sizeof(EraseChip_jtag_0); + scr->WriteProgmem = WriteProgmem_jtag_2; + scr->WriteProgmem_len = sizeof(WriteProgmem_jtag_2); + scr->ReadProgmem = ReadProgmem_jtag_2; + scr->ReadProgmem_len = sizeof(ReadProgmem_jtag_2); + scr->WriteDataEEmem = WriteDataEEmem_jtag_0; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_jtag_0); + scr->ReadDataEEmem = ReadDataEEmem_jtag_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_jtag_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_jtag_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_jtag_0); + scr->WriteConfigmemLock = WriteConfigmemLock_jtag_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_jtag_0); + scr->ReadConfigmemFuse = ReadConfigmemFuse_jtag_0; + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_jtag_0); + scr->ReadConfigmemLock = ReadConfigmemLock_jtag_0; + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_jtag_0); + scr->WriteIDmem = WriteIDmem_jtag_0; + scr->WriteIDmem_len = sizeof(WriteIDmem_jtag_0); + scr->ReadIDmem = ReadIDmem_jtag_0; + scr->ReadIDmem_len = sizeof(ReadIDmem_jtag_0); + scr->WriteMem8 = WriteMem8_jtag_0; + scr->WriteMem8_len = sizeof(WriteMem8_jtag_0); + scr->ReadMem8 = ReadMem8_jtag_0; + scr->ReadMem8_len = sizeof(ReadMem8_jtag_0); + break; + case 7: /* ATmega128 */ + case 13: /* ATmega128A */ + scr->EnterProgMode = EnterProgMode_jtag_0; + scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_0); + scr->ExitProgMode = ExitProgMode_jtag_0; + scr->ExitProgMode_len = sizeof(ExitProgMode_jtag_0); + scr->SetSpeed = SetSpeed_jtag_0; + scr->SetSpeed_len = sizeof(SetSpeed_jtag_0); + scr->GetDeviceID = GetDeviceID_jtag_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_jtag_0); + scr->EraseChip = EraseChip_jtag_0; + scr->EraseChip_len = sizeof(EraseChip_jtag_0); + scr->WriteProgmem = WriteProgmem_jtag_0; + scr->WriteProgmem_len = sizeof(WriteProgmem_jtag_0); + scr->ReadProgmem = ReadProgmem_jtag_0; + scr->ReadProgmem_len = sizeof(ReadProgmem_jtag_0); + scr->WriteDataEEmem = WriteDataEEmem_jtag_0; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_jtag_0); + scr->ReadDataEEmem = ReadDataEEmem_jtag_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_jtag_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_jtag_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_jtag_0); + scr->WriteConfigmemLock = WriteConfigmemLock_jtag_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_jtag_0); + scr->ReadConfigmemFuse = ReadConfigmemFuse_jtag_0; + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_jtag_0); + scr->ReadConfigmemLock = ReadConfigmemLock_jtag_0; + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_jtag_0); + scr->WriteIDmem = WriteIDmem_jtag_0; + scr->WriteIDmem_len = sizeof(WriteIDmem_jtag_0); + scr->ReadIDmem = ReadIDmem_jtag_0; + scr->ReadIDmem_len = sizeof(ReadIDmem_jtag_0); + scr->WriteMem8 = WriteMem8_jtag_1; + scr->WriteMem8_len = sizeof(WriteMem8_jtag_1); + scr->ReadMem8 = ReadMem8_jtag_1; + scr->ReadMem8_len = sizeof(ReadMem8_jtag_1); + break; + case 12: /* ATmega1284RFR2 */ + case 15: /* ATmega128RFR2 */ + scr->EnterProgMode = EnterProgMode_jtag_0; + scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_0); + scr->ExitProgMode = ExitProgMode_jtag_0; + scr->ExitProgMode_len = sizeof(ExitProgMode_jtag_0); + scr->SetSpeed = SetSpeed_jtag_0; + scr->SetSpeed_len = sizeof(SetSpeed_jtag_0); + scr->GetDeviceID = GetDeviceID_jtag_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_jtag_0); + scr->EraseChip = EraseChip_jtag_0; + scr->EraseChip_len = sizeof(EraseChip_jtag_0); + scr->WriteProgmem = WriteProgmem_jtag_0; + scr->WriteProgmem_len = sizeof(WriteProgmem_jtag_0); + scr->ReadProgmem = ReadProgmem_jtag_0; + scr->ReadProgmem_len = sizeof(ReadProgmem_jtag_0); + scr->WriteDataEEmem = WriteDataEEmem_jtag_0; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_jtag_0); + scr->ReadDataEEmem = ReadDataEEmem_jtag_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_jtag_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_jtag_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_jtag_0); + scr->WriteConfigmemLock = WriteConfigmemLock_jtag_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_jtag_0); + scr->ReadConfigmemFuse = ReadConfigmemFuse_jtag_0; + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_jtag_0); + scr->ReadConfigmemLock = ReadConfigmemLock_jtag_0; + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_jtag_0); + scr->WriteIDmem = WriteIDmem_jtag_1; + scr->WriteIDmem_len = sizeof(WriteIDmem_jtag_1); + scr->ReadIDmem = ReadIDmem_jtag_1; + scr->ReadIDmem_len = sizeof(ReadIDmem_jtag_1); + scr->WriteMem8 = WriteMem8_jtag_0; + scr->WriteMem8_len = sizeof(WriteMem8_jtag_0); + scr->ReadMem8 = ReadMem8_jtag_0; + scr->ReadMem8_len = sizeof(ReadMem8_jtag_0); + break; + case 16: /* ATmega16 */ + case 24: /* ATmega169A */ + case 25: /* ATmega169P */ + case 26: /* ATmega169PA */ + case 27: /* ATmega16A */ + scr->EnterProgMode = EnterProgMode_jtag_0; + scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_0); + scr->ExitProgMode = ExitProgMode_jtag_0; + scr->ExitProgMode_len = sizeof(ExitProgMode_jtag_0); + scr->SetSpeed = SetSpeed_jtag_0; + scr->SetSpeed_len = sizeof(SetSpeed_jtag_0); + scr->GetDeviceID = GetDeviceID_jtag_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_jtag_0); + scr->EraseChip = EraseChip_jtag_0; + scr->EraseChip_len = sizeof(EraseChip_jtag_0); + scr->WriteProgmem = WriteProgmem_jtag_3; + scr->WriteProgmem_len = sizeof(WriteProgmem_jtag_3); + scr->ReadProgmem = ReadProgmem_jtag_3; + scr->ReadProgmem_len = sizeof(ReadProgmem_jtag_3); + scr->WriteDataEEmem = WriteDataEEmem_jtag_1; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_jtag_1); + scr->ReadDataEEmem = ReadDataEEmem_jtag_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_jtag_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_jtag_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_jtag_0); + scr->WriteConfigmemLock = WriteConfigmemLock_jtag_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_jtag_0); + scr->ReadConfigmemFuse = ReadConfigmemFuse_jtag_0; + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_jtag_0); + scr->ReadConfigmemLock = ReadConfigmemLock_jtag_0; + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_jtag_0); + scr->WriteIDmem = WriteIDmem_jtag_0; + scr->WriteIDmem_len = sizeof(WriteIDmem_jtag_0); + scr->ReadIDmem = ReadIDmem_jtag_0; + scr->ReadIDmem_len = sizeof(ReadIDmem_jtag_0); + scr->WriteMem8 = WriteMem8_jtag_2; + scr->WriteMem8_len = sizeof(WriteMem8_jtag_2); + scr->ReadMem8 = ReadMem8_jtag_2; + scr->ReadMem8_len = sizeof(ReadMem8_jtag_2); + break; + case 17: /* ATmega162 */ + scr->EnterProgMode = EnterProgMode_jtag_0; + scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_0); + scr->ExitProgMode = ExitProgMode_jtag_0; + scr->ExitProgMode_len = sizeof(ExitProgMode_jtag_0); + scr->SetSpeed = SetSpeed_jtag_0; + scr->SetSpeed_len = sizeof(SetSpeed_jtag_0); + scr->GetDeviceID = GetDeviceID_jtag_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_jtag_0); + scr->EraseChip = EraseChip_jtag_0; + scr->EraseChip_len = sizeof(EraseChip_jtag_0); + scr->WriteProgmem = WriteProgmem_jtag_3; + scr->WriteProgmem_len = sizeof(WriteProgmem_jtag_3); + scr->ReadProgmem = ReadProgmem_jtag_3; + scr->ReadProgmem_len = sizeof(ReadProgmem_jtag_3); + scr->WriteDataEEmem = WriteDataEEmem_jtag_1; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_jtag_1); + scr->ReadDataEEmem = ReadDataEEmem_jtag_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_jtag_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_jtag_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_jtag_0); + scr->WriteConfigmemLock = WriteConfigmemLock_jtag_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_jtag_0); + scr->ReadConfigmemFuse = ReadConfigmemFuse_jtag_0; + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_jtag_0); + scr->ReadConfigmemLock = ReadConfigmemLock_jtag_0; + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_jtag_0); + scr->WriteIDmem = WriteIDmem_jtag_0; + scr->WriteIDmem_len = sizeof(WriteIDmem_jtag_0); + scr->ReadIDmem = ReadIDmem_jtag_0; + scr->ReadIDmem_len = sizeof(ReadIDmem_jtag_0); + scr->WriteMem8 = WriteMem8_jtag_2; + scr->WriteMem8_len = sizeof(WriteMem8_jtag_2); + scr->ReadMem8 = ReadMem8_jtag_3; + scr->ReadMem8_len = sizeof(ReadMem8_jtag_3); + break; + case 18: /* ATmega164A */ + case 19: /* ATmega164P */ + case 20: /* ATmega164PA */ + case 21: /* ATmega165A */ + case 22: /* ATmega165P */ + case 23: /* ATmega165PA */ + case 28: /* ATmega16U4 */ + scr->EnterProgMode = EnterProgMode_jtag_0; + scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_0); + scr->ExitProgMode = ExitProgMode_jtag_0; + scr->ExitProgMode_len = sizeof(ExitProgMode_jtag_0); + scr->SetSpeed = SetSpeed_jtag_0; + scr->SetSpeed_len = sizeof(SetSpeed_jtag_0); + scr->GetDeviceID = GetDeviceID_jtag_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_jtag_0); + scr->EraseChip = EraseChip_jtag_0; + scr->EraseChip_len = sizeof(EraseChip_jtag_0); + scr->WriteProgmem = WriteProgmem_jtag_3; + scr->WriteProgmem_len = sizeof(WriteProgmem_jtag_3); + scr->ReadProgmem = ReadProgmem_jtag_3; + scr->ReadProgmem_len = sizeof(ReadProgmem_jtag_3); + scr->WriteDataEEmem = WriteDataEEmem_jtag_1; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_jtag_1); + scr->ReadDataEEmem = ReadDataEEmem_jtag_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_jtag_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_jtag_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_jtag_0); + scr->WriteConfigmemLock = WriteConfigmemLock_jtag_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_jtag_0); + scr->ReadConfigmemFuse = ReadConfigmemFuse_jtag_0; + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_jtag_0); + scr->ReadConfigmemLock = ReadConfigmemLock_jtag_0; + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_jtag_0); + scr->WriteIDmem = WriteIDmem_jtag_0; + scr->WriteIDmem_len = sizeof(WriteIDmem_jtag_0); + scr->ReadIDmem = ReadIDmem_jtag_0; + scr->ReadIDmem_len = sizeof(ReadIDmem_jtag_0); + scr->WriteMem8 = WriteMem8_jtag_0; + scr->WriteMem8_len = sizeof(WriteMem8_jtag_0); + scr->ReadMem8 = ReadMem8_jtag_0; + scr->ReadMem8_len = sizeof(ReadMem8_jtag_0); + break; + case 29: /* ATmega2560 */ + case 30: /* ATmega2561 */ + scr->EnterProgMode = EnterProgMode_jtag_0; + scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_0); + scr->ExitProgMode = ExitProgMode_jtag_0; + scr->ExitProgMode_len = sizeof(ExitProgMode_jtag_0); + scr->SetSpeed = SetSpeed_jtag_0; + scr->SetSpeed_len = sizeof(SetSpeed_jtag_0); + scr->GetDeviceID = GetDeviceID_jtag_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_jtag_0); + scr->EraseChip = EraseChip_jtag_0; + scr->EraseChip_len = sizeof(EraseChip_jtag_0); + scr->WriteProgmem = WriteProgmem_jtag_4; + scr->WriteProgmem_len = sizeof(WriteProgmem_jtag_4); + scr->ReadProgmem = ReadProgmem_jtag_4; + scr->ReadProgmem_len = sizeof(ReadProgmem_jtag_4); + scr->WriteDataEEmem = WriteDataEEmem_jtag_0; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_jtag_0); + scr->ReadDataEEmem = ReadDataEEmem_jtag_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_jtag_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_jtag_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_jtag_0); + scr->WriteConfigmemLock = WriteConfigmemLock_jtag_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_jtag_0); + scr->ReadConfigmemFuse = ReadConfigmemFuse_jtag_0; + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_jtag_0); + scr->ReadConfigmemLock = ReadConfigmemLock_jtag_0; + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_jtag_0); + scr->WriteIDmem = WriteIDmem_jtag_0; + scr->WriteIDmem_len = sizeof(WriteIDmem_jtag_0); + scr->ReadIDmem = ReadIDmem_jtag_0; + scr->ReadIDmem_len = sizeof(ReadIDmem_jtag_0); + scr->WriteMem8 = WriteMem8_jtag_3; + scr->WriteMem8_len = sizeof(WriteMem8_jtag_3); + scr->ReadMem8 = ReadMem8_jtag_4; + scr->ReadMem8_len = sizeof(ReadMem8_jtag_4); + break; + case 31: /* ATmega2564RFR2 */ + case 32: /* ATmega256RFR2 */ + scr->EnterProgMode = EnterProgMode_jtag_0; + scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_0); + scr->ExitProgMode = ExitProgMode_jtag_0; + scr->ExitProgMode_len = sizeof(ExitProgMode_jtag_0); + scr->SetSpeed = SetSpeed_jtag_0; + scr->SetSpeed_len = sizeof(SetSpeed_jtag_0); + scr->GetDeviceID = GetDeviceID_jtag_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_jtag_0); + scr->EraseChip = EraseChip_jtag_0; + scr->EraseChip_len = sizeof(EraseChip_jtag_0); + scr->WriteProgmem = WriteProgmem_jtag_4; + scr->WriteProgmem_len = sizeof(WriteProgmem_jtag_4); + scr->ReadProgmem = ReadProgmem_jtag_4; + scr->ReadProgmem_len = sizeof(ReadProgmem_jtag_4); + scr->WriteDataEEmem = WriteDataEEmem_jtag_0; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_jtag_0); + scr->ReadDataEEmem = ReadDataEEmem_jtag_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_jtag_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_jtag_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_jtag_0); + scr->WriteConfigmemLock = WriteConfigmemLock_jtag_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_jtag_0); + scr->ReadConfigmemFuse = ReadConfigmemFuse_jtag_0; + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_jtag_0); + scr->ReadConfigmemLock = ReadConfigmemLock_jtag_0; + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_jtag_0); + scr->WriteIDmem = WriteIDmem_jtag_1; + scr->WriteIDmem_len = sizeof(WriteIDmem_jtag_1); + scr->ReadIDmem = ReadIDmem_jtag_1; + scr->ReadIDmem_len = sizeof(ReadIDmem_jtag_1); + scr->WriteMem8 = WriteMem8_jtag_3; + scr->WriteMem8_len = sizeof(WriteMem8_jtag_3); + scr->ReadMem8 = ReadMem8_jtag_4; + scr->ReadMem8_len = sizeof(ReadMem8_jtag_4); + break; + case 33: /* ATmega32 */ + case 54: /* ATmega32A */ + scr->EnterProgMode = EnterProgMode_jtag_0; + scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_0); + scr->ExitProgMode = ExitProgMode_jtag_0; + scr->ExitProgMode_len = sizeof(ExitProgMode_jtag_0); + scr->SetSpeed = SetSpeed_jtag_0; + scr->SetSpeed_len = sizeof(SetSpeed_jtag_0); + scr->GetDeviceID = GetDeviceID_jtag_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_jtag_0); + scr->EraseChip = EraseChip_jtag_0; + scr->EraseChip_len = sizeof(EraseChip_jtag_0); + scr->WriteProgmem = WriteProgmem_jtag_5; + scr->WriteProgmem_len = sizeof(WriteProgmem_jtag_5); + scr->ReadProgmem = ReadProgmem_jtag_5; + scr->ReadProgmem_len = sizeof(ReadProgmem_jtag_5); + scr->WriteDataEEmem = WriteDataEEmem_jtag_1; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_jtag_1); + scr->ReadDataEEmem = ReadDataEEmem_jtag_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_jtag_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_jtag_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_jtag_0); + scr->WriteConfigmemLock = WriteConfigmemLock_jtag_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_jtag_0); + scr->ReadConfigmemFuse = ReadConfigmemFuse_jtag_0; + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_jtag_0); + scr->ReadConfigmemLock = ReadConfigmemLock_jtag_0; + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_jtag_0); + scr->WriteIDmem = WriteIDmem_jtag_0; + scr->WriteIDmem_len = sizeof(WriteIDmem_jtag_0); + scr->ReadIDmem = ReadIDmem_jtag_0; + scr->ReadIDmem_len = sizeof(ReadIDmem_jtag_0); + scr->WriteMem8 = WriteMem8_jtag_2; + scr->WriteMem8_len = sizeof(WriteMem8_jtag_2); + scr->ReadMem8 = ReadMem8_jtag_2; + scr->ReadMem8_len = sizeof(ReadMem8_jtag_2); + break; + case 34: /* ATmega324A */ + case 35: /* ATmega324P */ + case 36: /* ATmega324PA */ + case 37: /* ATmega324PB */ + case 38: /* ATmega325 */ + case 39: /* ATmega3250 */ + case 40: /* ATmega3250A */ + case 41: /* ATmega3250P */ + case 42: /* ATmega3250PA */ + case 43: /* ATmega325A */ + case 44: /* ATmega325P */ + case 45: /* ATmega325PA */ + case 46: /* ATmega329 */ + case 47: /* ATmega3290 */ + case 48: /* ATmega3290A */ + case 49: /* ATmega3290P */ + case 50: /* ATmega3290PA */ + case 51: /* ATmega329A */ + case 52: /* ATmega329P */ + case 53: /* ATmega329PA */ + case 55: /* ATmega32U4 */ + scr->EnterProgMode = EnterProgMode_jtag_0; + scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_0); + scr->ExitProgMode = ExitProgMode_jtag_0; + scr->ExitProgMode_len = sizeof(ExitProgMode_jtag_0); + scr->SetSpeed = SetSpeed_jtag_0; + scr->SetSpeed_len = sizeof(SetSpeed_jtag_0); + scr->GetDeviceID = GetDeviceID_jtag_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_jtag_0); + scr->EraseChip = EraseChip_jtag_0; + scr->EraseChip_len = sizeof(EraseChip_jtag_0); + scr->WriteProgmem = WriteProgmem_jtag_5; + scr->WriteProgmem_len = sizeof(WriteProgmem_jtag_5); + scr->ReadProgmem = ReadProgmem_jtag_5; + scr->ReadProgmem_len = sizeof(ReadProgmem_jtag_5); + scr->WriteDataEEmem = WriteDataEEmem_jtag_1; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_jtag_1); + scr->ReadDataEEmem = ReadDataEEmem_jtag_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_jtag_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_jtag_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_jtag_0); + scr->WriteConfigmemLock = WriteConfigmemLock_jtag_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_jtag_0); + scr->ReadConfigmemFuse = ReadConfigmemFuse_jtag_0; + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_jtag_0); + scr->ReadConfigmemLock = ReadConfigmemLock_jtag_0; + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_jtag_0); + scr->WriteIDmem = WriteIDmem_jtag_0; + scr->WriteIDmem_len = sizeof(WriteIDmem_jtag_0); + scr->ReadIDmem = ReadIDmem_jtag_0; + scr->ReadIDmem_len = sizeof(ReadIDmem_jtag_0); + scr->WriteMem8 = WriteMem8_jtag_0; + scr->WriteMem8_len = sizeof(WriteMem8_jtag_0); + scr->ReadMem8 = ReadMem8_jtag_0; + scr->ReadMem8_len = sizeof(ReadMem8_jtag_0); + break; + case 56: /* ATmega406 */ + scr->EnterProgMode = EnterProgMode_jtag_0; + scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_0); + scr->ExitProgMode = ExitProgMode_jtag_0; + scr->ExitProgMode_len = sizeof(ExitProgMode_jtag_0); + scr->SetSpeed = SetSpeed_jtag_0; + scr->SetSpeed_len = sizeof(SetSpeed_jtag_0); + scr->GetDeviceID = GetDeviceID_jtag_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_jtag_0); + scr->EraseChip = EraseChip_jtag_0; + scr->EraseChip_len = sizeof(EraseChip_jtag_0); + scr->WriteProgmem = WriteProgmem_jtag_6; + scr->WriteProgmem_len = sizeof(WriteProgmem_jtag_6); + scr->ReadProgmem = ReadProgmem_jtag_6; + scr->ReadProgmem_len = sizeof(ReadProgmem_jtag_6); + scr->WriteDataEEmem = WriteDataEEmem_jtag_1; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_jtag_1); + scr->ReadDataEEmem = ReadDataEEmem_jtag_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_jtag_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_jtag_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_jtag_0); + scr->WriteConfigmemLock = WriteConfigmemLock_jtag_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_jtag_0); + scr->ReadConfigmemFuse = ReadConfigmemFuse_jtag_0; + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_jtag_0); + scr->ReadConfigmemLock = ReadConfigmemLock_jtag_0; + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_jtag_0); + scr->WriteIDmem = WriteIDmem_jtag_0; + scr->WriteIDmem_len = sizeof(WriteIDmem_jtag_0); + scr->ReadIDmem = ReadIDmem_jtag_0; + scr->ReadIDmem_len = sizeof(ReadIDmem_jtag_0); + scr->WriteMem8 = WriteMem8_jtag_0; + scr->WriteMem8_len = sizeof(WriteMem8_jtag_0); + scr->ReadMem8 = ReadMem8_jtag_0; + scr->ReadMem8_len = sizeof(ReadMem8_jtag_0); + break; + case 57: /* ATmega64 */ + case 76: /* ATmega64A */ + scr->EnterProgMode = EnterProgMode_jtag_0; + scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_0); + scr->ExitProgMode = ExitProgMode_jtag_0; + scr->ExitProgMode_len = sizeof(ExitProgMode_jtag_0); + scr->SetSpeed = SetSpeed_jtag_0; + scr->SetSpeed_len = sizeof(SetSpeed_jtag_0); + scr->GetDeviceID = GetDeviceID_jtag_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_jtag_0); + scr->EraseChip = EraseChip_jtag_0; + scr->EraseChip_len = sizeof(EraseChip_jtag_0); + scr->WriteProgmem = WriteProgmem_jtag_2; + scr->WriteProgmem_len = sizeof(WriteProgmem_jtag_2); + scr->ReadProgmem = ReadProgmem_jtag_2; + scr->ReadProgmem_len = sizeof(ReadProgmem_jtag_2); + scr->WriteDataEEmem = WriteDataEEmem_jtag_0; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_jtag_0); + scr->ReadDataEEmem = ReadDataEEmem_jtag_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_jtag_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_jtag_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_jtag_0); + scr->WriteConfigmemLock = WriteConfigmemLock_jtag_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_jtag_0); + scr->ReadConfigmemFuse = ReadConfigmemFuse_jtag_0; + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_jtag_0); + scr->ReadConfigmemLock = ReadConfigmemLock_jtag_0; + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_jtag_0); + scr->WriteIDmem = WriteIDmem_jtag_0; + scr->WriteIDmem_len = sizeof(WriteIDmem_jtag_0); + scr->ReadIDmem = ReadIDmem_jtag_0; + scr->ReadIDmem_len = sizeof(ReadIDmem_jtag_0); + scr->WriteMem8 = WriteMem8_jtag_2; + scr->WriteMem8_len = sizeof(WriteMem8_jtag_2); + scr->ReadMem8 = ReadMem8_jtag_5; + scr->ReadMem8_len = sizeof(ReadMem8_jtag_5); + break; + case 63: /* ATmega644RFR2 */ + case 77: /* ATmega64RFR2 */ + scr->EnterProgMode = EnterProgMode_jtag_0; + scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_0); + scr->ExitProgMode = ExitProgMode_jtag_0; + scr->ExitProgMode_len = sizeof(ExitProgMode_jtag_0); + scr->SetSpeed = SetSpeed_jtag_0; + scr->SetSpeed_len = sizeof(SetSpeed_jtag_0); + scr->GetDeviceID = GetDeviceID_jtag_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_jtag_0); + scr->EraseChip = EraseChip_jtag_0; + scr->EraseChip_len = sizeof(EraseChip_jtag_0); + scr->WriteProgmem = WriteProgmem_jtag_2; + scr->WriteProgmem_len = sizeof(WriteProgmem_jtag_2); + scr->ReadProgmem = ReadProgmem_jtag_2; + scr->ReadProgmem_len = sizeof(ReadProgmem_jtag_2); + scr->WriteDataEEmem = WriteDataEEmem_jtag_0; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_jtag_0); + scr->ReadDataEEmem = ReadDataEEmem_jtag_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_jtag_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_jtag_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_jtag_0); + scr->WriteConfigmemLock = WriteConfigmemLock_jtag_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_jtag_0); + scr->ReadConfigmemFuse = ReadConfigmemFuse_jtag_0; + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_jtag_0); + scr->ReadConfigmemLock = ReadConfigmemLock_jtag_0; + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_jtag_0); + scr->WriteIDmem = WriteIDmem_jtag_1; + scr->WriteIDmem_len = sizeof(WriteIDmem_jtag_1); + scr->ReadIDmem = ReadIDmem_jtag_1; + scr->ReadIDmem_len = sizeof(ReadIDmem_jtag_1); + scr->WriteMem8 = WriteMem8_jtag_0; + scr->WriteMem8_len = sizeof(WriteMem8_jtag_0); + scr->ReadMem8 = ReadMem8_jtag_0; + scr->ReadMem8_len = sizeof(ReadMem8_jtag_0); + break; + case 78: /* ATxmega128A1 */ + case 79: /* ATxmega128A1U */ + case 80: /* ATxmega128A3 */ + case 81: /* ATxmega128A3U */ + case 82: /* ATxmega192A3 */ + case 83: /* ATxmega192A3U */ + case 84: /* ATxmega256A3 */ + case 85: /* ATxmega256A3B */ + case 86: /* ATxmega256A3BU */ + case 87: /* ATxmega256A3U */ + scr->EnterProgMode = EnterProgMode_jtag_1; + scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_1); + scr->ExitProgMode = ExitProgMode_jtag_1; + scr->ExitProgMode_len = sizeof(ExitProgMode_jtag_1); + scr->SetSpeed = SetSpeed_jtag_1; + scr->SetSpeed_len = sizeof(SetSpeed_jtag_1); + scr->GetDeviceID = GetDeviceID_jtag_1; + scr->GetDeviceID_len = sizeof(GetDeviceID_jtag_1); + scr->EraseChip = EraseChip_jtag_1; + scr->EraseChip_len = sizeof(EraseChip_jtag_1); + scr->WriteProgmem = WriteProgmem_jtag_7; + scr->WriteProgmem_len = sizeof(WriteProgmem_jtag_7); + scr->ReadProgmem = ReadProgmem_jtag_7; + scr->ReadProgmem_len = sizeof(ReadProgmem_jtag_7); + scr->WriteBootMem = WriteBootMem_jtag_0; + scr->WriteBootMem_len = sizeof(WriteBootMem_jtag_0); + scr->ReadBootMem = ReadBootMem_jtag_0; + scr->ReadBootMem_len = sizeof(ReadBootMem_jtag_0); + scr->WriteDataEEmem = WriteDataEEmem_jtag_2; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_jtag_2); + scr->ReadDataEEmem = ReadDataEEmem_jtag_1; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_jtag_1); + scr->WriteConfigmem = WriteConfigmem_jtag_0; + scr->WriteConfigmem_len = sizeof(WriteConfigmem_jtag_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_jtag_1; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_jtag_1); + scr->WriteConfigmemLock = WriteConfigmemLock_jtag_1; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_jtag_1); + scr->ReadConfigmem = ReadConfigmem_jtag_0; + scr->ReadConfigmem_len = sizeof(ReadConfigmem_jtag_0); + scr->ReadConfigmemFuse = ReadConfigmemFuse_jtag_1; + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_jtag_1); + scr->ReadConfigmemLock = ReadConfigmemLock_jtag_1; + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_jtag_1); + scr->WriteIDmem = WriteIDmem_jtag_2; + scr->WriteIDmem_len = sizeof(WriteIDmem_jtag_2); + scr->ReadIDmem = ReadIDmem_jtag_2; + scr->ReadIDmem_len = sizeof(ReadIDmem_jtag_2); + scr->WriteMem8 = WriteMem8_jtag_4; + scr->WriteMem8_len = sizeof(WriteMem8_jtag_4); + scr->ReadMem8 = ReadMem8_jtag_6; + scr->ReadMem8_len = sizeof(ReadMem8_jtag_6); + break; + case 88: /* ATxmega64A1 */ + case 89: /* ATxmega64A1U */ + case 90: /* ATxmega64A3 */ + case 91: /* ATxmega64A3U */ + case 92: /* ATxmega128B1 */ + case 93: /* ATxmega128B3 */ + case 94: /* ATxmega64B1 */ + case 95: /* ATxmega64B3 */ + scr->EnterProgMode = EnterProgMode_jtag_1; + scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_1); + scr->ExitProgMode = ExitProgMode_jtag_1; + scr->ExitProgMode_len = sizeof(ExitProgMode_jtag_1); + scr->SetSpeed = SetSpeed_jtag_1; + scr->SetSpeed_len = sizeof(SetSpeed_jtag_1); + scr->GetDeviceID = GetDeviceID_jtag_1; + scr->GetDeviceID_len = sizeof(GetDeviceID_jtag_1); + scr->EraseChip = EraseChip_jtag_1; + scr->EraseChip_len = sizeof(EraseChip_jtag_1); + scr->WriteProgmem = WriteProgmem_jtag_8; + scr->WriteProgmem_len = sizeof(WriteProgmem_jtag_8); + scr->ReadProgmem = ReadProgmem_jtag_8; + scr->ReadProgmem_len = sizeof(ReadProgmem_jtag_8); + scr->WriteBootMem = WriteBootMem_jtag_1; + scr->WriteBootMem_len = sizeof(WriteBootMem_jtag_1); + scr->ReadBootMem = ReadBootMem_jtag_1; + scr->ReadBootMem_len = sizeof(ReadBootMem_jtag_1); + scr->WriteDataEEmem = WriteDataEEmem_jtag_2; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_jtag_2); + scr->ReadDataEEmem = ReadDataEEmem_jtag_1; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_jtag_1); + scr->WriteConfigmem = WriteConfigmem_jtag_0; + scr->WriteConfigmem_len = sizeof(WriteConfigmem_jtag_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_jtag_1; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_jtag_1); + scr->WriteConfigmemLock = WriteConfigmemLock_jtag_1; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_jtag_1); + scr->ReadConfigmem = ReadConfigmem_jtag_0; + scr->ReadConfigmem_len = sizeof(ReadConfigmem_jtag_0); + scr->ReadConfigmemFuse = ReadConfigmemFuse_jtag_1; + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_jtag_1); + scr->ReadConfigmemLock = ReadConfigmemLock_jtag_1; + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_jtag_1); + scr->WriteIDmem = WriteIDmem_jtag_3; + scr->WriteIDmem_len = sizeof(WriteIDmem_jtag_3); + scr->ReadIDmem = ReadIDmem_jtag_3; + scr->ReadIDmem_len = sizeof(ReadIDmem_jtag_3); + scr->WriteMem8 = WriteMem8_jtag_4; + scr->WriteMem8_len = sizeof(WriteMem8_jtag_4); + scr->ReadMem8 = ReadMem8_jtag_6; + scr->ReadMem8_len = sizeof(ReadMem8_jtag_6); + break; + } + return 0; +} \ No newline at end of file diff --git a/src/pickit5_lut_pdi.c b/src/pickit5_lut_pdi.c new file mode 100644 index 000000000..2ab59a507 --- /dev/null +++ b/src/pickit5_lut_pdi.c @@ -0,0 +1,571 @@ +/* This file was auto-generated by scripts_decoder.py. + * Any changes will be overwritten on regeneration + */ + +/* + * avrdude - A Downloader/Uploader for AVR device programmers + * Copyright (C) 2024 MX682X + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include +#include +#include "pickit5_lut.h" + + +const unsigned char EnterProgMode_pdi_0[121] = { + 0x9b, 0x00, 0x06, 0x9b, 0x01, 0x00, 0x1e, 0x01, 0x00, 0x01, 0x9b, 0x01, 0x00, 0x9b, 0x02, 0xfd, + 0x1e, 0x0f, 0x01, 0x02, 0x9b, 0x01, 0x00, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x9b, 0x01, 0x01, 0x9b, 0x02, 0x59, 0x1e, 0x0f, 0x01, 0x02, + 0x9b, 0x01, 0x00, 0x65, 0xff, 0x88, 0xd8, 0xcd, 0x04, 0x65, 0x45, 0xab, 0x89, 0x12, 0x04, 0x1e, + 0x11, 0x01, 0x9b, 0x01, 0x00, 0x1e, 0x0e, 0x01, 0x6c, 0x02, 0x66, 0x02, 0xf9, 0x00, 0x00, 0x00, + 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x02, 0x03, 0x70, 0x00, 0x9b, 0x01, 0x00, 0xa2, 0x1e, + 0x0e, 0x01, 0xa5, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xe8, 0x03, 0xfb, 0x78, 0x00, + 0x90, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7f, 0x01, 0x5a, +}; + +const unsigned char ExitProgMode_pdi_0[40] = { + 0x9b, 0x01, 0x01, 0x9b, 0x02, 0x00, 0x1e, 0x0f, 0x01, 0x02, 0x9b, 0x01, 0x00, 0x9b, 0x02, 0x00, + 0x1e, 0x0f, 0x01, 0x02, 0x9b, 0x01, 0x00, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x1e, 0x02, +}; + +const unsigned char SetSpeed_pdi_0[5] = { + 0x91, 0x00, 0x1e, 0x14, 0x00, +}; + +const unsigned char GetDeviceID_pdi_0[104] = { + 0x95, 0x90, 0x01, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x90, + 0x03, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x03, 0x6c, 0x0a, 0x90, 0x03, 0xc4, 0x01, 0x00, 0x01, + 0x1e, 0x03, 0x03, 0x6c, 0x0b, 0x90, 0x00, 0x90, 0x00, 0x00, 0x01, 0x1e, 0x09, 0x00, 0x9c, 0x01, + 0x03, 0x00, 0x1e, 0x10, 0x01, 0x9b, 0x02, 0x03, 0x1e, 0x0c, 0x02, 0x90, 0x02, 0x93, 0x00, 0x00, + 0x01, 0x1e, 0x03, 0x02, 0x9f, 0x90, 0x01, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x67, 0x00, 0x90, 0x03, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x03, 0x0a, 0x90, 0x03, 0xc4, + 0x01, 0x00, 0x01, 0x1e, 0x06, 0x03, 0x0b, 0x5a, +}; + +const unsigned char EraseChip_pdi_0[99] = { + 0x90, 0x01, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x01, 0x6c, 0x05, 0x90, 0x01, 0xca, 0x01, 0x00, + 0x01, 0x90, 0x02, 0x40, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x01, 0x02, 0x90, 0x01, 0xcb, 0x01, 0x00, + 0x01, 0x90, 0x02, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x01, 0x02, 0x90, 0x01, 0x00, 0x00, 0x00, + 0x00, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xd0, 0x07, + 0x94, 0x0a, 0x00, 0x90, 0x01, 0xcf, 0x01, 0x00, 0x01, 0xa2, 0x1e, 0x03, 0x01, 0xa5, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x90, 0x01, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, + 0x01, 0x05, 0x5a, +}; + +const unsigned char WriteProgmem_pdi_0[172] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x03, 0x01, 0x93, 0x03, 0x00, 0x02, 0xad, 0x03, 0x90, 0x04, 0xc0, + 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, + 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0b, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, + 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x00, 0x02, 0x1e, 0x10, 0x04, 0x1e, 0x0a, 0x04, 0x90, 0x04, + 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x90, 0x04, 0xca, 0x01, + 0x00, 0x01, 0x90, 0x05, 0x25, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x65, + 0xff, 0x00, 0x00, 0x00, 0x01, 0x9b, 0x06, 0x01, 0x1e, 0x0a, 0x06, 0x90, 0x06, 0xcf, 0x01, 0x00, + 0x01, 0xa2, 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, + 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, + 0x1e, 0x06, 0x06, 0x0b, 0x92, 0x00, 0x00, 0x02, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char WriteProgmem_pdi_1[172] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x03, 0x01, 0x93, 0x03, 0x00, 0x01, 0xad, 0x03, 0x90, 0x04, 0xc0, + 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, + 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0b, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, + 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x00, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0a, 0x04, 0x90, 0x04, + 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x90, 0x04, 0xca, 0x01, + 0x00, 0x01, 0x90, 0x05, 0x25, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x65, + 0xff, 0x00, 0x00, 0x00, 0x01, 0x9b, 0x06, 0x01, 0x1e, 0x0a, 0x06, 0x90, 0x06, 0xcf, 0x01, 0x00, + 0x01, 0xa2, 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, + 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, + 0x1e, 0x06, 0x06, 0x0b, 0x92, 0x00, 0x00, 0x01, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char WriteProgmem_pdi_2[172] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x03, 0x01, 0x93, 0x03, 0x80, 0x00, 0xad, 0x03, 0x90, 0x04, 0xc0, + 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, + 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0b, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, + 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x80, 0x00, 0x1e, 0x10, 0x04, 0x1e, 0x0a, 0x04, 0x90, 0x04, + 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x90, 0x04, 0xca, 0x01, + 0x00, 0x01, 0x90, 0x05, 0x25, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x65, + 0xff, 0x00, 0x00, 0x00, 0x01, 0x9b, 0x06, 0x01, 0x1e, 0x0a, 0x06, 0x90, 0x06, 0xcf, 0x01, 0x00, + 0x01, 0xa2, 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, + 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, + 0x1e, 0x06, 0x06, 0x0b, 0x92, 0x00, 0x80, 0x00, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char ReadProgmem_pdi_0[126] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x7d, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x60, 0x03, 0x01, 0x93, + 0x03, 0x00, 0x02, 0xad, 0x03, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x43, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x00, 0x02, 0x1e, 0x10, 0x04, 0x1e, + 0x0c, 0x04, 0x92, 0x00, 0x00, 0x02, 0x00, 0x00, 0xae, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, + 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char ReadProgmem_pdi_1[126] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x7d, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x60, 0x03, 0x01, 0x93, + 0x03, 0x00, 0x01, 0xad, 0x03, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x43, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x00, 0x01, 0x1e, 0x10, 0x04, 0x1e, + 0x0c, 0x04, 0x92, 0x00, 0x00, 0x01, 0x00, 0x00, 0xae, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, + 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char ReadProgmem_pdi_2[126] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x7d, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x60, 0x03, 0x01, 0x93, + 0x03, 0x80, 0x00, 0xad, 0x03, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x43, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x80, 0x00, 0x1e, 0x10, 0x04, 0x1e, + 0x0c, 0x04, 0x92, 0x00, 0x80, 0x00, 0x00, 0x00, 0xae, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, + 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char WriteBootMem_pdi_0[130] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x03, 0x01, 0x93, 0x03, 0x00, 0x02, 0xad, 0x03, 0x90, 0x04, 0xc0, + 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x90, 0x04, 0xca, 0x01, 0x00, + 0x01, 0x90, 0x05, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, + 0x00, 0x02, 0x1e, 0x10, 0x04, 0x1e, 0x0a, 0x04, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x2c, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x65, 0xff, 0x00, 0x00, 0x00, 0x01, 0x9b, + 0x06, 0x01, 0x1e, 0x0a, 0x06, 0x90, 0x06, 0xcf, 0x01, 0x00, 0x01, 0xa2, 0x1e, 0x03, 0x06, 0xa5, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x92, 0x00, 0x00, 0x02, 0x00, 0x00, + 0xae, 0x5a, +}; + +const unsigned char WriteBootMem_pdi_1[130] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x03, 0x01, 0x93, 0x03, 0x00, 0x01, 0xad, 0x03, 0x90, 0x04, 0xc0, + 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x90, 0x04, 0xca, 0x01, 0x00, + 0x01, 0x90, 0x05, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, + 0x00, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0a, 0x04, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x2c, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x65, 0xff, 0x00, 0x00, 0x00, 0x01, 0x9b, + 0x06, 0x01, 0x1e, 0x0a, 0x06, 0x90, 0x06, 0xcf, 0x01, 0x00, 0x01, 0xa2, 0x1e, 0x03, 0x06, 0xa5, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x92, 0x00, 0x00, 0x01, 0x00, 0x00, + 0xae, 0x5a, +}; + +const unsigned char WriteBootMem_pdi_2[130] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x03, 0x01, 0x93, 0x03, 0x80, 0x00, 0xad, 0x03, 0x90, 0x04, 0xc0, + 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x90, 0x04, 0xca, 0x01, 0x00, + 0x01, 0x90, 0x05, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, + 0x80, 0x00, 0x1e, 0x10, 0x04, 0x1e, 0x0a, 0x04, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x2c, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x65, 0xff, 0x00, 0x00, 0x00, 0x01, 0x9b, + 0x06, 0x01, 0x1e, 0x0a, 0x06, 0x90, 0x06, 0xcf, 0x01, 0x00, 0x01, 0xa2, 0x1e, 0x03, 0x06, 0xa5, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x92, 0x00, 0x80, 0x00, 0x00, 0x00, + 0xae, 0x5a, +}; + +const unsigned char ReadBootMem_pdi_0[126] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x7d, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x60, 0x03, 0x01, 0x93, + 0x03, 0x00, 0x02, 0xad, 0x03, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x43, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x00, 0x02, 0x1e, 0x10, 0x04, 0x1e, + 0x0c, 0x04, 0x92, 0x00, 0x00, 0x02, 0x00, 0x00, 0xae, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, + 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char ReadBootMem_pdi_1[126] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x7d, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x60, 0x03, 0x01, 0x93, + 0x03, 0x00, 0x01, 0xad, 0x03, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x43, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x00, 0x01, 0x1e, 0x10, 0x04, 0x1e, + 0x0c, 0x04, 0x92, 0x00, 0x00, 0x01, 0x00, 0x00, 0xae, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, + 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char ReadBootMem_pdi_2[126] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x7d, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x60, 0x03, 0x01, 0x93, + 0x03, 0x80, 0x00, 0xad, 0x03, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x43, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x80, 0x00, 0x1e, 0x10, 0x04, 0x1e, + 0x0c, 0x04, 0x92, 0x00, 0x80, 0x00, 0x00, 0x00, 0xae, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, + 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char WriteDataEEmem_pdi_0[334] = { + 0x91, 0x00, 0x91, 0x01, 0x60, 0x03, 0x01, 0x93, 0x03, 0x20, 0x00, 0xad, 0x03, 0x90, 0x05, 0xc0, + 0x01, 0x00, 0x00, 0xfe, 0x05, 0x00, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x90, 0x09, 0xcc, 0x01, 0x00, + 0x01, 0x1e, 0x03, 0x09, 0x6c, 0x05, 0x6c, 0x0a, 0x66, 0x05, 0x08, 0x00, 0x00, 0x00, 0xfe, 0x05, + 0x00, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x60, 0x05, 0x0a, 0x66, 0x05, 0xf7, 0xff, 0xff, 0xff, 0x1e, + 0x06, 0x09, 0x05, 0xac, 0x02, 0x00, 0x90, 0x05, 0xca, 0x01, 0x00, 0x01, 0x90, 0x06, 0x36, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x05, 0x06, 0x90, 0x05, 0xcb, 0x01, 0x00, 0x01, 0x90, 0x06, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x05, 0x06, 0x90, 0x05, 0xca, 0x01, 0x00, 0x01, 0x90, 0x06, 0x33, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x05, 0x06, 0x90, 0x08, 0x00, 0x00, 0x8c, 0x00, 0x1e, 0x09, 0x08, 0x65, + 0xff, 0x00, 0x00, 0x00, 0x01, 0x90, 0x06, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x0a, 0x06, 0x90, 0x04, + 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x35, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, + 0x08, 0x65, 0xff, 0x00, 0x00, 0x00, 0x01, 0x9b, 0x06, 0x01, 0x1e, 0x0a, 0x06, 0x90, 0x06, 0xcf, + 0x01, 0x00, 0x01, 0xa2, 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x64, 0x00, 0xa4, 0x90, 0x05, 0xca, 0x01, 0x00, 0x01, 0x90, 0x06, 0x36, 0x00, 0x00, 0x00, 0x1e, + 0x06, 0x05, 0x06, 0x90, 0x05, 0xcb, 0x01, 0x00, 0x01, 0x90, 0x06, 0x01, 0x00, 0x00, 0x00, 0x1e, + 0x06, 0x05, 0x06, 0x90, 0x05, 0xca, 0x01, 0x00, 0x01, 0x90, 0x06, 0x33, 0x00, 0x00, 0x00, 0x1e, + 0x06, 0x05, 0x06, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x20, 0x00, 0x1e, 0x10, 0x04, 0x1e, 0x0a, 0x04, + 0x90, 0x05, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x05, 0x00, 0x00, 0x00, 0x00, 0x46, 0x01, 0x90, 0x04, + 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x34, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, + 0x00, 0x65, 0xff, 0x00, 0x00, 0x00, 0x01, 0x9b, 0x06, 0x01, 0x1e, 0x0a, 0x06, 0x90, 0x06, 0xcf, + 0x01, 0x00, 0x01, 0xa2, 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x64, 0x00, 0x1e, 0x06, 0x09, 0x0a, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char ReadDataEEmem_pdi_0[126] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x7d, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x60, 0x03, 0x01, 0x93, + 0x03, 0x20, 0x00, 0xad, 0x03, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x06, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x20, 0x00, 0x1e, 0x10, 0x04, 0x1e, + 0x0c, 0x04, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0xae, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, + 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char WriteConfigmem_pdi_0[89] = { + 0x91, 0x00, 0x91, 0x01, 0xfe, 0x00, 0x27, 0x00, 0x8f, 0x00, 0x15, 0x00, 0x90, 0x07, 0x4c, 0x00, + 0x00, 0x00, 0xfb, 0x1b, 0x00, 0x90, 0x07, 0x08, 0x00, 0x00, 0x00, 0xaf, 0xad, 0x01, 0x90, 0x02, + 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x90, 0x02, 0xca, 0x01, + 0x00, 0x01, 0x1e, 0x06, 0x02, 0x07, 0x99, 0x04, 0x1e, 0x06, 0x00, 0x04, 0x90, 0x06, 0xcf, 0x01, + 0x00, 0x01, 0xa2, 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, + 0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char WriteConfigmemFuse_pdi_0[71] = { + 0x91, 0x00, 0x91, 0x01, 0xad, 0x01, 0x90, 0x02, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x00, 0x90, 0x02, 0xca, 0x01, 0x00, 0x01, 0x90, 0x03, 0x4c, 0x00, 0x00, 0x00, + 0x1e, 0x06, 0x02, 0x03, 0x99, 0x04, 0x1e, 0x06, 0x00, 0x04, 0x90, 0x06, 0xcf, 0x01, 0x00, 0x01, + 0xa2, 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x92, + 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char WriteConfigmemLock_pdi_0[71] = { + 0x91, 0x00, 0x91, 0x01, 0xad, 0x01, 0x90, 0x02, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x00, 0x90, 0x02, 0xca, 0x01, 0x00, 0x01, 0x90, 0x03, 0x08, 0x00, 0x00, 0x00, + 0x1e, 0x06, 0x02, 0x03, 0x99, 0x04, 0x1e, 0x06, 0x00, 0x04, 0x90, 0x06, 0xcf, 0x01, 0x00, 0x01, + 0xa2, 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x92, + 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char ReadConfigmem_pdi_0[106] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x69, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x90, 0x04, 0xca, 0x01, + 0x00, 0x01, 0x90, 0x05, 0x07, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x1e, + 0x10, 0x01, 0x1e, 0x0c, 0x01, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0a, 0x90, + 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char ReadConfigmemFuse_pdi_0[106] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x69, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x90, 0x04, 0xca, 0x01, + 0x00, 0x01, 0x90, 0x05, 0x07, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x1e, + 0x10, 0x01, 0x1e, 0x0c, 0x01, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0a, 0x90, + 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char ReadConfigmemLock_pdi_0[106] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x69, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x90, 0x04, 0xca, 0x01, + 0x00, 0x01, 0x90, 0x05, 0x07, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x1e, + 0x10, 0x01, 0x1e, 0x0c, 0x01, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0a, 0x90, + 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char WriteIDmem_pdi_0[198] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x04, 0x6c, 0x0a, 0x90, + 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x18, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x90, + 0x05, 0x55, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x00, 0x05, 0x90, 0x04, 0xcf, 0x01, 0x00, 0x01, 0xa2, + 0x1e, 0x03, 0x04, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x90, 0x04, + 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x04, 0x0a, 0x60, 0x03, 0x01, 0x93, 0x03, 0x00, 0x02, 0xad, + 0x03, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x00, 0x90, + 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, + 0x09, 0x00, 0x9c, 0x04, 0x00, 0x02, 0x1e, 0x10, 0x04, 0x1e, 0x0a, 0x04, 0x90, 0x04, 0xc0, 0x01, + 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, + 0x90, 0x05, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x65, 0xff, 0x00, + 0x00, 0x00, 0x01, 0x9b, 0x06, 0x01, 0x1e, 0x0a, 0x06, 0x90, 0x06, 0xcf, 0x01, 0x00, 0x01, 0xa2, + 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x92, 0x00, + 0x00, 0x02, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char WriteIDmem_pdi_1[198] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x04, 0x6c, 0x0a, 0x90, + 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x18, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x90, + 0x05, 0x55, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x00, 0x05, 0x90, 0x04, 0xcf, 0x01, 0x00, 0x01, 0xa2, + 0x1e, 0x03, 0x04, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x90, 0x04, + 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x04, 0x0a, 0x60, 0x03, 0x01, 0x93, 0x03, 0x00, 0x01, 0xad, + 0x03, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x00, 0x90, + 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, + 0x09, 0x00, 0x9c, 0x04, 0x00, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0a, 0x04, 0x90, 0x04, 0xc0, 0x01, + 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, + 0x90, 0x05, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x65, 0xff, 0x00, + 0x00, 0x00, 0x01, 0x9b, 0x06, 0x01, 0x1e, 0x0a, 0x06, 0x90, 0x06, 0xcf, 0x01, 0x00, 0x01, 0xa2, + 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x92, 0x00, + 0x00, 0x01, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char WriteIDmem_pdi_2[198] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x04, 0x6c, 0x0a, 0x90, + 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x18, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x90, + 0x05, 0x55, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x00, 0x05, 0x90, 0x04, 0xcf, 0x01, 0x00, 0x01, 0xa2, + 0x1e, 0x03, 0x04, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x90, 0x04, + 0xca, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x04, 0x0a, 0x60, 0x03, 0x01, 0x93, 0x03, 0x80, 0x00, 0xad, + 0x03, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x00, 0x90, + 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x23, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, + 0x09, 0x00, 0x9c, 0x04, 0x80, 0x00, 0x1e, 0x10, 0x04, 0x1e, 0x0a, 0x04, 0x90, 0x04, 0xc0, 0x01, + 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, + 0x90, 0x05, 0x1a, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x65, 0xff, 0x00, + 0x00, 0x00, 0x01, 0x9b, 0x06, 0x01, 0x1e, 0x0a, 0x06, 0x90, 0x06, 0xcf, 0x01, 0x00, 0x01, 0xa2, + 0x1e, 0x03, 0x06, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x92, 0x00, + 0x80, 0x00, 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char ReadIDmem_pdi_0[126] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x7d, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x60, 0x03, 0x01, 0x93, + 0x03, 0x00, 0x02, 0xad, 0x03, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x43, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x00, 0x02, 0x1e, 0x10, 0x04, 0x1e, + 0x0c, 0x04, 0x92, 0x00, 0x00, 0x02, 0x00, 0x00, 0xae, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, + 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char ReadIDmem_pdi_1[126] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x7d, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x60, 0x03, 0x01, 0x93, + 0x03, 0x00, 0x01, 0xad, 0x03, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x43, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x00, 0x01, 0x1e, 0x10, 0x04, 0x1e, + 0x0c, 0x04, 0x92, 0x00, 0x00, 0x01, 0x00, 0x00, 0xae, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, + 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char ReadIDmem_pdi_2[126] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x7d, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x60, 0x03, 0x01, 0x93, + 0x03, 0x80, 0x00, 0xad, 0x03, 0x90, 0x04, 0xca, 0x01, 0x00, 0x01, 0x90, 0x05, 0x43, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x04, 0x05, 0x1e, 0x09, 0x00, 0x9c, 0x04, 0x80, 0x00, 0x1e, 0x10, 0x04, 0x1e, + 0x0c, 0x04, 0x92, 0x00, 0x80, 0x00, 0x00, 0x00, 0xae, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, + 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0b, 0x5a, +}; + +const unsigned char WriteCSreg_pdi_0[8] = { + 0x99, 0x00, 0x99, 0x01, 0x1e, 0x0f, 0x00, 0x01, +}; + +const unsigned char ReadCSreg_pdi_0[6] = { + 0x99, 0x00, 0x1e, 0x0e, 0x00, 0x9f, +}; + +const unsigned char WriteMem8_pdi_0[70] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x01, 0x00, + 0xfa, 0x01, 0x03, 0x1b, 0x00, 0x60, 0x04, 0x01, 0xfb, 0x21, 0x00, 0x90, 0x04, 0x00, 0x00, 0x01, + 0x00, 0x6a, 0x01, 0x04, 0x90, 0x02, 0xca, 0x01, 0x00, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x06, 0x02, 0x03, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x04, 0x1e, 0x0a, 0x04, 0x6e, 0x00, 0x04, + 0xfc, 0x01, 0x07, 0x0a, 0x00, 0x5a, +}; + +const unsigned char ReadMem8_pdi_0[130] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x04, 0xc0, 0x01, 0x00, 0x00, 0x90, 0x05, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x04, 0x05, 0x26, 0x00, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0xfb, 0x81, 0x00, 0x90, 0x06, 0xca, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, + 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x06, 0x6c, 0x0b, 0x90, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x01, 0x00, 0xfa, 0x01, 0x03, 0x53, 0x00, 0x60, 0x04, 0x01, + 0xfb, 0x59, 0x00, 0x90, 0x04, 0x00, 0x00, 0x01, 0x00, 0x6a, 0x01, 0x04, 0x1e, 0x09, 0x00, 0x1e, + 0x10, 0x04, 0x1e, 0x0c, 0x04, 0x6e, 0x00, 0x04, 0xfc, 0x01, 0x07, 0x42, 0x00, 0x90, 0x06, 0xca, + 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, 0x0a, 0x90, 0x06, 0xc4, 0x01, 0x00, 0x01, 0x1e, 0x06, 0x06, + 0x0b, 0x5a, +}; + + + + +static void pickit_pdi_script_init(SCRIPT *scr); +static void pickit_pdi_script_init(SCRIPT *scr) { + memset(scr, 0x00, sizeof(SCRIPT)); // Make sure everything is NULL + + scr->EnterProgMode = EnterProgMode_pdi_0; + scr->ExitProgMode = ExitProgMode_pdi_0; + scr->SetSpeed = SetSpeed_pdi_0; + scr->GetDeviceID = GetDeviceID_pdi_0; + scr->EraseChip = EraseChip_pdi_0; + scr->WriteDataEEmem = WriteDataEEmem_pdi_0; + scr->ReadDataEEmem = ReadDataEEmem_pdi_0; + scr->WriteConfigmem = WriteConfigmem_pdi_0; + scr->WriteConfigmemFuse = WriteConfigmemFuse_pdi_0; + scr->WriteConfigmemLock = WriteConfigmemLock_pdi_0; + scr->ReadConfigmem = ReadConfigmem_pdi_0; + scr->ReadConfigmemFuse = ReadConfigmemFuse_pdi_0; + scr->ReadConfigmemLock = ReadConfigmemLock_pdi_0; + scr->WriteCSreg = WriteCSreg_pdi_0; + scr->ReadCSreg = ReadCSreg_pdi_0; + scr->WriteMem8 = WriteMem8_pdi_0; + scr->ReadMem8 = ReadMem8_pdi_0; + + scr->EnterProgMode_len = sizeof(EnterProgMode_pdi_0); + scr->ExitProgMode_len = sizeof(ExitProgMode_pdi_0); + scr->SetSpeed_len = sizeof(SetSpeed_pdi_0); + scr->GetDeviceID_len = sizeof(GetDeviceID_pdi_0); + scr->EraseChip_len = sizeof(EraseChip_pdi_0); + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_pdi_0); + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_pdi_0); + scr->WriteConfigmem_len = sizeof(WriteConfigmem_pdi_0); + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_pdi_0); + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_pdi_0); + scr->ReadConfigmem_len = sizeof(ReadConfigmem_pdi_0); + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_pdi_0); + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_pdi_0); + scr->WriteCSreg_len = sizeof(WriteCSreg_pdi_0); + scr->ReadCSreg_len = sizeof(ReadCSreg_pdi_0); + scr->WriteMem8_len = sizeof(WriteMem8_pdi_0); + scr->ReadMem8_len = sizeof(ReadMem8_pdi_0); +} + + +const char * const pickit5_pdi_chip_lut[] = { + "ATxmega128A1", "ATxmega128A1U", "ATxmega128A3", "ATxmega128A3U", "ATxmega128A4U", "ATxmega16A4", "ATxmega16A4U", "ATxmega192A3", + "ATxmega192A3U", "ATxmega256A3", "ATxmega256A3B", "ATxmega256A3BU", "ATxmega256A3U", "ATxmega32A4", "ATxmega32A4U", "ATxmega64A1", + "ATxmega64A1U", "ATxmega64A3", "ATxmega64A3U", "ATxmega64A4U", "ATxmega128B1", "ATxmega128B3", "ATxmega64B1", "ATxmega64B3", + "ATxmega128C3", "ATxmega16C4", "ATxmega192C3", "ATxmega256C3", "ATxmega32C3", "ATxmega32C4", "ATxmega384C3", "ATxmega64C3", + "ATxmega128D3", "ATxmega128D4", "ATxmega16D4", "ATxmega192D3", "ATxmega256D3", "ATxmega32D3", "ATxmega32D4", "ATxmega384D3", + "ATxmega64D3", "ATxmega64D4", "ATxmega16E5", "ATxmega32E5", "ATxmega8E5", +}; + +int get_pickit_pdi_script(SCRIPT *scr, const char* partdesc) { + if ((scr == NULL) || (partdesc == NULL)) { + return -1; + } + int namepos = -1; + for (int i = 0; i < 45; i++) { + if (strcmp(pickit5_pdi_chip_lut[i], partdesc) == 0) { + namepos = i; + break; + } + } + if (namepos == -1) { + return -2; + } + + pickit_pdi_script_init(scr); // load common functions + + switch (namepos) { + case 0: /* ATxmega128A1 */ + case 1: /* ATxmega128A1U */ + case 2: /* ATxmega128A3 */ + case 3: /* ATxmega128A3U */ + case 7: /* ATxmega192A3 */ + case 8: /* ATxmega192A3U */ + case 9: /* ATxmega256A3 */ + case 10: /* ATxmega256A3B */ + case 11: /* ATxmega256A3BU */ + case 12: /* ATxmega256A3U */ + case 24: /* ATxmega128C3 */ + case 26: /* ATxmega192C3 */ + case 27: /* ATxmega256C3 */ + case 30: /* ATxmega384C3 */ + case 32: /* ATxmega128D3 */ + case 35: /* ATxmega192D3 */ + case 36: /* ATxmega256D3 */ + case 39: /* ATxmega384D3 */ + scr->WriteProgmem = WriteProgmem_pdi_0; + scr->WriteProgmem_len = sizeof(WriteProgmem_pdi_0); + scr->ReadProgmem = ReadProgmem_pdi_0; + scr->ReadProgmem_len = sizeof(ReadProgmem_pdi_0); + scr->WriteBootMem = WriteBootMem_pdi_0; + scr->WriteBootMem_len = sizeof(WriteBootMem_pdi_0); + scr->ReadBootMem = ReadBootMem_pdi_0; + scr->ReadBootMem_len = sizeof(ReadBootMem_pdi_0); + scr->WriteIDmem = WriteIDmem_pdi_0; + scr->WriteIDmem_len = sizeof(WriteIDmem_pdi_0); + scr->ReadIDmem = ReadIDmem_pdi_0; + scr->ReadIDmem_len = sizeof(ReadIDmem_pdi_0); + break; + case 4: /* ATxmega128A4U */ + case 5: /* ATxmega16A4 */ + case 6: /* ATxmega16A4U */ + case 13: /* ATxmega32A4 */ + case 14: /* ATxmega32A4U */ + case 15: /* ATxmega64A1 */ + case 16: /* ATxmega64A1U */ + case 17: /* ATxmega64A3 */ + case 18: /* ATxmega64A3U */ + case 19: /* ATxmega64A4U */ + case 20: /* ATxmega128B1 */ + case 21: /* ATxmega128B3 */ + case 22: /* ATxmega64B1 */ + case 23: /* ATxmega64B3 */ + case 25: /* ATxmega16C4 */ + case 28: /* ATxmega32C3 */ + case 29: /* ATxmega32C4 */ + case 31: /* ATxmega64C3 */ + case 33: /* ATxmega128D4 */ + case 34: /* ATxmega16D4 */ + case 37: /* ATxmega32D3 */ + case 38: /* ATxmega32D4 */ + case 40: /* ATxmega64D3 */ + case 41: /* ATxmega64D4 */ + scr->WriteProgmem = WriteProgmem_pdi_1; + scr->WriteProgmem_len = sizeof(WriteProgmem_pdi_1); + scr->ReadProgmem = ReadProgmem_pdi_1; + scr->ReadProgmem_len = sizeof(ReadProgmem_pdi_1); + scr->WriteBootMem = WriteBootMem_pdi_1; + scr->WriteBootMem_len = sizeof(WriteBootMem_pdi_1); + scr->ReadBootMem = ReadBootMem_pdi_1; + scr->ReadBootMem_len = sizeof(ReadBootMem_pdi_1); + scr->WriteIDmem = WriteIDmem_pdi_1; + scr->WriteIDmem_len = sizeof(WriteIDmem_pdi_1); + scr->ReadIDmem = ReadIDmem_pdi_1; + scr->ReadIDmem_len = sizeof(ReadIDmem_pdi_1); + break; + case 42: /* ATxmega16E5 */ + case 43: /* ATxmega32E5 */ + case 44: /* ATxmega8E5 */ + scr->WriteProgmem = WriteProgmem_pdi_2; + scr->WriteProgmem_len = sizeof(WriteProgmem_pdi_2); + scr->ReadProgmem = ReadProgmem_pdi_2; + scr->ReadProgmem_len = sizeof(ReadProgmem_pdi_2); + scr->WriteBootMem = WriteBootMem_pdi_2; + scr->WriteBootMem_len = sizeof(WriteBootMem_pdi_2); + scr->ReadBootMem = ReadBootMem_pdi_2; + scr->ReadBootMem_len = sizeof(ReadBootMem_pdi_2); + scr->WriteIDmem = WriteIDmem_pdi_2; + scr->WriteIDmem_len = sizeof(WriteIDmem_pdi_2); + scr->ReadIDmem = ReadIDmem_pdi_2; + scr->ReadIDmem_len = sizeof(ReadIDmem_pdi_2); + break; + } + return 0; +} \ No newline at end of file diff --git a/src/pickit5_lut_tpi.c b/src/pickit5_lut_tpi.c new file mode 100644 index 000000000..566807299 --- /dev/null +++ b/src/pickit5_lut_tpi.c @@ -0,0 +1,186 @@ +/* This file was auto-generated by scripts_decoder.py. + * Any changes will be overwritten on regeneration + */ + +/* + * avrdude - A Downloader/Uploader for AVR device programmers + * Copyright (C) 2024 MX682X + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include +#include +#include "pickit5_lut.h" + + +const unsigned char EnterProgMode_tpi_0[63] = { + 0x9b, 0x00, 0x01, 0x1e, 0x20, 0x00, 0x9b, 0x00, 0x0f, 0x1e, 0x27, 0x00, 0x9b, 0x00, 0x02, 0x1e, + 0x27, 0x00, 0x9b, 0x00, 0x02, 0x9b, 0x01, 0x04, 0x1e, 0x28, 0x00, 0x01, 0x6c, 0x02, 0x1e, 0x27, + 0x02, 0x1e, 0x29, 0x45, 0xab, 0x89, 0x12, 0xff, 0x88, 0xd8, 0xcd, 0x9b, 0x00, 0x00, 0xa2, 0x1e, + 0x27, 0x00, 0x6c, 0x02, 0xa5, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x32, 0x00, +}; + +const unsigned char ExitProgMode_tpi_0[18] = { + 0x9b, 0x00, 0x00, 0x9b, 0x01, 0x00, 0x1e, 0x28, 0x00, 0x01, 0x9b, 0x00, 0x00, 0x1e, 0x27, 0x00, + 0x1e, 0x21, +}; + +const unsigned char SetSpeed_tpi_0[1] = { + 0x5a, +}; + +const unsigned char GetDeviceID_tpi_0[29] = { + 0x9c, 0x00, 0x33, 0x00, 0x9b, 0x01, 0x00, 0x1e, 0x26, 0x00, 0x01, 0x9c, 0x00, 0xc0, 0x3f, 0xac, + 0x03, 0x00, 0x1e, 0x22, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa4, +}; + +const unsigned char EraseChip_tpi_0[43] = { + 0x9b, 0x00, 0x33, 0x9b, 0x01, 0x10, 0x1e, 0x26, 0x00, 0x01, 0x9c, 0x00, 0x01, 0x40, 0x9b, 0x01, + 0xff, 0x1e, 0x23, 0x00, 0x01, 0x90, 0x04, 0x32, 0x00, 0x00, 0x00, 0xa2, 0x1e, 0x25, 0x04, 0xa5, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0xae, +}; + +const unsigned char WriteProgmem_tpi_0[140] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x33, 0x9b, 0x03, 0x1d, 0x60, 0x05, 0x01, 0x66, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x60, 0x06, 0x01, 0x60, 0x01, 0x05, 0x67, 0x01, 0x01, 0x1e, 0x26, 0x02, 0x03, + 0x9b, 0x07, 0x00, 0xf8, 0x01, 0x07, 0x66, 0x00, 0xfb, 0x2b, 0x00, 0xad, 0x01, 0x99, 0x02, 0x1e, + 0x23, 0x00, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0x99, 0x02, 0x1e, 0x23, 0x00, 0x02, 0x92, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x90, 0x04, 0x32, 0x00, 0x00, 0x00, 0xa2, 0x1e, 0x25, 0x04, 0xa5, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0xae, 0x9b, 0x07, 0x01, 0xf8, 0x06, + 0x07, 0x66, 0x00, 0xfb, 0x8b, 0x00, 0x99, 0x02, 0x1e, 0x23, 0x00, 0x02, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x1e, 0x23, 0x00, 0xff, 0x90, 0x04, 0x32, 0x00, 0x00, 0x00, 0xa2, 0x1e, 0x25, 0x04, + 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x5a, +}; + +const unsigned char ReadProgmem_tpi_0[27] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x33, 0x9b, 0x03, 0x00, 0x1e, 0x26, 0x02, 0x03, 0xad, 0x01, + 0x1e, 0x22, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char WriteConfigmemFuse_tpi_0[189] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x0a, 0x33, 0x9b, 0x0b, 0x14, 0x1e, 0x26, 0x0a, 0x0b, 0x9c, 0x0a, + 0x41, 0x3f, 0x9b, 0x0b, 0xff, 0x1e, 0x23, 0x0a, 0x0b, 0x90, 0x0e, 0x32, 0x00, 0x00, 0x00, 0xa2, + 0x1e, 0x25, 0x0e, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0xae, 0x94, + 0x32, 0x00, 0x9b, 0x02, 0x33, 0x9b, 0x03, 0x1d, 0x60, 0x05, 0x01, 0x66, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x60, 0x06, 0x01, 0x60, 0x01, 0x05, 0x67, 0x01, 0x01, 0x1e, 0x26, 0x02, 0x03, 0x9b, 0x07, + 0x00, 0xf8, 0x01, 0x07, 0x94, 0x00, 0xfb, 0x59, 0x00, 0xad, 0x01, 0x99, 0x02, 0x1e, 0x23, 0x00, + 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0x99, 0x02, 0x1e, 0x23, 0x00, 0x02, 0x92, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x90, 0x04, 0x32, 0x00, 0x00, 0x00, 0xa2, 0x1e, 0x25, 0x04, 0xa5, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0xae, 0x9b, 0x07, 0x01, 0xf8, 0x06, 0x07, 0x94, + 0x00, 0xfb, 0xbc, 0x00, 0x99, 0x02, 0x1e, 0x23, 0x00, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x23, 0x00, 0xff, 0x90, 0x04, 0x32, 0x00, 0x00, 0x00, 0xa2, 0x1e, 0x25, 0x04, 0xa5, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x94, 0x19, 0x00, 0x5a, +}; + +const unsigned char WriteConfigmemLock_tpi_0[189] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x0a, 0x33, 0x9b, 0x0b, 0x14, 0x1e, 0x26, 0x0a, 0x0b, 0x9c, 0x0a, + 0x41, 0x3f, 0x9b, 0x0b, 0xff, 0x1e, 0x23, 0x0a, 0x0b, 0x90, 0x0e, 0x32, 0x00, 0x00, 0x00, 0xa2, + 0x1e, 0x25, 0x0e, 0xa5, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0xae, 0x94, + 0x32, 0x00, 0x9b, 0x02, 0x33, 0x9b, 0x03, 0x1d, 0x60, 0x05, 0x01, 0x66, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x60, 0x06, 0x01, 0x60, 0x01, 0x05, 0x67, 0x01, 0x01, 0x1e, 0x26, 0x02, 0x03, 0x9b, 0x07, + 0x00, 0xf8, 0x01, 0x07, 0x94, 0x00, 0xfb, 0x59, 0x00, 0xad, 0x01, 0x99, 0x02, 0x1e, 0x23, 0x00, + 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0x99, 0x02, 0x1e, 0x23, 0x00, 0x02, 0x92, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x90, 0x04, 0x32, 0x00, 0x00, 0x00, 0xa2, 0x1e, 0x25, 0x04, 0xa5, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0xae, 0x9b, 0x07, 0x01, 0xf8, 0x06, 0x07, 0x94, + 0x00, 0xfb, 0xbc, 0x00, 0x99, 0x02, 0x1e, 0x23, 0x00, 0x02, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x23, 0x00, 0xff, 0x90, 0x04, 0x32, 0x00, 0x00, 0x00, 0xa2, 0x1e, 0x25, 0x04, 0xa5, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x94, 0x19, 0x00, 0x5a, +}; + +const unsigned char ReadConfigmem_tpi_0[27] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x33, 0x9b, 0x03, 0x00, 0x1e, 0x26, 0x02, 0x03, 0xad, 0x01, + 0x1e, 0x22, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char ReadConfigmemFuse_tpi_0[27] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x33, 0x9b, 0x03, 0x00, 0x1e, 0x26, 0x02, 0x03, 0xad, 0x01, + 0x1e, 0x22, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + +const unsigned char ReadConfigmemLock_tpi_0[27] = { + 0x91, 0x00, 0x91, 0x01, 0x9b, 0x02, 0x33, 0x9b, 0x03, 0x00, 0x1e, 0x26, 0x02, 0x03, 0xad, 0x01, + 0x1e, 0x22, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, +}; + + + + +static void pickit_tpi_script_init(SCRIPT *scr); +static void pickit_tpi_script_init(SCRIPT *scr) { + memset(scr, 0x00, sizeof(SCRIPT)); // Make sure everything is NULL + + scr->EnterProgMode = EnterProgMode_tpi_0; + scr->ExitProgMode = ExitProgMode_tpi_0; + scr->SetSpeed = SetSpeed_tpi_0; + scr->GetDeviceID = GetDeviceID_tpi_0; + scr->EraseChip = EraseChip_tpi_0; + scr->WriteProgmem = WriteProgmem_tpi_0; + scr->ReadProgmem = ReadProgmem_tpi_0; + scr->WriteConfigmemFuse = WriteConfigmemFuse_tpi_0; + scr->WriteConfigmemLock = WriteConfigmemLock_tpi_0; + scr->ReadConfigmem = ReadConfigmem_tpi_0; + scr->ReadConfigmemFuse = ReadConfigmemFuse_tpi_0; + scr->ReadConfigmemLock = ReadConfigmemLock_tpi_0; + + scr->EnterProgMode_len = sizeof(EnterProgMode_tpi_0); + scr->ExitProgMode_len = sizeof(ExitProgMode_tpi_0); + scr->SetSpeed_len = sizeof(SetSpeed_tpi_0); + scr->GetDeviceID_len = sizeof(GetDeviceID_tpi_0); + scr->EraseChip_len = sizeof(EraseChip_tpi_0); + scr->WriteProgmem_len = sizeof(WriteProgmem_tpi_0); + scr->ReadProgmem_len = sizeof(ReadProgmem_tpi_0); + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_tpi_0); + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_tpi_0); + scr->ReadConfigmem_len = sizeof(ReadConfigmem_tpi_0); + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_tpi_0); + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_tpi_0); +} + + +const char * const pickit5_tpi_chip_lut[] = { + "ATtiny10", "ATtiny102", "ATtiny104", "ATtiny20", "ATtiny4", "ATtiny40", "ATtiny5", "ATtiny9", +}; + +int get_pickit_tpi_script(SCRIPT *scr, const char* partdesc) { + if ((scr == NULL) || (partdesc == NULL)) { + return -1; + } + int namepos = -1; + for (int i = 0; i < 8; i++) { + if (strcmp(pickit5_tpi_chip_lut[i], partdesc) == 0) { + namepos = i; + break; + } + } + if (namepos == -1) { + return -2; + } + + pickit_tpi_script_init(scr); // load common functions + + switch (namepos) { + case 0: /* ATtiny10 */ + case 1: /* ATtiny102 */ + case 2: /* ATtiny104 */ + case 3: /* ATtiny20 */ + case 4: /* ATtiny4 */ + case 5: /* ATtiny40 */ + case 6: /* ATtiny5 */ + case 7: /* ATtiny9 */ + break; + } + return 0; +} \ No newline at end of file diff --git a/src/pickit5_lut_updi.c b/src/pickit5_lut_updi.c new file mode 100644 index 000000000..24c744ddf --- /dev/null +++ b/src/pickit5_lut_updi.c @@ -0,0 +1,1478 @@ +/* This file was auto-generated by scripts_decoder.py. + * Any changes will be overwritten on regeneration + */ + +/* + * avrdude - A Downloader/Uploader for AVR device programmers + * Copyright (C) 2024 MX682X + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include +#include +#include "pickit5_lut.h" + + +const unsigned char EnterProgMode_updi_0[285] = { + 0x50, 0x9b, 0x00, 0x08, 0x9b, 0x01, 0x00, 0x1e, 0x01, 0x00, 0x01, 0x51, 0xfd, 0x19, 0x00, 0x00, + 0x00, 0xf4, 0x00, 0x94, 0x32, 0x00, 0x94, 0x40, 0x00, 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, + 0x01, 0x66, 0x01, 0x08, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x08, 0x00, 0x00, 0x00, 0x1d, 0x01, 0x9b, + 0x00, 0x08, 0x9b, 0x01, 0x59, 0x1e, 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x00, 0x65, 0x20, 0x67, 0x6f, + 0x72, 0x04, 0x65, 0x50, 0x4d, 0x56, 0x4e, 0x04, 0x1e, 0x11, 0x01, 0x9b, 0x02, 0x07, 0x1e, 0x0e, + 0x02, 0x6c, 0x03, 0x66, 0x03, 0x10, 0x00, 0x00, 0x00, 0x9b, 0x04, 0x10, 0xfc, 0x03, 0x04, 0x15, + 0x01, 0x9b, 0x00, 0x08, 0x9b, 0x01, 0x59, 0x1e, 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x0b, 0xa2, 0x1e, + 0x0e, 0x01, 0xa5, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x9b, 0x00, 0x08, + 0x9b, 0x01, 0x00, 0x1e, 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x0b, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x94, 0x48, 0x00, 0x9b, 0x00, 0x0b, 0x1e, + 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x08, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x08, 0x00, 0x00, 0x00, + 0x1d, 0x01, 0x94, 0xf4, 0x01, 0x9b, 0x01, 0x0c, 0x1e, 0x0e, 0x01, 0x6c, 0x02, 0x66, 0x02, 0x04, + 0x00, 0x00, 0x00, 0xfe, 0x02, 0x04, 0x00, 0x00, 0x00, 0x0a, 0x01, 0x9b, 0x00, 0x0b, 0x1e, 0x0e, + 0x00, 0x6c, 0x01, 0x66, 0x01, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x01, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x6c, 0x01, 0x66, 0x01, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x02, 0x00, 0x00, 0x00, 0xff, + 0x00, 0xfb, 0x15, 0x01, 0x90, 0x01, 0x51, 0x00, 0x00, 0x00, 0x7f, 0x01, 0xfb, 0x1d, 0x01, 0x90, + 0x01, 0x44, 0x00, 0x00, 0x00, 0x7f, 0x01, 0xfb, 0x1d, 0x01, 0x90, 0x01, 0x43, 0x00, 0x00, 0x00, + 0x7f, 0x01, 0xfb, 0x1d, 0x01, 0x90, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7f, 0x01, +}; + +const unsigned char EnterProgModeHvSp_updi_0[330] = { + 0x50, 0x9b, 0x00, 0x08, 0x9b, 0x01, 0x01, 0x1e, 0x01, 0x00, 0x01, 0x51, 0xfd, 0x54, 0x00, 0x00, + 0x00, 0x31, 0x01, 0xfd, 0x08, 0x03, 0x00, 0x00, 0x3c, 0x01, 0xfd, 0x09, 0x03, 0x00, 0x00, 0x3f, + 0x01, 0xfd, 0x19, 0x00, 0x00, 0x00, 0x10, 0x01, 0xfd, 0x1b, 0x00, 0x00, 0x00, 0x10, 0x01, 0x94, + 0x32, 0x00, 0x94, 0x40, 0x00, 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x08, + 0x00, 0x00, 0x00, 0xfe, 0x01, 0x08, 0x00, 0x00, 0x00, 0x4a, 0x01, 0x9b, 0x00, 0x08, 0x9b, 0x01, + 0x59, 0x1e, 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x00, 0x65, 0x20, 0x67, 0x6f, 0x72, 0x04, 0x65, 0x50, + 0x4d, 0x56, 0x4e, 0x04, 0x1e, 0x11, 0x01, 0x9b, 0x02, 0x07, 0x1e, 0x0e, 0x02, 0x6c, 0x03, 0x66, + 0x03, 0x10, 0x00, 0x00, 0x00, 0x9b, 0x04, 0x10, 0xfc, 0x03, 0x04, 0x42, 0x01, 0x9b, 0x00, 0x08, + 0x9b, 0x01, 0x59, 0x1e, 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x0b, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x9b, 0x00, 0x08, 0x9b, 0x01, 0x00, 0x1e, + 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x0b, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0a, 0x00, 0x94, 0x48, 0x00, 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, + 0x66, 0x01, 0x08, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x08, 0x00, 0x00, 0x00, 0x4a, 0x01, 0x94, 0xf4, + 0x01, 0x9b, 0x01, 0x0c, 0x1e, 0x0e, 0x01, 0x6c, 0x02, 0x66, 0x02, 0x04, 0x00, 0x00, 0x00, 0xfe, + 0x02, 0x04, 0x00, 0x00, 0x00, 0x26, 0x01, 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, + 0x01, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x01, 0x00, 0x00, 0x00, 0x1b, 0x01, 0x6c, 0x01, 0x66, + 0x01, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x02, 0x00, 0x00, 0x00, 0x1b, 0x01, 0xfb, 0x42, 0x01, + 0x90, 0x01, 0x51, 0x00, 0x00, 0x00, 0x7f, 0x01, 0xfb, 0x4a, 0x01, 0x90, 0x01, 0x44, 0x00, 0x00, + 0x00, 0x7f, 0x01, 0xfb, 0x4a, 0x01, 0x90, 0x01, 0x43, 0x00, 0x00, 0x00, 0x7f, 0x01, 0xfb, 0x4a, + 0x01, 0x90, 0x01, 0x54, 0x00, 0x00, 0x00, 0x7f, 0x01, 0xfb, 0x4a, 0x01, 0xfb, 0x4a, 0x01, 0xfb, + 0x4a, 0x01, 0x90, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7f, 0x01, +}; + +const unsigned char EnterProgModeHvSpRst_updi_0[316] = { + 0x50, 0x9b, 0x00, 0x08, 0x9b, 0x01, 0x05, 0x1e, 0x01, 0x00, 0x01, 0x51, 0xfd, 0x54, 0x00, 0x00, + 0x00, 0x23, 0x01, 0xfd, 0x08, 0x03, 0x00, 0x00, 0x2e, 0x01, 0xfd, 0x09, 0x03, 0x00, 0x00, 0x31, + 0x01, 0x94, 0x32, 0x00, 0x94, 0x40, 0x00, 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, + 0x01, 0x08, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x08, 0x00, 0x00, 0x00, 0x3c, 0x01, 0x9b, 0x00, 0x08, + 0x9b, 0x01, 0x59, 0x1e, 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x00, 0x65, 0x20, 0x67, 0x6f, 0x72, 0x04, + 0x65, 0x50, 0x4d, 0x56, 0x4e, 0x04, 0x1e, 0x11, 0x01, 0x9b, 0x02, 0x07, 0x1e, 0x0e, 0x02, 0x6c, + 0x03, 0x66, 0x03, 0x10, 0x00, 0x00, 0x00, 0x9b, 0x04, 0x10, 0xfc, 0x03, 0x04, 0x34, 0x01, 0x9b, + 0x00, 0x08, 0x9b, 0x01, 0x59, 0x1e, 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x0b, 0xa2, 0x1e, 0x0e, 0x01, + 0xa5, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x9b, 0x00, 0x08, 0x9b, 0x01, + 0x00, 0x1e, 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x0b, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x94, 0x48, 0x00, 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, + 0x6c, 0x01, 0x66, 0x01, 0x08, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x08, 0x00, 0x00, 0x00, 0x3c, 0x01, + 0x94, 0xf4, 0x01, 0x9b, 0x01, 0x0c, 0x1e, 0x0e, 0x01, 0x6c, 0x02, 0x66, 0x02, 0x04, 0x00, 0x00, + 0x00, 0xfe, 0x02, 0x04, 0x00, 0x00, 0x00, 0x18, 0x01, 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, + 0x01, 0x66, 0x01, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x01, 0x00, 0x00, 0x00, 0x0d, 0x01, 0x6c, + 0x01, 0x66, 0x01, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x02, 0x00, 0x00, 0x00, 0x0d, 0x01, 0xfb, + 0x34, 0x01, 0x90, 0x01, 0x51, 0x00, 0x00, 0x00, 0x7f, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x01, 0x44, + 0x00, 0x00, 0x00, 0x7f, 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x01, 0x43, 0x00, 0x00, 0x00, 0x7f, 0x01, + 0xfb, 0x3c, 0x01, 0x90, 0x01, 0x54, 0x00, 0x00, 0x00, 0x7f, 0x01, 0xfb, 0x3c, 0x01, 0xfb, 0x3c, + 0x01, 0xfb, 0x3c, 0x01, 0x90, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7f, 0x01, +}; + +const unsigned char EnterProgModeHvUpt_updi_0[341] = { + 0x50, 0x9b, 0x00, 0x08, 0x9b, 0x01, 0x03, 0x1e, 0x01, 0x00, 0x01, 0x51, 0xfd, 0x54, 0x00, 0x00, + 0x00, 0x3c, 0x01, 0xfd, 0x08, 0x03, 0x00, 0x00, 0x47, 0x01, 0xfd, 0x09, 0x03, 0x00, 0x00, 0x4a, + 0x01, 0xfd, 0x19, 0x00, 0x00, 0x00, 0x26, 0x01, 0xfd, 0x1b, 0x00, 0x00, 0x00, 0x26, 0x01, 0x94, + 0x32, 0x00, 0x94, 0x40, 0x00, 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x08, + 0x00, 0x00, 0x00, 0xfe, 0x01, 0x08, 0x00, 0x00, 0x00, 0x55, 0x01, 0x9b, 0x00, 0x08, 0x9b, 0x01, + 0x59, 0x1e, 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x00, 0x65, 0x20, 0x67, 0x6f, 0x72, 0x04, 0x65, 0x50, + 0x4d, 0x56, 0x4e, 0x04, 0x1e, 0x11, 0x01, 0x9b, 0x02, 0x07, 0x1e, 0x0e, 0x02, 0x6c, 0x03, 0x66, + 0x03, 0x10, 0x00, 0x00, 0x00, 0x9b, 0x04, 0x10, 0xfc, 0x03, 0x04, 0x4d, 0x01, 0x9b, 0x00, 0x08, + 0x9b, 0x01, 0x59, 0x1e, 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x0b, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x9b, 0x00, 0x08, 0x9b, 0x01, 0x00, 0x1e, + 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x0b, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0a, 0x00, 0x94, 0x48, 0x00, 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, + 0x66, 0x01, 0x08, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x08, 0x00, 0x00, 0x00, 0x55, 0x01, 0x9b, 0x00, + 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x31, 0x01, 0x6c, 0x01, 0x66, 0x01, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x02, 0x00, + 0x00, 0x00, 0x31, 0x01, 0x9b, 0x01, 0x0c, 0x1e, 0x0e, 0x01, 0x6c, 0x02, 0x66, 0x02, 0x04, 0x00, + 0x00, 0x00, 0xfe, 0x02, 0x04, 0x00, 0x00, 0x00, 0x31, 0x01, 0x94, 0xf4, 0x01, 0x9b, 0x01, 0x0c, + 0x1e, 0x0e, 0x01, 0x6c, 0x02, 0x66, 0x02, 0x04, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x04, 0x00, 0x00, + 0x00, 0x31, 0x01, 0xfb, 0x4d, 0x01, 0x90, 0x01, 0x51, 0x00, 0x00, 0x00, 0x7f, 0x01, 0xfb, 0x55, + 0x01, 0x90, 0x01, 0x44, 0x00, 0x00, 0x00, 0x7f, 0x01, 0xfb, 0x55, 0x01, 0x90, 0x01, 0x54, 0x00, + 0x00, 0x00, 0x7f, 0x01, 0xfb, 0x55, 0x01, 0xfb, 0x55, 0x01, 0xfb, 0x55, 0x01, 0x90, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x7f, 0x01, +}; + +const unsigned char ExitProgMode_updi_0[23] = { + 0x50, 0x9b, 0x00, 0x08, 0x9b, 0x01, 0x59, 0x1e, 0x0f, 0x00, 0x01, 0x9b, 0x00, 0x08, 0x9b, 0x01, + 0x00, 0x1e, 0x0f, 0x00, 0x01, 0x1e, 0x02, +}; + +const unsigned char SetSpeed_updi_0[5] = { + 0x91, 0x00, 0x1e, 0x14, 0x00, +}; + +const unsigned char GetDeviceID_updi_0[33] = { + 0x95, 0x90, 0x00, 0x00, 0x11, 0x00, 0x00, 0x1e, 0x09, 0x00, 0x9c, 0x01, 0x03, 0x00, 0x1e, 0x10, + 0x01, 0x9b, 0x02, 0x03, 0x1e, 0x0c, 0x02, 0x90, 0x02, 0x01, 0x0f, 0x00, 0x00, 0x1e, 0x03, 0x02, + 0x9f, +}; + +const unsigned char GetDeviceID_updi_1[33] = { + 0x95, 0x90, 0x00, 0x80, 0x10, 0x00, 0x00, 0x1e, 0x09, 0x00, 0x9c, 0x01, 0x03, 0x00, 0x1e, 0x10, + 0x01, 0x9b, 0x02, 0x03, 0x1e, 0x0c, 0x02, 0x90, 0x02, 0x01, 0x0f, 0x00, 0x00, 0x1e, 0x03, 0x02, + 0x9f, +}; + +const unsigned char EraseChip_updi_0[367] = { + 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x01, + 0x01, 0x00, 0x00, 0x00, 0x79, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x01, + 0x02, 0x00, 0x00, 0x00, 0x79, 0x00, 0x9b, 0x01, 0x0c, 0x1e, 0x0e, 0x01, 0x6c, 0x02, 0x66, 0x02, + 0x04, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x04, 0x00, 0x00, 0x00, 0x79, 0x00, 0x90, 0x00, 0x02, 0x10, + 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, + 0x00, 0x90, 0x01, 0x00, 0x10, 0x00, 0x00, 0x90, 0x02, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x01, + 0x02, 0x90, 0x00, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0xfb, 0x6e, 0x01, 0x94, 0x32, 0x00, 0x94, 0x40, 0x00, 0x90, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x65, 0x65, 0x73, 0x61, 0x72, 0x04, 0x65, 0x45, 0x4d, 0x56, 0x4e, + 0x04, 0x1e, 0x11, 0x01, 0x90, 0x02, 0x07, 0x00, 0x00, 0x00, 0x1e, 0x0e, 0x02, 0x6c, 0x03, 0x66, + 0x03, 0x08, 0x00, 0x00, 0x00, 0x90, 0x04, 0x08, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x04, 0x66, 0x01, + 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x08, 0x00, 0x00, 0x00, 0xfe, 0x01, + 0x08, 0x00, 0x00, 0x00, 0xee, 0x00, 0x9b, 0x01, 0x00, 0x65, 0x20, 0x67, 0x6f, 0x72, 0x04, 0x65, + 0x50, 0x4d, 0x56, 0x4e, 0x04, 0x1e, 0x11, 0x01, 0x9b, 0x02, 0x07, 0x1e, 0x0e, 0x02, 0x6c, 0x03, + 0x66, 0x03, 0x10, 0x00, 0x00, 0x00, 0x9b, 0x04, 0x10, 0xfc, 0x03, 0x04, 0x66, 0x01, 0x90, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x90, 0x01, 0x59, 0x00, 0x00, 0x00, 0x1e, 0x0f, 0x00, 0x01, 0x90, 0x01, + 0x0b, 0x00, 0x00, 0x00, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x0a, 0x00, 0x90, 0x00, 0x08, 0x00, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x0f, 0x00, 0x01, 0x90, 0x01, 0x0b, 0x00, 0x00, 0x00, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x90, 0x01, 0x0b, 0x00, 0x00, 0x00, 0xa2, 0x94, + 0x02, 0x00, 0x1e, 0x0e, 0x01, 0xa5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf4, 0x01, + 0x1e, 0x0e, 0x01, 0x6c, 0x03, 0x66, 0x03, 0x40, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x40, 0x00, 0x00, + 0x00, 0x66, 0x01, 0xfb, 0x3c, 0x00, 0x90, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7f, 0x01, 0x5a, +}; + +const unsigned char EraseChip_updi_1[399] = { + 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x01, + 0x01, 0x00, 0x00, 0x00, 0x89, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x01, + 0x02, 0x00, 0x00, 0x00, 0x89, 0x00, 0x9b, 0x01, 0x0c, 0x1e, 0x0e, 0x01, 0x6c, 0x02, 0x66, 0x02, + 0x04, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x04, 0x00, 0x00, 0x00, 0x89, 0x00, 0x90, 0x00, 0x02, 0x10, + 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, + 0x00, 0x90, 0x01, 0x00, 0x10, 0x00, 0x00, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x01, + 0x02, 0x90, 0x00, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x90, 0x01, 0x00, 0x10, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x01, 0x02, 0xfb, 0x8e, 0x01, 0x94, 0x32, 0x00, 0x94, 0x40, 0x00, 0x90, + 0x00, 0x08, 0x00, 0x00, 0x00, 0x90, 0x01, 0x59, 0x00, 0x00, 0x00, 0x1e, 0x0f, 0x00, 0x01, 0x90, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x65, 0x65, 0x73, 0x61, 0x72, 0x04, 0x65, 0x45, 0x4d, 0x56, 0x4e, + 0x04, 0x1e, 0x11, 0x01, 0x90, 0x02, 0x07, 0x00, 0x00, 0x00, 0x1e, 0x0e, 0x02, 0x6c, 0x03, 0x66, + 0x03, 0x08, 0x00, 0x00, 0x00, 0x90, 0x04, 0x08, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x04, 0x86, 0x01, + 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x08, 0x00, 0x00, 0x00, 0xfe, 0x01, + 0x08, 0x00, 0x00, 0x00, 0x0e, 0x01, 0x9b, 0x01, 0x00, 0x65, 0x20, 0x67, 0x6f, 0x72, 0x04, 0x65, + 0x50, 0x4d, 0x56, 0x4e, 0x04, 0x1e, 0x11, 0x01, 0x9b, 0x02, 0x07, 0x1e, 0x0e, 0x02, 0x6c, 0x03, + 0x66, 0x03, 0x10, 0x00, 0x00, 0x00, 0x9b, 0x04, 0x10, 0xfc, 0x03, 0x04, 0x86, 0x01, 0x90, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x90, 0x01, 0x59, 0x00, 0x00, 0x00, 0x1e, 0x0f, 0x00, 0x01, 0x90, 0x01, + 0x0b, 0x00, 0x00, 0x00, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x0a, 0x00, 0x90, 0x00, 0x08, 0x00, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x0f, 0x00, 0x01, 0x90, 0x01, 0x0b, 0x00, 0x00, 0x00, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x90, 0x01, 0x0b, 0x00, 0x00, 0x00, 0xa2, 0x94, + 0x02, 0x00, 0x1e, 0x0e, 0x01, 0xa5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf4, 0x01, + 0x1e, 0x0e, 0x01, 0x6c, 0x03, 0x66, 0x03, 0x40, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x40, 0x00, 0x00, + 0x00, 0x86, 0x01, 0xfb, 0x3c, 0x00, 0x90, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7f, 0x01, 0x5a, +}; + +const unsigned char EraseChip_updi_2[367] = { + 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x01, + 0x01, 0x00, 0x00, 0x00, 0x79, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x01, + 0x02, 0x00, 0x00, 0x00, 0x79, 0x00, 0x9b, 0x01, 0x0c, 0x1e, 0x0e, 0x01, 0x6c, 0x02, 0x66, 0x02, + 0x04, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x04, 0x00, 0x00, 0x00, 0x79, 0x00, 0x90, 0x00, 0x06, 0x10, + 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, + 0x00, 0x90, 0x01, 0x00, 0x10, 0x00, 0x00, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x01, + 0x02, 0x90, 0x00, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0xfb, 0x6e, 0x01, 0x94, 0x32, 0x00, 0x94, 0x40, 0x00, 0x90, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x65, 0x65, 0x73, 0x61, 0x72, 0x04, 0x65, 0x45, 0x4d, 0x56, 0x4e, + 0x04, 0x1e, 0x11, 0x01, 0x90, 0x02, 0x07, 0x00, 0x00, 0x00, 0x1e, 0x0e, 0x02, 0x6c, 0x03, 0x66, + 0x03, 0x08, 0x00, 0x00, 0x00, 0x90, 0x04, 0x08, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x04, 0x66, 0x01, + 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x08, 0x00, 0x00, 0x00, 0xfe, 0x01, + 0x08, 0x00, 0x00, 0x00, 0xee, 0x00, 0x9b, 0x01, 0x00, 0x65, 0x20, 0x67, 0x6f, 0x72, 0x04, 0x65, + 0x50, 0x4d, 0x56, 0x4e, 0x04, 0x1e, 0x11, 0x01, 0x9b, 0x02, 0x07, 0x1e, 0x0e, 0x02, 0x6c, 0x03, + 0x66, 0x03, 0x10, 0x00, 0x00, 0x00, 0x9b, 0x04, 0x10, 0xfc, 0x03, 0x04, 0x66, 0x01, 0x90, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x90, 0x01, 0x59, 0x00, 0x00, 0x00, 0x1e, 0x0f, 0x00, 0x01, 0x90, 0x01, + 0x0b, 0x00, 0x00, 0x00, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x0a, 0x00, 0x90, 0x00, 0x08, 0x00, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x0f, 0x00, 0x01, 0x90, 0x01, 0x0b, 0x00, 0x00, 0x00, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x90, 0x01, 0x0b, 0x00, 0x00, 0x00, 0xa2, 0x94, + 0x02, 0x00, 0x1e, 0x0e, 0x01, 0xa5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf4, 0x01, + 0x1e, 0x0e, 0x01, 0x6c, 0x03, 0x66, 0x03, 0x40, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x40, 0x00, 0x00, + 0x00, 0x66, 0x01, 0xfb, 0x3c, 0x00, 0x90, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7f, 0x01, 0x5a, +}; + +const unsigned char EraseChip_updi_3[399] = { + 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x01, + 0x01, 0x00, 0x00, 0x00, 0x89, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x01, + 0x02, 0x00, 0x00, 0x00, 0x89, 0x00, 0x9b, 0x01, 0x0c, 0x1e, 0x0e, 0x01, 0x6c, 0x02, 0x66, 0x02, + 0x04, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x04, 0x00, 0x00, 0x00, 0x89, 0x00, 0x90, 0x00, 0x06, 0x10, + 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, + 0x00, 0x90, 0x01, 0x00, 0x10, 0x00, 0x00, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x01, + 0x02, 0x90, 0x00, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x90, 0x01, 0x00, 0x10, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x01, 0x02, 0xfb, 0x8e, 0x01, 0x94, 0x32, 0x00, 0x94, 0x40, 0x00, 0x90, + 0x00, 0x08, 0x00, 0x00, 0x00, 0x90, 0x01, 0x59, 0x00, 0x00, 0x00, 0x1e, 0x0f, 0x00, 0x01, 0x90, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x65, 0x65, 0x73, 0x61, 0x72, 0x04, 0x65, 0x45, 0x4d, 0x56, 0x4e, + 0x04, 0x1e, 0x11, 0x01, 0x90, 0x02, 0x07, 0x00, 0x00, 0x00, 0x1e, 0x0e, 0x02, 0x6c, 0x03, 0x66, + 0x03, 0x08, 0x00, 0x00, 0x00, 0x90, 0x04, 0x08, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x04, 0x86, 0x01, + 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x08, 0x00, 0x00, 0x00, 0xfe, 0x01, + 0x08, 0x00, 0x00, 0x00, 0x0e, 0x01, 0x9b, 0x01, 0x00, 0x65, 0x20, 0x67, 0x6f, 0x72, 0x04, 0x65, + 0x50, 0x4d, 0x56, 0x4e, 0x04, 0x1e, 0x11, 0x01, 0x9b, 0x02, 0x07, 0x1e, 0x0e, 0x02, 0x6c, 0x03, + 0x66, 0x03, 0x10, 0x00, 0x00, 0x00, 0x9b, 0x04, 0x10, 0xfc, 0x03, 0x04, 0x86, 0x01, 0x90, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x90, 0x01, 0x59, 0x00, 0x00, 0x00, 0x1e, 0x0f, 0x00, 0x01, 0x90, 0x01, + 0x0b, 0x00, 0x00, 0x00, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x0a, 0x00, 0x90, 0x00, 0x08, 0x00, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x0f, 0x00, 0x01, 0x90, 0x01, 0x0b, 0x00, 0x00, 0x00, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x90, 0x01, 0x0b, 0x00, 0x00, 0x00, 0xa2, 0x94, + 0x02, 0x00, 0x1e, 0x0e, 0x01, 0xa5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf4, 0x01, + 0x1e, 0x0e, 0x01, 0x6c, 0x03, 0x66, 0x03, 0x40, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x40, 0x00, 0x00, + 0x00, 0x86, 0x01, 0xfb, 0x3c, 0x00, 0x90, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7f, 0x01, 0x5a, +}; + +const unsigned char EraseChip_updi_4[399] = { + 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x01, + 0x01, 0x00, 0x00, 0x00, 0x89, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x01, + 0x02, 0x00, 0x00, 0x00, 0x89, 0x00, 0x9b, 0x01, 0x0c, 0x1e, 0x0e, 0x01, 0x6c, 0x02, 0x66, 0x02, + 0x04, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x04, 0x00, 0x00, 0x00, 0x89, 0x00, 0x90, 0x00, 0x07, 0x10, + 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, + 0x00, 0x90, 0x01, 0x00, 0x10, 0x00, 0x00, 0x90, 0x02, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x01, + 0x02, 0x90, 0x00, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x90, 0x01, 0x00, 0x10, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x01, 0x02, 0xfb, 0x8e, 0x01, 0x94, 0x32, 0x00, 0x94, 0x40, 0x00, 0x90, + 0x00, 0x08, 0x00, 0x00, 0x00, 0x90, 0x01, 0x59, 0x00, 0x00, 0x00, 0x1e, 0x0f, 0x00, 0x01, 0x90, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x65, 0x65, 0x73, 0x61, 0x72, 0x04, 0x65, 0x45, 0x4d, 0x56, 0x4e, + 0x04, 0x1e, 0x11, 0x01, 0x90, 0x02, 0x07, 0x00, 0x00, 0x00, 0x1e, 0x0e, 0x02, 0x6c, 0x03, 0x66, + 0x03, 0x08, 0x00, 0x00, 0x00, 0x90, 0x04, 0x08, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x04, 0x86, 0x01, + 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x08, 0x00, 0x00, 0x00, 0xfe, 0x01, + 0x08, 0x00, 0x00, 0x00, 0x0e, 0x01, 0x9b, 0x01, 0x00, 0x65, 0x20, 0x67, 0x6f, 0x72, 0x04, 0x65, + 0x50, 0x4d, 0x56, 0x4e, 0x04, 0x1e, 0x11, 0x01, 0x9b, 0x02, 0x07, 0x1e, 0x0e, 0x02, 0x6c, 0x03, + 0x66, 0x03, 0x10, 0x00, 0x00, 0x00, 0x9b, 0x04, 0x10, 0xfc, 0x03, 0x04, 0x86, 0x01, 0x90, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x90, 0x01, 0x59, 0x00, 0x00, 0x00, 0x1e, 0x0f, 0x00, 0x01, 0x90, 0x01, + 0x0b, 0x00, 0x00, 0x00, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x0a, 0x00, 0x90, 0x00, 0x08, 0x00, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0x00, 0x00, 0x1e, + 0x0f, 0x00, 0x01, 0x90, 0x01, 0x0b, 0x00, 0x00, 0x00, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x90, 0x01, 0x0b, 0x00, 0x00, 0x00, 0xa2, 0x94, + 0x02, 0x00, 0x1e, 0x0e, 0x01, 0xa5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf4, 0x01, + 0x1e, 0x0e, 0x01, 0x6c, 0x03, 0x66, 0x03, 0x40, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x40, 0x00, 0x00, + 0x00, 0x86, 0x01, 0xfb, 0x3c, 0x00, 0x90, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7f, 0x01, 0x5a, +}; + +const unsigned char WriteProgmem_updi_0[231] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x08, 0x10, 0x00, 0x00, 0x1e, 0x03, 0x02, 0x6c, 0x0a, 0x90, + 0x02, 0x09, 0x10, 0x00, 0x00, 0x1e, 0x03, 0x02, 0x6c, 0x0b, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0f, 0x40, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0x2e, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, + 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x10, + 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x7c, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, + 0x04, 0x10, 0x67, 0x04, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, + 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x6e, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, + 0x07, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x0c, 0x0d, 0xd3, 0x00, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, 0x01, + 0x11, 0x20, 0x00, 0x90, 0x02, 0x08, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x0a, 0x90, 0x02, 0x09, + 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x0b, +}; + +const unsigned char WriteProgmem_updi_1[231] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x08, 0x10, 0x00, 0x00, 0x1e, 0x03, 0x02, 0x6c, 0x0a, 0x90, + 0x02, 0x09, 0x10, 0x00, 0x00, 0x1e, 0x03, 0x02, 0x6c, 0x0b, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0f, 0x80, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0x2e, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, + 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x10, + 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x7c, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, + 0x04, 0x10, 0x67, 0x04, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, + 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x6e, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, + 0x07, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x0c, 0x0d, 0xd3, 0x00, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, 0x01, + 0x11, 0x20, 0x00, 0x90, 0x02, 0x08, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x0a, 0x90, 0x02, 0x09, + 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x0b, +}; + +const unsigned char WriteProgmem_updi_2[272] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, + 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x11, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0f, 0x00, 0x02, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0x30, 0x00, 0x60, 0x0f, 0x01, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x08, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, + 0x90, 0x06, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x00, 0x06, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, + 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, + 0x06, 0x07, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, + 0x90, 0x07, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, + 0xfa, 0x0f, 0x10, 0xa8, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, 0x04, 0x10, 0x67, 0x04, + 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, + 0xfc, 0x0f, 0x11, 0x9a, 0x00, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, + 0x00, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, + 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0xfc, 0x01, 0x11, 0x22, 0x00, 0x5a, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, +}; + +const unsigned char WriteProgmem_updi_3[231] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x0c, 0x10, 0x00, 0x00, 0x1e, 0x03, 0x02, 0x6c, 0x0a, 0x90, + 0x02, 0x0d, 0x10, 0x00, 0x00, 0x1e, 0x03, 0x02, 0x6c, 0x0b, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0f, 0x80, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0x2e, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, + 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, 0x0f, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x10, + 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x7c, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, + 0x04, 0x10, 0x67, 0x04, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, + 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x6e, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, + 0x07, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x0c, 0x0d, 0xd3, 0x00, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, 0x01, + 0x11, 0x20, 0x00, 0x90, 0x02, 0x0c, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x0a, 0x90, 0x02, 0x0d, + 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x0b, +}; + +const unsigned char WriteProgmem_updi_4[272] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, + 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x11, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0f, 0x00, 0x02, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0x30, 0x00, 0x60, 0x0f, 0x01, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x08, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, + 0x90, 0x06, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x00, 0x06, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, + 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, + 0x06, 0x07, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, + 0x90, 0x07, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, + 0xfa, 0x0f, 0x10, 0xa8, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, 0x04, 0x10, 0x67, 0x04, + 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, + 0xfc, 0x0f, 0x11, 0x9a, 0x00, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, + 0x00, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, + 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0xfc, 0x01, 0x11, 0x22, 0x00, 0x5a, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, +}; + +const unsigned char WriteProgmem_updi_5[231] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x0c, 0x10, 0x00, 0x00, 0x1e, 0x03, 0x02, 0x6c, 0x0a, 0x90, + 0x02, 0x0d, 0x10, 0x00, 0x00, 0x1e, 0x03, 0x02, 0x6c, 0x0b, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x0f, 0x40, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0x2e, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, + 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, 0x0f, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x10, + 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x7c, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, + 0x04, 0x10, 0x67, 0x04, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, + 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x6e, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, + 0x07, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x0c, 0x0d, 0xd3, 0x00, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, 0x01, + 0x11, 0x20, 0x00, 0x90, 0x02, 0x0c, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x0a, 0x90, 0x02, 0x0d, + 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x0b, +}; + +const unsigned char WriteProgmem_updi_6[272] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, + 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x11, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x0f, 0x00, 0x02, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0x30, 0x00, 0x60, 0x0f, 0x01, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x08, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, + 0x90, 0x06, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x00, 0x06, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, + 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, + 0x06, 0x07, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, + 0x90, 0x07, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, + 0xfa, 0x0f, 0x10, 0xa8, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, 0x04, 0x10, 0x67, 0x04, + 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, + 0xfc, 0x0f, 0x11, 0x9a, 0x00, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, + 0x00, 0x01, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, + 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0xfc, 0x01, 0x11, 0x22, 0x00, 0x5a, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, +}; + +const unsigned char ReadProgmem_updi_0[73] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x40, 0x00, 0x00, + 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, + 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, 0x04, 0x10, 0x67, 0x04, 0x01, + 0x1e, 0x10, 0x04, 0x1e, 0x0d, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, + 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, 0x11, 0x0b, 0x00, +}; + +const unsigned char ReadProgmem_updi_1[73] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x80, 0x00, 0x00, + 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, + 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, 0x04, 0x10, 0x67, 0x04, 0x01, + 0x1e, 0x10, 0x04, 0x1e, 0x0d, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, + 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, 0x11, 0x0b, 0x00, +}; + +const unsigned char ReadProgmem_updi_2[73] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x02, 0x00, + 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, + 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, 0x04, 0x10, 0x67, 0x04, 0x01, + 0x1e, 0x10, 0x04, 0x1e, 0x0d, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, + 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, 0x11, 0x0b, 0x00, +}; + +const unsigned char WriteDataEEmem_updi_0[208] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, + 0xfa, 0x01, 0x0f, 0x18, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, + 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, + 0x04, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, + 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, + 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x7e, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, + 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, 0x10, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, + 0xfc, 0x0f, 0x11, 0x70, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x03, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, + 0xcf, 0x00, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, 0x01, 0x11, 0x0a, 0x00, 0xaf, +}; + +const unsigned char WriteDataEEmem_updi_1[208] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x40, 0x00, 0x00, 0x00, + 0xfa, 0x01, 0x0f, 0x18, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, + 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, + 0x04, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, + 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, + 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x7e, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, + 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, 0x10, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, + 0xfc, 0x0f, 0x11, 0x70, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x03, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, + 0xcf, 0x00, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, 0x01, 0x11, 0x0a, 0x00, 0xaf, +}; + +const unsigned char WriteDataEEmem_updi_2[176] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x01, 0x00, 0x00, 0x00, + 0xfa, 0x01, 0x0f, 0x18, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, + 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, + 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x4e, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, + 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, 0x10, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, + 0xfc, 0x0f, 0x11, 0x40, 0x00, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, + 0xa0, 0x00, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, + 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0xfc, 0x01, 0x11, 0x0a, 0x00, 0x5a, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, +}; + +const unsigned char WriteDataEEmem_updi_3[208] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x08, 0x00, 0x00, 0x00, + 0xfa, 0x01, 0x0f, 0x18, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x03, 0x1f, 0x00, 0x00, 0x00, 0xfe, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, + 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, + 0x0f, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, + 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, + 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x7e, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, + 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, 0x10, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, + 0xfc, 0x0f, 0x11, 0x70, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x15, 0x00, 0x00, + 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, + 0xcf, 0x00, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, 0x01, 0x11, 0x0a, 0x00, 0xaf, +}; + +const unsigned char WriteDataEEmem_updi_4[176] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x01, 0x00, 0x00, 0x00, + 0xfa, 0x01, 0x0f, 0x18, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, + 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, + 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x4e, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, + 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, 0x10, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, + 0xfc, 0x0f, 0x11, 0x40, 0x00, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, + 0xa0, 0x00, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, + 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0xfc, 0x01, 0x11, 0x0a, 0x00, 0x5a, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, +}; + +const unsigned char WriteDataEEmem_updi_5[176] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x01, 0x00, 0x00, 0x00, + 0xfa, 0x01, 0x0f, 0x18, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, + 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, + 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x4e, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, + 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, 0x10, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, + 0xfc, 0x0f, 0x11, 0x40, 0x00, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, + 0xa0, 0x00, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, + 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0xfc, 0x01, 0x11, 0x0a, 0x00, 0x5a, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, +}; + +const unsigned char ReadDataEEmem_updi_0[67] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, + 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0c, 0x10, + 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, + 0x11, 0x0b, 0x00, +}; + +const unsigned char ReadDataEEmem_updi_1[67] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x40, 0x00, 0x00, + 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, + 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0c, 0x10, + 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, + 0x11, 0x0b, 0x00, +}; + +const unsigned char ReadDataEEmem_updi_2[67] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x01, 0x00, 0x00, + 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, + 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0c, 0x10, + 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, + 0x11, 0x0b, 0x00, +}; + +const unsigned char ReadDataEEmem_updi_3[67] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x08, 0x00, 0x00, + 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, + 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0c, 0x10, + 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, + 0x11, 0x0b, 0x00, +}; + +const unsigned char WriteConfigmem_updi_0[369] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x01, 0x00, 0x00, 0x00, + 0x93, 0x00, 0xad, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, + 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x60, 0x03, 0x00, 0x60, + 0x04, 0x00, 0x66, 0x03, 0xff, 0x00, 0x00, 0x00, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, 0x00, + 0x00, 0x90, 0x06, 0x08, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x03, 0x90, 0x06, 0x09, 0x10, 0x00, + 0x00, 0x1e, 0x06, 0x06, 0x04, 0x90, 0x06, 0x06, 0x10, 0x00, 0x00, 0x99, 0x07, 0x1e, 0x06, 0x06, + 0x07, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x07, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, + 0x07, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0xfb, 0x70, 0x01, 0xad, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, + 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x60, 0x03, 0x00, + 0x60, 0x04, 0x00, 0x66, 0x03, 0xff, 0x00, 0x00, 0x00, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, + 0x00, 0x00, 0x90, 0x06, 0x08, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x03, 0x90, 0x06, 0x09, 0x10, + 0x00, 0x00, 0x1e, 0x06, 0x06, 0x04, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, + 0x00, 0x00, 0xee, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, + 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x99, 0x07, + 0x1e, 0x06, 0x00, 0x07, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, + 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0xaf, +}; + +const unsigned char WriteConfigmem_updi_1[128] = { + 0x91, 0x00, 0x91, 0x01, 0xad, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, + 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x99, 0x03, + 0x1e, 0x06, 0x00, 0x03, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, + 0x00, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, +}; + +const unsigned char WriteConfigmem_updi_2[369] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x01, 0x00, 0x00, 0x00, + 0x93, 0x00, 0xad, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, + 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x60, 0x03, 0x00, 0x60, + 0x04, 0x00, 0x66, 0x03, 0xff, 0x00, 0x00, 0x00, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, 0x00, + 0x00, 0x90, 0x06, 0x0c, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x03, 0x90, 0x06, 0x0d, 0x10, 0x00, + 0x00, 0x1e, 0x06, 0x06, 0x04, 0x90, 0x06, 0x08, 0x10, 0x00, 0x00, 0x99, 0x07, 0x1e, 0x06, 0x06, + 0x07, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, + 0x07, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0xfb, 0x70, 0x01, 0xad, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, + 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x60, 0x03, 0x00, + 0x60, 0x04, 0x00, 0x66, 0x03, 0xff, 0x00, 0x00, 0x00, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, + 0x00, 0x00, 0x90, 0x06, 0x0c, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x03, 0x90, 0x06, 0x0d, 0x10, + 0x00, 0x00, 0x1e, 0x06, 0x06, 0x04, 0x90, 0x03, 0x1f, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, + 0x00, 0x00, 0xee, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, + 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, 0x0f, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x99, 0x07, + 0x1e, 0x06, 0x00, 0x07, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x15, 0x00, 0x00, 0x00, + 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, + 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0xaf, +}; + +const unsigned char WriteConfigmem_updi_3[128] = { + 0x91, 0x00, 0x91, 0x01, 0xad, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, + 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x99, 0x03, + 0x1e, 0x06, 0x00, 0x03, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, + 0x00, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, +}; + +const unsigned char WriteConfigmem_updi_4[128] = { + 0x91, 0x00, 0x91, 0x01, 0xad, 0x01, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, + 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x99, 0x03, + 0x1e, 0x06, 0x00, 0x03, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, + 0x00, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, +}; + +const unsigned char WriteConfigmemFuse_updi_0[369] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x01, 0x00, 0x00, 0x00, + 0x93, 0x00, 0xad, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, + 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x60, 0x03, 0x00, 0x60, + 0x04, 0x00, 0x66, 0x03, 0xff, 0x00, 0x00, 0x00, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, 0x00, + 0x00, 0x90, 0x06, 0x08, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x03, 0x90, 0x06, 0x09, 0x10, 0x00, + 0x00, 0x1e, 0x06, 0x06, 0x04, 0x90, 0x06, 0x06, 0x10, 0x00, 0x00, 0x99, 0x07, 0x1e, 0x06, 0x06, + 0x07, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x07, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, + 0x07, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0xfb, 0x70, 0x01, 0xad, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, + 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x60, 0x03, 0x00, + 0x60, 0x04, 0x00, 0x66, 0x03, 0xff, 0x00, 0x00, 0x00, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, + 0x00, 0x00, 0x90, 0x06, 0x08, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x03, 0x90, 0x06, 0x09, 0x10, + 0x00, 0x00, 0x1e, 0x06, 0x06, 0x04, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, + 0x00, 0x00, 0xee, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, + 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x99, 0x07, + 0x1e, 0x06, 0x00, 0x07, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, + 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0xaf, +}; + +const unsigned char WriteConfigmemFuse_updi_1[128] = { + 0x91, 0x00, 0x91, 0x01, 0xad, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, + 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x99, 0x03, + 0x1e, 0x06, 0x00, 0x03, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, + 0x00, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, +}; + +const unsigned char WriteConfigmemFuse_updi_2[369] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x01, 0x00, 0x00, 0x00, + 0x93, 0x00, 0xad, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, + 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x60, 0x03, 0x00, 0x60, + 0x04, 0x00, 0x66, 0x03, 0xff, 0x00, 0x00, 0x00, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, 0x00, + 0x00, 0x90, 0x06, 0x0c, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x03, 0x90, 0x06, 0x0d, 0x10, 0x00, + 0x00, 0x1e, 0x06, 0x06, 0x04, 0x90, 0x06, 0x08, 0x10, 0x00, 0x00, 0x99, 0x07, 0x1e, 0x06, 0x06, + 0x07, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, + 0x07, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0xfb, 0x70, 0x01, 0xad, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, + 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x60, 0x03, 0x00, + 0x60, 0x04, 0x00, 0x66, 0x03, 0xff, 0x00, 0x00, 0x00, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, + 0x00, 0x00, 0x90, 0x06, 0x0c, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x03, 0x90, 0x06, 0x0d, 0x10, + 0x00, 0x00, 0x1e, 0x06, 0x06, 0x04, 0x90, 0x03, 0x1f, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, + 0x00, 0x00, 0xee, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, + 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, 0x0f, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x99, 0x07, + 0x1e, 0x06, 0x00, 0x07, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x15, 0x00, 0x00, 0x00, + 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, + 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0xaf, +}; + +const unsigned char WriteConfigmemFuse_updi_3[128] = { + 0x91, 0x00, 0x91, 0x01, 0xad, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, + 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x99, 0x03, + 0x1e, 0x06, 0x00, 0x03, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, + 0x00, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, +}; + +const unsigned char WriteConfigmemFuse_updi_4[128] = { + 0x91, 0x00, 0x91, 0x01, 0xad, 0x01, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, + 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x99, 0x03, + 0x1e, 0x06, 0x00, 0x03, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, + 0x00, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, +}; + +const unsigned char WriteConfigmemLock_updi_0[369] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x01, 0x00, 0x00, 0x00, + 0x93, 0x00, 0xad, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, + 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x60, 0x03, 0x00, 0x60, + 0x04, 0x00, 0x66, 0x03, 0xff, 0x00, 0x00, 0x00, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, 0x00, + 0x00, 0x90, 0x06, 0x08, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x03, 0x90, 0x06, 0x09, 0x10, 0x00, + 0x00, 0x1e, 0x06, 0x06, 0x04, 0x90, 0x06, 0x06, 0x10, 0x00, 0x00, 0x99, 0x07, 0x1e, 0x06, 0x06, + 0x07, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x07, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, + 0x07, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0xfb, 0x70, 0x01, 0xad, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, + 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x60, 0x03, 0x00, + 0x60, 0x04, 0x00, 0x66, 0x03, 0xff, 0x00, 0x00, 0x00, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, + 0x00, 0x00, 0x90, 0x06, 0x08, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x03, 0x90, 0x06, 0x09, 0x10, + 0x00, 0x00, 0x1e, 0x06, 0x06, 0x04, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, + 0x00, 0x00, 0xee, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, + 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, 0x04, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x99, 0x07, + 0x1e, 0x06, 0x00, 0x07, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, + 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0xaf, +}; + +const unsigned char WriteConfigmemLock_updi_1[128] = { + 0x91, 0x00, 0x91, 0x01, 0xad, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, + 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x99, 0x03, + 0x1e, 0x06, 0x00, 0x03, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, + 0x00, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, +}; + +const unsigned char WriteConfigmemLock_updi_2[369] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x01, 0x00, 0x00, 0x00, + 0x93, 0x00, 0xad, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, + 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x60, 0x03, 0x00, 0x60, + 0x04, 0x00, 0x66, 0x03, 0xff, 0x00, 0x00, 0x00, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, 0x00, + 0x00, 0x90, 0x06, 0x0c, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x03, 0x90, 0x06, 0x0d, 0x10, 0x00, + 0x00, 0x1e, 0x06, 0x06, 0x04, 0x90, 0x06, 0x08, 0x10, 0x00, 0x00, 0x99, 0x07, 0x1e, 0x06, 0x06, + 0x07, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, + 0x07, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0xfb, 0x70, 0x01, 0xad, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, + 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x60, 0x03, 0x00, + 0x60, 0x04, 0x00, 0x66, 0x03, 0xff, 0x00, 0x00, 0x00, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, + 0x00, 0x00, 0x90, 0x06, 0x0c, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x03, 0x90, 0x06, 0x0d, 0x10, + 0x00, 0x00, 0x1e, 0x06, 0x06, 0x04, 0x90, 0x03, 0x1f, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, + 0x00, 0x00, 0xee, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, + 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, 0x0f, 0x00, + 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x99, 0x07, + 0x1e, 0x06, 0x00, 0x07, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x15, 0x00, 0x00, 0x00, + 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, + 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0xaf, +}; + +const unsigned char WriteConfigmemLock_updi_3[128] = { + 0x91, 0x00, 0x91, 0x01, 0xad, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, + 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x99, 0x03, + 0x1e, 0x06, 0x00, 0x03, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, + 0x00, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, +}; + +const unsigned char WriteConfigmemLock_updi_4[128] = { + 0x91, 0x00, 0x91, 0x01, 0xad, 0x01, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, + 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, + 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x99, 0x03, + 0x1e, 0x06, 0x00, 0x03, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, + 0x00, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, +}; + +const unsigned char ReadConfigmem_updi_0[19] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, + 0x00, 0xae, 0x5a, +}; + +const unsigned char ReadConfigmemFuse_updi_0[19] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, + 0x00, 0xae, 0x5a, +}; + +const unsigned char ReadConfigmemLock_updi_0[19] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, + 0x00, 0xae, 0x5a, +}; + +const unsigned char WriteIDmem_updi_0[421] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x02, 0x00, 0x00, 0x00, + 0x1d, 0x00, 0xfe, 0x03, 0x01, 0x00, 0x00, 0x00, 0xd9, 0x00, 0xfb, 0xa4, 0x01, 0x90, 0x11, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0xed, 0x00, 0x60, 0x0f, + 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, + 0x03, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, + 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0x00, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x53, 0x01, 0x60, 0x10, 0x0f, 0x1e, + 0x09, 0x00, 0x60, 0x04, 0x10, 0x67, 0x04, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, + 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x45, 0x01, 0x90, 0x06, 0x00, 0x10, + 0x00, 0x00, 0x90, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0xa4, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, + 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0x00, 0xfc, 0x01, 0x11, 0xdf, 0x00, 0xfb, 0xa4, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0f, 0x20, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0xed, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x03, 0x00, + 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0x90, 0x02, 0x00, 0x10, 0x00, + 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, + 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, + 0x10, 0x00, 0x00, 0x90, 0x03, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, + 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x53, 0x01, + 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, 0x10, 0x6a, 0x0f, 0x10, 0x6e, + 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x45, 0x01, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, + 0x90, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0xa4, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, + 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, + 0x01, 0x11, 0xdf, 0x00, 0xaf, +}; + +const unsigned char WriteIDmem_updi_1[421] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x02, 0x00, 0x00, 0x00, + 0x1d, 0x00, 0xfe, 0x03, 0x01, 0x00, 0x00, 0x00, 0xd9, 0x00, 0xfb, 0xa4, 0x01, 0x90, 0x11, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0f, 0x40, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0xed, 0x00, 0x60, 0x0f, + 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, + 0x03, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, + 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0x00, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x53, 0x01, 0x60, 0x10, 0x0f, 0x1e, + 0x09, 0x00, 0x60, 0x04, 0x10, 0x67, 0x04, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, + 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x45, 0x01, 0x90, 0x06, 0x00, 0x10, + 0x00, 0x00, 0x90, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0xa4, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, + 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0x00, 0xfc, 0x01, 0x11, 0xdf, 0x00, 0xfb, 0xa4, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0f, 0x40, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0xed, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x03, 0x00, + 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0x90, 0x02, 0x00, 0x10, 0x00, + 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, + 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, + 0x10, 0x00, 0x00, 0x90, 0x03, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, + 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x53, 0x01, + 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, 0x10, 0x6a, 0x0f, 0x10, 0x6e, + 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x45, 0x01, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, + 0x90, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0xa4, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, + 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, + 0x01, 0x11, 0xdf, 0x00, 0xaf, +}; + +const unsigned char WriteIDmem_updi_2[266] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, + 0xfa, 0x01, 0x0f, 0x18, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, + 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x08, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, + 0x90, 0x06, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x00, 0x06, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, + 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, + 0x06, 0x07, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, + 0x90, 0x07, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, + 0xfa, 0x0f, 0x10, 0xa8, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, + 0x10, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x9a, 0x00, 0x6c, + 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0xfa, 0x00, 0x90, 0x02, 0x02, 0x10, + 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x06, 0x06, 0x07, 0xfc, 0x01, 0x11, 0x0a, 0x00, 0x5a, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, + 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, +}; + +const unsigned char WriteIDmem_updi_3[421] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x03, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x02, 0x00, 0x00, 0x00, + 0x1d, 0x00, 0xfe, 0x03, 0x01, 0x00, 0x00, 0x00, 0xd9, 0x00, 0xfb, 0xa4, 0x01, 0x90, 0x11, 0x00, + 0x00, 0x00, 0x00, 0x90, 0x0f, 0x40, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0xed, 0x00, 0x60, 0x0f, + 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, + 0x03, 0x0f, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, + 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0x00, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x53, 0x01, 0x60, 0x10, 0x0f, 0x1e, + 0x09, 0x00, 0x60, 0x04, 0x10, 0x67, 0x04, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, + 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x45, 0x01, 0x90, 0x06, 0x00, 0x10, + 0x00, 0x00, 0x90, 0x07, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0xa4, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, + 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0x00, 0xfc, 0x01, 0x11, 0xdf, 0x00, 0xfb, 0xa4, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x0f, 0x40, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0xed, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x03, 0x1f, + 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0x90, 0x02, 0x00, 0x10, 0x00, + 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, + 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, + 0x10, 0x00, 0x00, 0x90, 0x03, 0x0f, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x06, + 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x53, 0x01, + 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, 0x10, 0x6a, 0x0f, 0x10, 0x6e, + 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x45, 0x01, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, + 0x90, 0x07, 0x15, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0xa4, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, + 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, + 0x01, 0x11, 0xdf, 0x00, 0xaf, +}; + +const unsigned char WriteIDmem_updi_4[266] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x02, 0x00, 0x00, + 0xfa, 0x01, 0x0f, 0x18, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, + 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x08, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, + 0x90, 0x06, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x00, 0x06, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, + 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, + 0x06, 0x07, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, + 0x90, 0x07, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, + 0xfa, 0x0f, 0x10, 0xa8, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, + 0x10, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x9a, 0x00, 0x6c, + 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0xfa, 0x00, 0x90, 0x02, 0x06, 0x10, + 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x06, 0x06, 0x07, 0xfc, 0x01, 0x11, 0x0a, 0x00, 0x5a, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, + 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, +}; + +const unsigned char WriteIDmem_updi_5[266] = { + 0x91, 0x00, 0x91, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x02, 0x00, 0x00, + 0xfa, 0x01, 0x0f, 0x18, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, + 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, + 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x08, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, + 0x90, 0x06, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x00, 0x06, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, + 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, + 0x06, 0x07, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, + 0x90, 0x07, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, + 0xfa, 0x0f, 0x10, 0xa8, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, + 0x10, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x9a, 0x00, 0x6c, + 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0xfa, 0x00, 0x90, 0x02, 0x07, 0x10, + 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x06, 0x06, 0x07, 0xfc, 0x01, 0x11, 0x0a, 0x00, 0x5a, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, + 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, +}; + +const unsigned char ReadIDmem_updi_0[67] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x20, 0x00, 0x00, + 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, + 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0c, 0x10, + 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, + 0x11, 0x0b, 0x00, +}; + +const unsigned char ReadIDmem_updi_1[67] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x40, 0x00, 0x00, + 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, + 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0c, 0x10, + 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, + 0x11, 0x0b, 0x00, +}; + +const unsigned char ReadIDmem_updi_2[67] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x02, 0x00, + 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, + 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0c, 0x10, + 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, + 0x11, 0x0b, 0x00, +}; + +const unsigned char WriteCSreg_updi_0[8] = { + 0x99, 0x00, 0x99, 0x01, 0x1e, 0x0f, 0x00, 0x01, +}; + +const unsigned char ReadCSreg_updi_0[6] = { + 0x99, 0x00, 0x1e, 0x0e, 0x00, 0x9f, +}; + +const unsigned char WriteMem8_updi_0[20] = { + 0x91, 0x00, 0x91, 0x01, 0xad, 0x01, 0x99, 0x03, 0x1e, 0x06, 0x00, 0x03, 0x92, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xae, 0x5a, +}; + +const unsigned char ReadMem8_updi_0[19] = { + 0x91, 0x00, 0x91, 0x01, 0x95, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, + 0x00, 0xae, 0x5a, +}; + +const unsigned char ReadSIB_updi_0[7] = { + 0x95, 0x9b, 0x00, 0x02, 0x1e, 0x12, 0x00, +}; + + + + +static void pickit_updi_script_init(SCRIPT *scr); +static void pickit_updi_script_init(SCRIPT *scr) { + memset(scr, 0x00, sizeof(SCRIPT)); // Make sure everything is NULL + + scr->EnterProgMode = EnterProgMode_updi_0; + scr->EnterProgModeHvSp = EnterProgModeHvSp_updi_0; + scr->EnterProgModeHvSpRst = EnterProgModeHvSpRst_updi_0; + scr->EnterProgModeHvUpt = EnterProgModeHvUpt_updi_0; + scr->ExitProgMode = ExitProgMode_updi_0; + scr->SetSpeed = SetSpeed_updi_0; + scr->ReadConfigmem = ReadConfigmem_updi_0; + scr->ReadConfigmemFuse = ReadConfigmemFuse_updi_0; + scr->ReadConfigmemLock = ReadConfigmemLock_updi_0; + scr->WriteCSreg = WriteCSreg_updi_0; + scr->ReadCSreg = ReadCSreg_updi_0; + scr->WriteMem8 = WriteMem8_updi_0; + scr->ReadMem8 = ReadMem8_updi_0; + scr->ReadSIB = ReadSIB_updi_0; + + scr->EnterProgMode_len = sizeof(EnterProgMode_updi_0); + scr->EnterProgModeHvSp_len = sizeof(EnterProgModeHvSp_updi_0); + scr->EnterProgModeHvSpRst_len = sizeof(EnterProgModeHvSpRst_updi_0); + scr->EnterProgModeHvUpt_len = sizeof(EnterProgModeHvUpt_updi_0); + scr->ExitProgMode_len = sizeof(ExitProgMode_updi_0); + scr->SetSpeed_len = sizeof(SetSpeed_updi_0); + scr->ReadConfigmem_len = sizeof(ReadConfigmem_updi_0); + scr->ReadConfigmemFuse_len = sizeof(ReadConfigmemFuse_updi_0); + scr->ReadConfigmemLock_len = sizeof(ReadConfigmemLock_updi_0); + scr->WriteCSreg_len = sizeof(WriteCSreg_updi_0); + scr->ReadCSreg_len = sizeof(ReadCSreg_updi_0); + scr->WriteMem8_len = sizeof(WriteMem8_updi_0); + scr->ReadMem8_len = sizeof(ReadMem8_updi_0); + scr->ReadSIB_len = sizeof(ReadSIB_updi_0); +} + + +const char * const pickit5_updi_chip_lut[] = { + "ATmega1608", "ATmega1609", "ATmega3208", "ATmega3209", "ATmega4808", "ATmega4809", "ATmega808", "ATmega809", + "ATtiny1604", "ATtiny1606", "ATtiny1607", "ATtiny1614", "ATtiny1616", "ATtiny1617", "ATtiny1624", "ATtiny1626", + "ATtiny1627", "ATtiny202", "ATtiny204", "ATtiny212", "ATtiny214", "ATtiny3216", "ATtiny3217", "ATtiny3224", + "ATtiny3226", "ATtiny3227", "ATtiny402", "ATtiny404", "ATtiny406", "ATtiny412", "ATtiny414", "ATtiny416", + "ATtiny417", "ATtiny424", "ATtiny426", "ATtiny427", "ATtiny804", "ATtiny806", "ATtiny807", "ATtiny814", + "ATtiny816", "ATtiny817", "ATtiny824", "ATtiny826", "ATtiny827", "AVR128DA28", "AVR128DA32", "AVR128DA48", + "AVR128DA64", "AVR128DB28", "AVR128DB32", "AVR128DB48", "AVR128DB64", "AVR16DD14", "AVR16DD20", "AVR16DD28", + "AVR16DD32", "AVR32DA28", "AVR32DA32", "AVR32DA48", "AVR32DB28", "AVR32DB32", "AVR32DB48", "AVR32DD14", + "AVR32DD20", "AVR32DD28", "AVR32DD32", "AVR64DA28", "AVR64DA32", "AVR64DA48", "AVR64DA64", "AVR64DB28", + "AVR64DB32", "AVR64DB48", "AVR64DB64", "AVR64DD14", "AVR64DD20", "AVR64DD28", "AVR64DD32", "AVR64EA28", + "AVR64EA32", "AVR64EA48", "AVR64DA28S", "AVR64DA32S", "AVR64DA48S", "AVR64DA64S", "AVR128DA28S", "AVR128DA32S", + "AVR128DA48S", "AVR128DA64S", "AVR16DA28", "AVR16DA32", "AVR16DA48", "AVR16DB28", "AVR16DB32", "AVR16DB48", + "AVR16DU14", "AVR16DU20", "AVR16DU28", "AVR16DU32", "AVR32DU14", "AVR32DU20", "AVR32DU28", "AVR32DU32", + "AVR64DU28", "AVR64DU32", "AVR16EA28", "AVR16EA32", "AVR16EA48", "AVR32EA28", "AVR32EA32", "AVR32EA48", + "AVR8EA28", "AVR8EA32", "AVR16EB14", "AVR16EB20", "AVR16EB28", "AVR16EB32", "AVR32EB28", "AVR32EB32", + "AVR32EB14", "AVR32EB20", "AVR32SD20", "AVR32SD28", "AVR32SD32", "AVR64SD28", "AVR64SD32", "AVR64SD48", + "AVR64EC28", "AVR64EC32", "AVR64EC48", +}; + +const unsigned char * get_devid_script_by_nvm_ver(unsigned char version) { + if (version >= '0') version -= '0'; // allow chars + if (version > 9) return NULL; // Not a valid number + if (version <= 3) // tiny, mega, DA, DB, DD, EA + return GetDeviceID_updi_0; + else // DU, EB + return GetDeviceID_updi_1; +} + +int get_pickit_updi_script(SCRIPT *scr, const char* partdesc) { + if ((scr == NULL) || (partdesc == NULL)) { + return -1; + } + int namepos = -1; + for (int i = 0; i < 131; i++) { + if (strcmp(pickit5_updi_chip_lut[i], partdesc) == 0) { + namepos = i; + break; + } + } + if (namepos == -1) { + return -2; + } + + pickit_updi_script_init(scr); // load common functions + + switch (namepos) { + case 0: /* ATmega1608 */ + case 1: /* ATmega1609 */ + case 6: /* ATmega808 */ + case 7: /* ATmega809 */ + case 8: /* ATtiny1604 */ + case 9: /* ATtiny1606 */ + case 10: /* ATtiny1607 */ + case 11: /* ATtiny1614 */ + case 12: /* ATtiny1616 */ + case 13: /* ATtiny1617 */ + case 14: /* ATtiny1624 */ + case 15: /* ATtiny1626 */ + case 16: /* ATtiny1627 */ + case 17: /* ATtiny202 */ + case 18: /* ATtiny204 */ + case 19: /* ATtiny212 */ + case 20: /* ATtiny214 */ + case 26: /* ATtiny402 */ + case 27: /* ATtiny404 */ + case 28: /* ATtiny406 */ + case 29: /* ATtiny412 */ + case 30: /* ATtiny414 */ + case 31: /* ATtiny416 */ + case 32: /* ATtiny417 */ + case 33: /* ATtiny424 */ + case 34: /* ATtiny426 */ + case 35: /* ATtiny427 */ + case 36: /* ATtiny804 */ + case 37: /* ATtiny806 */ + case 38: /* ATtiny807 */ + case 39: /* ATtiny814 */ + case 40: /* ATtiny816 */ + case 41: /* ATtiny817 */ + case 42: /* ATtiny824 */ + case 43: /* ATtiny826 */ + case 44: /* ATtiny827 */ + scr->GetDeviceID = GetDeviceID_updi_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_updi_0); + scr->EraseChip = EraseChip_updi_0; + scr->EraseChip_len = sizeof(EraseChip_updi_0); + scr->WriteProgmem = WriteProgmem_updi_0; + scr->WriteProgmem_len = sizeof(WriteProgmem_updi_0); + scr->ReadProgmem = ReadProgmem_updi_0; + scr->ReadProgmem_len = sizeof(ReadProgmem_updi_0); + scr->WriteDataEEmem = WriteDataEEmem_updi_0; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_updi_0); + scr->ReadDataEEmem = ReadDataEEmem_updi_0; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_updi_0); + scr->WriteConfigmem = WriteConfigmem_updi_0; + scr->WriteConfigmem_len = sizeof(WriteConfigmem_updi_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_updi_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_updi_0); + scr->WriteConfigmemLock = WriteConfigmemLock_updi_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_updi_0); + scr->WriteIDmem = WriteIDmem_updi_0; + scr->WriteIDmem_len = sizeof(WriteIDmem_updi_0); + scr->ReadIDmem = ReadIDmem_updi_0; + scr->ReadIDmem_len = sizeof(ReadIDmem_updi_0); + break; + case 2: /* ATmega3208 */ + case 3: /* ATmega3209 */ + case 4: /* ATmega4808 */ + case 5: /* ATmega4809 */ + case 21: /* ATtiny3216 */ + case 22: /* ATtiny3217 */ + scr->GetDeviceID = GetDeviceID_updi_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_updi_0); + scr->EraseChip = EraseChip_updi_0; + scr->EraseChip_len = sizeof(EraseChip_updi_0); + scr->WriteProgmem = WriteProgmem_updi_1; + scr->WriteProgmem_len = sizeof(WriteProgmem_updi_1); + scr->ReadProgmem = ReadProgmem_updi_1; + scr->ReadProgmem_len = sizeof(ReadProgmem_updi_1); + scr->WriteDataEEmem = WriteDataEEmem_updi_1; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_updi_1); + scr->ReadDataEEmem = ReadDataEEmem_updi_1; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_updi_1); + scr->WriteConfigmem = WriteConfigmem_updi_0; + scr->WriteConfigmem_len = sizeof(WriteConfigmem_updi_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_updi_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_updi_0); + scr->WriteConfigmemLock = WriteConfigmemLock_updi_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_updi_0); + scr->WriteIDmem = WriteIDmem_updi_1; + scr->WriteIDmem_len = sizeof(WriteIDmem_updi_1); + scr->ReadIDmem = ReadIDmem_updi_1; + scr->ReadIDmem_len = sizeof(ReadIDmem_updi_1); + break; + case 23: /* ATtiny3224 */ + case 24: /* ATtiny3226 */ + case 25: /* ATtiny3227 */ + scr->GetDeviceID = GetDeviceID_updi_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_updi_0); + scr->EraseChip = EraseChip_updi_0; + scr->EraseChip_len = sizeof(EraseChip_updi_0); + scr->WriteProgmem = WriteProgmem_updi_1; + scr->WriteProgmem_len = sizeof(WriteProgmem_updi_1); + scr->ReadProgmem = ReadProgmem_updi_1; + scr->ReadProgmem_len = sizeof(ReadProgmem_updi_1); + scr->WriteDataEEmem = WriteDataEEmem_updi_1; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_updi_1); + scr->ReadDataEEmem = ReadDataEEmem_updi_1; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_updi_1); + scr->WriteConfigmem = WriteConfigmem_updi_0; + scr->WriteConfigmem_len = sizeof(WriteConfigmem_updi_0); + scr->WriteConfigmemFuse = WriteConfigmemFuse_updi_0; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_updi_0); + scr->WriteConfigmemLock = WriteConfigmemLock_updi_0; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_updi_0); + scr->WriteIDmem = WriteIDmem_updi_0; + scr->WriteIDmem_len = sizeof(WriteIDmem_updi_0); + scr->ReadIDmem = ReadIDmem_updi_0; + scr->ReadIDmem_len = sizeof(ReadIDmem_updi_0); + break; + case 45: /* AVR128DA28 */ + case 46: /* AVR128DA32 */ + case 47: /* AVR128DA48 */ + case 48: /* AVR128DA64 */ + case 49: /* AVR128DB28 */ + case 50: /* AVR128DB32 */ + case 51: /* AVR128DB48 */ + case 52: /* AVR128DB64 */ + case 53: /* AVR16DD14 */ + case 54: /* AVR16DD20 */ + case 55: /* AVR16DD28 */ + case 56: /* AVR16DD32 */ + case 57: /* AVR32DA28 */ + case 58: /* AVR32DA32 */ + case 59: /* AVR32DA48 */ + case 60: /* AVR32DB28 */ + case 61: /* AVR32DB32 */ + case 62: /* AVR32DB48 */ + case 63: /* AVR32DD14 */ + case 64: /* AVR32DD20 */ + case 65: /* AVR32DD28 */ + case 66: /* AVR32DD32 */ + case 67: /* AVR64DA28 */ + case 68: /* AVR64DA32 */ + case 69: /* AVR64DA48 */ + case 70: /* AVR64DA64 */ + case 71: /* AVR64DB28 */ + case 72: /* AVR64DB32 */ + case 73: /* AVR64DB48 */ + case 74: /* AVR64DB64 */ + case 75: /* AVR64DD14 */ + case 76: /* AVR64DD20 */ + case 77: /* AVR64DD28 */ + case 78: /* AVR64DD32 */ + case 82: /* AVR64DA28S */ + case 83: /* AVR64DA32S */ + case 84: /* AVR64DA48S */ + case 85: /* AVR64DA64S */ + case 86: /* AVR128DA28S */ + case 87: /* AVR128DA32S */ + case 88: /* AVR128DA48S */ + case 89: /* AVR128DA64S */ + case 90: /* AVR16DA28 */ + case 91: /* AVR16DA32 */ + case 92: /* AVR16DA48 */ + case 93: /* AVR16DB28 */ + case 94: /* AVR16DB32 */ + case 95: /* AVR16DB48 */ + scr->GetDeviceID = GetDeviceID_updi_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_updi_0); + scr->EraseChip = EraseChip_updi_1; + scr->EraseChip_len = sizeof(EraseChip_updi_1); + scr->WriteProgmem = WriteProgmem_updi_2; + scr->WriteProgmem_len = sizeof(WriteProgmem_updi_2); + scr->ReadProgmem = ReadProgmem_updi_2; + scr->ReadProgmem_len = sizeof(ReadProgmem_updi_2); + scr->WriteDataEEmem = WriteDataEEmem_updi_2; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_updi_2); + scr->ReadDataEEmem = ReadDataEEmem_updi_2; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_updi_2); + scr->WriteConfigmem = WriteConfigmem_updi_1; + scr->WriteConfigmem_len = sizeof(WriteConfigmem_updi_1); + scr->WriteConfigmemFuse = WriteConfigmemFuse_updi_1; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_updi_1); + scr->WriteConfigmemLock = WriteConfigmemLock_updi_1; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_updi_1); + scr->WriteIDmem = WriteIDmem_updi_2; + scr->WriteIDmem_len = sizeof(WriteIDmem_updi_2); + scr->ReadIDmem = ReadIDmem_updi_0; + scr->ReadIDmem_len = sizeof(ReadIDmem_updi_0); + break; + case 79: /* AVR64EA28 */ + case 80: /* AVR64EA32 */ + case 81: /* AVR64EA48 */ + scr->GetDeviceID = GetDeviceID_updi_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_updi_0); + scr->EraseChip = EraseChip_updi_2; + scr->EraseChip_len = sizeof(EraseChip_updi_2); + scr->WriteProgmem = WriteProgmem_updi_3; + scr->WriteProgmem_len = sizeof(WriteProgmem_updi_3); + scr->ReadProgmem = ReadProgmem_updi_1; + scr->ReadProgmem_len = sizeof(ReadProgmem_updi_1); + scr->WriteDataEEmem = WriteDataEEmem_updi_3; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_updi_3); + scr->ReadDataEEmem = ReadDataEEmem_updi_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_updi_3); + scr->WriteConfigmem = WriteConfigmem_updi_2; + scr->WriteConfigmem_len = sizeof(WriteConfigmem_updi_2); + scr->WriteConfigmemFuse = WriteConfigmemFuse_updi_2; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_updi_2); + scr->WriteConfigmemLock = WriteConfigmemLock_updi_2; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_updi_2); + scr->WriteIDmem = WriteIDmem_updi_3; + scr->WriteIDmem_len = sizeof(WriteIDmem_updi_3); + scr->ReadIDmem = ReadIDmem_updi_1; + scr->ReadIDmem_len = sizeof(ReadIDmem_updi_1); + break; + case 96: /* AVR16DU14 */ + case 97: /* AVR16DU20 */ + case 98: /* AVR16DU28 */ + case 99: /* AVR16DU32 */ + case 100: /* AVR32DU14 */ + case 101: /* AVR32DU20 */ + case 102: /* AVR32DU28 */ + case 103: /* AVR32DU32 */ + case 104: /* AVR64DU28 */ + case 105: /* AVR64DU32 */ + scr->GetDeviceID = GetDeviceID_updi_1; + scr->GetDeviceID_len = sizeof(GetDeviceID_updi_1); + scr->EraseChip = EraseChip_updi_3; + scr->EraseChip_len = sizeof(EraseChip_updi_3); + scr->WriteProgmem = WriteProgmem_updi_4; + scr->WriteProgmem_len = sizeof(WriteProgmem_updi_4); + scr->ReadProgmem = ReadProgmem_updi_2; + scr->ReadProgmem_len = sizeof(ReadProgmem_updi_2); + scr->WriteDataEEmem = WriteDataEEmem_updi_4; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_updi_4); + scr->ReadDataEEmem = ReadDataEEmem_updi_2; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_updi_2); + scr->WriteConfigmem = WriteConfigmem_updi_3; + scr->WriteConfigmem_len = sizeof(WriteConfigmem_updi_3); + scr->WriteConfigmemFuse = WriteConfigmemFuse_updi_3; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_updi_3); + scr->WriteConfigmemLock = WriteConfigmemLock_updi_3; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_updi_3); + scr->WriteIDmem = WriteIDmem_updi_4; + scr->WriteIDmem_len = sizeof(WriteIDmem_updi_4); + scr->ReadIDmem = ReadIDmem_updi_2; + scr->ReadIDmem_len = sizeof(ReadIDmem_updi_2); + break; + case 106: /* AVR16EA28 */ + case 107: /* AVR16EA32 */ + case 108: /* AVR16EA48 */ + case 109: /* AVR32EA28 */ + case 110: /* AVR32EA32 */ + case 111: /* AVR32EA48 */ + case 112: /* AVR8EA28 */ + case 113: /* AVR8EA32 */ + scr->GetDeviceID = GetDeviceID_updi_0; + scr->GetDeviceID_len = sizeof(GetDeviceID_updi_0); + scr->EraseChip = EraseChip_updi_2; + scr->EraseChip_len = sizeof(EraseChip_updi_2); + scr->WriteProgmem = WriteProgmem_updi_5; + scr->WriteProgmem_len = sizeof(WriteProgmem_updi_5); + scr->ReadProgmem = ReadProgmem_updi_0; + scr->ReadProgmem_len = sizeof(ReadProgmem_updi_0); + scr->WriteDataEEmem = WriteDataEEmem_updi_3; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_updi_3); + scr->ReadDataEEmem = ReadDataEEmem_updi_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_updi_3); + scr->WriteConfigmem = WriteConfigmem_updi_2; + scr->WriteConfigmem_len = sizeof(WriteConfigmem_updi_2); + scr->WriteConfigmemFuse = WriteConfigmemFuse_updi_2; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_updi_2); + scr->WriteConfigmemLock = WriteConfigmemLock_updi_2; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_updi_2); + scr->WriteIDmem = WriteIDmem_updi_3; + scr->WriteIDmem_len = sizeof(WriteIDmem_updi_3); + scr->ReadIDmem = ReadIDmem_updi_1; + scr->ReadIDmem_len = sizeof(ReadIDmem_updi_1); + break; + case 114: /* AVR16EB14 */ + case 115: /* AVR16EB20 */ + case 116: /* AVR16EB28 */ + case 117: /* AVR16EB32 */ + case 118: /* AVR32EB28 */ + case 119: /* AVR32EB32 */ + case 120: /* AVR32EB14 */ + case 121: /* AVR32EB20 */ + scr->GetDeviceID = GetDeviceID_updi_1; + scr->GetDeviceID_len = sizeof(GetDeviceID_updi_1); + scr->EraseChip = EraseChip_updi_2; + scr->EraseChip_len = sizeof(EraseChip_updi_2); + scr->WriteProgmem = WriteProgmem_updi_5; + scr->WriteProgmem_len = sizeof(WriteProgmem_updi_5); + scr->ReadProgmem = ReadProgmem_updi_0; + scr->ReadProgmem_len = sizeof(ReadProgmem_updi_0); + scr->WriteDataEEmem = WriteDataEEmem_updi_3; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_updi_3); + scr->ReadDataEEmem = ReadDataEEmem_updi_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_updi_3); + scr->WriteConfigmem = WriteConfigmem_updi_2; + scr->WriteConfigmem_len = sizeof(WriteConfigmem_updi_2); + scr->WriteConfigmemFuse = WriteConfigmemFuse_updi_2; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_updi_2); + scr->WriteConfigmemLock = WriteConfigmemLock_updi_2; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_updi_2); + scr->WriteIDmem = WriteIDmem_updi_3; + scr->WriteIDmem_len = sizeof(WriteIDmem_updi_3); + scr->ReadIDmem = ReadIDmem_updi_1; + scr->ReadIDmem_len = sizeof(ReadIDmem_updi_1); + break; + case 122: /* AVR32SD20 */ + case 123: /* AVR32SD28 */ + case 124: /* AVR32SD32 */ + case 125: /* AVR64SD28 */ + case 126: /* AVR64SD32 */ + case 127: /* AVR64SD48 */ + scr->GetDeviceID = GetDeviceID_updi_1; + scr->GetDeviceID_len = sizeof(GetDeviceID_updi_1); + scr->EraseChip = EraseChip_updi_4; + scr->EraseChip_len = sizeof(EraseChip_updi_4); + scr->WriteProgmem = WriteProgmem_updi_6; + scr->WriteProgmem_len = sizeof(WriteProgmem_updi_6); + scr->ReadProgmem = ReadProgmem_updi_2; + scr->ReadProgmem_len = sizeof(ReadProgmem_updi_2); + scr->WriteDataEEmem = WriteDataEEmem_updi_5; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_updi_5); + scr->ReadDataEEmem = ReadDataEEmem_updi_2; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_updi_2); + scr->WriteConfigmem = WriteConfigmem_updi_4; + scr->WriteConfigmem_len = sizeof(WriteConfigmem_updi_4); + scr->WriteConfigmemFuse = WriteConfigmemFuse_updi_4; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_updi_4); + scr->WriteConfigmemLock = WriteConfigmemLock_updi_4; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_updi_4); + scr->WriteIDmem = WriteIDmem_updi_5; + scr->WriteIDmem_len = sizeof(WriteIDmem_updi_5); + scr->ReadIDmem = ReadIDmem_updi_2; + scr->ReadIDmem_len = sizeof(ReadIDmem_updi_2); + break; + case 128: /* AVR64EC28 */ + case 129: /* AVR64EC32 */ + case 130: /* AVR64EC48 */ + scr->GetDeviceID = GetDeviceID_updi_1; + scr->GetDeviceID_len = sizeof(GetDeviceID_updi_1); + scr->EraseChip = EraseChip_updi_2; + scr->EraseChip_len = sizeof(EraseChip_updi_2); + scr->WriteProgmem = WriteProgmem_updi_3; + scr->WriteProgmem_len = sizeof(WriteProgmem_updi_3); + scr->ReadProgmem = ReadProgmem_updi_1; + scr->ReadProgmem_len = sizeof(ReadProgmem_updi_1); + scr->WriteDataEEmem = WriteDataEEmem_updi_3; + scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_updi_3); + scr->ReadDataEEmem = ReadDataEEmem_updi_3; + scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_updi_3); + scr->WriteConfigmem = WriteConfigmem_updi_2; + scr->WriteConfigmem_len = sizeof(WriteConfigmem_updi_2); + scr->WriteConfigmemFuse = WriteConfigmemFuse_updi_2; + scr->WriteConfigmemFuse_len = sizeof(WriteConfigmemFuse_updi_2); + scr->WriteConfigmemLock = WriteConfigmemLock_updi_2; + scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_updi_2); + scr->WriteIDmem = WriteIDmem_updi_3; + scr->WriteIDmem_len = sizeof(WriteIDmem_updi_3); + scr->ReadIDmem = ReadIDmem_updi_1; + scr->ReadIDmem_len = sizeof(ReadIDmem_updi_1); + break; + } + return 0; +} \ No newline at end of file diff --git a/src/pickit5_updi_lut.c b/src/pickit5_updi_lut.c deleted file mode 100644 index d279f576f..000000000 --- a/src/pickit5_updi_lut.c +++ /dev/null @@ -1,1110 +0,0 @@ -/* This file was auto-generated by scripts_decoder.py, any changes will be overwritten */ - -/* - * avrdude - A Downloader/Uploader for AVR device programmers - * Copyright (C) 2024 MX682X - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include -#include -#include -#include "pickit5_lut.h" - - -const unsigned char EnterProgMode_0[294] = { - 0x9b, 0x00, 0x08, 0x9b, 0x01, 0x00, 0x1e, 0x01, 0x00, 0x01, 0xfd, 0x19, 0x00, 0x00, 0x00, 0x08, - 0x01, 0x94, 0x32, 0x00, 0x94, 0x40, 0x00, 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, - 0x01, 0x08, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x08, 0x00, 0x00, 0x00, 0x26, 0x01, 0x9b, 0x00, 0x08, - 0x9b, 0x01, 0x59, 0x1e, 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x00, 0x65, 0x20, 0x67, 0x6f, 0x72, 0x04, - 0x65, 0x50, 0x4d, 0x56, 0x4e, 0x04, 0x1e, 0x11, 0x01, 0x9b, 0x02, 0x07, 0x1e, 0x0e, 0x02, 0x6c, - 0x03, 0x66, 0x03, 0x10, 0x00, 0x00, 0x00, 0x9b, 0x04, 0x10, 0xfc, 0x03, 0x04, 0x1e, 0x01, 0x9b, - 0x00, 0x08, 0x9b, 0x01, 0x59, 0x1e, 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x0b, 0xa2, 0x1e, 0x0e, 0x01, - 0xa5, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x9b, 0x00, 0x08, 0x9b, 0x01, - 0x00, 0x1e, 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x0b, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x94, 0x48, 0x00, 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, - 0x6c, 0x01, 0x66, 0x01, 0x08, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x08, 0x00, 0x00, 0x00, 0x26, 0x01, - 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x01, - 0x01, 0x00, 0x00, 0x00, 0x13, 0x01, 0x6c, 0x01, 0x66, 0x01, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x01, - 0x02, 0x00, 0x00, 0x00, 0x13, 0x01, 0x9b, 0x01, 0x0c, 0x1e, 0x0e, 0x01, 0x6c, 0x02, 0x66, 0x02, - 0x04, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x04, 0x00, 0x00, 0x00, 0x13, 0x01, 0x94, 0xf4, 0x01, 0x9b, - 0x01, 0x0c, 0x1e, 0x0e, 0x01, 0x6c, 0x02, 0x66, 0x02, 0x04, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x04, - 0x00, 0x00, 0x00, 0x13, 0x01, 0xfb, 0x1e, 0x01, 0x90, 0x01, 0x51, 0x00, 0x00, 0x00, 0x7f, 0x01, - 0xfb, 0x26, 0x01, 0x90, 0x01, 0x44, 0x00, 0x00, 0x00, 0x7f, 0x01, 0xfb, 0x26, 0x01, 0x90, 0x01, - 0x00, 0x01, 0x00, 0x00, 0x7f, 0x01, -}; - -const unsigned char EnterProgModeHvSp_0[339] = { - 0x9b, 0x00, 0x08, 0x9b, 0x01, 0x01, 0x1e, 0x01, 0x00, 0x01, 0xfd, 0x54, 0x00, 0x00, 0x00, 0x3a, - 0x01, 0xfd, 0x08, 0x03, 0x00, 0x00, 0x45, 0x01, 0xfd, 0x09, 0x03, 0x00, 0x00, 0x48, 0x01, 0xfd, - 0x19, 0x00, 0x00, 0x00, 0x24, 0x01, 0xfd, 0x1b, 0x00, 0x00, 0x00, 0x24, 0x01, 0x94, 0x32, 0x00, - 0x94, 0x40, 0x00, 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x08, 0x00, 0x00, - 0x00, 0xfe, 0x01, 0x08, 0x00, 0x00, 0x00, 0x53, 0x01, 0x9b, 0x00, 0x08, 0x9b, 0x01, 0x59, 0x1e, - 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x00, 0x65, 0x20, 0x67, 0x6f, 0x72, 0x04, 0x65, 0x50, 0x4d, 0x56, - 0x4e, 0x04, 0x1e, 0x11, 0x01, 0x9b, 0x02, 0x07, 0x1e, 0x0e, 0x02, 0x6c, 0x03, 0x66, 0x03, 0x10, - 0x00, 0x00, 0x00, 0x9b, 0x04, 0x10, 0xfc, 0x03, 0x04, 0x4b, 0x01, 0x9b, 0x00, 0x08, 0x9b, 0x01, - 0x59, 0x1e, 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x0b, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, 0x00, - 0x00, 0x20, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x9b, 0x00, 0x08, 0x9b, 0x01, 0x00, 0x1e, 0x0f, 0x00, - 0x01, 0x9b, 0x01, 0x0b, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x0a, 0x00, 0x94, 0x48, 0x00, 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, - 0x08, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x08, 0x00, 0x00, 0x00, 0x53, 0x01, 0x9b, 0x00, 0x0b, 0x1e, - 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x01, 0x00, 0x00, 0x00, - 0x2f, 0x01, 0x6c, 0x01, 0x66, 0x01, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x02, 0x00, 0x00, 0x00, - 0x2f, 0x01, 0x9b, 0x01, 0x0c, 0x1e, 0x0e, 0x01, 0x6c, 0x02, 0x66, 0x02, 0x04, 0x00, 0x00, 0x00, - 0xfe, 0x02, 0x04, 0x00, 0x00, 0x00, 0x2f, 0x01, 0x94, 0xf4, 0x01, 0x9b, 0x01, 0x0c, 0x1e, 0x0e, - 0x01, 0x6c, 0x02, 0x66, 0x02, 0x04, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x04, 0x00, 0x00, 0x00, 0x2f, - 0x01, 0xfb, 0x4b, 0x01, 0x90, 0x01, 0x51, 0x00, 0x00, 0x00, 0x7f, 0x01, 0xfb, 0x53, 0x01, 0x90, - 0x01, 0x44, 0x00, 0x00, 0x00, 0x7f, 0x01, 0xfb, 0x53, 0x01, 0x90, 0x01, 0x54, 0x00, 0x00, 0x00, - 0x7f, 0x01, 0xfb, 0x53, 0x01, 0xfb, 0x53, 0x01, 0xfb, 0x53, 0x01, 0x90, 0x01, 0x00, 0x01, 0x00, - 0x00, 0x7f, 0x01, -}; - -const unsigned char EnterProgModeHvSpRst_0[325] = { - 0x9b, 0x00, 0x08, 0x9b, 0x01, 0x05, 0x1e, 0x01, 0x00, 0x01, 0xfd, 0x54, 0x00, 0x00, 0x00, 0x2c, - 0x01, 0xfd, 0x08, 0x03, 0x00, 0x00, 0x37, 0x01, 0xfd, 0x09, 0x03, 0x00, 0x00, 0x3a, 0x01, 0x94, - 0x32, 0x00, 0x94, 0x40, 0x00, 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x08, - 0x00, 0x00, 0x00, 0xfe, 0x01, 0x08, 0x00, 0x00, 0x00, 0x45, 0x01, 0x9b, 0x00, 0x08, 0x9b, 0x01, - 0x59, 0x1e, 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x00, 0x65, 0x20, 0x67, 0x6f, 0x72, 0x04, 0x65, 0x50, - 0x4d, 0x56, 0x4e, 0x04, 0x1e, 0x11, 0x01, 0x9b, 0x02, 0x07, 0x1e, 0x0e, 0x02, 0x6c, 0x03, 0x66, - 0x03, 0x10, 0x00, 0x00, 0x00, 0x9b, 0x04, 0x10, 0xfc, 0x03, 0x04, 0x3d, 0x01, 0x9b, 0x00, 0x08, - 0x9b, 0x01, 0x59, 0x1e, 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x0b, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, - 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x9b, 0x00, 0x08, 0x9b, 0x01, 0x00, 0x1e, - 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x0b, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x0a, 0x00, 0x94, 0x48, 0x00, 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, - 0x66, 0x01, 0x08, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x08, 0x00, 0x00, 0x00, 0x45, 0x01, 0x9b, 0x00, - 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x01, 0x00, - 0x00, 0x00, 0x21, 0x01, 0x6c, 0x01, 0x66, 0x01, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x02, 0x00, - 0x00, 0x00, 0x21, 0x01, 0x9b, 0x01, 0x0c, 0x1e, 0x0e, 0x01, 0x6c, 0x02, 0x66, 0x02, 0x04, 0x00, - 0x00, 0x00, 0xfe, 0x02, 0x04, 0x00, 0x00, 0x00, 0x21, 0x01, 0x94, 0xf4, 0x01, 0x9b, 0x01, 0x0c, - 0x1e, 0x0e, 0x01, 0x6c, 0x02, 0x66, 0x02, 0x04, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x04, 0x00, 0x00, - 0x00, 0x21, 0x01, 0xfb, 0x3d, 0x01, 0x90, 0x01, 0x51, 0x00, 0x00, 0x00, 0x7f, 0x01, 0xfb, 0x45, - 0x01, 0x90, 0x01, 0x44, 0x00, 0x00, 0x00, 0x7f, 0x01, 0xfb, 0x45, 0x01, 0x90, 0x01, 0x54, 0x00, - 0x00, 0x00, 0x7f, 0x01, 0xfb, 0x45, 0x01, 0xfb, 0x45, 0x01, 0xfb, 0x45, 0x01, 0x90, 0x01, 0x00, - 0x01, 0x00, 0x00, 0x7f, 0x01, -}; - -const unsigned char EnterProgModeHvUpt_0[339] = { - 0x9b, 0x00, 0x08, 0x9b, 0x01, 0x03, 0x1e, 0x01, 0x00, 0x01, 0xfd, 0x54, 0x00, 0x00, 0x00, 0x3a, - 0x01, 0xfd, 0x08, 0x03, 0x00, 0x00, 0x45, 0x01, 0xfd, 0x09, 0x03, 0x00, 0x00, 0x48, 0x01, 0xfd, - 0x19, 0x00, 0x00, 0x00, 0x24, 0x01, 0xfd, 0x1b, 0x00, 0x00, 0x00, 0x24, 0x01, 0x94, 0x32, 0x00, - 0x94, 0x40, 0x00, 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x08, 0x00, 0x00, - 0x00, 0xfe, 0x01, 0x08, 0x00, 0x00, 0x00, 0x53, 0x01, 0x9b, 0x00, 0x08, 0x9b, 0x01, 0x59, 0x1e, - 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x00, 0x65, 0x20, 0x67, 0x6f, 0x72, 0x04, 0x65, 0x50, 0x4d, 0x56, - 0x4e, 0x04, 0x1e, 0x11, 0x01, 0x9b, 0x02, 0x07, 0x1e, 0x0e, 0x02, 0x6c, 0x03, 0x66, 0x03, 0x10, - 0x00, 0x00, 0x00, 0x9b, 0x04, 0x10, 0xfc, 0x03, 0x04, 0x4b, 0x01, 0x9b, 0x00, 0x08, 0x9b, 0x01, - 0x59, 0x1e, 0x0f, 0x00, 0x01, 0x9b, 0x01, 0x0b, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, 0x00, - 0x00, 0x20, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x9b, 0x00, 0x08, 0x9b, 0x01, 0x00, 0x1e, 0x0f, 0x00, - 0x01, 0x9b, 0x01, 0x0b, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x0a, 0x00, 0x94, 0x48, 0x00, 0x9b, 0x00, 0x0b, 0x1e, 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, - 0x08, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x08, 0x00, 0x00, 0x00, 0x53, 0x01, 0x9b, 0x00, 0x0b, 0x1e, - 0x0e, 0x00, 0x6c, 0x01, 0x66, 0x01, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x01, 0x00, 0x00, 0x00, - 0x2f, 0x01, 0x6c, 0x01, 0x66, 0x01, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x02, 0x00, 0x00, 0x00, - 0x2f, 0x01, 0x9b, 0x01, 0x0c, 0x1e, 0x0e, 0x01, 0x6c, 0x02, 0x66, 0x02, 0x04, 0x00, 0x00, 0x00, - 0xfe, 0x02, 0x04, 0x00, 0x00, 0x00, 0x2f, 0x01, 0x94, 0xf4, 0x01, 0x9b, 0x01, 0x0c, 0x1e, 0x0e, - 0x01, 0x6c, 0x02, 0x66, 0x02, 0x04, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x04, 0x00, 0x00, 0x00, 0x2f, - 0x01, 0xfb, 0x4b, 0x01, 0x90, 0x01, 0x51, 0x00, 0x00, 0x00, 0x7f, 0x01, 0xfb, 0x53, 0x01, 0x90, - 0x01, 0x44, 0x00, 0x00, 0x00, 0x7f, 0x01, 0xfb, 0x53, 0x01, 0x90, 0x01, 0x54, 0x00, 0x00, 0x00, - 0x7f, 0x01, 0xfb, 0x53, 0x01, 0xfb, 0x53, 0x01, 0xfb, 0x53, 0x01, 0x90, 0x01, 0x00, 0x01, 0x00, - 0x00, 0x7f, 0x01, -}; - -const unsigned char ExitProgMode_0[22] = { - 0x9b, 0x00, 0x08, 0x9b, 0x01, 0x59, 0x1e, 0x0f, 0x00, 0x01, 0x9b, 0x00, 0x08, 0x9b, 0x01, 0x00, - 0x1e, 0x0f, 0x00, 0x01, 0x1e, 0x02, -}; - -const unsigned char SetSpeed_0[5] = { - 0x91, 0x00, 0x1e, 0x14, 0x00, -}; - -const unsigned char GetDeviceID_0[33] = { - 0x95, 0x90, 0x00, 0x00, 0x11, 0x00, 0x00, 0x1e, 0x09, 0x00, 0x9c, 0x01, 0x03, 0x00, 0x1e, 0x10, - 0x01, 0x9b, 0x02, 0x03, 0x1e, 0x0c, 0x02, 0x90, 0x02, 0x01, 0x0f, 0x00, 0x00, 0x1e, 0x03, 0x02, - 0x9f, -}; - -const unsigned char GetDeviceID_1[33] = { - 0x95, 0x90, 0x00, 0x80, 0x10, 0x00, 0x00, 0x1e, 0x09, 0x00, 0x9c, 0x01, 0x03, 0x00, 0x1e, 0x10, - 0x01, 0x9b, 0x02, 0x03, 0x1e, 0x0c, 0x02, 0x90, 0x02, 0x01, 0x0f, 0x00, 0x00, 0x1e, 0x03, 0x02, - 0x9f, -}; - -const unsigned char EraseChip_0[184] = { - 0x94, 0x32, 0x00, 0x94, 0x40, 0x00, 0x90, 0x01, 0x00, 0x00, 0x00, 0x00, 0x65, 0x65, 0x73, 0x61, - 0x72, 0x04, 0x65, 0x45, 0x4d, 0x56, 0x4e, 0x04, 0x1e, 0x11, 0x01, 0x90, 0x02, 0x07, 0x00, 0x00, - 0x00, 0x1e, 0x0e, 0x02, 0x6c, 0x03, 0x66, 0x03, 0x08, 0x00, 0x00, 0x00, 0x90, 0x04, 0x08, 0x00, - 0x00, 0x00, 0xfc, 0x03, 0x04, 0xaf, 0x00, 0x90, 0x00, 0x08, 0x00, 0x00, 0x00, 0x90, 0x01, 0x59, - 0x00, 0x00, 0x00, 0x1e, 0x0f, 0x00, 0x01, 0x90, 0x01, 0x0b, 0x00, 0x00, 0x00, 0xa2, 0x1e, 0x0e, - 0x01, 0xa5, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x90, 0x00, 0x08, 0x00, - 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x0f, 0x00, 0x01, 0x90, 0x01, 0x0b, 0x00, - 0x00, 0x00, 0xa2, 0x1e, 0x0e, 0x01, 0xa5, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, - 0x00, 0x90, 0x01, 0x0b, 0x00, 0x00, 0x00, 0xa2, 0x94, 0x02, 0x00, 0x1e, 0x0e, 0x01, 0xa5, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf4, 0x01, 0x1e, 0x0e, 0x01, 0x6c, 0x03, 0x66, 0x03, - 0x40, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x40, 0x00, 0x00, 0x00, 0xaf, 0x00, 0xfb, 0xb7, 0x00, 0x90, - 0x01, 0x00, 0x01, 0x00, 0x00, 0x7f, 0x01, 0x5a, -}; - -const unsigned char WriteProgmem_0[231] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x08, 0x10, 0x00, 0x00, 0x1e, 0x03, 0x02, 0x6c, 0x0a, 0x90, - 0x02, 0x09, 0x10, 0x00, 0x00, 0x1e, 0x03, 0x02, 0x6c, 0x0b, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, - 0x90, 0x0f, 0x40, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0x2e, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, - 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, 0x04, 0x00, - 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, - 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x10, - 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x7c, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, - 0x04, 0x10, 0x67, 0x04, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, - 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x6e, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, - 0x07, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, - 0x00, 0xfc, 0x0c, 0x0d, 0xd3, 0x00, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, - 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, 0x01, - 0x11, 0x20, 0x00, 0x90, 0x02, 0x08, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x0a, 0x90, 0x02, 0x09, - 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x0b, -}; - -const unsigned char WriteProgmem_1[231] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x08, 0x10, 0x00, 0x00, 0x1e, 0x03, 0x02, 0x6c, 0x0a, 0x90, - 0x02, 0x09, 0x10, 0x00, 0x00, 0x1e, 0x03, 0x02, 0x6c, 0x0b, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, - 0x90, 0x0f, 0x80, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0x2e, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, - 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, 0x04, 0x00, - 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, - 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x10, - 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x7c, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, - 0x04, 0x10, 0x67, 0x04, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, - 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x6e, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, - 0x07, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, - 0x00, 0xfc, 0x0c, 0x0d, 0xd3, 0x00, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, - 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, 0x01, - 0x11, 0x20, 0x00, 0x90, 0x02, 0x08, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x0a, 0x90, 0x02, 0x09, - 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x0b, -}; - -const unsigned char WriteProgmem_2[272] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, - 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x11, 0x00, 0x00, - 0x00, 0x00, 0x90, 0x0f, 0x00, 0x02, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0x30, 0x00, 0x60, 0x0f, 0x01, - 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x08, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, - 0x90, 0x06, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x00, 0x06, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, - 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, - 0x06, 0x07, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, - 0x90, 0x07, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, - 0xfa, 0x0f, 0x10, 0xa8, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, 0x04, 0x10, 0x67, 0x04, - 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, - 0xfc, 0x0f, 0x11, 0x9a, 0x00, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, - 0x00, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, - 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0xfc, 0x01, 0x11, 0x22, 0x00, 0x5a, - 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, -}; - -const unsigned char WriteProgmem_3[231] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x0c, 0x10, 0x00, 0x00, 0x1e, 0x03, 0x02, 0x6c, 0x0a, 0x90, - 0x02, 0x0d, 0x10, 0x00, 0x00, 0x1e, 0x03, 0x02, 0x6c, 0x0b, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, - 0x90, 0x0f, 0x80, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0x2e, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, - 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, 0x0f, 0x00, - 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, - 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x10, - 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x7c, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, - 0x04, 0x10, 0x67, 0x04, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, - 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x6e, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, - 0x07, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, - 0x00, 0xfc, 0x0c, 0x0d, 0xd3, 0x00, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, - 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, 0x01, - 0x11, 0x20, 0x00, 0x90, 0x02, 0x0c, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x0a, 0x90, 0x02, 0x0d, - 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x0b, -}; - -const unsigned char WriteProgmem_4[272] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, - 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x11, 0x00, 0x00, - 0x00, 0x00, 0x90, 0x0f, 0x00, 0x02, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0x30, 0x00, 0x60, 0x0f, 0x01, - 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x08, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, - 0x90, 0x06, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x00, 0x06, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, - 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, - 0x06, 0x07, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, - 0x90, 0x07, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, - 0xfa, 0x0f, 0x10, 0xa8, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, 0x04, 0x10, 0x67, 0x04, - 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, - 0xfc, 0x0f, 0x11, 0x9a, 0x00, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, - 0x00, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, - 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0xfc, 0x01, 0x11, 0x22, 0x00, 0x5a, - 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, -}; - -const unsigned char WriteProgmem_5[231] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x0c, 0x10, 0x00, 0x00, 0x1e, 0x03, 0x02, 0x6c, 0x0a, 0x90, - 0x02, 0x0d, 0x10, 0x00, 0x00, 0x1e, 0x03, 0x02, 0x6c, 0x0b, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, - 0x90, 0x0f, 0x40, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0x2e, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, - 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, 0x0f, 0x00, - 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, - 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x10, - 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x7c, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, - 0x04, 0x10, 0x67, 0x04, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, - 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x6e, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, - 0x07, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, - 0x00, 0xfc, 0x0c, 0x0d, 0xd3, 0x00, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, - 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, 0x01, - 0x11, 0x20, 0x00, 0x90, 0x02, 0x0c, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x0a, 0x90, 0x02, 0x0d, - 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x0b, -}; - -const unsigned char WriteProgmem_6[272] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, - 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x11, 0x00, 0x00, - 0x00, 0x00, 0x90, 0x0f, 0x00, 0x02, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0x30, 0x00, 0x60, 0x0f, 0x01, - 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x08, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, - 0x90, 0x06, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x00, 0x06, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, - 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, - 0x06, 0x07, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, - 0x90, 0x07, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, - 0xfa, 0x0f, 0x10, 0xa8, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, 0x04, 0x10, 0x67, 0x04, - 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, - 0xfc, 0x0f, 0x11, 0x9a, 0x00, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, - 0x00, 0x01, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, - 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0xfc, 0x01, 0x11, 0x22, 0x00, 0x5a, - 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, -}; - -const unsigned char ReadProgmem_0[73] = { - 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x40, 0x00, 0x00, - 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, - 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, 0x04, 0x10, 0x67, 0x04, 0x01, - 0x1e, 0x10, 0x04, 0x1e, 0x0d, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, - 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, 0x11, 0x0b, 0x00, -}; - -const unsigned char ReadProgmem_1[73] = { - 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x80, 0x00, 0x00, - 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, - 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, 0x04, 0x10, 0x67, 0x04, 0x01, - 0x1e, 0x10, 0x04, 0x1e, 0x0d, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, - 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, 0x11, 0x0b, 0x00, -}; - -const unsigned char ReadProgmem_2[73] = { - 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x02, 0x00, - 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, - 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x60, 0x04, 0x10, 0x67, 0x04, 0x01, - 0x1e, 0x10, 0x04, 0x1e, 0x0d, 0x04, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, - 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, 0x11, 0x0b, 0x00, -}; - -const unsigned char WriteDataEEmem_0[208] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, - 0xfa, 0x01, 0x0f, 0x18, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, - 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, - 0x04, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, - 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, - 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x7e, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, - 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, 0x10, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, - 0xfc, 0x0f, 0x11, 0x70, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x03, 0x00, 0x00, - 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, - 0xcf, 0x00, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, 0x01, 0x11, 0x0a, 0x00, 0xaf, -}; - -const unsigned char WriteDataEEmem_1[208] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x40, 0x00, 0x00, 0x00, - 0xfa, 0x01, 0x0f, 0x18, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, - 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, - 0x04, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, - 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, - 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x7e, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, - 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, 0x10, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, - 0xfc, 0x0f, 0x11, 0x70, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x03, 0x00, 0x00, - 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, - 0xcf, 0x00, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, 0x01, 0x11, 0x0a, 0x00, 0xaf, -}; - -const unsigned char WriteDataEEmem_2[176] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x01, 0x00, 0x00, 0x00, - 0xfa, 0x01, 0x0f, 0x18, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, - 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, - 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, - 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x4e, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, - 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, 0x10, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, - 0xfc, 0x0f, 0x11, 0x40, 0x00, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, - 0xa0, 0x00, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, - 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0xfc, 0x01, 0x11, 0x0a, 0x00, 0x5a, - 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, -}; - -const unsigned char WriteDataEEmem_3[208] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x08, 0x00, 0x00, 0x00, - 0xfa, 0x01, 0x0f, 0x18, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x03, 0x1f, 0x00, 0x00, 0x00, 0xfe, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, - 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, - 0x0f, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, - 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, - 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x7e, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, - 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, 0x10, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, - 0xfc, 0x0f, 0x11, 0x70, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x15, 0x00, 0x00, - 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, - 0xcf, 0x00, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, 0x01, 0x11, 0x0a, 0x00, 0xaf, -}; - -const unsigned char WriteDataEEmem_4[176] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x01, 0x00, 0x00, 0x00, - 0xfa, 0x01, 0x0f, 0x18, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, - 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, - 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, - 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x4e, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, - 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, 0x10, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, - 0xfc, 0x0f, 0x11, 0x40, 0x00, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, - 0xa0, 0x00, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, - 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0xfc, 0x01, 0x11, 0x0a, 0x00, 0x5a, - 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, -}; - -const unsigned char WriteDataEEmem_5[176] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x01, 0x00, 0x00, 0x00, - 0xfa, 0x01, 0x0f, 0x18, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, - 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, - 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, - 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x4e, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, - 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, 0x10, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, - 0xfc, 0x0f, 0x11, 0x40, 0x00, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, - 0xa0, 0x00, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, - 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0xfc, 0x01, 0x11, 0x0a, 0x00, 0x5a, - 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, -}; - -const unsigned char ReadDataEEmem_0[67] = { - 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x20, 0x00, 0x00, - 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, - 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0c, 0x10, - 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, - 0x11, 0x0b, 0x00, -}; - -const unsigned char ReadDataEEmem_1[67] = { - 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x40, 0x00, 0x00, - 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, - 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0c, 0x10, - 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, - 0x11, 0x0b, 0x00, -}; - -const unsigned char ReadDataEEmem_2[67] = { - 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x01, 0x00, 0x00, - 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, - 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0c, 0x10, - 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, - 0x11, 0x0b, 0x00, -}; - -const unsigned char ReadDataEEmem_3[67] = { - 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x08, 0x00, 0x00, - 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, - 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0c, 0x10, - 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, - 0x11, 0x0b, 0x00, -}; - -const unsigned char WriteConfigmem_0[369] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x01, 0x00, 0x00, 0x00, - 0x93, 0x00, 0xad, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, - 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x60, 0x03, 0x00, 0x60, - 0x04, 0x00, 0x66, 0x03, 0xff, 0x00, 0x00, 0x00, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, 0x00, - 0x00, 0x90, 0x06, 0x08, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x03, 0x90, 0x06, 0x09, 0x10, 0x00, - 0x00, 0x1e, 0x06, 0x06, 0x04, 0x90, 0x06, 0x06, 0x10, 0x00, 0x00, 0x99, 0x07, 0x1e, 0x06, 0x06, - 0x07, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x07, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, - 0x07, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, - 0xfb, 0x70, 0x01, 0xad, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, - 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x60, 0x03, 0x00, - 0x60, 0x04, 0x00, 0x66, 0x03, 0xff, 0x00, 0x00, 0x00, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, - 0x00, 0x00, 0x90, 0x06, 0x08, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x03, 0x90, 0x06, 0x09, 0x10, - 0x00, 0x00, 0x1e, 0x06, 0x06, 0x04, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, - 0x00, 0x00, 0xee, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, - 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, 0x04, 0x00, - 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, - 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x99, 0x07, - 0x1e, 0x06, 0x00, 0x07, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x03, 0x00, 0x00, 0x00, - 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, - 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, - 0xaf, -}; - -const unsigned char WriteConfigmem_1[128] = { - 0x91, 0x00, 0x91, 0x01, 0xad, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, - 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, - 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x99, 0x03, - 0x1e, 0x06, 0x00, 0x03, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, - 0x00, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, - 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, - 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, -}; - -const unsigned char WriteConfigmem_2[369] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x01, 0x00, 0x00, 0x00, - 0x93, 0x00, 0xad, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, - 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x60, 0x03, 0x00, 0x60, - 0x04, 0x00, 0x66, 0x03, 0xff, 0x00, 0x00, 0x00, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, 0x00, - 0x00, 0x90, 0x06, 0x0c, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x03, 0x90, 0x06, 0x0d, 0x10, 0x00, - 0x00, 0x1e, 0x06, 0x06, 0x04, 0x90, 0x06, 0x08, 0x10, 0x00, 0x00, 0x99, 0x07, 0x1e, 0x06, 0x06, - 0x07, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, - 0x07, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, - 0xfb, 0x70, 0x01, 0xad, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, - 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x60, 0x03, 0x00, - 0x60, 0x04, 0x00, 0x66, 0x03, 0xff, 0x00, 0x00, 0x00, 0x67, 0x04, 0x08, 0x66, 0x04, 0xff, 0x00, - 0x00, 0x00, 0x90, 0x06, 0x0c, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x03, 0x90, 0x06, 0x0d, 0x10, - 0x00, 0x00, 0x1e, 0x06, 0x06, 0x04, 0x90, 0x03, 0x1f, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, - 0x00, 0x00, 0xee, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, - 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, 0x03, 0x0f, 0x00, - 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, - 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x99, 0x07, - 0x1e, 0x06, 0x00, 0x07, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x15, 0x00, 0x00, 0x00, - 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, - 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, - 0xaf, -}; - -const unsigned char WriteConfigmem_3[128] = { - 0x91, 0x00, 0x91, 0x01, 0xad, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, - 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, - 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x99, 0x03, - 0x1e, 0x06, 0x00, 0x03, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, - 0x00, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, - 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, - 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, -}; - -const unsigned char WriteConfigmem_4[128] = { - 0x91, 0x00, 0x91, 0x01, 0xad, 0x01, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, - 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, - 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x99, 0x03, - 0x1e, 0x06, 0x00, 0x03, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0x70, - 0x00, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, - 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, - 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, -}; - -const unsigned char ReadConfigmem_0[19] = { - 0x91, 0x00, 0x91, 0x01, 0x95, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, - 0x00, 0xae, 0x5a, -}; - -const unsigned char WriteIDmem_0[421] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x02, 0x00, 0x00, 0x00, - 0x1d, 0x00, 0xfe, 0x03, 0x01, 0x00, 0x00, 0x00, 0xd9, 0x00, 0xfb, 0xa4, 0x01, 0x90, 0x11, 0x00, - 0x00, 0x00, 0x00, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0xed, 0x00, 0x60, 0x0f, - 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, - 0x03, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, - 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0x00, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x53, 0x01, 0x60, 0x10, 0x0f, 0x1e, - 0x09, 0x00, 0x60, 0x04, 0x10, 0x67, 0x04, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, - 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x45, 0x01, 0x90, 0x06, 0x00, 0x10, - 0x00, 0x00, 0x90, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, - 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0xa4, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, - 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0x00, 0xfc, 0x01, 0x11, 0xdf, 0x00, 0xfb, 0xa4, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, - 0x0f, 0x20, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0xed, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x03, 0x00, - 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0x90, 0x02, 0x00, 0x10, 0x00, - 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, - 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, - 0x10, 0x00, 0x00, 0x90, 0x03, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, - 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x53, 0x01, - 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, 0x10, 0x6a, 0x0f, 0x10, 0x6e, - 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x45, 0x01, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, - 0x90, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, - 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0xa4, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, - 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, - 0x01, 0x11, 0xdf, 0x00, 0xaf, -}; - -const unsigned char WriteIDmem_1[421] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x03, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x02, 0x00, 0x00, 0x00, - 0x1d, 0x00, 0xfe, 0x03, 0x01, 0x00, 0x00, 0x00, 0xd9, 0x00, 0xfb, 0xa4, 0x01, 0x90, 0x11, 0x00, - 0x00, 0x00, 0x00, 0x90, 0x0f, 0x40, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0xed, 0x00, 0x60, 0x0f, - 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, - 0x03, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, - 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0x00, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x53, 0x01, 0x60, 0x10, 0x0f, 0x1e, - 0x09, 0x00, 0x60, 0x04, 0x10, 0x67, 0x04, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, - 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x45, 0x01, 0x90, 0x06, 0x00, 0x10, - 0x00, 0x00, 0x90, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, - 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0xa4, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, - 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0x00, 0xfc, 0x01, 0x11, 0xdf, 0x00, 0xfb, 0xa4, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, - 0x0f, 0x40, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0xed, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x03, 0x00, - 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0x90, 0x02, 0x00, 0x10, 0x00, - 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, - 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, - 0x10, 0x00, 0x00, 0x90, 0x03, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x02, - 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x53, 0x01, - 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, 0x10, 0x6a, 0x0f, 0x10, 0x6e, - 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x45, 0x01, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, - 0x90, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, - 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0xa4, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, - 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, - 0x01, 0x11, 0xdf, 0x00, 0xaf, -}; - -const unsigned char WriteIDmem_2[266] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, - 0xfa, 0x01, 0x0f, 0x18, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, - 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, - 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x08, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, - 0x90, 0x06, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x00, 0x06, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, - 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, - 0x06, 0x07, 0x90, 0x02, 0x02, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, - 0x90, 0x07, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, - 0xfa, 0x0f, 0x10, 0xa8, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, - 0x10, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x9a, 0x00, 0x6c, - 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0xfa, 0x00, 0x90, 0x02, 0x02, 0x10, - 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, - 0x1e, 0x06, 0x06, 0x07, 0xfc, 0x01, 0x11, 0x0a, 0x00, 0x5a, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, - 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, -}; - -const unsigned char WriteIDmem_3[421] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x03, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x02, 0x00, 0x00, 0x00, - 0x1d, 0x00, 0xfe, 0x03, 0x01, 0x00, 0x00, 0x00, 0xd9, 0x00, 0xfb, 0xa4, 0x01, 0x90, 0x11, 0x00, - 0x00, 0x00, 0x00, 0x90, 0x0f, 0x40, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0xed, 0x00, 0x60, 0x0f, - 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, 0x10, 0x00, 0x00, 0x90, - 0x03, 0x0f, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, - 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0x00, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x53, 0x01, 0x60, 0x10, 0x0f, 0x1e, - 0x09, 0x00, 0x60, 0x04, 0x10, 0x67, 0x04, 0x01, 0x1e, 0x10, 0x04, 0x1e, 0x0b, 0x04, 0x6a, 0x0f, - 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x45, 0x01, 0x90, 0x06, 0x00, 0x10, - 0x00, 0x00, 0x90, 0x07, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, - 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0xa4, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, - 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0x00, 0xfc, 0x01, 0x11, 0xdf, 0x00, 0xfb, 0xa4, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, - 0x0f, 0x40, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x0f, 0xed, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x03, 0x1f, - 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0x90, 0x02, 0x00, 0x10, 0x00, - 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, - 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x02, 0x00, - 0x10, 0x00, 0x00, 0x90, 0x03, 0x0f, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x02, 0x03, 0x90, 0x02, 0x06, - 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, 0x0f, 0x10, 0x53, 0x01, - 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, 0x10, 0x6a, 0x0f, 0x10, 0x6e, - 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x45, 0x01, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, - 0x90, 0x07, 0x15, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x6c, 0x0c, 0x90, 0x0d, 0x00, 0x00, - 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0xa4, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, - 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xfc, - 0x01, 0x11, 0xdf, 0x00, 0xaf, -}; - -const unsigned char WriteIDmem_4[266] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x02, 0x00, 0x00, - 0xfa, 0x01, 0x0f, 0x18, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, - 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, - 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x08, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, - 0x90, 0x06, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x00, 0x06, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, - 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, - 0x06, 0x07, 0x90, 0x02, 0x06, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, - 0x90, 0x07, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, - 0xfa, 0x0f, 0x10, 0xa8, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, - 0x10, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x9a, 0x00, 0x6c, - 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0xfa, 0x00, 0x90, 0x02, 0x06, 0x10, - 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, - 0x1e, 0x06, 0x06, 0x07, 0xfc, 0x01, 0x11, 0x0a, 0x00, 0x5a, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, - 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, -}; - -const unsigned char WriteIDmem_5[266] = { - 0x91, 0x00, 0x91, 0x01, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x20, 0x00, 0x00, 0x00, - 0xfa, 0x01, 0x0f, 0x18, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, - 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, - 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x08, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, - 0x90, 0x06, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x00, 0x06, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, - 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, - 0x06, 0x07, 0x90, 0x02, 0x07, 0x10, 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, - 0x90, 0x07, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, - 0xfa, 0x0f, 0x10, 0xa8, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0a, - 0x10, 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x9a, 0x00, 0x6c, - 0x0c, 0x90, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0d, 0xfa, 0x00, 0x90, 0x02, 0x07, 0x10, - 0x00, 0x00, 0xa2, 0x1e, 0x03, 0x02, 0x94, 0x02, 0x00, 0xa5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x14, 0x00, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, - 0x1e, 0x06, 0x06, 0x07, 0xfc, 0x01, 0x11, 0x0a, 0x00, 0x5a, 0x90, 0x06, 0x00, 0x10, 0x00, 0x00, - 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x07, -}; - -const unsigned char ReadIDmem_0[67] = { - 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x20, 0x00, 0x00, - 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, - 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0c, 0x10, - 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, - 0x11, 0x0b, 0x00, -}; - -const unsigned char ReadIDmem_1[67] = { - 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x40, 0x00, 0x00, - 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, - 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0c, 0x10, - 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, - 0x11, 0x0b, 0x00, -}; - -const unsigned char ReadIDmem_2[67] = { - 0x91, 0x00, 0x91, 0x01, 0x95, 0x90, 0x11, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0f, 0x00, 0x02, 0x00, - 0x00, 0xfa, 0x01, 0x0f, 0x19, 0x00, 0x60, 0x0f, 0x01, 0x90, 0x10, 0x00, 0x01, 0x00, 0x00, 0xfa, - 0x0f, 0x10, 0x27, 0x00, 0x60, 0x10, 0x0f, 0x1e, 0x09, 0x00, 0x1e, 0x10, 0x10, 0x1e, 0x0c, 0x10, - 0x6a, 0x0f, 0x10, 0x6e, 0x00, 0x10, 0x6a, 0x01, 0x10, 0xfc, 0x0f, 0x11, 0x19, 0x00, 0xfc, 0x01, - 0x11, 0x0b, 0x00, -}; - -const unsigned char WriteCSreg_0[8] = { - 0x99, 0x00, 0x99, 0x01, 0x1e, 0x0f, 0x00, 0x01, -}; - -const unsigned char ReadCSreg_0[6] = { - 0x99, 0x00, 0x1e, 0x0e, 0x00, 0x9f, -}; - -const unsigned char WriteMem8_0[20] = { - 0x91, 0x00, 0x91, 0x01, 0xad, 0x01, 0x99, 0x03, 0x1e, 0x06, 0x00, 0x03, 0x92, 0x00, 0x01, 0x00, - 0x00, 0x00, 0xae, 0x5a, -}; - -const unsigned char ReadMem8_0[19] = { - 0x91, 0x00, 0x91, 0x01, 0x95, 0xad, 0x01, 0x1e, 0x03, 0x00, 0x9f, 0x92, 0x00, 0x01, 0x00, 0x00, - 0x00, 0xae, 0x5a, -}; - -const unsigned char ReadSIB_0[7] = { - 0x95, 0x9b, 0x00, 0x02, 0x1e, 0x12, 0x00, -}; - - - - -static void pickit_updi_script_init(SCRIPT *scr); -static void pickit_updi_script_init(SCRIPT *scr) { - scr->EnterProgMode = EnterProgMode_0; - scr->EnterProgModeHvSp = EnterProgModeHvSp_0; - scr->EnterProgModeHvSpRst = EnterProgModeHvSpRst_0; - scr->EnterProgModeHvUpt = EnterProgModeHvUpt_0; - scr->ExitProgMode = ExitProgMode_0; - scr->SetSpeed = SetSpeed_0; - scr->GetDeviceID = NULL; - scr->EraseChip = EraseChip_0; - scr->WriteProgmem = NULL; - scr->ReadProgmem = NULL; - scr->WriteDataEEmem = NULL; - scr->ReadDataEEmem = NULL; - scr->WriteConfigmem = NULL; - scr->ReadConfigmem = ReadConfigmem_0; - scr->WriteIDmem = NULL; - scr->ReadIDmem = NULL; - scr->WriteCSreg = WriteCSreg_0; - scr->ReadCSreg = ReadCSreg_0; - scr->WriteMem8 = WriteMem8_0; - scr->ReadMem8 = ReadMem8_0; - scr->ReadSIB = ReadSIB_0; - - scr->EnterProgMode_len = sizeof(EnterProgMode_0); - scr->EnterProgModeHvSp_len = sizeof(EnterProgModeHvSp_0); - scr->EnterProgModeHvSpRst_len = sizeof(EnterProgModeHvSpRst_0); - scr->EnterProgModeHvUpt_len = sizeof(EnterProgModeHvUpt_0); - scr->ExitProgMode_len = sizeof(ExitProgMode_0); - scr->SetSpeed_len = sizeof(SetSpeed_0); - scr->GetDeviceID_len = 0; - scr->EraseChip_len = sizeof(EraseChip_0); - scr->WriteProgmem_len = 0; - scr->ReadProgmem_len = 0; - scr->WriteDataEEmem_len = 0; - scr->ReadDataEEmem_len = 0; - scr->WriteConfigmem_len = 0; - scr->ReadConfigmem_len = sizeof(ReadConfigmem_0); - scr->WriteIDmem_len = 0; - scr->ReadIDmem_len = 0; - scr->WriteCSreg_len = sizeof(WriteCSreg_0); - scr->ReadCSreg_len = sizeof(ReadCSreg_0); - scr->WriteMem8_len = sizeof(WriteMem8_0); - scr->ReadMem8_len = sizeof(ReadMem8_0); - scr->ReadSIB_len = sizeof(ReadSIB_0); -} - - -const char * const pickit5_updi_chip_lut[] = { - "ATtiny416auto", "ATmega1608", "ATmega1609", "ATmega3208", "ATmega3209", "ATmega4808", "ATmega4809", "ATmega808", - "ATmega809", "ATtiny1604", "ATtiny1606", "ATtiny1607", "ATtiny1614", "ATtiny1616", "ATtiny1617", "ATtiny1624", - "ATtiny1626", "ATtiny1627", "ATtiny202", "ATtiny204", "ATtiny212", "ATtiny214", "ATtiny3216", "ATtiny3217", - "ATtiny3224", "ATtiny3226", "ATtiny3227", "ATtiny402", "ATtiny404", "ATtiny406", "ATtiny412", "ATtiny414", - "ATtiny416", "ATtiny417", "ATtiny424", "ATtiny426", "ATtiny427", "ATtiny804", "ATtiny806", "ATtiny807", - "ATtiny814", "ATtiny816", "ATtiny817", "ATtiny824", "ATtiny826", "ATtiny827", "AVR128DA28", "AVR128DA32", - "AVR128DA48", "AVR128DA64", "AVR128DB28", "AVR128DB32", "AVR128DB48", "AVR128DB64", "AVR16DD14", "AVR16DD20", - "AVR16DD28", "AVR16DD32", "AVR32DA28", "AVR32DA32", "AVR32DA48", "AVR32DB28", "AVR32DB32", "AVR32DB48", - "AVR32DD14", "AVR32DD20", "AVR32DD28", "AVR32DD32", "AVR64DA28", "AVR64DA32", "AVR64DA48", "AVR64DA64", - "AVR64DB28", "AVR64DB32", "AVR64DB48", "AVR64DB64", "AVR64DD14", "AVR64DD20", "AVR64DD28", "AVR64DD32", - "AVR64EA28", "AVR64EA32", "AVR64EA48", "AVR16DA28", "AVR16DA32", "AVR16DA48", "AVR16DB28", "AVR16DB32", - "AVR16DB48", "AVR16DU14", "AVR16DU20", "AVR16DU28", "AVR16DU32", "AVR32DU14", "AVR32DU20", "AVR32DU28", - "AVR32DU32", "AVR64DU28", "AVR64DU32", "AVR16EA28", "AVR16EA32", "AVR16EA48", "AVR32EA28", "AVR32EA32", - "AVR32EA48", "AVR8EA28", "AVR8EA32", "AVR16EB14", "AVR16EB20", "AVR16EB28", "AVR16EB32", "AVR32EB28", - "AVR32EB32", "AVR64EC48", "AVR32SD32", "AVR64SD48", -}; - - -const unsigned char * get_devid_script_by_nvm_ver(unsigned char version) { - if (version >= '0') version -= '0'; // allow chars - if (version > 9) return NULL; // Not a valid number - if (version <= 3) // tiny, mega, DA, DB, DD, EA - return GetDeviceID_0; - else // DU, EB - return GetDeviceID_1; -} - -int get_pickit_updi_script(SCRIPT *scr, const char* partdesc) { - if ((scr == NULL) || (partdesc == NULL)) - return -1; - - int namepos = -1; - for (int i = 0; i < 116; i++) { - if (strncmp(pickit5_updi_chip_lut[i], partdesc, 10) == 0) { - namepos = i; - break; - } - } - if (namepos == -1) { - return -2; - } - - pickit_updi_script_init(scr); // load common functions - - switch (namepos) { - case 0: /* ATtiny416auto */ - case 1: /* ATmega1608 */ - case 2: /* ATmega1609 */ - case 7: /* ATmega808 */ - case 8: /* ATmega809 */ - case 9: /* ATtiny1604 */ - case 10: /* ATtiny1606 */ - case 11: /* ATtiny1607 */ - case 12: /* ATtiny1614 */ - case 13: /* ATtiny1616 */ - case 14: /* ATtiny1617 */ - case 15: /* ATtiny1624 */ - case 16: /* ATtiny1626 */ - case 17: /* ATtiny1627 */ - case 18: /* ATtiny202 */ - case 19: /* ATtiny204 */ - case 20: /* ATtiny212 */ - case 21: /* ATtiny214 */ - case 27: /* ATtiny402 */ - case 28: /* ATtiny404 */ - case 29: /* ATtiny406 */ - case 30: /* ATtiny412 */ - case 31: /* ATtiny414 */ - case 32: /* ATtiny416 */ - case 33: /* ATtiny417 */ - case 34: /* ATtiny424 */ - case 35: /* ATtiny426 */ - case 36: /* ATtiny427 */ - case 37: /* ATtiny804 */ - case 38: /* ATtiny806 */ - case 39: /* ATtiny807 */ - case 40: /* ATtiny814 */ - case 41: /* ATtiny816 */ - case 42: /* ATtiny817 */ - case 43: /* ATtiny824 */ - case 44: /* ATtiny826 */ - case 45: /* ATtiny827 */ - scr->GetDeviceID = GetDeviceID_0; - scr->GetDeviceID_len = sizeof(GetDeviceID_0); - scr->WriteProgmem = WriteProgmem_0; - scr->WriteProgmem_len = sizeof(WriteProgmem_0); - scr->ReadProgmem = ReadProgmem_0; - scr->ReadProgmem_len = sizeof(ReadProgmem_0); - scr->WriteDataEEmem = WriteDataEEmem_0; - scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_0); - scr->ReadDataEEmem = ReadDataEEmem_0; - scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_0); - scr->WriteConfigmem = WriteConfigmem_0; - scr->WriteConfigmem_len = sizeof(WriteConfigmem_0); - scr->WriteIDmem = WriteIDmem_0; - scr->WriteIDmem_len = sizeof(WriteIDmem_0); - scr->ReadIDmem = ReadIDmem_0; - scr->ReadIDmem_len = sizeof(ReadIDmem_0); - break; - case 3: /* ATmega3208 */ - case 4: /* ATmega3209 */ - case 5: /* ATmega4808 */ - case 6: /* ATmega4809 */ - case 22: /* ATtiny3216 */ - case 23: /* ATtiny3217 */ - scr->GetDeviceID = GetDeviceID_0; - scr->GetDeviceID_len = sizeof(GetDeviceID_0); - scr->WriteProgmem = WriteProgmem_1; - scr->WriteProgmem_len = sizeof(WriteProgmem_1); - scr->ReadProgmem = ReadProgmem_1; - scr->ReadProgmem_len = sizeof(ReadProgmem_1); - scr->WriteDataEEmem = WriteDataEEmem_1; - scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_1); - scr->ReadDataEEmem = ReadDataEEmem_1; - scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_1); - scr->WriteConfigmem = WriteConfigmem_0; - scr->WriteConfigmem_len = sizeof(WriteConfigmem_0); - scr->WriteIDmem = WriteIDmem_1; - scr->WriteIDmem_len = sizeof(WriteIDmem_1); - scr->ReadIDmem = ReadIDmem_1; - scr->ReadIDmem_len = sizeof(ReadIDmem_1); - break; - case 24: /* ATtiny3224 */ - case 25: /* ATtiny3226 */ - case 26: /* ATtiny3227 */ - scr->GetDeviceID = GetDeviceID_0; - scr->GetDeviceID_len = sizeof(GetDeviceID_0); - scr->WriteProgmem = WriteProgmem_1; - scr->WriteProgmem_len = sizeof(WriteProgmem_1); - scr->ReadProgmem = ReadProgmem_1; - scr->ReadProgmem_len = sizeof(ReadProgmem_1); - scr->WriteDataEEmem = WriteDataEEmem_1; - scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_1); - scr->ReadDataEEmem = ReadDataEEmem_1; - scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_1); - scr->WriteConfigmem = WriteConfigmem_0; - scr->WriteConfigmem_len = sizeof(WriteConfigmem_0); - scr->WriteIDmem = WriteIDmem_0; - scr->WriteIDmem_len = sizeof(WriteIDmem_0); - scr->ReadIDmem = ReadIDmem_0; - scr->ReadIDmem_len = sizeof(ReadIDmem_0); - break; - case 46: /* AVR128DA28 */ - case 47: /* AVR128DA32 */ - case 48: /* AVR128DA48 */ - case 49: /* AVR128DA64 */ - case 50: /* AVR128DB28 */ - case 51: /* AVR128DB32 */ - case 52: /* AVR128DB48 */ - case 53: /* AVR128DB64 */ - case 54: /* AVR16DD14 */ - case 55: /* AVR16DD20 */ - case 56: /* AVR16DD28 */ - case 57: /* AVR16DD32 */ - case 58: /* AVR32DA28 */ - case 59: /* AVR32DA32 */ - case 60: /* AVR32DA48 */ - case 61: /* AVR32DB28 */ - case 62: /* AVR32DB32 */ - case 63: /* AVR32DB48 */ - case 64: /* AVR32DD14 */ - case 65: /* AVR32DD20 */ - case 66: /* AVR32DD28 */ - case 67: /* AVR32DD32 */ - case 68: /* AVR64DA28 */ - case 69: /* AVR64DA32 */ - case 70: /* AVR64DA48 */ - case 71: /* AVR64DA64 */ - case 72: /* AVR64DB28 */ - case 73: /* AVR64DB32 */ - case 74: /* AVR64DB48 */ - case 75: /* AVR64DB64 */ - case 76: /* AVR64DD14 */ - case 77: /* AVR64DD20 */ - case 78: /* AVR64DD28 */ - case 79: /* AVR64DD32 */ - case 83: /* AVR16DA28 */ - case 84: /* AVR16DA32 */ - case 85: /* AVR16DA48 */ - case 86: /* AVR16DB28 */ - case 87: /* AVR16DB32 */ - case 88: /* AVR16DB48 */ - scr->GetDeviceID = GetDeviceID_0; - scr->GetDeviceID_len = sizeof(GetDeviceID_0); - scr->WriteProgmem = WriteProgmem_2; - scr->WriteProgmem_len = sizeof(WriteProgmem_2); - scr->ReadProgmem = ReadProgmem_2; - scr->ReadProgmem_len = sizeof(ReadProgmem_2); - scr->WriteDataEEmem = WriteDataEEmem_2; - scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_2); - scr->ReadDataEEmem = ReadDataEEmem_2; - scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_2); - scr->WriteConfigmem = WriteConfigmem_1; - scr->WriteConfigmem_len = sizeof(WriteConfigmem_1); - scr->WriteIDmem = WriteIDmem_2; - scr->WriteIDmem_len = sizeof(WriteIDmem_2); - scr->ReadIDmem = ReadIDmem_0; - scr->ReadIDmem_len = sizeof(ReadIDmem_0); - break; - case 80: /* AVR64EA28 */ - case 81: /* AVR64EA32 */ - case 82: /* AVR64EA48 */ - scr->GetDeviceID = GetDeviceID_0; - scr->GetDeviceID_len = sizeof(GetDeviceID_0); - scr->WriteProgmem = WriteProgmem_3; - scr->WriteProgmem_len = sizeof(WriteProgmem_3); - scr->ReadProgmem = ReadProgmem_1; - scr->ReadProgmem_len = sizeof(ReadProgmem_1); - scr->WriteDataEEmem = WriteDataEEmem_3; - scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_3); - scr->ReadDataEEmem = ReadDataEEmem_3; - scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_3); - scr->WriteConfigmem = WriteConfigmem_2; - scr->WriteConfigmem_len = sizeof(WriteConfigmem_2); - scr->WriteIDmem = WriteIDmem_3; - scr->WriteIDmem_len = sizeof(WriteIDmem_3); - scr->ReadIDmem = ReadIDmem_1; - scr->ReadIDmem_len = sizeof(ReadIDmem_1); - break; - case 89: /* AVR16DU14 */ - case 90: /* AVR16DU20 */ - case 91: /* AVR16DU28 */ - case 92: /* AVR16DU32 */ - case 93: /* AVR32DU14 */ - case 94: /* AVR32DU20 */ - case 95: /* AVR32DU28 */ - case 96: /* AVR32DU32 */ - case 97: /* AVR64DU28 */ - case 98: /* AVR64DU32 */ - scr->GetDeviceID = GetDeviceID_1; - scr->GetDeviceID_len = sizeof(GetDeviceID_1); - scr->WriteProgmem = WriteProgmem_4; - scr->WriteProgmem_len = sizeof(WriteProgmem_4); - scr->ReadProgmem = ReadProgmem_2; - scr->ReadProgmem_len = sizeof(ReadProgmem_2); - scr->WriteDataEEmem = WriteDataEEmem_4; - scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_4); - scr->ReadDataEEmem = ReadDataEEmem_2; - scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_2); - scr->WriteConfigmem = WriteConfigmem_3; - scr->WriteConfigmem_len = sizeof(WriteConfigmem_3); - scr->WriteIDmem = WriteIDmem_4; - scr->WriteIDmem_len = sizeof(WriteIDmem_4); - scr->ReadIDmem = ReadIDmem_2; - scr->ReadIDmem_len = sizeof(ReadIDmem_2); - break; - case 99: /* AVR16EA28 */ - case 100: /* AVR16EA32 */ - case 101: /* AVR16EA48 */ - case 102: /* AVR32EA28 */ - case 103: /* AVR32EA32 */ - case 104: /* AVR32EA48 */ - case 105: /* AVR8EA28 */ - case 106: /* AVR8EA32 */ - scr->GetDeviceID = GetDeviceID_0; - scr->GetDeviceID_len = sizeof(GetDeviceID_0); - scr->WriteProgmem = WriteProgmem_5; - scr->WriteProgmem_len = sizeof(WriteProgmem_5); - scr->ReadProgmem = ReadProgmem_0; - scr->ReadProgmem_len = sizeof(ReadProgmem_0); - scr->WriteDataEEmem = WriteDataEEmem_3; - scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_3); - scr->ReadDataEEmem = ReadDataEEmem_3; - scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_3); - scr->WriteConfigmem = WriteConfigmem_2; - scr->WriteConfigmem_len = sizeof(WriteConfigmem_2); - scr->WriteIDmem = WriteIDmem_3; - scr->WriteIDmem_len = sizeof(WriteIDmem_3); - scr->ReadIDmem = ReadIDmem_1; - scr->ReadIDmem_len = sizeof(ReadIDmem_1); - break; - case 107: /* AVR16EB14 */ - case 108: /* AVR16EB20 */ - case 109: /* AVR16EB28 */ - case 110: /* AVR16EB32 */ - case 111: /* AVR32EB28 */ - case 112: /* AVR32EB32 */ - scr->GetDeviceID = GetDeviceID_1; - scr->GetDeviceID_len = sizeof(GetDeviceID_1); - scr->WriteProgmem = WriteProgmem_5; - scr->WriteProgmem_len = sizeof(WriteProgmem_5); - scr->ReadProgmem = ReadProgmem_0; - scr->ReadProgmem_len = sizeof(ReadProgmem_0); - scr->WriteDataEEmem = WriteDataEEmem_3; - scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_3); - scr->ReadDataEEmem = ReadDataEEmem_3; - scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_3); - scr->WriteConfigmem = WriteConfigmem_2; - scr->WriteConfigmem_len = sizeof(WriteConfigmem_2); - scr->WriteIDmem = WriteIDmem_3; - scr->WriteIDmem_len = sizeof(WriteIDmem_3); - scr->ReadIDmem = ReadIDmem_1; - scr->ReadIDmem_len = sizeof(ReadIDmem_1); - break; - case 113: /* AVR64EC48 */ - scr->GetDeviceID = GetDeviceID_1; - scr->GetDeviceID_len = sizeof(GetDeviceID_1); - scr->WriteProgmem = WriteProgmem_3; - scr->WriteProgmem_len = sizeof(WriteProgmem_3); - scr->ReadProgmem = ReadProgmem_1; - scr->ReadProgmem_len = sizeof(ReadProgmem_1); - scr->WriteDataEEmem = WriteDataEEmem_3; - scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_3); - scr->ReadDataEEmem = ReadDataEEmem_3; - scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_3); - scr->WriteConfigmem = WriteConfigmem_2; - scr->WriteConfigmem_len = sizeof(WriteConfigmem_2); - scr->WriteIDmem = WriteIDmem_3; - scr->WriteIDmem_len = sizeof(WriteIDmem_3); - scr->ReadIDmem = ReadIDmem_1; - scr->ReadIDmem_len = sizeof(ReadIDmem_1); - break; - case 114: /* AVR32SD32 */ - case 115: /* AVR64SD48 */ - scr->GetDeviceID = GetDeviceID_1; - scr->GetDeviceID_len = sizeof(GetDeviceID_1); - scr->WriteProgmem = WriteProgmem_6; - scr->WriteProgmem_len = sizeof(WriteProgmem_6); - scr->ReadProgmem = ReadProgmem_2; - scr->ReadProgmem_len = sizeof(ReadProgmem_2); - scr->WriteDataEEmem = WriteDataEEmem_5; - scr->WriteDataEEmem_len = sizeof(WriteDataEEmem_5); - scr->ReadDataEEmem = ReadDataEEmem_2; - scr->ReadDataEEmem_len = sizeof(ReadDataEEmem_2); - scr->WriteConfigmem = WriteConfigmem_4; - scr->WriteConfigmem_len = sizeof(WriteConfigmem_4); - scr->WriteIDmem = WriteIDmem_5; - scr->WriteIDmem_len = sizeof(WriteIDmem_5); - scr->ReadIDmem = ReadIDmem_0; - scr->ReadIDmem_len = sizeof(ReadIDmem_0); - break; - } - return 0; -} \ No newline at end of file diff --git a/tools/scripts_decoder.py b/tools/scripts_decoder.py index 83c357465..6e6179ae8 100644 --- a/tools/scripts_decoder.py +++ b/tools/scripts_decoder.py @@ -19,117 +19,77 @@ # along with this program. If not, see . # -# this is a small python sketch that tries to find the PICkit5_TP folder +# this is a small python skript that tries to find the PICkit5_TP folder # created by MPLAB X that contains the scripts.xml file. # Works on Windows and Linux (MacOS untested), as long as the default installation # folder was not changed. If it was changed, and the program is unable to locate # the scripts.xml file, you should be promted to enter a path. You can # either provide the path to the file, or to the directory providing the file. # -# This file contains some functions that were used in initial develeopment -# but are not needed anymore. However, they might provide useful, thus they -# can be enabled by setting "user_input" to 1. -# # The idea behind this program is to extract the sub-programs defined in the # script.xml. The original file has a size of about 300MB, containing a lot of -# redundand information as well as sub-programs for chips avrdude doesn't -# support, like ARM MCUs. -# This python scripts iterates through all functions, removing identical ones, +# redundant information (like the XML tags) as well as sub-programs for chips +# avrdude doesn't support, like ARM MCUs. +# This python script goes through all functions, removing identical ones, # and indexes those. The index is then used to connect the MCUs with those functions # so that the correct array pointers can be loaded. # Warning: If you run this python program, the previously generated files will be # overwritten without warning. # -# As the XML file is fairly large, a machine with at least 16GB RAM is recommended import os, fnmatch, mmap from pathlib import Path -from xml.etree import ElementTree as ET -user_input = 0 # The list of functions, as a Python Dictionary, that will be used by avr-dude -# The complete list of available functions can be found below -c_dict = { - "EnterProgMode" : [], - "EnterProgModeHvSp" : [], # High Voltage Pulse on UPDI line - "EnterProgModeHvSpRst" : [], # High Voltage Pulse on Reset Pin - "EnterProgModeHvUpt" : [], - "ExitProgMode" : [], - "SetSpeed" : [], - "GetDeviceID" : [], - "EraseChip" : [], - "WriteProgmem" : [], - "ReadProgmem" : [], - "WriteDataEEmem" : [], - "ReadDataEEmem" : [], - "WriteCSreg" : [], - "ReadCSreg" : [], - "WriteMem8" : [], - "ReadMem8" : [], - "WriteConfigmem" : [], - "ReadConfigmem" : [], - "WriteIDmem" : [], - "ReadIDmem" : [], - "ReadSIB" : [], -} - -# List of MCUs that should not end up in the lookup-table, -# preferably only those that are known not be released in the future -mcu_blacklist = [ - "AVR16DV14", "AVR16DV20" +c_func_list = [ + # Started with UPDI + "EnterProgMode", + "EnterProgModeHvSp", # High Voltage Pulse on UPDI line + "EnterProgModeHvSpRst", # High Voltage Pulse on Reset Pin + "EnterProgModeHvUpt", # User Power Toggle + "ExitProgMode", + "SetSpeed", + "GetDeviceID", + "EraseChip", + "WriteProgmem", + "ReadProgmem", + "WriteDataEEmem", + "ReadDataEEmem", + "WriteCSreg", + "ReadCSreg", + "WriteMem8", + "ReadMem8", + "WriteConfigmem", + "WriteConfigmemFuse", + "WriteConfigmemLock", + "ReadConfigmem", + "ReadConfigmemFuse", + "ReadConfigmemLock", + "WriteIDmem", + "ReadIDmem", + "ReadSIB", + + # Added from dW + "switchtoISP", + #"ReadMemIO", + #"WriteMemIO", + + # Added from ISP + "ReadCalibrationByte", + + # Added from JTAG/PDI + #"WriteSRAM", # Is a duplicate of WriteMem8 + #"ReadSRAM", + "WriteBootMem", + "ReadBootMem", ] -# A complete list of Functions defined in the scripts.xml -# This string was used to generate an intermediate python file -dict_header = \ -''' -func_dict = { - "EnterProgMode" : [], - "EnterProgModeHvSp" : [], - "EnterProgModeHvSpRst" : [], - "EnterProgModeHvUpt" : [], - "ExitProgMode" : [], - "SetSpeed" : [], - "GetDeviceID" : [], - "EraseChip" : [], - "WriteProgmem" : [], - "ReadProgmem" : [], - "WriteDataEEmem" : [], - "ReadDataEEmem" : [], - "WriteConfigmem" : [], - "WriteConfigmemFuse" : [], - "WriteConfigmemLock" : [], - "ReadConfigmem" : [], - "ReadConfigmemFuse" : [], - "ReadConfigmemLock" : [], - "WriteIDmem" : [], - "ReadIDmem" : [], - "WriteCSreg" : [], - "ReadCSreg" : [], - "WriteMem8" : [], - "WriteMem16" : [], - "ReadMem8" : [], - "ReadMem16" : [], - "ReadSIB" : [], - "HoldInReset" : [], - "ReleaseFromReset" : [], - "EnterDebugMode" : [], - "EnterDebugModeHvSp" : [], - "EnterDebugModeHvSpRst" : [], - "EnterDebugModeHvUpt" : [], - "ExitDebugMode" : [], - "SetPC" : [], - "GetPC" : [], - "Run" : [], - "Halt" : [], - "DebugReset" : [], - "GetHaltStatus" : [], - "SingleStep" : [], - "SetHWBP" : [], - "ClearHWBP" : [], -}\n -''' +# List of MCUs Names that are not supported by avrdude +mcu_to_exclude = [ + "ATA5700M322", "ATA5702M322", "ATA5782", "ATA5787", "ATA5831", "ATA5835", "ATA8210", "ATA8510", + "ATtiny416auto", "AVR16DV14", "AVR16DV20" +] import platform @@ -141,155 +101,13 @@ print(cache_dir) -# Tries to locate the xml file in a known location -def find_xml(): - home_dir = str(Path.home()) - print("Home Path: {0}".format(home_dir)) - if home_dir == None: - return - home_dir = os.path.join(home_dir, ".mchp_packs", "Microchip") - home_dir_A = os.path.join(home_dir, "PICkit5_TP") - result = [] - for root, dirs, files in os.walk(home_dir_A): - for name in files: - if fnmatch.fnmatch(name, "scripts.xml"): - result.append(os.path.join(root, name)) - - print("List of scripts.xml files:") - print(result) - return result[-1] - # EOF - -# extracts only the functions from the scripts.xml that end with "UPDI" -def cache_xml(file): - if file == None: - return - print("Opening file {0}".format(file)) - global cache_dir - origin_tree = ET.parse(file) - origin_root = origin_tree.getroot() - work_root = ET.Element("scripts") - old_chip_name = "" - print("List of UPDI MCUs:") - for script in origin_root.findall('script'): - function_name = script[0].text # the function name is always on the first place - if (function_name.endswith("UPDI")): - chip_name = script[1].text - if (old_chip_name != chip_name): - print(chip_name) - old_chip_name = chip_name - work_root.append(script) # copy UPDI entries to our working element - - - work_tree = ET.ElementTree(work_root) - work_tree.write(os.path.join(cache_dir, "scripts_updi.xml")) - # EOF - - -# generates a python file out of the reduced scripts.xml file -def decode_xml_cache(xml_path): - global cache_dir - dict_path = os.path.join(cache_dir, "scripts_dict.py") - - xml_tree = ET.parse(xml_path) - xml_root = xml_tree.getroot() - - if (os.path.exists(dict_path)): - os.remove(dict_path) - - with open(dict_path, 'w') as dict_file: - dict_list = [] - dict_iterator = -1 - old_chip_name = "" - old_function_name = "" - for script in xml_root: - function_string = "" - function_name = script[0].text - chip_name = script[1].text - if (old_chip_name != chip_name): - if (dict_iterator >= 0): - dict_list[dict_iterator] += " },\n" # trailing bracket - print("{0} generated".format(old_chip_name)) - - dict_iterator += 1 - dict_list.append("") - dict_list[dict_iterator] = " \"{0}\" : ".format(chip_name) # thisdict : { - dict_list[dict_iterator] += "{\n" - old_chip_name = chip_name - - if (old_function_name != function_name): - dict_list[dict_iterator] += " \"{0}\" : ".format(function_name[0:-5]) # "function_name" : - old_function_name = function_name - - scrbytes = script[3] - for bytes in scrbytes: - function_string += bytes.text - function_string += ", " - - dict_list[dict_iterator] += "[{0}],\n".format(function_string[0:-2]) # "function string", - - dict_file.write(dict_header) - dict_file.write("scripts = {\n") - for x in range (dict_iterator): - dict_file.write(dict_list[x]) # store decoded dictionary - dict_file.write("}") - - - - -# tries to reduce file size, reuires the previous function to be executed -# in order to provide the python file -def optimize_dict(): - import scripts_cache.scripts_dict as dict - global cache_dir - for chip_name in dict.scripts: # Go through every chip - for func_name in dict.scripts[chip_name]: # Go through every function for each chip - if func_name in dict.func_dict: # Only handle the function if we care - func_array = dict.func_dict[func_name] # Use the array - position = -1 - for x in range (len(func_array)): # go through - if func_array[x] == dict.scripts[chip_name][func_name]: - position = x - break - if position >= 0: - dict.scripts[chip_name][func_name] = position - else: - func_array.append(dict.scripts[chip_name][func_name]) - dict.scripts[chip_name][func_name] = position + 1 - - lut_path = os.path.join(cache_dir, "scripts_lut.py") - if (os.path.exists(lut_path)): - os.remove(lut_path) - - with open(lut_path, 'w') as lut_file: # Create file - lut_file.write("func_dict = {\n") # start with function look-up Table - for func in dict.func_dict: - lut_file.write(" \"{0}\" : [\n".format(func)) # function start - func_array = dict.func_dict[func] - - for array_elem in func_array: # function list start - func_string = " [" - for i in array_elem: # iterate through the sub-function elements - func_string += "0x{0:02X}, ".format(i) # format for readability - func_string += "],\n" # end of sub-function - lut_file.write(func_string) # write to file - lut_file.write(" ],\n") # end of function - lut_file.write("}\n\n\n") # end of lut - - lut_file.write("scripts = {\n") - for chip_name in dict.scripts: # Go through every chip - lut_file.write(" \""+ chip_name + "\" : {\n") - for func_name in dict.scripts[chip_name]: # Go through every function for each chip - lut_file.write(" \"{0}\" : {1},\n".format(func_name, dict.scripts[chip_name][func_name])) - lut_file.write(" },\n") - lut_file.write("}") # close dict - print("done") - #EOF - # Beginning of C and H Files common_header = \ -'''/* This file was auto-generated by scripts_decoder.py, any changes will be overwritten */ +'''\ +/* This file was auto-generated by scripts_decoder.py. + * Any changes will be overwritten on regeneration + */ /* * avrdude - A Downloader/Uploader for AVR device programmers @@ -312,7 +130,7 @@ def optimize_dict(): ''' # generates the h-file. generates the struct definition -def generate_h_file(c_dict, file_dir): +def generate_h_file(c_funcs, file_dir): h_header = \ ''' #ifndef pickit5_lut_h @@ -331,7 +149,12 @@ def generate_h_file(c_dict, file_dir): typedef struct avr_script_lut SCRIPT; const unsigned char * get_devid_script_by_nvm_ver(unsigned char version); +int get_pickit_dw_script(SCRIPT *scr, const char *partdesc); +int get_pickit_isp_script(SCRIPT *scr, const char *partdesc); +int get_pickit_jtag_script(SCRIPT *scr, const char *partdesc); int get_pickit_updi_script(SCRIPT *scr, const char *partdesc); +int get_pickit_pdi_script(SCRIPT *scr, const char *partdesc); +int get_pickit_tpi_script(SCRIPT *scr, const char *partdesc); #ifdef __cplusplus } @@ -346,10 +169,11 @@ def generate_h_file(c_dict, file_dir): h_lut_path = os.path.join(file_dir, "pickit5_lut.h") # first - handle defining the structure if (os.path.exists(h_lut_path)): os.remove(h_lut_path) + with open(h_lut_path, 'w') as h_file: h_file.write(common_header) h_file.write(h_header) - for func_name in c_dict: + for func_name in c_funcs: h_file.write(" const unsigned char *{0};\n unsigned int {0}_len;\n".format(func_name)) h_file.write(h_trailer) print("h-File generated") @@ -357,106 +181,69 @@ def generate_h_file(c_dict, file_dir): -# generates the c-file out of a previously generated python file -def generate_c_file(c_dict, file_dir): - import scripts_cache.scripts_lut as lut - - if file_dir is None: + +# Tries to locate the xml file in a known location +def find_xml(): + home_dir = str(Path.home()) + print("Home Path: {0}".format(home_dir)) + if home_dir == None: return - - c_lut_path = os.path.join(file_dir, "pickit5_lut.c") - if (os.path.exists(c_lut_path)): - os.remove(c_lut_path) - with open(c_lut_path, 'w') as c_file: - non_unique_func = [] - c_file.write("/* this file was auto-generated */\n") - c_file.write("#include \n") - c_file.write("#include \n") - c_file.write("#include \n") - c_file.write("#include \"pickit5_lut.h\"\n\n\n") - struct_init_func = "" - struct_init_len = "" - for func_name in lut.func_dict: # for each function in our database - if func_name in c_dict: # if the function exists in our c-list - function = lut.func_dict[func_name] # load data associated with the function - array_iterator = 0 - for array in function: # for each array in function - array_str = "const unsigned char {0}_{1}[{2}]".format(func_name, array_iterator, len(array)) - array_str += " = {\n " # begin array - for i in range (len(array)): # go through every byte - array_str += "0x{0:02x}, ".format(array[i]) # and generate String - array_str += "\n};\n" # complete array - array_iterator += 1 - c_file.write(array_str) - - if array_iterator == 1: - struct_init_func += " .{0} = {0}_0,\n".format(func_name) - struct_init_len += " .{0}_len = sizeof({0}_0),\n".format(func_name) - else: - struct_init_func += " .{0} = NULL,\n".format(func_name) - struct_init_len += " .{0}_len = 0,\n".format(func_name) - non_unique_func.append(func_name) - - - c_file.write("\n\n\nstruct avr_script_lut avr_scripts = {\n") - c_file.write(struct_init_func) - c_file.write(struct_init_len) - c_file.write("};\n\n\n") - - chip_lut_str = "const char *chip_lut[] = {\n " - chip_name_iterator = 0 - for chip_name in lut.scripts: - chip_lut_str += "\"" - chip_lut_str += chip_name - chip_lut_str += "\", " - chip_name_iterator += 1 - if chip_name_iterator % 8 == 0: - chip_lut_str += "\n " - chip_lut_str += "\n};\n\n\n" - c_file.write(chip_lut_str) - - c_func_str = "struct avr_script_lut* get_pickit_script(const char* partdesc) { \n" - c_func_str += " int namepos = -1;\n" - c_func_str += " for (int i = 0; i < {0}; i++)".format(chip_name_iterator) - c_func_str += " {\n" - c_func_str += " if (strncmp(chip_lut[i], partdesc, 10) == 0) {\n" - c_func_str += " namepos = i;\n break;\n }\n }\n" - c_func_str += " if (namepos == -1) {\n return NULL;\n }\n" - c_file.write(c_func_str) - - switch_iterator = 0 - c_file.write(" switch (namepos) {\n") - for chip_name in lut.scripts: - case_str = " case {0}:\n".format(switch_iterator) - chip_func = lut.scripts[chip_name] - for func_lut in chip_func: - if func_lut in non_unique_func: - case_str += " avr_scripts.{0} = {0}_{1};\n".format(func_lut, chip_func[func_lut]) - case_str += " avr_scripts.{0}_len = sizeof({0}_{1});\n".format(func_lut, chip_func[func_lut]) - case_str += " break;\n" - switch_iterator += 1 - c_file.write(case_str) - c_file.write(" }\n return &avr_scripts;\n }") - print("c-File generated") - #EOF + home_dir = os.path.join(home_dir, ".mchp_packs", "Microchip") + home_dir_A = os.path.join(home_dir, "PICkit5_TP") + result = [] + for root, dirs, files in os.walk(home_dir_A): + for name in files: + if fnmatch.fnmatch(name, "scripts.xml"): + file_path = os.path.join(root, name) + result.append((os.path.getctime(file_path), file_path)) + print("List of scripts.xml files:") + print(result) + time, path = 0, "" + for t, p in result: # find the most recent scripts file in out list + if t > time: + time, path = t, p + return path + # EOF -def convert_to_c(c_dict, file_dir): - - generate_h_file(c_dict, file_dir) - generate_c_file(c_dict, file_dir) - #EOF + +# Example of a function declaration in the XML-File +# -# A sum of the previous functions, generating the c/h files -# without needing any intermediate files -def convert_xml(xml_path, c_dict): +def convert_xml(xml_path, c_funcs): if xml_path == None: print("No Path to XML file provided") return - - mcu_dict = dict() + + program_iface = { + "UPDI": dict(), + "PDI": dict(), + "dW": dict(), + "ISP": dict(), + "TPI": dict(), + "JTAG": dict() + } + function_dict = { + "UPDI": dict(), + "PDI": dict(), + "dW": dict(), + "ISP": dict(), + "TPI": dict(), + "JTAG": dict() + } # Prepare directories parent_dir = os.getcwd() @@ -465,211 +252,216 @@ def convert_xml(xml_path, c_dict): print("Parent Dir: {0}".format(parent_dir)) print("Src directory: {0}".format(src_dir)) - # open XML file - origin_tree = ET.parse(xml_path) - origin_root = origin_tree.getroot() - work_root = ET.Element("scripts") - print ("XML File loaded") - - # scan scripts file - for script in origin_root.findall('script'): - function_name = script[0].text # the function name is always on the first place - if (function_name.endswith("UPDI")): # We're only intrested in UPDI functions - function_name = function_name[0:-5] # remove "_UPDI" from function name - if (function_name in c_dict): # filter out unneded functions - chip_name = script[1].text # get chip name - if (chip_name in mcu_blacklist): # filter out chips in blacklist - continue - if (chip_name not in mcu_dict): - mcu_dict[chip_name] = dict() - if (function_name not in mcu_dict[chip_name]): - mcu_dict[chip_name][function_name] = [] - scrbytes = script[3] - for bytes in scrbytes: - mcu_dict[chip_name][function_name].append(int(bytes.text, 16)) - # the mcu dict has following layout "mcu_name" : "function1" : [], "function2" : [] - print("XML File processed") + + # create h-File (make sure to provide all function definitions) + generate_h_file(c_funcs, src_dir) - # reorder mcu_dict to a func_dict - func_dict = dict() - for mcu_name in mcu_dict: # Go through every MCU - for function_name in mcu_dict[mcu_name]: # Go through every Function for every CPU - if (function_name not in func_dict): - func_dict[function_name] = [] + + with open(xml_path, "r") as xml_script: + print ("XML File opened") + scr_bytes_buffer = bytearray(2048) # allocate 2kB of memory in advance, avoids memory managment + while True: + line = xml_script.readline() # go line by line, hopefully reducing memory usage compared to readlines() + if line == "": + break # exit when End of file + + if line.startswith(" "): + function = line[14:] # remove " " + function = function.split("<", 2)[0] # remove trailing element + + scr_header = xml_script.readlines(3) # read 3 more lines + processor = scr_header[0][15:] # remove " " + chip_name = processor.split("<", 2)[0] # remove trailing element - funct_bytes = mcu_dict[mcu_name][function_name] # get Function bytes - entries = len(func_dict[function_name]) - for x in range (entries + 1): # try to find an existing entry - if x == entries: # if we reached the end - func_dict[function_name].append(funct_bytes) # add an entry to our dict - mcu_dict[mcu_name][function_name] = x # remember the postion in dict - break - if func_dict[function_name][x] == funct_bytes: # if match found - mcu_dict[mcu_name][function_name] = x # remember the postion - break - # the funct dict has following layout: "function1" : [[], []], "function2" : [[], []], - # the mcu dict has following layout "mcu_name" : "function1" : 1, "function2" : 0 - - # create h-File - generate_h_file(c_dict, src_dir) + try: + function_name, programming_mode = function.split('_') + except: + continue # If the function did not contain any '_', continue to next line + + if programming_mode not in ["UPDI", "PDI", "dW", "ISP", "TPI", "JTAG"]: + continue # Filters out "FPGA" and other edge cases + + if chip_name in mcu_to_exclude: + continue # don't handle chips avrdude doesn't know anyway + + if function_name not in c_funcs: + continue # Filter out debug Functions + + func_bytes = None + counter = 0 + while True: + byte = xml_script.readline() + if (byte.startswith(" ")): # 6 spaces is already unique enough + scr_bytes_buffer[counter] = int(byte[14:16], 16) # only handle the value + counter += 1 + elif (byte.startswith(" ")): # done with the list + func_bytes = bytes(scr_bytes_buffer[:counter]) # create an immutable bytes array + break + + if func_bytes == None or len(func_bytes) == 0: + continue # continue with next chip if somethin went wrong or is empty (SetSpeed_dw) + + if function_name not in function_dict[programming_mode].keys(): + function_dict[programming_mode][function_name] = [] + + if func_bytes not in function_dict[programming_mode][function_name]: + function_dict[programming_mode][function_name].append(func_bytes) + + index = function_dict[programming_mode][function_name].index(func_bytes) + + #function_dict = { + # "UPDI": { + # "EnterProgMode" : [bytes_0, bytes_1]}, + # "SetSpeed" : [bytes_2, bytes_3]} + # } + #} + + + if chip_name not in program_iface[programming_mode]: + program_iface[programming_mode][chip_name] = [(function_name, index)] + #print("Added to " + programming_mode + ": " + chip_name) # Debugging + else: + program_iface[programming_mode][chip_name].append((function_name, index)) + #program_iface = { + # "UPDI": { + # "Attiny1614": [ + # ("EnterProgMode", 0), + # ("ExitProgMode", 0), + # ("...", 1), + # ] + # } + #} + # /if starts with + # /while True + # /with open + + print("XML File processed") # create c-File global common_header - c_lut_path = os.path.join(src_dir, "pickit5_updi_lut.c") - if (os.path.exists(c_lut_path)): - os.remove(c_lut_path) - with open(c_lut_path, 'w') as c_file: - non_unique_func = [] - c_file.write(common_header) - c_file.write("#include \n") - c_file.write("#include \n") - c_file.write("#include \n") - c_file.write("#include \"pickit5_lut.h\"\n\n\n") - - # Generate the arrays for the functions - struct_init_func = "" - struct_init_len = "" - for func_name in func_dict: # for each function in our database - function = func_dict[func_name] # load data associated with the function - array_iterator = 0 - for array in function: # for each array in function - array_str = "const unsigned char {0}_{1}[{2}]".format(func_name, array_iterator, len(array)) - array_str += " = {" # begin array - for i in range (len(array)): # go through every byte - if (i % 16 == 0): - array_str += "\n " # new line after 16 bytes - array_str += "0x{0:02x}, ".format(array[i]) # and generate String - array_str += "\n};\n\n" # complete array - array_iterator += 1 - c_file.write(array_str) - - if array_iterator == 1: - struct_init_func += " scr->{0} = {0}_0;\n".format(func_name) - struct_init_len += " scr->{0}_len = sizeof({0}_0);\n".format(func_name) - else: - struct_init_func += " scr->{0} = NULL;\n".format(func_name) - struct_init_len += " scr->{0}_len = 0;\n".format(func_name) - non_unique_func.append(func_name) - - - c_file.write("\n\n\nstatic void pickit_updi_script_init(SCRIPT *scr);\n") # declaration - c_file.write("static void pickit_updi_script_init(SCRIPT *scr) {\n") # definition - c_file.write(struct_init_func) - c_file.write("\n") # improve readability - c_file.write(struct_init_len) - c_file.write("}\n\n\n") - - # Lookup Table for Chip Names - chip_lut_str = "const char * const pickit5_updi_chip_lut[] = {\n " - chip_name_iterator = 0 - for chip_name in mcu_dict: - chip_lut_str += "\"" - chip_lut_str += chip_name - chip_lut_str += "\", " - chip_name_iterator += 1 - if chip_name_iterator % 8 == 0: - chip_lut_str += "\n " - chip_lut_str += "\n};\n\n\n" - c_file.write(chip_lut_str) - - # Provide a way to get the DevID Script by NVM Version stored in SIB - devid_str = "const unsigned char * get_devid_script_by_nvm_ver(unsigned char version) {\n" - devid_str += " if (version >= '0') version -= '0'; // allow chars\n" - devid_str += " if (version > 9) return NULL; // Not a valid number\n" - devid_str += " if (version <= 3) // tiny, mega, DA, DB, DD, EA\n" - devid_str += " return GetDeviceID_0;\n" - devid_str += " else // DU, EB\n" - devid_str += " return GetDeviceID_1;\n}\n\n" - c_file.write(devid_str) - - # Main Function to load the data into the structure - c_func_str = "int get_pickit_updi_script(SCRIPT *scr, const char* partdesc) { \n" - c_func_str += " if ((scr == NULL) || (partdesc == NULL))\n return -1;\n\n" - c_func_str += " int namepos = -1;\n" - c_func_str += " for (int i = 0; i < {0}; i++)".format(chip_name_iterator) - c_func_str += " {\n" - c_func_str += " if (strncmp(pickit5_updi_chip_lut[i], partdesc, 10) == 0) {\n" - c_func_str += " namepos = i;\n break;\n }\n }\n" - c_func_str += " if (namepos == -1) {\n return -2;\n }\n\n" - c_func_str += " pickit_updi_script_init(scr); // load common functions\n\n" - c_file.write(c_func_str) - - - switch_iterator = 0 - c_file.write(" switch (namepos) {\n") - case_str_list = [] - break_str_list = [] - for chip_name in mcu_dict: - case_str_list.append("") - break_str_list.append("") - case_str_list[switch_iterator] = " case {0}: /* {1} */\n".format(switch_iterator, chip_name) - chip_func = mcu_dict[chip_name] - for func_lut in chip_func: - if func_lut in non_unique_func: - break_str_list[switch_iterator] += " scr->{0} = {0}_{1};\n".format(func_lut, chip_func[func_lut]) - break_str_list[switch_iterator] += " scr->{0}_len = sizeof({0}_{1});\n".format(func_lut, chip_func[func_lut]) - break_str_list[switch_iterator] += " break;\n" - switch_iterator += 1 - - - for x in range (0, switch_iterator): - if (case_str_list[x] != ""): # ignore already "filtered" out cases - file_str = case_str_list[x] # start with a case - temp_str = break_str_list[x] # buffer the content of the case - for y in range(x + 1, switch_iterator): # go through all future entries - if temp_str == break_str_list[y]: # if we find one that is identical - file_str += case_str_list[y] # add it to the case at the beginning - case_str_list[y] = "" # clear case entry - break_str_list[y] = "" # clear content entry to speed up filtering - file_str += temp_str # add the content of the case - c_file.write(file_str) - - - c_file.write(" }\n return 0;\n}") + + for prog_iface, prog_mcu_list in program_iface.items(): + lower_prog_iface = prog_iface.lower() + c_lut_path = os.path.join(src_dir, "pickit5_lut_" + lower_prog_iface + ".c") + if (os.path.exists(c_lut_path)): + os.remove(c_lut_path) + with open(c_lut_path, 'w') as c_file: + c_file.write(common_header) + c_file.write("#include \n") + c_file.write("#include \n") + c_file.write("#include \n") + c_file.write("#include \"pickit5_lut.h\"\n\n\n") + + struct_init_func = "" + struct_init_len = "" + common_func = [] # List of Functions that exist once + + for (func_name, func_array_bytes) in function_dict[prog_iface].items(): + for (array_iter, func_bytes) in enumerate(func_array_bytes): + func_length = len(func_bytes) + c_file.write("const unsigned char {0}_{1}_{2}[{3}]".format( + func_name, lower_prog_iface, array_iter, func_length) + " = {") + num_line = " " + for (iter, byte) in enumerate(func_bytes): # go through every byte + if (iter % 16 == 0): + c_file.write(num_line) # new line after 16 bytes + num_line = "\n " + num_line += "0x{0:02x}, ".format(byte) # and generate String + c_file.write(num_line + "\n};\n\n") # complete array + + if len(func_array_bytes) == 1: # look for common function + if (prog_iface == "JTAG"): # This handles the edge case in JTAG where only the + if (func_name == "ReadConfigmem") or (func_name == "WriteConfigmem"): + continue # XMEGA has the functions, but not the old JTAG + common_func.append(func_name) + struct_init_func += " scr->{0} = {0}_{1}_0;\n".format(func_name, lower_prog_iface) + struct_init_len += " scr->{0}_len = sizeof({0}_{1}_0);\n".format(func_name, lower_prog_iface) + + # EOFL + + + c_file.write("\n\n\nstatic void pickit_{0}_script_init(SCRIPT *scr);\n".format(lower_prog_iface)) # declaration + c_file.write("static void pickit_{0}_script_init(SCRIPT *scr)".format(lower_prog_iface) + " {\n") # definition + c_file.write(" memset(scr, 0x00, sizeof(SCRIPT)); // Make sure everything is NULL\n\n") + c_file.write(struct_init_func) + c_file.write("\n") # improve readability + c_file.write(struct_init_len) + c_file.write("}\n\n\n") + + c_file.write("const char * const pickit5_{0}_chip_lut[]".format(lower_prog_iface) + " = {") + chip_line = " " + for (iter, chip_name) in enumerate(prog_mcu_list.keys()): # go through every chip + if (iter % 8 == 0): + c_file.write(chip_line) # new line after 8 Chips + chip_line = "\n " + chip_line += "{0:>17},".format( '"' + chip_name + '"') # and generate String + c_file.write(chip_line + "\n};\n\n") # complete array + + + if (prog_iface == "UPDI"): + c_file.write("const unsigned char * get_devid_script_by_nvm_ver(unsigned char version) {\n") + c_file.write(" if (version >= '0') version -= '0'; // allow chars\n") + c_file.write(" if (version > 9) return NULL; // Not a valid number\n") + c_file.write(" if (version <= 3) // tiny, mega, DA, DB, DD, EA\n") + c_file.write(" return GetDeviceID_updi_0;\n") + c_file.write(" else // DU, EB\n") + c_file.write(" return GetDeviceID_updi_1;\n}\n\n") + + c_file.write("int get_pickit_{0}_script(SCRIPT *scr, const char* partdesc)".format(lower_prog_iface) + " {\n") + c_file.write(" if ((scr == NULL) || (partdesc == NULL)) {\n return -1;\n }\n") + c_file.write(" int namepos = -1;\n") + c_file.write(" for (int i = 0; i < {0}; i++)".format(len(prog_mcu_list.keys())) + " {\n") + c_file.write(" if (strcmp(pickit5_{0}_chip_lut[i], partdesc) == 0)".format(lower_prog_iface) + " {\n") + c_file.write(" namepos = i;\n break;\n }\n }\n") + c_file.write(" if (namepos == -1) {\n return -2;\n }\n\n") + c_file.write(" pickit_{0}_script_init(scr); // load common functions\n\n".format(lower_prog_iface)) + + case_list = [] + case_func_list = [] + #print(common_func) + c_file.write(" switch (namepos) {\n") + for (switch_iterator, (chip_name, functions)) in enumerate(prog_mcu_list.items()): + new_case = " case {0}: /* {1} */\n".format(switch_iterator, chip_name) + new_func_str = "" + + for func_name, func_num in functions: # generate list of unique function assignments + if func_name in common_func: + continue # skip common functions, they were set in _init() + new_func_str += "{0}_{1}_{2}\n".format(func_name, lower_prog_iface, func_num) + + + if new_func_str not in case_func_list: # Check if there is an already existing function set + case_list.append(new_case) + case_func_list.append(new_func_str) + else: # if it exists, figure out the index at which to add the case + case_list[case_func_list.index(new_func_str)] += new_case + + for (case_str, func_list) in zip(case_list, case_func_list): + c_file.write(case_str) + func_list = func_list.split("\n")[:-1] # Remove last Element that will be an empty string + for func in func_list: + func_name = func.split("_")[0] + c_file.write(" scr->{0} = {1};\n".format(func_name, func)) + c_file.write(" scr->{0}_len = sizeof({1});\n".format(func_name, func)) + c_file.write(" break;\n") + + c_file.write(" }\n return 0;\n}") + # End of switch case + print("finished " + prog_iface) + print("c-File generated") - pass -if not user_input: - xml_path = find_xml() - if xml_path == None: - print("Unable to find scripts.xml in the default location.") - print("Please Enter a Path to the File or Directory:") - xml_path = input(">") - if (os.path.isdir(xml_path)): - os.path.join(xml_path, "scripts.xml") - if (os.path.exists(xml_path) == False): - print("File not found, exiting") - quit() - convert_xml(xml_path, c_dict) - quit() - - -while user_input: - user_in = input(">") - - if (user_in == "cache"): - xml_path = find_xml() - cache_xml(xml_path) - elif (user_in == "decode"): - xml_path = os.path.join(cache_dir, "scripts_updi.xml") - decode_xml_cache(xml_path) - elif (user_in == "optimize"): - optimize_dict() - elif (user_in == "cfy"): - convert_to_c(c_dict, cache_dir) - elif (user_in == "dude"): - xml_path = find_xml() - if xml_path == None: - print("Unable to find scripts.xml in the default location.") - print("Please Enter a Path to the File or Directory:") - xml_path = input(">") - if (os.path.isdir(xml_path)): - os.path.join(xml_path, "scripts.xml") - if (os.path.exists(xml_path) == False): - print("File not found, exiting") - quit() - convert_xml(xml_path, c_dict) +xml_path = find_xml() +if xml_path == None: + print("Unable to find scripts.xml in the default location.") + print("Please Enter a Path to the File or Directory:") + xml_path = input(">") + if (os.path.isdir(xml_path)): + os.path.join(xml_path, "scripts.xml") + if (os.path.exists(xml_path) == False): + print("File not found, exiting") quit() - pass +convert_xml(xml_path, c_func_list) +quit()