diff options
| author | Matthieu Leurent <mleurent@semtech.com> | 2015-03-11 20:15:40 +0100 |
|---|---|---|
| committer | Matthieu Leurent <mleurent@semtech.com> | 2015-03-11 20:15:40 +0100 |
| commit | 45be5ff473ad1f39829bfcebc641201ae46c1c80 (patch) | |
| tree | 5d0720fb06e9bb35ce2c8c2f0749b41a7b42c41a /libloragw | |
| parent | be5c8ac770bc5b142e2c6a47702d9ac653141371 (diff) | |
| download | lora_gateway-master.tar.gz lora_gateway-master.tar.bz2 lora_gateway-master.zip | |
- Added support for Kerlink 868 27dBm gateway
- Updated global_conf.eu868.json (in packet logger) to new LoRaWAN frequency plan
- Added version numbers to AGC, arbiter and calibration firmware (those versions are checked at startup)
- Added test_loragw_cal to test radio calibrations
- Fixed minor bug in error coverage in register read/write functions
/!\ warning: Kerlink 868 27dBm gateway includes a FPGA that MUST be programmed before running any application
Diffstat (limited to 'libloragw')
| -rw-r--r-- | libloragw/Makefile | 12 | ||||
| -rw-r--r-- | libloragw/inc/loragw_hal.h | 2 | ||||
| -rw-r--r-- | libloragw/library.cfg | 1 | ||||
| -rw-r--r-- | libloragw/src/agc_fw.var | 350 | ||||
| -rw-r--r-- | libloragw/src/arb_fw.var | 98 | ||||
| -rw-r--r-- | libloragw/src/cal_fw.var | 734 | ||||
| -rw-r--r-- | libloragw/src/loragw_hal.c | 91 | ||||
| -rw-r--r-- | libloragw/src/loragw_reg.c | 8 | ||||
| -rw-r--r-- | libloragw/tst/test_loragw_cal.c | 700 |
9 files changed, 1379 insertions, 617 deletions
diff --git a/libloragw/Makefile b/libloragw/Makefile index 2b2090e..4a1f5ca 100644 --- a/libloragw/Makefile +++ b/libloragw/Makefile @@ -99,6 +99,9 @@ else ifeq ($(CFG_BRD),ref_1301_433) else ifeq ($(CFG_BRD),kerlink_868) CFG_BRD_MSG := Kerlink LoRa 868MHz gateway CFG_BRD_OPT := CFG_BRD_KERLINK868 +else ifeq ($(CFG_BRD),kerlink_868_27dbm) + CFG_BRD_MSG := Kerlink LoRa 868MHz gateway with 27dBm capability + CFG_BRD_OPT := CFG_BRD_KERLINK868_27DBM else ifeq ($(CFG_BRD),kerlink_433) CFG_BRD_MSG := Kerlink LoRa 433MHz gateway CFG_BRD_OPT := CFG_BRD_KERLINK433 @@ -132,14 +135,14 @@ endif ### linking options ifeq ($(CFG_SPI),native) - LIBS := -lloragw -lrt + LIBS := -lloragw -lrt -lm else ifeq ($(CFG_SPI),ftdi) - LIBS := -lloragw -lrt -lmpsse + LIBS := -lloragw -lrt -lmpsse -lm endif ### general build targets -all: libloragw.a test_loragw_spi test_loragw_reg test_loragw_hal test_loragw_gps +all: libloragw.a test_loragw_spi test_loragw_reg test_loragw_hal test_loragw_gps test_loragw_cal clean: rm -f libloragw.a @@ -227,4 +230,7 @@ test_loragw_hal: tst/test_loragw_hal.c libloragw.a test_loragw_gps: tst/test_loragw_gps.c libloragw.a $(CC) $(CFLAGS) -L. $< -o $@ $(LIBS) +test_loragw_cal: tst/test_loragw_cal.c libloragw.a src/cal_fw.var + $(CC) $(CFLAGS) -L. $< -o $@ $(LIBS) + ### EOF
\ No newline at end of file diff --git a/libloragw/inc/loragw_hal.h b/libloragw/inc/loragw_hal.h index 1516b65..8196f70 100644 --- a/libloragw/inc/loragw_hal.h +++ b/libloragw/inc/loragw_hal.h @@ -141,7 +141,7 @@ Maintainer: Sylvain Miermont #if (CFG_BRD_NANO868 == 1) #define LGW_RF_TX_ENABLE { true, true} /* both radio A and B are usable in TX */ #define LGW_RF_CLKOUT { true, true} /* both radios have clkout enabled */ -#elif ((CFG_BRD_1301REF868 == 1) || (CFG_BRD_1301REF433 == 1) || (CFG_BRD_KERLINK868 == 1) || (CFG_BRD_KERLINK433 == 1)) +#elif ((CFG_BRD_1301REF868 == 1) || (CFG_BRD_1301REF433 == 1) || (CFG_BRD_KERLINK868 == 1) || (CFG_BRD_KERLINK868_27DBM == 1) || (CFG_BRD_KERLINK433 == 1)) #define LGW_RF_TX_ENABLE { true,false} /* radio B TX output is disconnected */ #define LGW_RF_CLKOUT {false, true} /* radio A clkout disabled for spur optimization */ #elif ((CFG_BRD_CISCO433 == 1) || (CFG_BRD_CISCO470 == 1) || (CFG_BRD_CISCO780 == 1)) diff --git a/libloragw/library.cfg b/libloragw/library.cfg index 52ca305..748aafb 100644 --- a/libloragw/library.cfg +++ b/libloragw/library.cfg @@ -42,6 +42,7 @@ CFG_BAND= eu868 # ref_1301_868 SX1301 reference board with SX1257 radios, 868 MHz filters # ref_1301_433 SX1301 reference board with SX1255 radios, 433 MHz filters # kerlink_868 Kerlink LoRa 868MHz gateway +# kerlink_868_27dbm Kerlink LoRa 868MHz gateway with 27dBm capability # kerlink_433 Kerlink LoRa 433MHz gateway # cisco_433 Cisco LoRa 433MHz gateway # cisco_470 Cisco LoRa 470MHz gateway diff --git a/libloragw/src/agc_fw.var b/libloragw/src/agc_fw.var index 626f172..5083a0e 100644 --- a/libloragw/src/agc_fw.var +++ b/libloragw/src/agc_fw.var @@ -16,186 +16,186 @@ Maintainer: Matthieu Leurent static uint8_t agc_firmware[MCU_AGC_FW_BYTE] = { 0x8A, 0x51, 0x11, 0x28, 0xFF, 0xBF, 0xFF, 0xBF, 0x80, 0x40, 0x03, 0x4E, 0x83, 0x52, 0x03, 0x53, 0xAC, 0x00, 0x04, 0x88, 0xAD, 0x40, 0x0A, 0xC8, 0xAE, 0x40, 0x01, 0x88, 0xAF, 0x80, 0x8A, 0x51, -0x13, 0x68, 0x8A, 0x51, 0x57, 0x6D, 0x8B, 0xDC, 0x1A, 0x68, 0x9F, 0xE0, 0x8A, 0x51, 0x27, 0x60, +0x13, 0x68, 0x8A, 0x51, 0x59, 0x2D, 0x8B, 0xDC, 0x1A, 0x68, 0xA0, 0xE0, 0x8A, 0x51, 0x27, 0x60, 0x40, 0xF0, 0x9B, 0x40, 0x10, 0xF0, 0x8B, 0x00, 0x2F, 0x88, 0x81, 0x80, 0x2E, 0x48, 0x8A, 0xC0, 0x2D, 0x48, 0x84, 0x80, 0x2C, 0x8E, 0x83, 0xC0, 0x80, 0x0E, 0x00, 0xCE, 0x09, 0x80, 0x95, 0x41, 0x96, 0x41, 0x97, 0x81, 0x98, 0x01, 0x99, 0x41, 0x9A, 0x41, 0x9B, 0x81, 0x9C, 0x41, 0x9E, 0x81, -0x19, 0x54, 0x19, 0x95, 0x8B, 0x41, 0xD4, 0x41, 0x02, 0xF0, 0x54, 0x02, 0x03, 0x18, 0x58, 0x68, -0x54, 0x08, 0x51, 0x3E, 0x84, 0x80, 0x83, 0x93, 0x80, 0x81, 0x54, 0x08, 0x5D, 0xBE, 0x84, 0x80, -0x07, 0x70, 0x80, 0x40, 0x54, 0x08, 0x71, 0x60, 0x8A, 0x51, 0x54, 0x08, 0x5D, 0xBE, 0x84, 0x80, -0x00, 0xCE, 0xF0, 0x39, 0x96, 0x00, 0x54, 0x9C, 0x51, 0x68, 0x83, 0x52, 0x03, 0x53, 0x18, 0x14, -0x54, 0x68, 0x83, 0x52, 0x03, 0x53, 0x18, 0xD0, 0x18, 0x55, 0x18, 0x11, 0xD4, 0x8A, 0x34, 0x68, -0xD3, 0x81, 0x08, 0xF0, 0x53, 0x42, 0x03, 0x18, 0x6E, 0xE8, 0x53, 0x48, 0x55, 0x7E, 0x84, 0x80, -0x04, 0xF0, 0x83, 0x93, 0x80, 0x40, 0x53, 0x48, 0x55, 0x7E, 0x84, 0x80, 0x00, 0x48, 0x96, 0x00, -0x53, 0x48, 0x95, 0x00, 0x98, 0x54, 0x98, 0x10, 0xD3, 0xCA, 0x59, 0xA8, 0x10, 0xF0, 0x9B, 0x40, -0x08, 0x40, 0xAB, 0x40, 0x51, 0x3E, 0x84, 0x80, 0x00, 0x48, 0xAA, 0x00, 0x23, 0x3E, 0x84, 0x80, -0x8A, 0x51, 0x1B, 0xE5, 0x8A, 0x51, 0xA7, 0x40, 0x05, 0x30, 0x03, 0xD0, 0xA7, 0x0D, 0xFF, 0x7E, -0x03, 0x9D, 0x7D, 0x28, 0x2A, 0x08, 0x2D, 0x7E, 0x84, 0x80, 0x8A, 0x51, 0x1B, 0xE5, 0x8A, 0x51, -0xA8, 0xC0, 0x28, 0x47, 0x27, 0x44, 0x01, 0x38, 0xA9, 0x00, 0x2B, 0x48, 0x22, 0xFE, 0x84, 0x80, -0x29, 0x08, 0x80, 0x40, 0x2B, 0x48, 0x22, 0xFE, 0x84, 0x80, 0x00, 0x48, 0x83, 0x96, 0xA0, 0x80, -0x83, 0x52, 0x2B, 0x48, 0x83, 0x96, 0xA1, 0xC0, 0x0C, 0x30, 0xD2, 0xA1, 0x08, 0x40, 0x18, 0x12, -0x80, 0xF0, 0x9B, 0x40, 0x10, 0xF0, 0x9E, 0x40, 0x13, 0x1F, 0xAA, 0xA8, 0x83, 0x52, 0x03, 0x53, -0x18, 0x14, 0xAD, 0xE8, 0x83, 0x52, 0x03, 0x53, 0x18, 0xD0, 0x92, 0x1F, 0xB3, 0xE8, 0x83, 0x96, -0x03, 0x53, 0xA4, 0x54, 0xB6, 0xE8, 0x83, 0x96, 0x03, 0x53, 0xA4, 0x10, 0x83, 0x52, 0x12, 0xDF, -0xBD, 0x28, 0x83, 0x96, 0x03, 0x53, 0x24, 0x14, 0xC0, 0x28, 0x83, 0x96, 0x03, 0x53, 0x24, 0xD0, -0x83, 0x52, 0x5F, 0xC8, 0xA7, 0x40, 0x06, 0x30, 0x03, 0xD0, 0xA7, 0x0D, 0xFF, 0x7E, 0x03, 0x9D, -0xC4, 0x68, 0x12, 0xC8, 0x3F, 0xB9, 0x27, 0x44, 0xA5, 0x00, 0x83, 0x96, 0x24, 0x5C, 0xD2, 0xA8, -0x83, 0x52, 0x9E, 0x15, 0x83, 0x52, 0x13, 0x08, 0x0F, 0x39, 0x3F, 0xFE, 0x84, 0x80, 0x83, 0x93, -0x00, 0x48, 0xA1, 0xC0, 0x21, 0xC8, 0xA9, 0x00, 0x3F, 0x30, 0xA9, 0x85, 0x29, 0x08, 0x83, 0x96, -0xA0, 0x80, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA1, 0xC0, 0x08, 0xF0, -0xD2, 0xA1, 0x8A, 0x51, 0x21, 0xDF, 0xF0, 0xA8, 0x83, 0x52, 0x03, 0x53, 0x19, 0x96, 0xF3, 0x28, -0x83, 0x52, 0x03, 0x53, 0x19, 0x52, 0xA1, 0x1F, 0xF9, 0x28, 0x83, 0x52, 0x03, 0x53, 0x99, 0xD6, -0xFC, 0x28, 0x83, 0x52, 0x03, 0x53, 0x99, 0x92, 0x83, 0x96, 0xA4, 0x9C, 0x0C, 0x69, 0x6C, 0xB0, -0xA0, 0x80, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA1, 0xC0, 0x0A, 0x30, -0xD2, 0xA1, 0x8A, 0x51, 0x04, 0xF0, 0x18, 0x69, 0x60, 0x30, 0xA0, 0x80, 0x00, 0xB0, 0x83, 0x52, -0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA1, 0xC0, 0x0A, 0x30, 0xD2, 0xA1, 0x8A, 0x51, 0x05, 0x30, -0x83, 0x96, 0xA0, 0x80, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA1, 0xC0, -0x0B, 0x70, 0xD2, 0xA1, 0x8A, 0x51, 0x25, 0x08, 0x83, 0x96, 0xA0, 0x80, 0x00, 0xB0, 0x83, 0x52, -0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA1, 0xC0, 0x04, 0xF0, 0xD2, 0xA1, 0x8A, 0x51, 0x11, 0xC8, +0x19, 0x54, 0x19, 0x95, 0x18, 0x56, 0x8B, 0x41, 0xD4, 0x41, 0x02, 0xF0, 0x54, 0x02, 0x03, 0x18, +0x59, 0xA8, 0x54, 0x08, 0x51, 0x3E, 0x84, 0x80, 0x83, 0x93, 0x80, 0x81, 0x54, 0x08, 0x5D, 0xBE, +0x84, 0x80, 0x07, 0x70, 0x80, 0x40, 0x54, 0x08, 0x72, 0x60, 0x8A, 0x51, 0x54, 0x08, 0x5D, 0xBE, +0x84, 0x80, 0x00, 0xCE, 0xF0, 0x39, 0x96, 0x00, 0x54, 0x9C, 0x52, 0x68, 0x83, 0x52, 0x03, 0x53, +0x18, 0x14, 0x55, 0xA8, 0x83, 0x52, 0x03, 0x53, 0x18, 0xD0, 0x18, 0x55, 0x18, 0x11, 0xD4, 0x8A, +0x35, 0xA8, 0xD3, 0x81, 0x08, 0xF0, 0x53, 0x42, 0x03, 0x18, 0x6F, 0x28, 0x53, 0x48, 0x55, 0x7E, +0x84, 0x80, 0x04, 0xF0, 0x83, 0x93, 0x80, 0x40, 0x53, 0x48, 0x55, 0x7E, 0x84, 0x80, 0x00, 0x48, +0x96, 0x00, 0x53, 0x48, 0x95, 0x00, 0x98, 0x54, 0x98, 0x10, 0xD3, 0xCA, 0x5A, 0xA8, 0x10, 0xF0, +0x9B, 0x40, 0x08, 0x40, 0xAB, 0x40, 0x51, 0x3E, 0x84, 0x80, 0x00, 0x48, 0xAA, 0x00, 0x23, 0x3E, +0x84, 0x80, 0x8A, 0x51, 0x1D, 0xE5, 0x8A, 0x51, 0xA7, 0x40, 0x05, 0x30, 0x03, 0xD0, 0xA7, 0x0D, +0xFF, 0x7E, 0x03, 0x9D, 0x7E, 0x28, 0x2A, 0x08, 0x2D, 0x7E, 0x84, 0x80, 0x8A, 0x51, 0x1D, 0xE5, +0x8A, 0x51, 0xA8, 0xC0, 0x28, 0x47, 0x27, 0x44, 0x01, 0x38, 0xA9, 0x00, 0x2B, 0x48, 0x22, 0xFE, +0x84, 0x80, 0x29, 0x08, 0x80, 0x40, 0x2B, 0x48, 0x22, 0xFE, 0x84, 0x80, 0x00, 0x48, 0x83, 0x96, +0xA0, 0x80, 0x83, 0x52, 0x2B, 0x48, 0x83, 0x96, 0xA1, 0xC0, 0x0C, 0x30, 0xD3, 0xE1, 0x08, 0x40, +0x18, 0x12, 0x80, 0xF0, 0x9B, 0x40, 0x10, 0xF0, 0x9E, 0x40, 0x13, 0x1F, 0xAB, 0xE8, 0x83, 0x52, +0x03, 0x53, 0x18, 0x14, 0xAE, 0xE8, 0x83, 0x52, 0x03, 0x53, 0x18, 0xD0, 0x92, 0x1F, 0xB4, 0xA8, +0x83, 0x96, 0x03, 0x53, 0xA4, 0x54, 0xB7, 0x28, 0x83, 0x96, 0x03, 0x53, 0xA4, 0x10, 0x83, 0x52, +0x12, 0xDF, 0xBE, 0x28, 0x83, 0x96, 0x03, 0x53, 0x24, 0x14, 0xC1, 0x68, 0x83, 0x96, 0x03, 0x53, +0x24, 0xD0, 0x83, 0x52, 0x5F, 0xC8, 0xA7, 0x40, 0x06, 0x30, 0x03, 0xD0, 0xA7, 0x0D, 0xFF, 0x7E, +0x03, 0x9D, 0xC5, 0xA8, 0x12, 0xC8, 0x3F, 0xB9, 0x27, 0x44, 0xA5, 0x00, 0x83, 0x96, 0x24, 0x5C, +0xD3, 0xE8, 0x83, 0x52, 0x9E, 0x15, 0x83, 0x52, 0x13, 0x08, 0x0F, 0x39, 0x3F, 0xFE, 0x84, 0x80, +0x83, 0x93, 0x00, 0x48, 0xA1, 0xC0, 0x21, 0xC8, 0xA9, 0x00, 0x3F, 0x30, 0xA9, 0x85, 0x29, 0x08, 0x83, 0x96, 0xA0, 0x80, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA1, 0xC0, -0x05, 0x30, 0xD2, 0xA1, 0x8A, 0x51, 0x10, 0x88, 0x83, 0x96, 0xA0, 0x80, 0x00, 0xB0, 0x83, 0x52, -0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA1, 0xC0, 0x06, 0x30, 0xD2, 0xA1, 0x8A, 0x51, 0x83, 0x96, -0x00, 0xB0, 0xA0, 0xC1, 0xA0, 0x0A, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA1, 0xC0, -0x00, 0xB0, 0xD2, 0xA1, 0x8A, 0x51, 0x35, 0xB0, 0xA7, 0x40, 0xA7, 0x0B, 0x55, 0xE9, 0x05, 0x30, -0x83, 0x96, 0x03, 0x53, 0xA0, 0x80, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, -0xA1, 0xC0, 0x00, 0xB0, 0xD2, 0xA1, 0x8A, 0x51, 0x03, 0x30, 0xA8, 0xC0, 0x7D, 0x30, 0xA7, 0x40, -0xA7, 0x0B, 0x68, 0xA9, 0xA8, 0x8B, 0x68, 0xA9, 0x83, 0x52, 0x03, 0x53, 0x13, 0x1F, 0x72, 0xE9, -0x19, 0x51, 0x73, 0x29, 0x19, 0x10, 0x05, 0x30, 0xA7, 0x40, 0xA7, 0x0B, 0x75, 0x29, 0x83, 0x52, -0x03, 0x53, 0x13, 0x1F, 0x7D, 0x69, 0x99, 0xD5, 0x7E, 0x69, 0x99, 0x94, 0x15, 0x70, 0xA8, 0xC0, -0xC6, 0xB0, 0xA7, 0x40, 0xA7, 0x0B, 0x82, 0x69, 0xA8, 0x8B, 0x82, 0x69, 0x00, 0x00, 0x0D, 0x70, -0x83, 0x96, 0x03, 0x53, 0xA0, 0x80, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, -0xA1, 0xC0, 0x00, 0xB0, 0xD2, 0xA1, 0x8A, 0x51, 0x93, 0x1B, 0x94, 0xA9, 0x99, 0x92, 0x19, 0x52, +0x08, 0xF0, 0xD3, 0xE1, 0x8A, 0x51, 0x21, 0xDF, 0xF1, 0xE8, 0x83, 0x52, 0x03, 0x53, 0x19, 0x96, +0xF4, 0xE8, 0x83, 0x52, 0x03, 0x53, 0x19, 0x52, 0xA1, 0x1F, 0xFA, 0x28, 0x83, 0x52, 0x03, 0x53, +0x99, 0xD6, 0xFD, 0x68, 0x83, 0x52, 0x03, 0x53, 0x99, 0x92, 0x83, 0x96, 0xA4, 0x9C, 0x0D, 0xA9, +0x6C, 0xB0, 0xA0, 0x80, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA1, 0xC0, +0x0A, 0x30, 0xD3, 0xE1, 0x8A, 0x51, 0x04, 0xF0, 0x19, 0xA9, 0x60, 0x30, 0xA0, 0x80, 0x00, 0xB0, +0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA1, 0xC0, 0x0A, 0x30, 0xD3, 0xE1, 0x8A, 0x51, +0x05, 0x30, 0x83, 0x96, 0xA0, 0x80, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, +0xA1, 0xC0, 0x0B, 0x70, 0xD3, 0xE1, 0x8A, 0x51, 0x25, 0x08, 0x83, 0x96, 0xA0, 0x80, 0x00, 0xB0, +0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA1, 0xC0, 0x04, 0xF0, 0xD3, 0xE1, 0x8A, 0x51, +0x11, 0xC8, 0x83, 0x96, 0xA0, 0x80, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, +0xA1, 0xC0, 0x05, 0x30, 0xD3, 0xE1, 0x8A, 0x51, 0x10, 0x88, 0x83, 0x96, 0xA0, 0x80, 0x00, 0xB0, +0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA1, 0xC0, 0x06, 0x30, 0xD3, 0xE1, 0x8A, 0x51, 0x83, 0x96, 0x00, 0xB0, 0xA0, 0xC1, 0xA0, 0x0A, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, -0xA1, 0xC0, 0x00, 0xB0, 0xD2, 0xA1, 0x8A, 0x51, 0x13, 0x1F, 0xA8, 0xA9, 0x99, 0x91, 0xA9, 0xE9, -0x99, 0x50, 0xE4, 0xB0, 0xA7, 0x40, 0xAC, 0xE9, 0xAD, 0x29, 0xA7, 0x0B, 0xAB, 0x29, 0xB0, 0xA9, -0x00, 0x00, 0x83, 0x52, 0x03, 0x53, 0x13, 0x1F, 0xB7, 0x69, 0x19, 0x95, 0xB8, 0xE9, 0x19, 0x54, -0x03, 0x30, 0x83, 0x96, 0xA0, 0x80, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, -0xA1, 0xC0, 0x00, 0xB0, 0xD2, 0xA1, 0x8A, 0x51, 0x05, 0x30, 0xA8, 0xC0, 0x26, 0x70, 0xA7, 0x40, -0xA7, 0x0B, 0xC8, 0xA9, 0xA8, 0x8B, 0xC8, 0xA9, 0x00, 0x00, 0x83, 0x52, 0x03, 0x53, 0x18, 0x56, -0x9E, 0x81, 0x08, 0x40, 0x83, 0x52, 0xA6, 0x00, 0x83, 0x96, 0x21, 0xC8, 0x03, 0x59, 0xDF, 0xA9, -0x20, 0x88, 0x83, 0x52, 0x88, 0x80, 0x26, 0x08, 0x80, 0x38, 0x86, 0xC0, 0x08, 0x40, 0x20, 0x88, -0x83, 0x52, 0x88, 0x80, 0x26, 0x08, 0x80, 0x38, 0x85, 0xC0, 0x08, 0x40, 0x95, 0x41, 0x96, 0x41, -0x97, 0x81, 0x98, 0x01, 0x99, 0x41, 0x9A, 0x41, 0x9B, 0x81, 0x9C, 0x41, 0x9E, 0x81, 0x19, 0x54, -0x19, 0x95, 0x8B, 0x41, 0xD4, 0x41, 0x02, 0xF0, 0x54, 0x02, 0x03, 0x18, 0x17, 0xEA, 0x54, 0x08, -0x51, 0x3E, 0x84, 0x80, 0x83, 0x93, 0x80, 0x81, 0x54, 0x08, 0x5D, 0xBE, 0x84, 0x80, 0x07, 0x70, -0x80, 0x40, 0x54, 0x08, 0x30, 0x22, 0x8A, 0x51, 0x54, 0x08, 0x5D, 0xBE, 0x84, 0x80, 0x00, 0xCE, -0xF0, 0x39, 0x96, 0x00, 0x54, 0x9C, 0x10, 0x2A, 0x83, 0x52, 0x03, 0x53, 0x18, 0x14, 0x13, 0xAA, -0x83, 0x52, 0x03, 0x53, 0x18, 0xD0, 0x18, 0x55, 0x18, 0x11, 0xD4, 0x8A, 0xF3, 0x69, 0xD3, 0x81, -0x08, 0xF0, 0x53, 0x42, 0x03, 0x18, 0x2D, 0xEA, 0x53, 0x48, 0x55, 0x7E, 0x84, 0x80, 0x04, 0xF0, -0x83, 0x93, 0x80, 0x40, 0x53, 0x48, 0x55, 0x7E, 0x84, 0x80, 0x00, 0x48, 0x96, 0x00, 0x53, 0x48, -0x95, 0x00, 0x98, 0x54, 0x98, 0x10, 0xD3, 0xCA, 0x18, 0x6A, 0x10, 0xF0, 0x9B, 0x40, 0x08, 0x40, -0xB5, 0x40, 0x51, 0x3E, 0x84, 0x80, 0x00, 0x48, 0xB4, 0x00, 0x23, 0x3E, 0x84, 0x80, 0x8A, 0x51, -0x1B, 0xE5, 0x8A, 0x51, 0xB1, 0x00, 0x05, 0x30, 0x03, 0xD0, 0xB1, 0xCD, 0xFF, 0x7E, 0x03, 0x9D, -0x3C, 0xEA, 0x34, 0x08, 0x2D, 0x7E, 0x84, 0x80, 0x8A, 0x51, 0x1B, 0xE5, 0x8A, 0x51, 0xB2, 0x00, -0x32, 0x87, 0x31, 0x04, 0x01, 0x38, 0xB3, 0x40, 0x35, 0x48, 0x22, 0xFE, 0x84, 0x80, 0x33, 0x48, -0x80, 0x40, 0x35, 0x48, 0x22, 0xFE, 0x84, 0x80, 0x00, 0x48, 0x83, 0x96, 0xA2, 0xC0, 0x83, 0x52, -0x35, 0x48, 0x83, 0x96, 0xA3, 0x00, 0x0C, 0x30, 0x90, 0xAB, 0x18, 0x12, 0x80, 0xF0, 0x9B, 0x40, -0x10, 0xF0, 0x9E, 0x40, 0x13, 0x1F, 0x68, 0xAA, 0x83, 0x52, 0x03, 0x53, 0x18, 0x14, 0x6B, 0x2A, -0x83, 0x52, 0x03, 0x53, 0x18, 0xD0, 0x92, 0x1F, 0x71, 0xEA, 0x83, 0x96, 0x03, 0x53, 0xA4, 0x54, -0x74, 0xEA, 0x83, 0x96, 0x03, 0x53, 0xA4, 0x10, 0x83, 0x52, 0x12, 0xDF, 0x7B, 0x6A, 0x83, 0x96, -0x03, 0x53, 0x24, 0x14, 0x7E, 0x6A, 0x83, 0x96, 0x03, 0x53, 0x24, 0xD0, 0x83, 0x52, 0x5F, 0xC8, -0xB1, 0x00, 0x06, 0x30, 0x03, 0xD0, 0xB1, 0xCD, 0xFF, 0x7E, 0x03, 0x9D, 0x82, 0x6A, 0x12, 0xC8, -0x3F, 0xB9, 0x31, 0x04, 0xA5, 0x00, 0x83, 0x96, 0x24, 0x5C, 0x90, 0x6A, 0x83, 0x52, 0x9E, 0x15, -0x83, 0x52, 0x13, 0x08, 0x0F, 0x39, 0x3F, 0xFE, 0x84, 0x80, 0x83, 0x93, 0x00, 0x48, 0xA1, 0xC0, -0x21, 0xC8, 0xB3, 0x40, 0x3F, 0x30, 0xB3, 0xC5, 0x33, 0x48, 0x83, 0x96, 0xA2, 0xC0, 0x00, 0xB0, -0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA3, 0x00, 0x08, 0xF0, 0x90, 0x63, 0x8A, 0x51, -0x21, 0xDF, 0xAE, 0x2A, 0x83, 0x52, 0x03, 0x53, 0x19, 0x96, 0xB1, 0xEA, 0x83, 0x52, 0x03, 0x53, -0x19, 0x52, 0xA1, 0x1F, 0xB7, 0x6A, 0x83, 0x52, 0x03, 0x53, 0x99, 0xD6, 0xBA, 0x2A, 0x83, 0x52, -0x03, 0x53, 0x99, 0x92, 0x83, 0x96, 0xA4, 0x9C, 0xCA, 0xEA, 0x6C, 0xB0, 0xA2, 0xC0, 0x00, 0xB0, -0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA3, 0x00, 0x0A, 0x30, 0x90, 0x63, 0x8A, 0x51, -0x04, 0xF0, 0xD6, 0x2A, 0x60, 0x30, 0xA2, 0xC0, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, -0x83, 0x96, 0xA3, 0x00, 0x0A, 0x30, 0x90, 0x63, 0x8A, 0x51, 0x05, 0x30, 0x83, 0x96, 0xA2, 0xC0, -0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA3, 0x00, 0x0B, 0x70, 0x90, 0x63, -0x8A, 0x51, 0x25, 0x08, 0x83, 0x96, 0xA2, 0xC0, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, -0x83, 0x96, 0xA3, 0x00, 0x04, 0xF0, 0x90, 0x63, 0x8A, 0x51, 0x11, 0xC8, 0x83, 0x96, 0xA2, 0xC0, -0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA3, 0x00, 0x05, 0x30, 0x90, 0x63, -0x8A, 0x51, 0x10, 0x88, 0x83, 0x96, 0xA2, 0xC0, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, -0x83, 0x96, 0xA3, 0x00, 0x06, 0x30, 0x90, 0x63, 0x8A, 0x51, 0x83, 0x96, 0x00, 0xB0, 0xA2, 0x01, -0xA2, 0x4A, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA3, 0x00, 0x00, 0xB0, 0x90, 0x63, -0x8A, 0x51, 0x35, 0xB0, 0xB1, 0x00, 0xB1, 0xCB, 0x13, 0xEB, 0x05, 0x30, 0x83, 0x96, 0x03, 0x53, -0xA2, 0xC0, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA3, 0x00, 0x00, 0xB0, -0x90, 0x63, 0x8A, 0x51, 0x03, 0x30, 0xB2, 0x00, 0x7D, 0x30, 0xB1, 0x00, 0xB1, 0xCB, 0x26, 0xEB, -0xB2, 0xCB, 0x26, 0xEB, 0x83, 0x52, 0x03, 0x53, 0x13, 0x1F, 0x30, 0xAB, 0x19, 0x51, 0x31, 0xEB, -0x19, 0x10, 0x05, 0x30, 0xB1, 0x00, 0xB1, 0xCB, 0x33, 0x2B, 0x83, 0x52, 0x03, 0x53, 0x13, 0x1F, -0x3B, 0x6B, 0x99, 0xD5, 0x3C, 0x2B, 0x99, 0x94, 0x15, 0x70, 0xB2, 0x00, 0xC6, 0xB0, 0xB1, 0x00, -0xB1, 0xCB, 0x40, 0x6B, 0xB2, 0xCB, 0x40, 0x6B, 0x00, 0x00, 0x0D, 0x70, 0x83, 0x96, 0x03, 0x53, -0xA2, 0xC0, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA3, 0x00, 0x00, 0xB0, -0x90, 0x63, 0x8A, 0x51, 0x93, 0x1B, 0x52, 0xEB, 0x99, 0x92, 0x19, 0x52, 0x83, 0x96, 0x00, 0xB0, -0xA2, 0x01, 0xA2, 0x4A, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA3, 0x00, 0x00, 0xB0, -0x90, 0x63, 0x8A, 0x51, 0x13, 0x1F, 0x66, 0x2B, 0x99, 0x91, 0x67, 0x6B, 0x99, 0x50, 0xE4, 0xB0, -0xB1, 0x00, 0x6A, 0x2B, 0x6B, 0x6B, 0xB1, 0xCB, 0x69, 0x2B, 0x6E, 0x6B, 0x00, 0x00, 0x83, 0x52, -0x03, 0x53, 0x13, 0x1F, 0x75, 0x6B, 0x19, 0x95, 0x76, 0x6B, 0x19, 0x54, 0x03, 0x30, 0x83, 0x96, -0xA2, 0xC0, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA3, 0x00, 0x00, 0xB0, -0x90, 0x63, 0x8A, 0x51, 0x05, 0x30, 0xB2, 0x00, 0x26, 0x70, 0xB1, 0x00, 0xB1, 0xCB, 0x86, 0xEB, -0xB2, 0xCB, 0x86, 0xEB, 0x00, 0x00, 0x83, 0x52, 0x03, 0x53, 0x18, 0x56, 0x9E, 0x81, 0x08, 0x40, -0x83, 0x52, 0xB0, 0xC0, 0x83, 0x96, 0x23, 0x08, 0x03, 0x59, 0x9D, 0x6B, 0x22, 0xC8, 0x83, 0x52, -0x88, 0x80, 0x30, 0xC8, 0x80, 0x38, 0x86, 0xC0, 0x08, 0x40, 0x22, 0xC8, 0x83, 0x52, 0x88, 0x80, -0x30, 0xC8, 0x80, 0x38, 0x85, 0xC0, 0x08, 0x40, 0x11, 0x30, 0xBE, 0x80, 0x03, 0x30, 0xA0, 0x80, -0x8A, 0x51, 0xE6, 0xE1, 0x8A, 0x51, 0xBD, 0xC1, 0x10, 0xF0, 0x3D, 0x82, 0x03, 0x18, 0xDB, 0xAB, -0x3E, 0x88, 0x10, 0x7A, 0x03, 0x59, 0xB9, 0x6B, 0x8A, 0x51, 0x88, 0x65, 0x8A, 0x51, 0xBE, 0x80, -0xB0, 0xEB, 0x3D, 0x88, 0x20, 0x38, 0x9B, 0x40, 0x3E, 0x88, 0x10, 0x7A, 0x03, 0x9D, 0xC5, 0x2B, -0x8A, 0x51, 0x88, 0x65, 0x8A, 0x51, 0xBE, 0x80, 0xBC, 0x6B, 0x3E, 0x88, 0x11, 0xBA, 0x03, 0x9D, -0xCC, 0x2B, 0x30, 0x30, 0x9B, 0x40, 0xDB, 0xAB, 0x3D, 0x88, 0x3F, 0xFE, 0x84, 0x80, 0x3E, 0x88, -0x83, 0x93, 0x80, 0x40, 0x3D, 0x88, 0x30, 0x78, 0x9B, 0x40, 0xBD, 0x0A, 0xAC, 0x2B, 0x8A, 0x51, -0x88, 0x65, 0x8A, 0x51, 0xBE, 0x80, 0x3E, 0x88, 0x10, 0x7A, 0x03, 0x9D, 0xD7, 0xAB, 0x20, 0xF0, -0x9B, 0x40, 0x3E, 0x88, 0x10, 0x7A, 0x03, 0x9D, 0xEA, 0x6B, 0x8A, 0x51, 0x88, 0x65, 0x8A, 0x51, -0xBE, 0x80, 0xE1, 0x2B, 0x3E, 0x88, 0xDF, 0xC0, 0x5F, 0xC8, 0x30, 0x78, 0x9B, 0x40, 0x3E, 0x88, -0x10, 0x7A, 0x03, 0x59, 0xF8, 0x6B, 0x8A, 0x51, 0x88, 0x65, 0x8A, 0x51, 0xBE, 0x80, 0xEF, 0xEB, -0x20, 0xF0, 0x9B, 0x40, 0x3E, 0x88, 0x10, 0x7A, 0x03, 0x9D, 0x03, 0x6C, 0x8A, 0x51, 0x88, 0x65, -0x8A, 0x51, 0xBE, 0x80, 0xFA, 0xAB, 0x3E, 0x88, 0xBC, 0x40, 0x30, 0x78, 0x9B, 0x40, 0x3E, 0x88, -0x10, 0x7A, 0x03, 0x59, 0x10, 0x2C, 0x8A, 0x51, 0x88, 0x65, 0x8A, 0x51, 0xBE, 0x80, 0x07, 0xAC, -0x40, 0xF0, 0x9B, 0x40, 0x93, 0x5F, 0x19, 0xAC, 0x8A, 0x51, 0x5D, 0xE2, 0x8A, 0x51, 0x40, 0xF0, -0x9B, 0x40, 0xD3, 0x81, 0x08, 0xF0, 0x53, 0x42, 0x03, 0x18, 0x51, 0xAC, 0x53, 0x48, 0x95, 0x00, -0x85, 0x70, 0x0D, 0x02, 0x03, 0x5C, 0x31, 0xAC, 0x53, 0x48, 0x55, 0x7E, 0x84, 0x80, 0x0E, 0x70, -0x83, 0x93, 0x00, 0x42, 0x03, 0x18, 0x31, 0xAC, 0x53, 0x48, 0x55, 0x7E, 0x84, 0x80, 0x00, 0x8A, -0x42, 0x6C, 0x34, 0x70, 0x0D, 0x02, 0x03, 0x18, 0x4F, 0x2C, 0x53, 0x48, 0x55, 0x7E, 0x84, 0x80, -0x05, 0x30, 0x83, 0x93, 0x00, 0x42, 0x03, 0x5C, 0x4F, 0x2C, 0x53, 0x48, 0x55, 0x7E, 0x84, 0x80, -0x00, 0x48, 0xFF, 0x7E, 0xB6, 0x40, 0x53, 0x48, 0x55, 0x7E, 0x84, 0x80, 0x36, 0x48, 0x80, 0x40, -0x53, 0x48, 0x55, 0x7E, 0x84, 0x80, 0x00, 0x48, 0x96, 0x00, 0x98, 0x54, 0x98, 0x10, 0xD3, 0xCA, -0x1A, 0xAC, 0xD4, 0x41, 0x02, 0xF0, 0x54, 0x02, 0x03, 0x18, 0xC5, 0xEC, 0x54, 0x9C, 0x5C, 0xEC, -0x83, 0x52, 0x03, 0x53, 0x18, 0x14, 0x5F, 0x6C, 0x83, 0x52, 0x03, 0x53, 0x18, 0xD0, 0x54, 0x08, -0x51, 0x3E, 0x84, 0x80, 0x83, 0x93, 0x00, 0x48, 0x03, 0x9D, 0x68, 0xAC, 0x64, 0x70, 0x69, 0xEC, -0x73, 0xF0, 0xB7, 0x80, 0x0E, 0x08, 0x37, 0x82, 0x03, 0x18, 0x7A, 0x2C, 0x54, 0x08, 0x5D, 0xBE, -0x84, 0x80, 0x0B, 0x70, 0x00, 0x42, 0x03, 0x18, 0x7A, 0x2C, 0x54, 0x08, 0x5D, 0xBE, 0x84, 0x80, -0x00, 0x8A, 0x8A, 0xAC, 0x2D, 0xB0, 0x0E, 0x02, 0x03, 0x18, 0x98, 0xAC, 0x54, 0x08, 0x5D, 0xBE, -0x84, 0x80, 0x08, 0xF0, 0x00, 0x42, 0x03, 0x5C, 0x98, 0xAC, 0x54, 0x08, 0x5D, 0xBE, 0x84, 0x80, -0x00, 0x48, 0xFF, 0x7E, 0xB6, 0x40, 0x54, 0x08, 0x5D, 0xBE, 0x84, 0x80, 0x36, 0x48, 0x80, 0x40, -0x54, 0x08, 0x5D, 0xBE, 0x84, 0x80, 0x00, 0xCE, 0xF0, 0x39, 0x96, 0x00, 0x18, 0x55, 0x18, 0x11, -0x24, 0x30, 0x0F, 0x42, 0x03, 0x5C, 0xA8, 0xAC, 0x54, 0x08, 0x51, 0x3E, 0x84, 0x80, 0x09, 0x30, -0x00, 0x42, 0x03, 0x18, 0xA8, 0xAC, 0x54, 0x08, 0x51, 0x3E, 0x84, 0x80, 0x00, 0x8A, 0xB7, 0x6C, -0x10, 0xF0, 0x0F, 0x42, 0x03, 0x18, 0xC3, 0xEC, 0x54, 0x08, 0x51, 0x3E, 0x84, 0x80, 0x80, 0x88, -0x03, 0x59, 0xC3, 0xEC, 0x54, 0x08, 0x51, 0x3E, 0x84, 0x80, 0x00, 0x48, 0xFF, 0x7E, 0xB6, 0x40, -0x54, 0x08, 0x51, 0x3E, 0x84, 0x80, 0x36, 0x48, 0x80, 0x40, 0x54, 0x08, 0x8A, 0x51, 0x30, 0x22, -0x8A, 0x51, 0x98, 0x95, 0x98, 0x51, 0xD4, 0x8A, 0x52, 0xAC, 0x51, 0x08, 0x19, 0x3E, 0x84, 0x80, -0x8A, 0x51, 0x1B, 0xE5, 0x8A, 0x51, 0xBA, 0x40, 0x06, 0x30, 0xE0, 0xC0, 0x5D, 0x88, 0xF9, 0xFE, -0x8A, 0x51, 0x97, 0x25, 0x8A, 0x51, 0xBB, 0x80, 0x3A, 0xC7, 0x97, 0x40, 0x52, 0x08, 0x19, 0x3E, -0x84, 0x80, 0x8A, 0x51, 0x1B, 0xE5, 0x8A, 0x51, 0xBA, 0x40, 0x06, 0x30, 0xE0, 0xC0, 0x5E, 0x88, -0xF9, 0xFE, 0x8A, 0x51, 0x97, 0x25, 0x8A, 0x51, 0xBB, 0x80, 0x3A, 0xC7, 0x9C, 0x00, 0x3C, 0x48, -0x95, 0x00, 0x0D, 0x08, 0xB6, 0x40, 0x03, 0xD0, 0xB6, 0xCC, 0x03, 0xD0, 0xB6, 0xCC, 0x03, 0xD0, -0xB6, 0xCC, 0x36, 0x48, 0x01, 0xBE, 0x84, 0x80, 0x8A, 0x51, 0x1B, 0xE5, 0x8A, 0x51, 0xB9, 0x40, -0x06, 0x30, 0xE0, 0xC0, 0x3C, 0x48, 0x55, 0x7E, 0x84, 0x80, 0x83, 0x93, 0x00, 0x48, 0xFC, 0xFE, -0x8A, 0x51, 0x97, 0x25, 0x8A, 0x51, 0xB8, 0x00, 0x01, 0xF0, 0xB6, 0x40, 0x3C, 0x8A, 0x0A, 0xAD, -0x03, 0xD0, 0xB6, 0x0D, 0xFF, 0x7E, 0x03, 0x9D, 0x08, 0x6D, 0x36, 0x48, 0x14, 0x05, 0x03, 0x59, -0x14, 0xAD, 0x38, 0x08, 0x1C, 0x87, 0x16, 0xED, 0x38, 0x08, 0x17, 0xC7, 0xB6, 0x40, 0x39, 0x48, -0x36, 0xC7, 0x9A, 0x00, 0x12, 0x6C, 0x05, 0x30, 0x8A, 0xC0, 0x04, 0x88, 0x84, 0x0A, 0x82, 0x47, -0x00, 0xF4, 0x00, 0xF4, 0x00, 0xF4, 0x00, 0xF4, 0x00, 0xF4, 0x00, 0xF4, 0x02, 0x34, 0x04, 0x34, -0x05, 0x74, 0x06, 0x74, 0x07, 0xB4, 0x08, 0x34, 0x09, 0x74, 0x0A, 0x74, 0x0A, 0x74, 0x0B, 0xB4, -0x0B, 0xB4, 0x0C, 0x74, 0x0D, 0xB4, 0x0D, 0xB4, 0x0E, 0xB4, 0x0E, 0xB4, 0x0E, 0xB4, 0x0F, 0xF4, -0x0F, 0xF4, 0x00, 0xF4, 0x06, 0x74, 0x0C, 0x74, 0x12, 0x74, 0x18, 0x74, 0x1E, 0xF4, 0x24, 0x74, -0x2A, 0xB4, 0x30, 0x74, 0x36, 0xF4, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x02, 0x34, 0x03, 0x74, -0x04, 0x34, 0x05, 0x74, 0x05, 0x74, 0x06, 0x74, 0x06, 0x74, 0x0F, 0xF4, 0x0C, 0x74, 0x09, 0x74, -0x09, 0x74, 0x09, 0x74, 0x0C, 0x74, 0x0F, 0xF4, 0x0C, 0x74, 0x0F, 0xF4, 0x0C, 0x74, 0x83, 0x93, -0x51, 0x70, 0x84, 0x80, 0x60, 0x30, 0x8A, 0x51, 0xA5, 0xE5, 0x8A, 0x51, 0x83, 0x96, 0xA4, 0x01, -0x83, 0x52, 0x38, 0x70, 0xBF, 0xC0, 0x3A, 0xB0, 0xC0, 0x80, 0x3C, 0xB0, 0xC1, 0xC0, 0x78, 0xB0, -0xC2, 0xC0, 0x7A, 0xF0, 0xC3, 0x00, 0x7C, 0xF0, 0xC4, 0xC0, 0x7D, 0x30, 0xC5, 0x00, 0x7F, 0x70, -0xC6, 0x00, 0xB9, 0xF0, 0xC7, 0x40, 0xBA, 0xF0, 0xC8, 0xC0, 0xBB, 0x30, 0xC9, 0x00, 0xFA, 0x30, -0xCA, 0x00, 0xFB, 0x70, 0xCB, 0x40, 0xFC, 0x30, 0xCC, 0x00, 0xFD, 0x70, 0xCD, 0x40, 0xFF, 0xB0, -0xCE, 0x40, 0x00, 0xB0, 0xCF, 0x80, 0x01, 0xF0, 0xD0, 0xC0, 0x83, 0x01, 0x8A, 0x51, 0xA4, 0xEB, -0x50, 0xC8, 0xB1, 0x00, 0x4F, 0x88, 0xB0, 0xC0, 0x31, 0x08, 0x30, 0x06, 0x03, 0x59, 0x95, 0x2D, -0x14, 0xC8, 0xB0, 0xC0, 0x14, 0xC8, 0xB1, 0x00, 0x8C, 0xED, 0x31, 0x08, 0x08, 0x40, 0xB1, 0x00, -0xB0, 0x01, 0x60, 0xC8, 0x31, 0x58, 0xB0, 0x87, 0x03, 0xD0, 0xE0, 0x8D, 0x03, 0xD0, 0xB1, 0x8C, -0xB1, 0x48, 0x03, 0x9D, 0x99, 0x2D, 0x30, 0xC8, 0x08, 0x40, 0x64, 0xC0, 0x80, 0x81, 0x84, 0x0A, -0x04, 0xC6, 0x03, 0x59, 0x00, 0xF4, 0x04, 0xC6, 0xA6, 0x2D, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, +0xA1, 0xC0, 0x00, 0xB0, 0xD3, 0xE1, 0x8A, 0x51, 0x35, 0xB0, 0xA7, 0x40, 0xA7, 0x0B, 0x56, 0xE9, +0x05, 0x30, 0x83, 0x96, 0x03, 0x53, 0xA0, 0x80, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, +0x83, 0x96, 0xA1, 0xC0, 0x00, 0xB0, 0xD3, 0xE1, 0x8A, 0x51, 0x03, 0x30, 0xA8, 0xC0, 0x7D, 0x30, +0xA7, 0x40, 0xA7, 0x0B, 0x69, 0xE9, 0xA8, 0x8B, 0x69, 0xE9, 0x83, 0x52, 0x03, 0x53, 0x13, 0x1F, +0x73, 0x29, 0x19, 0x51, 0x74, 0xE9, 0x19, 0x10, 0x05, 0x30, 0xA7, 0x40, 0xA7, 0x0B, 0x76, 0x29, +0x83, 0x52, 0x03, 0x53, 0x13, 0x1F, 0x7E, 0x69, 0x99, 0xD5, 0x7F, 0xA9, 0x99, 0x94, 0x15, 0x70, +0xA8, 0xC0, 0xC6, 0xB0, 0xA7, 0x40, 0xA7, 0x0B, 0x83, 0xA9, 0xA8, 0x8B, 0x83, 0xA9, 0x00, 0x00, +0x0D, 0x70, 0x83, 0x96, 0x03, 0x53, 0xA0, 0x80, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, +0x83, 0x96, 0xA1, 0xC0, 0x00, 0xB0, 0xD3, 0xE1, 0x8A, 0x51, 0x93, 0x1B, 0x95, 0xE9, 0x99, 0x92, +0x19, 0x52, 0x83, 0x96, 0x00, 0xB0, 0xA0, 0xC1, 0xA0, 0x0A, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, +0x83, 0x96, 0xA1, 0xC0, 0x00, 0xB0, 0xD3, 0xE1, 0x8A, 0x51, 0x13, 0x1F, 0xA9, 0xE9, 0x99, 0x91, +0xAA, 0xE9, 0x99, 0x50, 0xE4, 0xB0, 0xA7, 0x40, 0xAD, 0x29, 0xAE, 0x29, 0xA7, 0x0B, 0xAC, 0xE9, +0xB1, 0xE9, 0x00, 0x00, 0x83, 0x52, 0x03, 0x53, 0x13, 0x1F, 0xB8, 0xE9, 0x19, 0x95, 0xB9, 0x29, +0x19, 0x54, 0x03, 0x30, 0x83, 0x96, 0xA0, 0x80, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, +0x83, 0x96, 0xA1, 0xC0, 0x00, 0xB0, 0xD3, 0xE1, 0x8A, 0x51, 0x05, 0x30, 0xA8, 0xC0, 0x26, 0x70, +0xA7, 0x40, 0xA7, 0x0B, 0xC9, 0xE9, 0xA8, 0x8B, 0xC9, 0xE9, 0x00, 0x00, 0x83, 0x52, 0x03, 0x53, +0x18, 0x56, 0x9E, 0x81, 0x08, 0x40, 0x83, 0x52, 0xA6, 0x00, 0x83, 0x96, 0x21, 0xC8, 0x03, 0x59, +0xE0, 0xA9, 0x20, 0x88, 0x83, 0x52, 0x88, 0x80, 0x26, 0x08, 0x80, 0x38, 0x86, 0xC0, 0x08, 0x40, +0x20, 0x88, 0x83, 0x52, 0x88, 0x80, 0x26, 0x08, 0x80, 0x38, 0x85, 0xC0, 0x08, 0x40, 0x95, 0x41, +0x96, 0x41, 0x97, 0x81, 0x98, 0x01, 0x99, 0x41, 0x9A, 0x41, 0x9B, 0x81, 0x9C, 0x41, 0x9E, 0x81, +0x19, 0x54, 0x19, 0x95, 0x18, 0x56, 0x8B, 0x41, 0xD4, 0x41, 0x02, 0xF0, 0x54, 0x02, 0x03, 0x18, +0x19, 0xAA, 0x54, 0x08, 0x51, 0x3E, 0x84, 0x80, 0x83, 0x93, 0x80, 0x81, 0x54, 0x08, 0x5D, 0xBE, +0x84, 0x80, 0x07, 0x70, 0x80, 0x40, 0x54, 0x08, 0x32, 0x62, 0x8A, 0x51, 0x54, 0x08, 0x5D, 0xBE, +0x84, 0x80, 0x00, 0xCE, 0xF0, 0x39, 0x96, 0x00, 0x54, 0x9C, 0x12, 0x6A, 0x83, 0x52, 0x03, 0x53, +0x18, 0x14, 0x15, 0xAA, 0x83, 0x52, 0x03, 0x53, 0x18, 0xD0, 0x18, 0x55, 0x18, 0x11, 0xD4, 0x8A, +0xF5, 0x69, 0xD3, 0x81, 0x08, 0xF0, 0x53, 0x42, 0x03, 0x18, 0x2F, 0x2A, 0x53, 0x48, 0x55, 0x7E, +0x84, 0x80, 0x04, 0xF0, 0x83, 0x93, 0x80, 0x40, 0x53, 0x48, 0x55, 0x7E, 0x84, 0x80, 0x00, 0x48, +0x96, 0x00, 0x53, 0x48, 0x95, 0x00, 0x98, 0x54, 0x98, 0x10, 0xD3, 0xCA, 0x1A, 0xAA, 0x10, 0xF0, +0x9B, 0x40, 0x08, 0x40, 0xB5, 0x40, 0x51, 0x3E, 0x84, 0x80, 0x00, 0x48, 0xB4, 0x00, 0x23, 0x3E, +0x84, 0x80, 0x8A, 0x51, 0x1D, 0xE5, 0x8A, 0x51, 0xB1, 0x00, 0x05, 0x30, 0x03, 0xD0, 0xB1, 0xCD, +0xFF, 0x7E, 0x03, 0x9D, 0x3E, 0x2A, 0x34, 0x08, 0x2D, 0x7E, 0x84, 0x80, 0x8A, 0x51, 0x1D, 0xE5, +0x8A, 0x51, 0xB2, 0x00, 0x32, 0x87, 0x31, 0x04, 0x01, 0x38, 0xB3, 0x40, 0x35, 0x48, 0x22, 0xFE, +0x84, 0x80, 0x33, 0x48, 0x80, 0x40, 0x35, 0x48, 0x22, 0xFE, 0x84, 0x80, 0x00, 0x48, 0x83, 0x96, +0xA2, 0xC0, 0x83, 0x52, 0x35, 0x48, 0x83, 0x96, 0xA3, 0x00, 0x0C, 0x30, 0x92, 0xEB, 0x18, 0x12, +0x80, 0xF0, 0x9B, 0x40, 0x10, 0xF0, 0x9E, 0x40, 0x13, 0x1F, 0x6A, 0xEA, 0x83, 0x52, 0x03, 0x53, +0x18, 0x14, 0x6D, 0x2A, 0x83, 0x52, 0x03, 0x53, 0x18, 0xD0, 0x92, 0x1F, 0x73, 0x2A, 0x83, 0x96, +0x03, 0x53, 0xA4, 0x54, 0x76, 0x2A, 0x83, 0x96, 0x03, 0x53, 0xA4, 0x10, 0x83, 0x52, 0x12, 0xDF, +0x7D, 0x6A, 0x83, 0x96, 0x03, 0x53, 0x24, 0x14, 0x80, 0x2A, 0x83, 0x96, 0x03, 0x53, 0x24, 0xD0, +0x83, 0x52, 0x5F, 0xC8, 0xB1, 0x00, 0x06, 0x30, 0x03, 0xD0, 0xB1, 0xCD, 0xFF, 0x7E, 0x03, 0x9D, +0x84, 0x6A, 0x12, 0xC8, 0x3F, 0xB9, 0x31, 0x04, 0xA5, 0x00, 0x83, 0x96, 0x24, 0x5C, 0x92, 0xAA, +0x83, 0x52, 0x9E, 0x15, 0x83, 0x52, 0x13, 0x08, 0x0F, 0x39, 0x3F, 0xFE, 0x84, 0x80, 0x83, 0x93, +0x00, 0x48, 0xA1, 0xC0, 0x21, 0xC8, 0xB3, 0x40, 0x3F, 0x30, 0xB3, 0xC5, 0x33, 0x48, 0x83, 0x96, +0xA2, 0xC0, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA3, 0x00, 0x08, 0xF0, +0x92, 0xA3, 0x8A, 0x51, 0x21, 0xDF, 0xB0, 0xAA, 0x83, 0x52, 0x03, 0x53, 0x19, 0x96, 0xB3, 0x2A, +0x83, 0x52, 0x03, 0x53, 0x19, 0x52, 0xA1, 0x1F, 0xB9, 0x2A, 0x83, 0x52, 0x03, 0x53, 0x99, 0xD6, +0xBC, 0x2A, 0x83, 0x52, 0x03, 0x53, 0x99, 0x92, 0x83, 0x96, 0xA4, 0x9C, 0xCC, 0xEA, 0x6C, 0xB0, +0xA2, 0xC0, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA3, 0x00, 0x0A, 0x30, +0x92, 0xA3, 0x8A, 0x51, 0x04, 0xF0, 0xD8, 0xEA, 0x60, 0x30, 0xA2, 0xC0, 0x00, 0xB0, 0x83, 0x52, +0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA3, 0x00, 0x0A, 0x30, 0x92, 0xA3, 0x8A, 0x51, 0x05, 0x30, +0x83, 0x96, 0xA2, 0xC0, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA3, 0x00, +0x0B, 0x70, 0x92, 0xA3, 0x8A, 0x51, 0x25, 0x08, 0x83, 0x96, 0xA2, 0xC0, 0x00, 0xB0, 0x83, 0x52, +0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA3, 0x00, 0x04, 0xF0, 0x92, 0xA3, 0x8A, 0x51, 0x11, 0xC8, +0x83, 0x96, 0xA2, 0xC0, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA3, 0x00, +0x05, 0x30, 0x92, 0xA3, 0x8A, 0x51, 0x10, 0x88, 0x83, 0x96, 0xA2, 0xC0, 0x00, 0xB0, 0x83, 0x52, +0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA3, 0x00, 0x06, 0x30, 0x92, 0xA3, 0x8A, 0x51, 0x83, 0x96, +0x00, 0xB0, 0xA2, 0x01, 0xA2, 0x4A, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, 0xA3, 0x00, +0x00, 0xB0, 0x92, 0xA3, 0x8A, 0x51, 0x35, 0xB0, 0xB1, 0x00, 0xB1, 0xCB, 0x15, 0xEB, 0x05, 0x30, +0x83, 0x96, 0x03, 0x53, 0xA2, 0xC0, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, +0xA3, 0x00, 0x00, 0xB0, 0x92, 0xA3, 0x8A, 0x51, 0x03, 0x30, 0xB2, 0x00, 0x7D, 0x30, 0xB1, 0x00, +0xB1, 0xCB, 0x28, 0xAB, 0xB2, 0xCB, 0x28, 0xAB, 0x83, 0x52, 0x03, 0x53, 0x13, 0x1F, 0x32, 0xEB, +0x19, 0x51, 0x33, 0x2B, 0x19, 0x10, 0x05, 0x30, 0xB1, 0x00, 0xB1, 0xCB, 0x35, 0x2B, 0x83, 0x52, +0x03, 0x53, 0x13, 0x1F, 0x3D, 0x6B, 0x99, 0xD5, 0x3E, 0x6B, 0x99, 0x94, 0x15, 0x70, 0xB2, 0x00, +0xC6, 0xB0, 0xB1, 0x00, 0xB1, 0xCB, 0x42, 0xAB, 0xB2, 0xCB, 0x42, 0xAB, 0x00, 0x00, 0x0D, 0x70, +0x83, 0x96, 0x03, 0x53, 0xA2, 0xC0, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, +0xA3, 0x00, 0x00, 0xB0, 0x92, 0xA3, 0x8A, 0x51, 0x93, 0x1B, 0x54, 0xEB, 0x99, 0x92, 0x19, 0x52, +0x83, 0x96, 0x00, 0xB0, 0xA2, 0x01, 0xA2, 0x4A, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, +0xA3, 0x00, 0x00, 0xB0, 0x92, 0xA3, 0x8A, 0x51, 0x13, 0x1F, 0x68, 0xEB, 0x99, 0x91, 0x69, 0x2B, +0x99, 0x50, 0xE4, 0xB0, 0xB1, 0x00, 0x6C, 0x2B, 0x6D, 0x6B, 0xB1, 0xCB, 0x6B, 0x6B, 0x70, 0xEB, +0x00, 0x00, 0x83, 0x52, 0x03, 0x53, 0x13, 0x1F, 0x77, 0xAB, 0x19, 0x95, 0x78, 0x2B, 0x19, 0x54, +0x03, 0x30, 0x83, 0x96, 0xA2, 0xC0, 0x00, 0xB0, 0x83, 0x52, 0x13, 0xDB, 0x01, 0xF0, 0x83, 0x96, +0xA3, 0x00, 0x00, 0xB0, 0x92, 0xA3, 0x8A, 0x51, 0x05, 0x30, 0xB2, 0x00, 0x26, 0x70, 0xB1, 0x00, +0xB1, 0xCB, 0x88, 0xAB, 0xB2, 0xCB, 0x88, 0xAB, 0x00, 0x00, 0x83, 0x52, 0x03, 0x53, 0x18, 0x56, +0x9E, 0x81, 0x08, 0x40, 0x83, 0x52, 0xB0, 0xC0, 0x83, 0x96, 0x23, 0x08, 0x03, 0x59, 0x9F, 0xAB, +0x22, 0xC8, 0x83, 0x52, 0x88, 0x80, 0x30, 0xC8, 0x80, 0x38, 0x86, 0xC0, 0x08, 0x40, 0x22, 0xC8, +0x83, 0x52, 0x88, 0x80, 0x30, 0xC8, 0x80, 0x38, 0x85, 0xC0, 0x08, 0x40, 0x11, 0x30, 0xBE, 0x80, +0x04, 0xF0, 0xA0, 0x80, 0x8A, 0x51, 0xE7, 0x21, 0x8A, 0x51, 0xBD, 0xC1, 0x10, 0xF0, 0x3D, 0x82, +0x03, 0x18, 0xDD, 0xAB, 0x3E, 0x88, 0x10, 0x7A, 0x03, 0x59, 0xBB, 0xAB, 0x8A, 0x51, 0x8A, 0xA5, +0x8A, 0x51, 0xBE, 0x80, 0xB2, 0x2B, 0x3D, 0x88, 0x20, 0x38, 0x9B, 0x40, 0x3E, 0x88, 0x10, 0x7A, +0x03, 0x9D, 0xC7, 0x6B, 0x8A, 0x51, 0x8A, 0xA5, 0x8A, 0x51, 0xBE, 0x80, 0xBE, 0xAB, 0x3E, 0x88, +0x11, 0xBA, 0x03, 0x9D, 0xCE, 0x6B, 0x30, 0x30, 0x9B, 0x40, 0xDD, 0xAB, 0x3D, 0x88, 0x3F, 0xFE, +0x84, 0x80, 0x3E, 0x88, 0x83, 0x93, 0x80, 0x40, 0x3D, 0x88, 0x30, 0x78, 0x9B, 0x40, 0xBD, 0x0A, +0xAE, 0x6B, 0x8A, 0x51, 0x8A, 0xA5, 0x8A, 0x51, 0xBE, 0x80, 0x3E, 0x88, 0x10, 0x7A, 0x03, 0x9D, +0xD9, 0x6B, 0x20, 0xF0, 0x9B, 0x40, 0x3E, 0x88, 0x10, 0x7A, 0x03, 0x9D, 0xEC, 0x6B, 0x8A, 0x51, +0x8A, 0xA5, 0x8A, 0x51, 0xBE, 0x80, 0xE3, 0x6B, 0x3E, 0x88, 0xDF, 0xC0, 0x5F, 0xC8, 0x30, 0x78, +0x9B, 0x40, 0x3E, 0x88, 0x10, 0x7A, 0x03, 0x59, 0xFA, 0xAB, 0x8A, 0x51, 0x8A, 0xA5, 0x8A, 0x51, +0xBE, 0x80, 0xF1, 0x6B, 0x20, 0xF0, 0x9B, 0x40, 0x3E, 0x88, 0x10, 0x7A, 0x03, 0x9D, 0x05, 0x6C, +0x8A, 0x51, 0x8A, 0xA5, 0x8A, 0x51, 0xBE, 0x80, 0xFC, 0xAB, 0x3E, 0x88, 0xBC, 0x40, 0x30, 0x78, +0x9B, 0x40, 0x3E, 0x88, 0x10, 0x7A, 0x03, 0x59, 0x12, 0x6C, 0x8A, 0x51, 0x8A, 0xA5, 0x8A, 0x51, +0xBE, 0x80, 0x09, 0x6C, 0x40, 0xF0, 0x9B, 0x40, 0x93, 0x5F, 0x1B, 0xEC, 0x8A, 0x51, 0x5F, 0x22, +0x8A, 0x51, 0x40, 0xF0, 0x9B, 0x40, 0xD3, 0x81, 0x08, 0xF0, 0x53, 0x42, 0x03, 0x18, 0x53, 0xEC, +0x53, 0x48, 0x95, 0x00, 0x85, 0x70, 0x0D, 0x02, 0x03, 0x5C, 0x33, 0xEC, 0x53, 0x48, 0x55, 0x7E, +0x84, 0x80, 0x0E, 0x70, 0x83, 0x93, 0x00, 0x42, 0x03, 0x18, 0x33, 0xEC, 0x53, 0x48, 0x55, 0x7E, +0x84, 0x80, 0x00, 0x8A, 0x44, 0x6C, 0x34, 0x70, 0x0D, 0x02, 0x03, 0x18, 0x51, 0xAC, 0x53, 0x48, +0x55, 0x7E, 0x84, 0x80, 0x05, 0x30, 0x83, 0x93, 0x00, 0x42, 0x03, 0x5C, 0x51, 0xAC, 0x53, 0x48, +0x55, 0x7E, 0x84, 0x80, 0x00, 0x48, 0xFF, 0x7E, 0xB6, 0x40, 0x53, 0x48, 0x55, 0x7E, 0x84, 0x80, +0x36, 0x48, 0x80, 0x40, 0x53, 0x48, 0x55, 0x7E, 0x84, 0x80, 0x00, 0x48, 0x96, 0x00, 0x98, 0x54, +0x98, 0x10, 0xD3, 0xCA, 0x1C, 0xAC, 0xD4, 0x41, 0x02, 0xF0, 0x54, 0x02, 0x03, 0x18, 0xC7, 0x2C, +0x54, 0x9C, 0x5E, 0x2C, 0x83, 0x52, 0x03, 0x53, 0x18, 0x14, 0x61, 0xAC, 0x83, 0x52, 0x03, 0x53, +0x18, 0xD0, 0x54, 0x08, 0x51, 0x3E, 0x84, 0x80, 0x83, 0x93, 0x00, 0x48, 0x03, 0x9D, 0x6A, 0xEC, +0x64, 0x70, 0x6B, 0x2C, 0x73, 0xF0, 0xB7, 0x80, 0x0E, 0x08, 0x37, 0x82, 0x03, 0x18, 0x7C, 0x2C, +0x54, 0x08, 0x5D, 0xBE, 0x84, 0x80, 0x0B, 0x70, 0x00, 0x42, 0x03, 0x18, 0x7C, 0x2C, 0x54, 0x08, +0x5D, 0xBE, 0x84, 0x80, 0x00, 0x8A, 0x8C, 0xAC, 0x2D, 0xB0, 0x0E, 0x02, 0x03, 0x18, 0x9A, 0xEC, +0x54, 0x08, 0x5D, 0xBE, 0x84, 0x80, 0x08, 0xF0, 0x00, 0x42, 0x03, 0x5C, 0x9A, 0xEC, 0x54, 0x08, +0x5D, 0xBE, 0x84, 0x80, 0x00, 0x48, 0xFF, 0x7E, 0xB6, 0x40, 0x54, 0x08, 0x5D, 0xBE, 0x84, 0x80, +0x36, 0x48, 0x80, 0x40, 0x54, 0x08, 0x5D, 0xBE, 0x84, 0x80, 0x00, 0xCE, 0xF0, 0x39, 0x96, 0x00, +0x18, 0x55, 0x18, 0x11, 0x24, 0x30, 0x0F, 0x42, 0x03, 0x5C, 0xAA, 0xEC, 0x54, 0x08, 0x51, 0x3E, +0x84, 0x80, 0x09, 0x30, 0x00, 0x42, 0x03, 0x18, 0xAA, 0xEC, 0x54, 0x08, 0x51, 0x3E, 0x84, 0x80, +0x00, 0x8A, 0xB9, 0x2C, 0x10, 0xF0, 0x0F, 0x42, 0x03, 0x18, 0xC5, 0xEC, 0x54, 0x08, 0x51, 0x3E, +0x84, 0x80, 0x80, 0x88, 0x03, 0x59, 0xC5, 0xEC, 0x54, 0x08, 0x51, 0x3E, 0x84, 0x80, 0x00, 0x48, +0xFF, 0x7E, 0xB6, 0x40, 0x54, 0x08, 0x51, 0x3E, 0x84, 0x80, 0x36, 0x48, 0x80, 0x40, 0x54, 0x08, +0x8A, 0x51, 0x32, 0x62, 0x8A, 0x51, 0x98, 0x95, 0x98, 0x51, 0xD4, 0x8A, 0x54, 0xAC, 0x51, 0x08, +0x19, 0x3E, 0x84, 0x80, 0x8A, 0x51, 0x1D, 0xE5, 0x8A, 0x51, 0xBA, 0x40, 0x06, 0x30, 0xE0, 0xC0, +0x5D, 0x88, 0xF9, 0xFE, 0x8A, 0x51, 0x99, 0xE5, 0x8A, 0x51, 0xBB, 0x80, 0x3A, 0xC7, 0x97, 0x40, +0x52, 0x08, 0x19, 0x3E, 0x84, 0x80, 0x8A, 0x51, 0x1D, 0xE5, 0x8A, 0x51, 0xBA, 0x40, 0x06, 0x30, +0xE0, 0xC0, 0x5E, 0x88, 0xF9, 0xFE, 0x8A, 0x51, 0x99, 0xE5, 0x8A, 0x51, 0xBB, 0x80, 0x3A, 0xC7, +0x9C, 0x00, 0x3C, 0x48, 0x95, 0x00, 0x0D, 0x08, 0xB6, 0x40, 0x03, 0xD0, 0xB6, 0xCC, 0x03, 0xD0, +0xB6, 0xCC, 0x03, 0xD0, 0xB6, 0xCC, 0x36, 0x48, 0x01, 0xBE, 0x84, 0x80, 0x8A, 0x51, 0x1D, 0xE5, +0x8A, 0x51, 0xB9, 0x40, 0x06, 0x30, 0xE0, 0xC0, 0x3C, 0x48, 0x55, 0x7E, 0x84, 0x80, 0x83, 0x93, +0x00, 0x48, 0xFC, 0xFE, 0x8A, 0x51, 0x99, 0xE5, 0x8A, 0x51, 0xB8, 0x00, 0x01, 0xF0, 0xB6, 0x40, +0x3C, 0x8A, 0x0C, 0xAD, 0x03, 0xD0, 0xB6, 0x0D, 0xFF, 0x7E, 0x03, 0x9D, 0x0A, 0xAD, 0x36, 0x48, +0x14, 0x05, 0x03, 0x59, 0x16, 0xED, 0x38, 0x08, 0x1C, 0x87, 0x18, 0xAD, 0x38, 0x08, 0x17, 0xC7, +0xB6, 0x40, 0x39, 0x48, 0x36, 0xC7, 0x9A, 0x00, 0x14, 0x6C, 0x05, 0x30, 0x8A, 0xC0, 0x04, 0x88, +0x84, 0x0A, 0x82, 0x47, 0x00, 0xF4, 0x00, 0xF4, 0x00, 0xF4, 0x00, 0xF4, 0x00, 0xF4, 0x00, 0xF4, +0x02, 0x34, 0x04, 0x34, 0x05, 0x74, 0x06, 0x74, 0x07, 0xB4, 0x08, 0x34, 0x09, 0x74, 0x0A, 0x74, +0x0A, 0x74, 0x0B, 0xB4, 0x0B, 0xB4, 0x0C, 0x74, 0x0D, 0xB4, 0x0D, 0xB4, 0x0E, 0xB4, 0x0E, 0xB4, +0x0E, 0xB4, 0x0F, 0xF4, 0x0F, 0xF4, 0x00, 0xF4, 0x06, 0x74, 0x0C, 0x74, 0x12, 0x74, 0x18, 0x74, +0x1E, 0xF4, 0x24, 0x74, 0x2A, 0xB4, 0x30, 0x74, 0x36, 0xF4, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, +0x02, 0x34, 0x03, 0x74, 0x04, 0x34, 0x05, 0x74, 0x05, 0x74, 0x06, 0x74, 0x06, 0x74, 0x0F, 0xF4, +0x0C, 0x74, 0x09, 0x74, 0x09, 0x74, 0x09, 0x74, 0x0C, 0x74, 0x0F, 0xF4, 0x0C, 0x74, 0x0F, 0xF4, +0x0C, 0x74, 0x83, 0x93, 0x51, 0x70, 0x84, 0x80, 0x60, 0x30, 0x8A, 0x51, 0xA7, 0x25, 0x8A, 0x51, +0x83, 0x96, 0xA4, 0x01, 0x83, 0x52, 0x38, 0x70, 0xBF, 0xC0, 0x3A, 0xB0, 0xC0, 0x80, 0x3C, 0xB0, +0xC1, 0xC0, 0x78, 0xB0, 0xC2, 0xC0, 0x7A, 0xF0, 0xC3, 0x00, 0x7C, 0xF0, 0xC4, 0xC0, 0x7D, 0x30, +0xC5, 0x00, 0x7F, 0x70, 0xC6, 0x00, 0xB9, 0xF0, 0xC7, 0x40, 0xBA, 0xF0, 0xC8, 0xC0, 0xBB, 0x30, +0xC9, 0x00, 0xFA, 0x30, 0xCA, 0x00, 0xFB, 0x70, 0xCB, 0x40, 0xFC, 0x30, 0xCC, 0x00, 0xFD, 0x70, +0xCD, 0x40, 0xFF, 0xB0, 0xCE, 0x40, 0x00, 0xB0, 0xCF, 0x80, 0x01, 0xF0, 0xD0, 0xC0, 0x83, 0x01, +0x8A, 0x51, 0xA6, 0x2B, 0x50, 0xC8, 0xB1, 0x00, 0x4F, 0x88, 0xB0, 0xC0, 0x31, 0x08, 0x30, 0x06, +0x03, 0x59, 0x97, 0x6D, 0x14, 0xC8, 0xB0, 0xC0, 0x14, 0xC8, 0xB1, 0x00, 0x8E, 0x2D, 0x31, 0x08, +0x08, 0x40, 0xB1, 0x00, 0xB0, 0x01, 0x60, 0xC8, 0x31, 0x58, 0xB0, 0x87, 0x03, 0xD0, 0xE0, 0x8D, +0x03, 0xD0, 0xB1, 0x8C, 0xB1, 0x48, 0x03, 0x9D, 0x9B, 0x6D, 0x30, 0xC8, 0x08, 0x40, 0x64, 0xC0, +0x80, 0x81, 0x84, 0x0A, 0x04, 0xC6, 0x03, 0x59, 0x00, 0xF4, 0x04, 0xC6, 0xA8, 0xED, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, diff --git a/libloragw/src/arb_fw.var b/libloragw/src/arb_fw.var index 326d7d7..7f06906 100644 --- a/libloragw/src/arb_fw.var +++ b/libloragw/src/arb_fw.var @@ -14,7 +14,7 @@ Maintainer: Matthieu Leurent */ static uint8_t arb_firmware[MCU_ARB_FW_BYTE] = { -0x8A, 0x51, 0x8F, 0x6E, 0x00, 0xB0, 0x8A, 0xC0, 0x04, 0x88, 0x84, 0x0A, 0x82, 0x47, 0x00, 0xF4, +0x8A, 0x51, 0xAE, 0x6E, 0x00, 0xB0, 0x8A, 0xC0, 0x04, 0x88, 0x84, 0x0A, 0x82, 0x47, 0x00, 0xF4, 0x07, 0xB4, 0x06, 0x74, 0x05, 0x74, 0x04, 0x34, 0x03, 0x74, 0x02, 0x34, 0x01, 0x34, 0x00, 0xF4, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, @@ -222,54 +222,54 @@ static uint8_t arb_firmware[MCU_ARB_FW_BYTE] = { 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, -0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xBF, 0x64, 0xC0, -0x80, 0x81, 0x84, 0x0A, 0x04, 0xC6, 0x03, 0x59, 0x00, 0xF4, 0x04, 0xC6, 0x88, 0xAE, 0xA1, 0x01, -0xA2, 0x01, 0xA3, 0x41, 0x83, 0x93, 0xBB, 0x30, 0x84, 0x80, 0xF0, 0xB0, 0x8A, 0x51, 0x87, 0xE6, -0x83, 0x01, 0x8A, 0x51, 0x9B, 0x6E, 0x8A, 0x51, 0xF0, 0xE6, 0x8A, 0x51, 0x83, 0x52, 0x0D, 0x58, -0xBA, 0x6E, 0x83, 0x96, 0xEC, 0x81, 0x83, 0x52, 0x21, 0x14, 0x83, 0x96, 0x6C, 0x48, 0x8A, 0x51, -0xC1, 0xA6, 0x8A, 0x51, 0x83, 0x52, 0x03, 0x53, 0xA1, 0x9C, 0xB1, 0x2E, 0x8A, 0x51, 0x78, 0x27, -0x8A, 0x51, 0x0D, 0x58, 0x9E, 0x6E, 0x83, 0x96, 0x08, 0xF0, 0xEC, 0xCA, 0x6C, 0x42, 0x03, 0x18, -0x9E, 0x6E, 0xA3, 0x2E, 0x21, 0x5C, 0x9E, 0x6E, 0x8A, 0x51, 0x25, 0xE7, 0x8A, 0x51, 0x21, 0xD0, -0x9E, 0x6E, 0x83, 0x52, 0xA5, 0x00, 0xA1, 0x10, 0x25, 0x08, 0x96, 0x00, 0x15, 0x70, 0xA4, 0xC0, -0xA4, 0x8B, 0xC8, 0xEE, 0x83, 0x52, 0x03, 0x53, 0x8D, 0xDC, 0x08, 0x40, 0xA1, 0x54, 0x15, 0x54, -0x15, 0x70, 0xA4, 0xC0, 0xA4, 0x8B, 0xD2, 0x2E, 0x83, 0x52, 0x03, 0x53, 0x0D, 0xDD, 0xD4, 0x2E, -0x10, 0x88, 0x83, 0x96, 0xED, 0x80, 0x83, 0x52, 0x11, 0xC8, 0x83, 0x96, 0xEE, 0x80, 0x83, 0x52, -0x0F, 0x48, 0xA2, 0xC0, 0x0E, 0x08, 0x83, 0x96, 0xEB, 0x80, 0x83, 0x52, 0x12, 0xC8, 0x83, 0x96, -0xEF, 0xC0, 0x83, 0x52, 0x15, 0x10, 0x15, 0x70, 0xA4, 0xC0, 0xA4, 0x8B, 0xED, 0xAE, 0x08, 0x40, -0x95, 0x41, 0x96, 0x41, 0x97, 0x81, 0x98, 0x01, 0x99, 0x41, 0x9A, 0x41, 0x9B, 0x81, 0x9C, 0x41, -0x9E, 0x81, 0xA3, 0x41, 0x08, 0xF0, 0x23, 0x02, 0x03, 0x18, 0x18, 0xEF, 0x23, 0x08, 0xCB, 0xBE, -0x84, 0x80, 0x80, 0x81, 0x23, 0x08, 0xD3, 0xBE, 0x84, 0x80, 0x80, 0x81, 0x23, 0x08, 0xE3, 0xBE, -0x84, 0x80, 0x80, 0x81, 0x23, 0x08, 0xBB, 0xFE, 0x84, 0x80, 0x80, 0x81, 0x23, 0x08, 0xDB, 0xFE, -0x84, 0x80, 0x80, 0x81, 0x23, 0x08, 0xC3, 0x7E, 0x84, 0x80, 0x80, 0x81, 0xA3, 0x8A, 0xFA, 0xAE, -0x83, 0x96, 0xED, 0xC1, 0xEE, 0xC1, 0x83, 0x52, 0xA2, 0x01, 0x83, 0x96, 0xEB, 0xC1, 0xEF, 0x01, -0x83, 0x52, 0x21, 0xD0, 0xA1, 0x10, 0xA0, 0xC1, 0x08, 0x40, 0xA3, 0x41, 0x08, 0xF0, 0x23, 0x02, -0x03, 0x18, 0x08, 0x40, 0x23, 0x08, 0xC3, 0x7E, 0x84, 0x80, 0x83, 0x93, 0x00, 0xCB, 0x76, 0xAF, -0x23, 0x08, 0xC3, 0x7E, 0x84, 0x80, 0x80, 0x81, 0x23, 0x08, 0xDB, 0xFE, 0x84, 0x80, 0x00, 0x48, -0x97, 0x40, 0x23, 0x08, 0xBB, 0xFE, 0x84, 0x80, 0x00, 0x48, 0x98, 0xC0, 0x23, 0x08, 0xCB, 0xBE, -0x84, 0x80, 0x00, 0x48, 0x99, 0x00, 0x23, 0x08, 0xD3, 0xBE, 0x84, 0x80, 0x00, 0x48, 0x9A, 0x00, -0x23, 0x08, 0x01, 0xBE, 0x84, 0x80, 0x8A, 0x51, 0x02, 0xA0, 0x8A, 0x51, 0x9B, 0x40, 0x23, 0x08, -0xE3, 0xBE, 0x84, 0x80, 0x00, 0x48, 0x9C, 0x00, 0x95, 0x94, 0x15, 0x70, 0xA4, 0xC0, 0xA4, 0x8B, -0x57, 0xAF, 0x83, 0x52, 0x03, 0x53, 0x95, 0x50, 0x15, 0x70, 0xA4, 0xC0, 0xA4, 0x8B, 0x5E, 0xAF, -0x01, 0xF0, 0x83, 0x52, 0x03, 0x53, 0xA4, 0xC0, 0x23, 0x08, 0x01, 0xBE, 0x84, 0x80, 0x8A, 0x51, -0x02, 0xA0, 0x8A, 0x51, 0x01, 0xBE, 0x6E, 0xAF, 0x03, 0xD0, 0xA4, 0x8D, 0xFF, 0x7E, 0x03, 0x9D, -0x6C, 0x6F, 0x24, 0xC8, 0x13, 0x45, 0x03, 0x59, 0x60, 0xEF, 0xA0, 0x0A, 0xA3, 0x8A, 0x26, 0x2F, -0x21, 0x11, 0xA3, 0x41, 0x08, 0xF0, 0x23, 0x02, 0x03, 0x18, 0xB5, 0xAF, 0x0A, 0x30, 0x22, 0xC2, -0x03, 0x18, 0x85, 0x2F, 0x83, 0x52, 0x21, 0x55, 0xB0, 0x2F, 0x01, 0xF0, 0xA4, 0xC0, 0x23, 0x08, -0x01, 0xBE, 0x84, 0x80, 0x8A, 0x51, 0x02, 0xA0, 0x8A, 0x51, 0x01, 0xBE, 0x91, 0x2F, 0x03, 0xD0, -0xA4, 0x8D, 0xFF, 0x7E, 0x03, 0x9D, 0x8F, 0xAF, 0x24, 0xC8, 0x13, 0x45, 0x03, 0x9D, 0x9E, 0xAF, -0x23, 0x08, 0xC3, 0x7E, 0x84, 0x80, 0x83, 0x93, 0x00, 0xCB, 0xB0, 0x2F, 0x23, 0x08, 0xDB, 0xFE, -0x84, 0x80, 0x83, 0x93, 0x00, 0x48, 0x83, 0x96, 0x6F, 0x06, 0x03, 0x9D, 0xB0, 0x2F, 0x83, 0x52, -0x23, 0x08, 0xBB, 0xFE, 0x84, 0x80, 0x00, 0x48, 0x83, 0x96, 0x6B, 0xC6, 0x03, 0x59, 0x82, 0xEF, -0x83, 0x52, 0x21, 0x59, 0xB5, 0xAF, 0xA3, 0x8A, 0x7A, 0xAF, 0x21, 0x59, 0x08, 0x40, 0xA3, 0x41, -0x08, 0xF0, 0x23, 0x02, 0x03, 0x18, 0x08, 0x40, 0x01, 0xF0, 0xA4, 0xC0, 0x23, 0x08, 0x01, 0xBE, -0x84, 0x80, 0x8A, 0x51, 0x02, 0xA0, 0x8A, 0x51, 0x01, 0xBE, 0xC8, 0x2F, 0x03, 0xD0, 0xA4, 0x8D, -0xFF, 0x7E, 0x03, 0x9D, 0xC6, 0x6F, 0x24, 0xC8, 0x13, 0x45, 0x03, 0x9D, 0xFE, 0x2F, 0x23, 0x08, -0xC3, 0x7E, 0x84, 0x80, 0x83, 0x93, 0x00, 0x48, 0x03, 0x9D, 0xFE, 0x2F, 0x23, 0x08, 0xCB, 0xBE, -0x84, 0x80, 0x83, 0x96, 0x6D, 0x88, 0x80, 0x40, 0x83, 0x52, 0x23, 0x08, 0xD3, 0xBE, 0x84, 0x80, -0x83, 0x96, 0x6E, 0x88, 0x80, 0x40, 0x83, 0x52, 0x23, 0x08, 0xE3, 0xBE, 0x84, 0x80, 0x22, 0xC8, -0x80, 0x40, 0x23, 0x08, 0xBB, 0xFE, 0x84, 0x80, 0x83, 0x96, 0x6B, 0x88, 0x80, 0x40, 0x83, 0x52, -0x23, 0x08, 0xDB, 0xFE, 0x84, 0x80, 0x83, 0x96, 0x6F, 0xC8, 0x80, 0x40, 0x83, 0x52, 0x23, 0x08, -0xC3, 0x7E, 0x84, 0x80, 0x01, 0xF0, 0x80, 0x40, 0x21, 0x55, 0x08, 0x40, 0xA3, 0x8A, 0xB8, 0x6F, |
