summaryrefslogtreecommitdiff
path: root/firmware/target
diff options
context:
space:
mode:
authorKarl Kurbjun <kkurbjun@gmail.com>2009-12-02 04:30:08 +0000
committerKarl Kurbjun <kkurbjun@gmail.com>2009-12-02 04:30:08 +0000
commit30c3382a48904b4620d6803ea55f615748b5c231 (patch)
tree67fc628808bf1c317bd9b2e19ae8d0f744ee6ff2 /firmware/target
parentf0092e739e9810903812f7cf131ebc66d96d18bf (diff)
M:Robe 500: Improve audio DMA shutdown for Pause/Stop and significantly reduce the size of the DSP code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23817 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target')
-rw-r--r--firmware/target/arm/tms320dm320/dsp-dm320.c6
-rw-r--r--firmware/target/arm/tms320dm320/dsp/arm.c24
-rw-r--r--firmware/target/arm/tms320dm320/dsp/arm.h3
-rw-r--r--firmware/target/arm/tms320dm320/dsp/dma.c267
-rw-r--r--firmware/target/arm/tms320dm320/dsp/dma.h5
-rw-r--r--firmware/target/arm/tms320dm320/dsp/dsp-image.h106
-rw-r--r--firmware/target/arm/tms320dm320/dsp/ipc.h6
-rw-r--r--firmware/target/arm/tms320dm320/dsp/linker.cmd36
-rw-r--r--firmware/target/arm/tms320dm320/dsp/main.c10
-rw-r--r--firmware/target/arm/tms320dm320/dsp/tsc2100.c10
-rw-r--r--firmware/target/arm/tms320dm320/dsp/vectors.asm8
-rw-r--r--firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c2
12 files changed, 241 insertions, 242 deletions
diff --git a/firmware/target/arm/tms320dm320/dsp-dm320.c b/firmware/target/arm/tms320dm320/dsp-dm320.c
index f729cc4e90..5f0c997bd2 100644
--- a/firmware/target/arm/tms320dm320/dsp-dm320.c
+++ b/firmware/target/arm/tms320dm320/dsp-dm320.c
@@ -37,10 +37,8 @@ static void dsp_status(void)
DEBUGF("dsp_status(): clkc_hpib=%u clkc_dsp=%u",
!!(IO_CLK_MOD0 & (1 << 11)), !!(IO_CLK_MOD0 & (1 << 10)));
- DEBUGF("dsp_status(): irq_dsphint=%u 7fff=%04x scratch_status=%04x"
- " acked=%04x",
- (IO_INTC_IRQ0 >> IRQ_DSPHINT) & 1, DSP_(0x7fff), DSP_(_status),
- DSP_(_acked));
+ DEBUGF("dsp_status(): irq_dsphint=%u 7fff=%04x scratch_status=%04x",
+ (IO_INTC_IRQ0 >> IRQ_DSPHINT) & 1, DSP_(0x7fff), DSP_(_status));
#define B(f,w,b,m) if ((w & (1 << b)) == 0) \
strcat(f, "!"); \
strcat(f, #m "|");
diff --git a/firmware/target/arm/tms320dm320/dsp/arm.c b/firmware/target/arm/tms320dm320/dsp/arm.c
index a2c19c7f62..e0df31c7a1 100644
--- a/firmware/target/arm/tms320dm320/dsp/arm.c
+++ b/firmware/target/arm/tms320dm320/dsp/arm.c
@@ -28,17 +28,27 @@
volatile struct ipc_message status;
-extern int waiting;
-volatile int acked;
+#if defined(HAVE_DEBUG)
+static int acked;
+#endif
+
interrupt void handle_int0(void) {
IFR = 1;
+
+#if defined(HAVE_DEBUG)
acked = 1;
+#endif
+
waiting = 0;
if(dma0_stopped==0)
{
if(!(DMPREC&0x01))
{
+ /* Give the HPIB access to refill first */
+ rebuffer();
+
+ /* Start the MCBSP DMA */
DMPREC |= 1;
audiohw_start();
}
@@ -47,15 +57,20 @@ interrupt void handle_int0(void) {
rebuffer();
}
}
+ else
+ {
+ rebuffer();
+ }
}
-void startack(void)
+#if defined(HAVE_DEBUG)
+static void startack(void)
{
acked = 0;
int_arm();
}
-void waitack(void)
+static void waitack(void)
{
/* Wait until ARM has picked up data. */
while (!acked)
@@ -78,3 +93,4 @@ void debugf(const char *fmt, ...) {
acked = 2;
}
+#endif
diff --git a/firmware/target/arm/tms320dm320/dsp/arm.h b/firmware/target/arm/tms320dm320/dsp/arm.h
index 88b552c2ef..ff4a9a1c51 100644
--- a/firmware/target/arm/tms320dm320/dsp/arm.h
+++ b/firmware/target/arm/tms320dm320/dsp/arm.h
@@ -26,9 +26,6 @@
extern volatile struct ipc_message status;
-void startack(void);
-void waitack(void);
-
void debugf(const char *fmt, ...);
inline void int_arm(void) {
diff --git a/firmware/target/arm/tms320dm320/dsp/dma.c b/firmware/target/arm/tms320dm320/dsp/dma.c
index 430cc909f7..590b35de80 100644
--- a/firmware/target/arm/tms320dm320/dsp/dma.c
+++ b/firmware/target/arm/tms320dm320/dsp/dma.c
@@ -23,185 +23,208 @@
#include "registers.h"
#include "arm.h"
-#include "dma.h"
+#include "ipc.h"
+
+/* Size of data buffer in words (16 bit) */
+#define DSP_BUFFER_SIZE (0x1000)
-/* This is placed at the right (aligned) address using linker.cmd. */
+/* Put the "data" buffer in it's own .dma section so that it can
+ * be handled in the linker.cmd. */
#pragma DATA_SECTION (data, ".dma")
-#define DSP_BUFFER_SIZE PCM_SIZE/2
-
-/* This is the buffer on the DSP side used for SARAM to McBSP (IIS) */
-signed short data[DSP_BUFFER_SIZE];
+/* This is the "data" buffer on the DSP side used for SARAM to McBSP (IIS) */
+static signed short data[DSP_BUFFER_SIZE];
-/* These two describe the location of the buffer on the ARM (set in DSPHINT
- * and dspinit)
- */
+/* These two describe the location of the buffer on the ARM (set in DSPHINT) */
volatile unsigned short sdem_addrh;
volatile unsigned short sdem_addrl;
-/* This is the size of the ARM buffer (set in DSPHINT and dspinit) */
+/* This is the size of the ARM buffer (set in DSPHINT) */
volatile unsigned short sdem_dsp_size;
/* These two variables keep track of the buffer level in the DSP, dsp_level,
- * (SARAM to McBSP) and the level on the ARM buffer (sdem_level).
- */
-unsigned short dsp_level=0;
-unsigned short sdem_level=0;
+ * (SARAM to McBSP) and the level on the ARM buffer (sdem_level).
+ * sdem_level is used in the main firmware to keep track of the current
+ * playback status. dsp_level is only used in this function. */
+static unsigned short dsp_level;
+volatile unsigned short sdem_level;
/* This is used to keep track of the last SDRAM to SARAM transfer */
-unsigned short last_size;
+static unsigned short last_size;
/* This tells us which half of the DSP buffer (data) is free */
-unsigned short dma0_unlocked;
+static unsigned short dma0_unlocked;
-volatile unsigned short dma0_stopped=1;
+/* This is used by the ARM to flag playback status and start/stop the DMA
+ * transfers. */
+volatile unsigned short dma0_stopped;
-short waiting=0;
-/* rebuffer sets up the next SDRAM to SARAM transfer and tells the ARM when it
- * is done with a buffer.
- */
-
-/* Notes: The upper limit on larger buffers is the size of a short. If larger
+/* This is used to effectively flag whether the ARM has new data ready or not */
+short waiting;
+
+
+/* rebuffer sets up the next SDRAM to SARAM transfer and tells the ARM when DMA
+ * needs a new buffer.
+ *
+ * Note: The upper limit on larger buffers is the size of a short. If larger
* buffer sizes are needed the code on the ARM side needs to be changed to
* update a full long.
*/
void rebuffer(void)
{
- unsigned long sdem_addr;
-
- if(dma0_stopped==1) /* Stop */
- {
- DMPREC&=0xFFFE; /* Stop MCBSP DMA0 */
- audiohw_stop();
- DMSFC0 = 2 << 12 | 1 << 11;
- sdem_level=0;
- return;
- }
-
- if(dsp_level==DSP_BUFFER_SIZE || sdem_level==sdem_dsp_size)
- {
- if(dma0_stopped==2) /* Pause */
- {
- DMPREC&=0xFFFE; /* Stop MCBSP DMA0 */
- audiohw_stop();
- return;
- }
- }
-
- /* If the sdem_level is equal to the buffer size the ARM code gave
- * (sdem_dsp_size) then reset the size and ask the arm for another buffer
- */
- if(sdem_level==sdem_dsp_size)
- {
- sdem_level=0;
-
- /* Get a new buffer (location and size) from ARM */
- status.msg = MSG_REFILL;
- waiting=1;
-
- startack();
- }
-
- if(!waiting)
- {
- /* Size is in bytes (but forced 32 bit transfers */
- if( (dsp_level + (sdem_dsp_size - sdem_level) ) > DSP_BUFFER_SIZE)
- {
- last_size = DSP_BUFFER_SIZE-dsp_level;
- }
- else
- {
- last_size = sdem_dsp_size-sdem_level;
- }
-
- /* DSP addresses are 16 bit (word) */
- DSP_ADDRL = (unsigned short)data + (dma0_unlocked >> 1) + (dsp_level>>1);
- DSP_ADDRH = 0;
-
- /* SDRAM addresses are 8 bit (byte)
- * Warning: These addresses are forced to 32 bit alignment!
- */
- sdem_addr = ((unsigned long)sdem_addrh << 16 | sdem_addrl) + sdem_level;
- SDEM_ADDRL = sdem_addr & 0xffff;
- SDEM_ADDRH = sdem_addr >> 16;
+ unsigned long sdem_addr;
+
+ if(dma0_stopped==1 || dma0_stopped==2) /* Stop / Pause */
+ {
+ /* Stop MCBSP DMA0 */
+ DMPREC &= 0xFFFE;
+ /* Shut the transmitter down */
+ audiohw_stop();
+
+ /* Stop the HPIB transfer if it is running */
+ DMA_TRG = 0;
+
+ /* Reset the following variables for DMA restart */
+ sdem_level = 0;
+ dsp_level = 0;
+ last_size = 0;
+
+ return;
+ }
- /* Set the size of the SDRAM to SARAM transfer (demac transfer) */
- DMA_SIZE = last_size;
+ /* If the sdem_level is equal to the buffer size the ARM code gave
+ * (sdem_dsp_size) then reset the size and ask the arm for another buffer
+ */
+ if(sdem_level == sdem_dsp_size)
+ {
+ sdem_level=0;
+
+ /* Get a new buffer (location and size) from ARM */
+ status.msg = MSG_REFILL;
+ waiting=1;
+
+ /* trigger DSPHINT on the ARM */
+ int_arm();
+ }
+
+ if(!waiting)
+ {
+ /* Size is in bytes (but forced 32 bit transfers). Comparison is
+ * against DSP_BUFFER_SIZE because it is in words and this needs to
+ * compare against half the total size in bytes. */
+ if( dsp_level + sdem_dsp_size - sdem_level > DSP_BUFFER_SIZE)
+ {
+ last_size = DSP_BUFFER_SIZE - dsp_level;
+ }
+ else
+ {
+ last_size = sdem_dsp_size - sdem_level;
+ }
+
+ /* DSP addresses are 16 bit (word). dsp_level is in bytes so it needs to
+ * be converted to words. */
+ DSP_ADDRL = (unsigned short)data + dma0_unlocked + (dsp_level >> 1);
+ DSP_ADDRH = 0;
+
+ /* SDRAM addresses are 8 bit (byte)
+ * Warning: These addresses are forced to 32 bit alignment!
+ */
+ sdem_addr = ((unsigned long)sdem_addrh << 16 | sdem_addrl) + sdem_level;
+ SDEM_ADDRL = sdem_addr & 0xffff;
+ SDEM_ADDRH = sdem_addr >> 16;
+
+ /* Set the size of the SDRAM to SARAM transfer (demac transfer) */
+ DMA_SIZE = last_size;
- DMA_CTRL = 0;
-
- /* These are just debug signals that are not used/needed right now */
- status.payload.refill._DMA_TRG = DMA_TRG;
- status.payload.refill._SDEM_ADDRH = SDEM_ADDRH;
- status.payload.refill._SDEM_ADDRL = SDEM_ADDRL;
- status.payload.refill._DSP_ADDRH = DSP_ADDRH;
- status.payload.refill._DSP_ADDRL = DSP_ADDRL;
-
- /* Start the demac transfer */
- DMA_TRG = 1;
- }
+ DMA_CTRL = 0;
+
+ /* These are just debug signals that are not used/needed right now */
+ status.payload.refill._DMA_TRG = DMA_TRG;
+ status.payload.refill._SDEM_ADDRH = SDEM_ADDRH;
+ status.payload.refill._SDEM_ADDRL = SDEM_ADDRL;
+ status.payload.refill._DSP_ADDRH = DSP_ADDRH;
+ status.payload.refill._DSP_ADDRL = DSP_ADDRL;
+
+ /* Start the demac transfer */
+ DMA_TRG = 1;
+ }
}
/* This interupt handler is for the SARAM (on DSP) to McBSP IIS DMA transfer.
* It interupts at 1/2 empty and empty so that we can start filling a new buffer
* from SDRAM when a half is free. dsp_level should always be full when this
- * interupt occurs except for the initial start.
- */
+ * interupt occurs except for the initial start. */
interrupt void handle_dma0(void)
-{
+{
/* Byte offset to half-buffer locked by DMA0.
- 0 for top, PCM_SIZE/2 for bottom */
+ 0 for top, DSP_BUFFER_SIZE/2 for bottom */
unsigned short dma0_locked;
-
+
IFR = 1 << 6;
/* DMSRC0 is the beginning of the DMA0-locked SARAM half-buffer. */
- DMSA = 0x00 /* DMSRC0 */;
- dma0_locked = (DMSDN << 1) & (DSP_BUFFER_SIZE);
- dma0_unlocked = dma0_locked ^ (DSP_BUFFER_SIZE);
+ DMSA = 0x00 /* DMSRC0 (banked register, see page 133 of SPRU302B */;
- dsp_level = 0;
+ /* Note that these address offsets (dma0_locked and dma0_unlocked are in
+ * words. */
+ dma0_locked = DMSDN & (DSP_BUFFER_SIZE>>1);
+ dma0_unlocked = dma0_locked ^ (DSP_BUFFER_SIZE>>1);
+
+ dsp_level = 0;
/* Start the SDRAM to SARAM copy */
- rebuffer();
+ rebuffer();
}
/* This interupt handler runs every time a DMA transfer is complete from SDRAM
* to the SARAM buffer. It is used to update the SARAM buffer level
* (dsp_level), the SDRAM buffer level (sdem_level) and to rebuffer if the dsp
- * buffer is not full.
- */
+ * buffer is not full. */
interrupt void handle_dmac(void) {
- IFR = 1 << 11;
-
- dsp_level+=last_size;
- sdem_level+=last_size;
-
- if(dsp_level<DSP_BUFFER_SIZE)
+ IFR = 1 << 11; /* Clear interrupt */
+
+ /* dsp_level and sdem_level are in bytes */
+ dsp_level += last_size;
+ sdem_level += last_size;
+
+ /* compare to DSP_BUFFER_SIZE without a divide because it is in words and
+ * we want half the total size in bytes. */
+ if(dsp_level < DSP_BUFFER_SIZE)
{
- rebuffer();
- }
+ rebuffer();
+ }
}
-void dma_init(void) {
- /* Configure SARAM to McBSP DMA */
+void dma_init(void) {
+ /* Initialize some of the global variables to known values avoiding the
+ * .cinit section. */
+ dsp_level = 0;
+ sdem_level = 0;
+
+ last_size = 0;
+ dma0_unlocked = 0;
+ dma0_stopped = 1;
+ waiting = 0;
+
+ /* Configure SARAM to McBSP DMA */
+
/* Event XEVT0, 32-bit transfers, 0 frame count */
- DMSFC0 = 2 << 12 | 1 << 11;
-
+ DMSFC0 = 2 << 12 | 1 << 11;
+
/* Interrupts generated, Half and full buffer.
* ABU mode, From data space with postincrement, to data space with no
* change
*/
- DMMCR0 = 1 << 14 | 1 << 13 |
- 1 << 12 | 1 << 8 | 1 << 6 | 1;
+ DMMCR0 = 1 << 14 | 1 << 13 |
+ 1 << 12 | 1 << 8 | 1 << 6 | 1;
/* Set the source (incrementing) location */
DMSRC0 = (unsigned short)&data;
-
+
/* Set the destination (static) location to the McBSP IIS interface */
DMDST0 = (unsigned short)&DXR20;
-
+
/* Set the size of the buffer */
DMCTR0 = sizeof(data);
diff --git a/firmware/target/arm/tms320dm320/dsp/dma.h b/firmware/target/arm/tms320dm320/dsp/dma.h
index 5c483a503e..c55fc1507b 100644
--- a/firmware/target/arm/tms320dm320/dsp/dma.h
+++ b/firmware/target/arm/tms320dm320/dsp/dma.h
@@ -22,9 +22,10 @@
#ifndef DMA_H
#define DMA_H
-#include "ipc.h"
-
void dma_init(void);
+void rebuffer(void);
+
+extern int waiting;
extern volatile unsigned short dma0_stopped;
diff --git a/firmware/target/arm/tms320dm320/dsp/dsp-image.h b/firmware/target/arm/tms320dm320/dsp/dsp-image.h
index 80f582d238..f7ec449a33 100644
--- a/firmware/target/arm/tms320dm320/dsp/dsp-image.h
+++ b/firmware/target/arm/tms320dm320/dsp/dsp-image.h
@@ -20,94 +20,46 @@
*
*/
static const unsigned short _section_text[] = {
- 0xe808, 0x75f8, 0x0008, 0x0280, 0xfc00, 0xf495, 0x4a08, 0x4a09, 0x4a0a, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a10, 0x4a11, 0x4a12, 0x4a13, 0x4a14, 0x4a15, 0x4a16, 0x4a17, 0x4a17, 0x4a19, 0x4a0e, 0x4a06, 0x4a07, 0x4a1a, 0x4a1d, 0x4a1b, 0x4a1c, 0x68f8, 0x0007, 0x7d3f, 0x69f8, 0x0007, 0x4000, 0x68f8, 0x001d, 0xfffc, 0x4818, 0x68f8, 0x0018, 0xfffe, 0x7711, 0x0001, 0x4a08, 0x7681, 0x0001, 0x76f8, 0x28de, 0x0001, 0x10f8, 0x28e6, 0x76f8, 0x28e7, 0x0000, 0xfa44, 0x00ca, 0xf495, 0xeeff, 0x7712, 0x0054, 0x960f, 0xf830, 0x00c8, 0x7711, 0x0054, 0x6981, 0x0001, 0xf074, 0x02e4, 0xf073, 0x00ca, 0xf074, 0x0130, 0xee01, 0x8a18, 0xf495, 0x8a1c, 0x8a1b, 0x8a1d, 0x8a1a, 0x8a07, 0x8a06, 0x8a0e, 0x8a19, 0x8a17, 0x8a17, 0x8a16, 0x8a15, 0x8a14, 0x8a13, 0x8a12, 0x8a11, 0x8a10, 0x8a0d, 0x8a0c, 0x8a0b, 0x8a0a, 0x8a09, 0x8a08, 0xf4eb, 0xeeff, 0x76f8, 0x28de, 0x0000, 0xf074, 0x0080, 0xee01, 0xfc00, 0x10f8, 0x28de, 0xf844, 0x00f7, 0xf4e1, 0xf495, 0x10f8, 0x28de, 0xf845, 0x00f1, 0xfc00, 0xeefb, 0x4818, 0xf000, 0x0006, 0x76f8, 0x288d, 0x0002, 0x8004, 0x7600, 0x0051, 0x1006, 0x8001, 0x1004, 0x8002, 0xf274, 0x0396, 0xf020, 0x288e, 0xf074, 0x00e5, 0xf074, 0x00ed, 0xee05, 0x76f8, 0x28de, 0x0002, 0xfc00, 0x4a11, 0x7711, 0x0026, 0x7712, 0x0001, 0x7681, 0x0010, 0x7713, 0x0001, 0x7711, 0x0000, 0xeefe, 0x7681, 0xffff, 0xe501, 0xf495, 0xf6bb, 0xf074, 0x02b9, 0xf074, 0x028a, 0x7600, 0x2cad, 0xf074, 0x00f8, 0xf4e1, 0xf495, 0xf073, 0x012c, 0x4a11, 0x60f8, 0x28e2, 0x4000, 0xfa30, 0x013e, 0xf495, 0xeefe, 0x10f8, 0x28e3, 0x08f8, 0x28e1, 0xf844, 0x014b, 0x60f8, 0x28e6, 0x0002, 0xf820, 0x014b, 0x7711, 0x0054, 0x6881, 0xfffe, 0xf074, 0x02ef, 0xf073, 0x01b9, 0x10f8, 0x28e3, 0x08f8, 0x28e1, 0xf844, 0x015c, 0x76f8, 0x28e3, 0x0000, 0x76f8, 0x288d, 0x0003, 0x76f8, 0x28e7, 0x0001, 0xf074, 0x00e5, 0x10f8, 0x28e7, 0xf844, 0x01b9, 0x10f8, 0x28e1, 0x00f8, 0x28e2, 0x08f8, 0x28e3, 0x8811, 0xf495, 0x7710, 0x4000, 0xf6a9, 0xf820, 0x0173, 0xf020, 0x4000, 0xf273, 0x0177, 0x08f8, 0x28e2, 0x10f8, 0x28e1, 0x08f8, 0x28e3, 0x80f8, 0x28e4, 0xf6b8, 0xf020, 0x8000, 0x6ff8, 0x28e5, 0x0c1f, 0x6ff8, 0x28e2, 0x0c1f, 0x75f8, 0x0008, 0x8002, 0xe800, 0x75f8, 0x0008, 0x8003, 0x10f8, 0x28df, 0xf1ef, 0xf3e1, 0x10f8, 0x28e0, 0xf2a0, 0x00f8, 0x28e3, 0x4e00, 0xf020, 0xffff, 0x5700, 0xf280, 0x75f8, 0x0008, 0x8000, 0x5600, 0xf0f0, 0x75f8, 0x0008, 0x8001, 0xe800, 0x75f8, 0x28e4, 0x8004, 0x75f8, 0x0008, 0x8005, 0x74f8, 0x288f, 0x8006, 0x74f8, 0x2890, 0x8001, 0x74f8, 0x2891, 0x8000, 0x74f8, 0x2892, 0x8003, 0xe801, 0x74f8, 0x2893, 0x8002, 0x75f8, 0x0008, 0x8006, 0xee02, 0x8a11, 0xfc00, 0xf495, 0x4a08, 0x4a09, 0x4a0a, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a10, 0x4a11, 0x4a12, 0x4a13, 0x4a14, 0x4a15, 0x4a16, 0x4a17, 0x4a17, 0x4a19, 0x4a0e, 0x4a06, 0x4a07, 0x4a1a, 0x4a1d, 0x4a1b, 0x4a1c, 0x68f8, 0x0007, 0x7d3f, 0x69f8, 0x0007, 0x4000, 0x68f8, 0x001d, 0xfffc, 0x4818, 0x68f8, 0x0018, 0xfffe, 0x7711, 0x0001, 0x4a08, 0x7681, 0x0040, 0x7711, 0x0055, 0x7681, 0x0000, 0x7711, 0x0057, 0x6f81, 0x0c41, 0xeeff, 0xf030, 0x4000, 0x8000, 0xf020, 0x4000, 0x60f8, 0x28e6, 0x0001, 0x1c00, 0x76f8, 0x28e2, 0x0000, 0xfa20, 0x0212, 0x80f8, 0x28e5, 0x7711, 0x0054, 0x6881, 0xfffe, 0xf074, 0x02ef, 0x7711, 0x0055, 0x7681, 0x0003, 0x7711, 0x0057, 0x7681, 0x2800, 0x76f8, 0x28e3, 0x0000, 0xf073, 0x0214, 0xf074, 0x0130, 0xee01, 0x8a18, 0xf495, 0x8a1c, 0x8a1b, 0x8a1d, 0x8a1a, 0x8a07, 0x8a06, 0x8a0e, 0x8a19, 0x8a17, 0x8a17, 0x8a16, 0x8a15, 0x8a14, 0x8a13, 0x8a12, 0x8a11, 0x8a10, 0x8a0d, 0x8a0c, 0x8a0b, 0x8a0a, 0x8a09, 0x8a08, 0xf4eb, 0xf495, 0x4a08, 0x4a09, 0x4a0a, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a10, 0x4a11, 0x4a12, 0x4a13, 0x4a14, 0x4a15, 0x4a16, 0x4a17, 0x4a17, 0x4a19, 0x4a0e, 0x4a06, 0x4a07, 0x4a1a, 0x4a1d, 0x4a1b, 0x4a1c, 0x68f8, 0x0007, 0x7d3f, 0x69f8, 0x0007, 0x4000, 0x68f8, 0x001d, 0xfffc, 0x4818, 0x68f8, 0x0018, 0xfffe, 0x7711, 0x0001, 0x4a08, 0x7681, 0x0800, 0x10f8, 0x28e4, 0x00f8, 0x28e2, 0x80f8, 0x28e2, 0x7710, 0x4000, 0x7211, 0x28e2, 0x10f8, 0x28e4, 0xf5a9, 0xeeff, 0x00f8, 0x28e3, 0xfa20, 0x026f, 0x80f8, 0x28e3, 0xf074, 0x0130, 0xee01, 0x8a18, 0xf495, 0x8a1c, 0x8a1b, 0x8a1d, 0x8a1a, 0x8a07, 0x8a06, 0x8a0e, 0x8a19, 0x8a17, 0x8a17, 0x8a16, 0x8a15, 0x8a14, 0x8a13, 0x8a12, 0x8a11, 0x8a10, 0x8a0d, 0x8a0c, 0x8a0b, 0x8a0a, 0x8a09, 0x8a08, 0xf4eb, 0x4a11, 0x7711, 0x0055, 0x7681, 0x0003, 0x7711, 0x0057, 0x7681, 0x2800, 0x7711, 0x0055, 0x7681, 0x0004, 0x7711, 0x0057, 0x7681, 0x7141, 0x7711, 0x0055, 0x7681, 0x0000, 0x7711, 0x0057, 0x7681, 0x8000, 0x7711, 0x0055, 0x7681, 0x0001, 0x7711, 0x0057, 0x7681, 0x0022, 0x7711, 0x0055, 0x7681, 0x0002, 0x7711, 0x0057, 0x7681, 0x4000, 0x7711, 0x0054, 0x7681, 0x0080, 0x8a11, 0xfc00, 0x4a11, 0x7711, 0x0038, 0x7681, 0x0000, 0x7711, 0x0039, 0x7681, 0x0000, 0x7711, 0x0038, 0x7681, 0x0001, 0x7711, 0x0039, 0x7681, 0x0030, 0x7711, 0x0038, 0x7681, 0x000e, 0x7711, 0x0039, 0x7681, 0x0002, 0x7711, 0x0038, 0x7681, 0x0004, 0x7711, 0x0039, 0x7681, 0x00a0, 0x7711, 0x0038, 0x7681, 0x0005, 0x7711, 0x0039, 0x7681, 0x0000, 0x8a11, 0xfc00, 0x4a11, 0x7711, 0x0038, 0x7681, 0x0001, 0x7711, 0x0039, 0x6981, 0x0001, 0x8a11, 0xfc00, 0x4a11, 0x7711, 0x0038, 0x7681, 0x0001, 0x7711, 0x0039, 0x6881, 0xfffe, 0x8a11, 0xfc00, 0xf7be, 0xf6b9, 0xf4a0, 0xf6b7, 0xf6b5, 0xf6b6, 0xf7b8, 0x7718, 0x188d, 0x6bf8, 0x0018, 0x0fff, 0x68f8, 0x0018, 0xfffe, 0xf020, 0x2dbb, 0xf100, 0x0001, 0xf84d, 0x0326, 0xf6b8, 0xf495, 0xf020, 0x2dbb, 0xf073, 0x0320, 0x7ef8, 0x0012, 0xf000, 0x0001, 0x47f8, 0x0011, 0x7e92, 0x00f8, 0x0011, 0xf000, 0x0001, 0x7ef8, 0x0011, 0xf000, 0x0001, 0x6c89, 0x0315, 0xf7b8, 0xeefc, 0xf020, 0xffff, 0xf100, 0x0001, 0xf84d, 0x033e, 0xf6b8, 0xf495, 0xf020, 0xffff, 0xf273, 0x0338, 0x4e02, 0xf495, 0xf5e3, 0x5602, 0x7e00, 0x1100, 0xfa4c, 0x0336, 0x6b03, 0x0001, 0xf6b8, 0xee04, 0xf074, 0x0f88, 0xf074, 0x0344, 0x4a11, 0x4a16, 0xeeff, 0x10f8, 0x290b, 0xf4e3, 0x7211, 0x28e8, 0x10f8, 0x0011, 0xf845, 0x035c, 0x4811, 0xf000, 0x28e9, 0x8816, 0xf495, 0xf495, 0x10ee, 0xffff, 0xf4e3, 0x6ce9, 0xffff, 0x0356, 0x10f8, 0x290a, 0xf845, 0x0363, 0x10f8, 0x290a, 0xf4e3, 0x10f8, 0x2909, 0xf845, 0x036a, 0x10f8, 0x2909, 0xf4e3, 0x10f8, 0x290c, 0xf4e3, 0xf074, 0x0393, 0xf073, 0x036f, 0x4a11, 0x8811, 0x10f8, 0x290b, 0xf4e3, 0xf7b8, 0x10f8, 0x28e8, 0xf468, 0xf478, 0xf010, 0x0020, 0xf843, 0x0385, 0x10f8, 0x290c, 0xf4e3, 0xe801, 0xf073, 0x0391, 0x7212, 0x28e8, 0x10f8, 0x290c, 0x6bf8, 0x28e8, 0x0001, 0x70e2, 0x28e9, 0x0011, 0xf4e3, 0xe800, 0x8a11, 0xfc00, 0xf495, 0xf073, 0x0394, 0x4a11, 0xeef8, 0xf495, 0x710b, 0x0012, 0x110c, 0x710a, 0x0011, 0x7004, 0x0012, 0x8005, 0x7006, 0x0011, 0x4818, 0x7607, 0x0000, 0xf000, 0x0005, 0x8100, 0x8001, 0x7602, 0x03bd, 0x4818, 0x7603, 0x03d4, 0xf274, 0x0419, 0xf000, 0x0004, 0x4911, 0xf84d, 0x03ba, 0x7105, 0x0011, 0x7681, 0x0000, 0xee08, 0x8a11, 0xfc00, 0x4a11, 0xf495, 0x7102, 0x0011, 0x71e1, 0x0001, 0x0010, 0x71e1, 0x0002, 0x0012, 0xf5aa, 0xf820, 0x03cf, 0x7181, 0x0012, 0x8082, 0x6b81, 0x0001, 0x6be1, 0x0002, 0x0001, 0x8a11, 0xfc00, 0x4a11, 0xf110, 0x0001, 0x4a16, 0x8812, 0x4a17, 0x8913, 0xeefe, 0x7716, 0xffff, 0x7106, 0x0011, 0x11eb, 0x0001, 0xfa4c, 0x03e0, 0xf495, 0x6d96, 0x11e1, 0x0001, 0x8910, 0xf495, 0x71e1, 0x0002, 0x0013, 0xf5ab, 0xf820, 0x0407, 0x4813, 0xf520, 0x8910, 0xf495, 0xf495, 0xf6ae, 0xf820, 0x03fc, 0xf273, 0x03fd, 0xf495, 0x8917, 0xe767, 0x7000, 0x0012, 0x7001, 0x0017, 0x1081, 0xf074, 0x152d, 0x4817, 0x0081, 0x8081, 0x4816, 0x00e1, 0x0002, 0xee02, 0x80e1, 0x0002, 0x8a17, 0x4816, 0x8a16, 0x8a11, 0xfc00, 0xfc00, 0x80f8, 0x290b, 0xfc00, 0x80f8, 0x290c, 0xfc00, 0x4a11, 0x4a16, 0x4a17, 0xeef4, 0x8816, 0x1013, 0x8009, 0x1186, 0xf210, 0x0001, 0x8813, 0xf495, 0x7712, 0xffff, 0x7111, 0x0017, 0x7112, 0x0011, 0x10eb, 0x0001, 0xfa44, 0x042b, 0xf495, 0x6d92, 0x6ff8, 0x0012, 0x0e00, 0x800a, 0x4812, 0xfa45, 0x0513, 0x7604, 0x0000, 0x7605, 0x0000, 0x7606, 0x0000, 0x7607, 0xffff, 0xe925, 0x7608, 0x0000, 0x7186, 0x0012, 0x7182, 0x0012, 0x10f8, 0x0012, 0x08f8, 0x000b, 0xf845, 0x0465, 0x10f8, 0x0012, 0xf845, 0x0513, 0x1086, 0xf000, 0x0001, 0x4911, 0x8086, 0x8812, 0x7000, 0x0017, 0x10e2, 0xffff, 0xf5e3, 0x6b04, 0x0001, 0x7186, 0x0012, 0x7182, 0x0012, 0x6ce2, 0xffdb, 0x044d, 0x6b86, 0x0001, 0x4818, 0x7000, 0x0016, 0xf274, 0x0519, 0xf000, 0x0005, 0x4818, 0x7000, 0x0016, 0xf000, 0x0010, 0x8001, 0x4818, 0xf274, 0x056b, 0xf000, 0x0005, 0x7186, 0x0012, 0x1182, 0x7713, 0x004c, 0x10f8, 0x000b, 0x08f8, 0x0013, 0xf845, 0x04aa, 0x7713, 0x0068, 0x10f8, 0x000b, 0x08f8, 0x0013, 0xf845, 0x04a6, 0x7713, 0x006c, 0x10f8, 0x000b, 0x08f8, 0x0013, 0xf844, 0x04b3, 0x4812, 0xf000, 0x0001, 0x8812, 0x7086, 0x0012, 0x6082, 0x006c, 0xf830, 0x04a2, 0xf273, 0x04b2, 0x6905, 0x0040, 0xf273, 0x04ac, 0x6905, 0x0100, 0xf273, 0x04ac, 0x6905, 0x0020, 0x6905, 0x0080, 0x1086, 0xf000, 0x0001, 0x8812, 0xf495, 0x8086, 0x1182, 0x7712, 0x006e, 0x10f8, 0x000b, 0x8108, 0x08f8, 0x0012, 0xfa45, 0x04f0, 0x6b86, 0x0001, 0x7712, 0x0073, 0x10f8, 0x000b, 0x08f8, 0x0012, 0xf845, 0x04dd, 0x10f8, 0x290b, 0xf4e3, 0x4818, 0xf000, 0x0010, 0x8000, 0x4818, 0xf274, 0x073a, 0xf000, 0x0005, 0x7000, 0x0017, 0x1109, 0xf5e3, 0x0004, 0x8004, 0x10f8, 0x290c, 0xf4e3, 0xf073, 0x050c, 0x4818, 0x7000, 0x0017, 0xf000, 0x0010, 0x8001, 0x4818, 0xf000, 0x0004, 0x8002, 0x1009, 0x8003, 0x4818, 0xf274, 0x0632, 0xf000, 0x0005, 0xf073, 0x050c, 0xf020, 0x0160, 0x1805, 0x8812, 0xf495, 0xf495, 0x6ce2, 0xffc0, 0x0504, 0x6b10, 0x0001, 0x7110, 0x0012, 0xf7b8, 0x7182, 0x0012, 0xf273, 0x050c, 0x1004, 0x4e82, 0x6b10, 0x0001, 0x7110, 0x0012, 0x1004, 0x7182, 0x0012, 0x8082, 0x710a, 0x0010, 0x7186, 0x0012, 0xf5aa, 0xf830, 0x043a, 0x1004, 0xee0c, 0x8a17, 0x8a16, 0x8a11, 0xfc00, 0x4a11, 0x8812, 0xf273, 0x0533, 0x7102, 0x0011, 0xf273, 0x0531, 0x6982, 0x0010, 0xf273, 0x0531, 0x6982, 0x0001, 0xf273, 0x0531, 0x6982, 0x0002, 0xf273, 0x0531, 0x6982, 0x0008, 0x6982, 0x0004, 0x6b81, 0x0001, 0x7181, 0x0013, 0xf7b8, 0x1183, 0x10f8, 0x000b, 0xf468, 0xf478, 0xf010, 0x002b, 0xf846, 0x0559, 0x7713, 0x002b, 0x10f8, 0x000b, 0x08f8, 0x0013, 0xf845, 0x0527, 0x7713, 0x0020, 0x10f8, 0x000b, 0x08f8, 0x0013, 0xf845, 0x052f, 0x7713, 0x0023, 0x10f8, 0x000b, 0x08f8, 0x0013, 0xf845, 0x052b, 0xf073, 0x0569, 0x7713, 0x002d, 0x10f8, 0x000b, 0x08f8, 0x0013, 0xf845, 0x0523, 0x7713, 0x0030, 0x10f8, 0x000b, 0x08f8, 0x0013, 0xf845, 0x051f, 0x8a11, 0xfc00, 0x4a11, 0x4a16, 0x4a17, 0xeef6, 0xf495, 0x710e, 0x0011, 0x7181, 0x0012, 0x8816, 0x6082, 0x002a, 0xfa20, 0x0599, 0x710f, 0x0017, 0x1087, 0xf000, 0x0001, 0x8812, 0xf7b8, 0x8087, 0x1082, 0x80e6, 0x0001, 0x10e6, 0x0001, 0xf842, 0x058d, 0xf484, 0x80e6, 0x0001, 0x6986, 0x0001, 0x1081, 0xf000, 0x0001, 0x8812, 0xf495, 0x8081, 0x6082, 0x002e, 0xf830, 0x05de, 0xf073, 0x062d, 0xe782, 0x4812, 0xf010, 0x0001, 0x8813, 0xf495, 0xec09, 0x769b, 0x0000, 0x7181, 0x0013, 0xf7b8, 0x1183, 0x10f8, 0x000b, 0xf468, 0xf478, 0xf010, 0x0030, 0xf843, 0x05c6, 0x10f8, 0x000b, 0xf468, 0xf478, 0xf010, 0x003a, 0xf842, 0x05c6, 0x8192, 0x1081, 0xf000, 0x0001, 0x8813, 0xf495, 0x8081, 0x1183, 0x10f8, 0x000b, 0xf468, 0xf478, 0xf010, 0x0030, 0xf842, 0x05ae, 0x1000, 0xf844, 0x05d3, 0x7712, 0x002e, 0x10f8, 0x000b, 0x08f8, 0x0012, 0xf845, 0x05de, 0xf073, 0x062d, 0x4818, 0xf074, 0x0f9f, 0x80e6, 0x0001, 0x7181, 0x0012, 0x6082, 0x002e, 0xf820, 0x062d, 0x1081, 0xf000, 0x0001, 0x8812, 0xf495, 0x8081, 0x6082, 0x002a, 0xf830, 0x0622, 0xe782, 0x4812, 0xf010, 0x0001, 0x8813, 0xf495, 0xec09, 0x769b, 0x0000, 0x7181, 0x0013, 0xf7b8, 0x1183, 0x10f8, 0x000b, 0xf468, 0xf478, 0xf010, 0x0030, 0xf843, 0x0615, 0x10f8, 0x000b, 0xf468, 0xf478, 0xf010, 0x003a, 0xf842, 0x0615, 0x8192, 0x1081, 0xf000, 0x0001, 0x8813, 0xf495, 0x8081, 0x1183, 0x10f8, 0x000b, 0xf468, 0xf478, 0xf010, 0x0030, 0xf842, 0x05fd, 0x1000, 0xf845, 0x061d, 0x4818, 0xf074, 0x0f9f, 0xf073, 0x061e, 0xe800, 0xf273, 0x062d, 0x80e6, 0x0002, 0x1087, 0xf000, 0x0001, 0x8812, 0xf495, 0x8087, 0x1082, 0x80e6, 0x0002, 0x6b81, 0x0001, 0xee0a, 0x8a17, 0x8a16, 0x8a11, 0xfc00, 0x4a11, 0x4a16, 0x4a17, 0xeefa, 0xf495, 0x8002, 0x100d, 0x710b, 0x0011, 0x8003, 0x710c, 0x0012, 0x1081, 0x710a, 0x0017, 0xf000, 0x0001, 0x8081, 0x8811, 0xf495, 0xf495, 0x1281, 0x8004, 0xf845, 0x072f, 0x7102, 0x0011, 0xf7b8, 0x71e1, 0x0002, 0x0011, 0x10f8, 0x0011, 0xf843, 0x0677, 0x1004, 0xf010, 0x0001, 0x8813, 0xf495, 0x7710, 0xffff, 0x10eb, 0x0001, 0xfa44, 0x065c, 0xf495, 0x6d90, 0xf5a9, 0xf820, 0x0677, 0x7005, 0x0011, 0x7102, 0x0011, 0x11e1, 0x0001, 0x10f8, 0x000b, 0xf468, 0x7105, 0x0011, 0xf478, 0x08f8, 0x0011, 0xf847, 0x0692, 0xf073, 0x0696, 0x1004, 0xf010, 0x0001, 0x8811, 0xf495, 0x7713, 0xffff, 0x10e9, 0x0001, 0xfa44, 0x067e, 0xf495, 0x6d93, 0x7102, 0x0011, 0x7005, 0x0013, 0x11e1, 0x0001, 0x10f8, 0x000b, 0xf468, 0xf478, 0x08f8, 0x0013, 0xf846, 0x0696, 0xf273, 0x0698, 0x7105, 0x0011, 0x8911, 0xf495, 0x4811, 0x0082, 0x8082, 0x4811, 0xf274, 0x15cd, 0xf000, 0x0001, 0x8816, 0x4808, 0xf845, 0x0735, 0xf7b8, 0xf495, 0x1105, 0xf768, 0xf778, 0x09f8, 0x0011, 0xe762, 0xf84a, 0x06cb, 0x7102, 0x0013, 0x961f, 0xf830, 0x06cb, 0x7105, 0x0010, 0x4916, 0xf4a9, 0xf310, 0x0001, 0x8913, 0xf830, 0x06c6, 0x4911, 0x0905, 0xf310, 0x0001, 0x891a, 0xf495, 0xf072, 0x06c5, 0x769b, 0x0020, 0x4911, 0x4812, 0x0905, 0xf600, 0x8812, 0x1105, 0xf640, 0x10f8, 0x0008, 0xf845, 0x06fa, 0x4812, 0xf010, 0x0001, 0x8813, 0x1004, 0xf010, 0x0001, 0x8814, 0xf640, 0xf010, 0x0001, 0x881a, 0xf495, 0xf072, 0x06e8, 0x10ec, 0x0001, 0x809b, 0x10f8, 0x0008, 0xf845, 0x06e9, 0xf310, 0x0001, 0x8914, 0xf495, 0x7710, 0x0001, 0xf6ac, 0xfa20, 0x06fa, 0xf310, 0x0001, 0xf310, 0x0001, 0x891a, 0xf495, 0xf072, 0x06f9, 0x769b, 0x0000, 0x1105, 0x4812, 0xf600, 0xf768, 0xf778, 0x09f8, 0x0011, 0xf84a, 0x071b, 0x7102, 0x0013, 0x961f, 0xf820, 0x071b, 0x7105, 0x0010, 0xf4a9, 0xf010, 0x0001, 0x8812, 0xf830, 0x071b, 0x4910, 0x4811, 0xf620, 0xf010, 0x0001, 0x881a, 0xf495, 0xf072, 0x071a, 0x769a, 0x0020, 0x4911, 0x4816, 0xf600, 0x8811, 0xf495, 0xf495, 0x7681, 0x0000, 0x7000, 0x0017, 0x1103, 0xf7e3, 0xf495, 0x4816, 0xf274, 0x1728, 0xf495, 0x4816, 0xf073, 0x0735, 0x7000, 0x0017, 0x1103, 0xf7e3, 0xf020, 0x2b68, 0xee06, 0x8a17, 0x8a16, 0x8a11, 0xfc00, 0x4a11, 0xf120, 0x290d, 0x8811, 0x4a16, 0x4a17, 0x6fe1, 0x0001, 0x0e00, 0xeef6, 0x8817, 0xf495, 0x710e, 0x0013, 0xf200, 0x018f, 0x8004, 0xf210, 0x0001, 0x8812, 0x7605, 0x0000, 0x8006, 0xf070, 0x018f, 0x769a, 0x0020, 0x7104, 0x0012, 0x7682, 0x0000, 0xf120, 0x290d, 0x1004, 0xf7b8, 0xf010, 0x0001, 0x8107, 0x8004, 0x71e1, 0x0003, 0x0014, 0x11f8, 0x0014, 0xf768, 0xf778, 0xf310, 0x0064, 0x8812, 0xf84e, 0x07a7, 0xf495, 0x7715, 0x0064, 0x11f8, 0x0014, 0x09f8, 0x0015, 0xf84d, 0x07ea, 0x11f8, 0x0014, 0xf768, 0xf778, 0xf310, 0x0047, 0xf84e, 0x0795, 0xe947, 0x10f8, 0x0014, 0x08f8, 0x000b, 0xf845, 0x07fa, 0xe925, 0x10f8, 0x0014, 0x08f8, 0x000b, 0xf845, 0x07d8, 0xe945, 0x10f8, 0x0014, 0x08f8, 0x000b, 0xf845, 0x07fa, 0xf073, 0x0815, 0x7715, 0x0058, 0x11f8, 0x0014, 0x09f8, 0x0015, 0xf84d, 0x07ea, 0x7715, 0x0063, 0x11f8, 0x0014, 0x09f8, 0x0015, 0xf84d, 0x080a, 0xf073, 0x0815, 0x10f8, 0x0014, 0xf468, 0xf478, 0xf010, 0x0070, 0xf846, 0x07c8, 0x10f8, 0x0014, 0xf468, 0xf478, 0xf010, 0x006f, 0xf842, 0x07ea, 0xe742, 0x7710, 0x0002, 0x6dea, 0xff9b, 0xf6aa, 0xf820, 0x07fa, 0xe969, 0x10f8, 0x0014, 0x08f8, 0x000b, 0xf845, 0x07ea, 0xf073, 0x0815, 0xe975, 0x10f8, 0x0014, 0x08f8, 0x000b, 0xf845, 0x07ea, 0xe978, 0x10f8, 0x0014, 0x08f8, 0x000b, 0xf845, 0x07ea, 0xf073, 0x0815, 0x7713, 0x2b6f, 0x7107, 0x0012, 0xe510, 0x1183, 0x4812, 0xf84d, 0x08f2, 0x71eb, 0x0001, 0x0011, 0x6e81, 0x07e1, 0x709a, 0x0011, 0xf073, 0x08f2, 0x4818, 0xf000, 0x0005, 0x8000, 0x4818, 0xf000, 0x0004, 0x8001, 0x7002, 0x0013, 0xf274, 0x0d3e, 0xf495, 0x4811, 0xf073, 0x0815, 0x4818, 0xf000, 0x0005, 0x8000, 0x4818, 0xf000, 0x0004, 0x8001, 0x7002, 0x0013, 0xf274, 0x08f7, 0xf495, 0x4811, 0xf073, 0x0815, 0x1183, 0xf300, 0x0001, 0x8183, 0x8913, 0xf010, 0x0001, 0xe510, 0x8004, 0x6881, 0xfffd, 0x7181, 0x0012, 0x61f8, 0x0012, 0x0002, 0xfa20, 0x0842, 0x7716, 0x0000, 0x10e1, 0x0003, 0x7713, 0x0075, 0x11f8, 0x0008, 0x09f8, 0x0013, 0xf84d, 0x0842, 0x7713, 0x006f, 0x11f8, 0x0008, 0x09f8, 0x0013, 0xf84d, 0x0842, 0x7713, 0x0078, 0x11f8, 0x0008, 0x09f8, 0x0013, 0xf84d, 0x0842, 0x7713, 0x0058, 0x11f8, 0x0008, 0x09f8, 0x0013, 0xf84d, 0x0842, 0x7716, 0x0001, 0x1005, 0xf844, 0x0853, 0x10f8, 0x0016, 0xf845, 0x085b, 0x7104, 0x0012, 0x7682, 0x002b, 0x6b04, 0xffff, 0xf273, 0x085e, 0x7181, 0x0012, 0x7104, 0x0012, 0x7682, 0x002d, 0x6b04, 0xffff, 0x7181, 0x0012, 0x1005, 0xf844, 0x086d, 0x6c86, 0x086d, 0x61f8, 0x0012, 0x0004, 0xf820, 0x086d, 0x7104, 0x0012, 0x7682, 0x0020, 0x6b04, 0xffff, 0x7181, 0x0012, 0x61f8, 0x0012, 0x0001, 0xf830, 0x0885, 0x1007, 0x0804, 0xf7b8, 0xf000, 0x018f, 0x11f8, 0x0008, 0xf768, 0xf778, 0x09e1, 0x0001, 0xf84e, 0x0885, 0x4917, 0xf520, 0xf273, 0x0886, 0xf200, 0x0001, 0x1007, 0x8008, 0x1004, 0xf000, 0x0001, 0x8000, 0x7601, 0x0000, 0x7602, 0x0190, 0x1008, 0xf074, 0x150d, 0x8812, 0xf495, 0xe770, 0xf6aa, 0x8004, 0xf830, 0x08ad, 0xf010, 0x0002, 0x8812, 0x4817, 0x0804, 0xf000, 0x0001, 0x4808, 0xf845, 0x08ab, 0xf010, 0x0001, 0x881a, 0xf495, 0xf072, 0x08aa, 0x769a, 0x0020, 0x7687, 0x0000, 0xe712, 0x960b, 0xf830, 0x08c7, 0x1107, 0x1008, 0xf620, 0xf010, 0x0001, 0x8812, 0xf495, 0x7710, 0xffff, 0xf4aa, 0xfa30, 0x08f1, 0x7106, 0x0011, 0x7312, 0x001a, 0xf072, 0x08c4, 0x7699, 0x0020, 0xf073, 0x08f1, 0x7107, 0x0010, 0x7108, 0x0013, 0xf4ab, 0xfa30, 0x08db, 0x7106, 0x0012, 0x4910, 0x4813, 0xf620, 0xf010, 0x0001, 0x881a, 0xf495, 0xf072, 0x08da, 0x769a, 0x0030, 0x4816, 0x1a05, 0x8816, 0xf495, 0xf495, 0x6c86, 0x08e6, 0xe712, 0x960d, 0xf820, 0x08f1, 0xe731, 0xf4a9, 0xf830, 0x08f1, 0x7712, 0x290d, 0xe510, 0x7681, 0x0030, 0x7007, 0x0012, 0x1007, 0xee0a, 0x8a17, 0x8a16, 0x8a11, 0xfc00, 0x4a11, 0x8812, 0xeefe, 0xf495, 0x7106, 0x0014, 0x1184, 0xf693, 0xf030, 0x0001, 0x7105, 0x0015, 0xf600, 0x7104, 0x0013, 0xf000, 0x0001, 0x8811, 0x7084, 0x0011, 0xf000, 0x0001, 0x5781, 0x8084, 0x56f8, 0x2b92, 0x4e00, 0xf274, 0x110b, 0xf495, 0xf640, 0xf7b8, 0x10f8, 0x0008, 0xfa42, 0x091f, 0x7711, 0x0000, 0x7711, 0x0001, 0x10f8, 0x0011, 0xfa45, 0x092a, 0x7083, 0x0011, 0xf274, 0x12ea, 0xf495, 0xf640, 0xf540, 0xf7b8, 0x71e2, 0x0003, 0x0011, 0x10f8, 0x0011, 0xf468, 0xf478, 0xf010, 0x0065, 0xf846, 0x0950, 0x7713, 0x0065, 0x10f8, 0x0011, 0x08f8, 0x0013, 0xf845, 0x0974, 0x7713, 0x0045, 0x10f8, 0x0011, 0x08f8, 0x0013, 0xf845, 0x0974, 0x7713, 0x0047, 0x10f8, 0x0011, 0x08f8, 0x0013, 0xf845, 0x0960, 0xf073, 0x097c, 0x7713, 0x0066, 0x10f8, 0x0011, 0x08f8, 0x0013, 0xf845, 0x096a, 0x7713, 0x0067, 0x10f8, 0x0011, 0x08f8, 0x0013, 0xf844, 0x097c, 0x7000, 0x0012, 0x7001, 0x0015, 0xf274, 0x0ae5, 0xf495, 0xf640, 0xf073, 0x097c, 0x7000, 0x0012, 0x7001, 0x0015, 0xf274, 0x097f, 0xf495, 0xf640, 0xf073, 0x097c, 0x7000, 0x0012, 0x7001, 0x0015, 0xf274, 0x09e7, 0xf495, 0xf640, 0xee02, 0x8a11, 0xfc00, 0x4a11, 0x4a16, 0x4a17, 0x6bf8, 0x0018, 0xfe68, 0xf495, 0xf7b8, 0xe787, 0x11e7, 0x019c, 0x8912, 0x81e7, 0x0196, 0x11e2, 0x0002, 0x71e7, 0x019d, 0x0011, 0xf84a, 0x0998, 0x76e2, 0x0002, 0x0006, 0xe906, 0x8100, 0x4918, 0xf300, 0x0004, 0x8101, 0x4918, 0xf300, 0x0005, 0x8102, 0xf074, 0x12f8, 0xe783, 0x8814, 0x6deb, 0x0006, 0x1084, 0x8083, 0x10f8, 0x0008, 0xf845, 0x09b4, 0x71ec, 0x0001, 0x0012, 0x6e82, 0x09ad, 0x709b, 0x0012, 0x1004, 0x7181, 0x0016, 0x8000, 0x7601, 0x0001, 0x71e7, 0x0196, 0x0012, 0x10e2, 0x0002, 0x8002, 0x4818, 0x7003, 0x0011, 0xf274, 0x0b96, 0xf000, 0x0006, 0x7181, 0x0010, 0xf7ae, 0xe801, 0xf830, 0x09d4, 0x71e7, 0x0196, 0x0012, 0x960c, 0xf830, 0x09d4, 0xe800, 0x1104, 0x8100, 0x8001, 0x4818, 0x7002, 0x0011, 0xf274, 0x0cc3, 0xf000, 0x0006, 0x6bf8, 0x0018, 0x0198, 0xf495, 0xf495, 0x8a17, 0x8a16, 0x8a11, 0xfc00, 0x4a11, 0x4a16, 0xf7b8, 0x4a17, 0xee96, 0xf540, 0x716e, 0x0011, 0x71e1, 0x0002, 0x0012, 0x10f8, 0x0012, 0xfa42, 0x09fd, 0x716f, 0x0017, 0x7712, 0x0006, 0x76e1, 0x0002, 0x0006, 0x56f8, 0x2b94, 0x7716, 0x0000, 0x4e00, 0xf274, 0x110b, 0xf495, 0xf640, 0xf7b8, 0x10f8, 0x0008, 0xf842, 0x0a55, 0x56f8, 0x2b96, 0x4e00, 0xf274, 0x110b, 0xf495, 0xf640, 0xf7b8, 0x10f8, 0x0008, 0xf847, 0x0a31, 0x56f8, 0x2b92, 0x4e00, 0xf274, 0x110b, 0xf495, 0xf640, 0xf7b8, 0x10f8, 0x0008, 0xf845, 0x0a6b, 0x56f8, 0x2b98, 0x4e00, 0xf274, 0x110b, 0xf495, 0xf640, 0xf7b8, 0x10f8, 0x0008, 0xf843, 0x0a33, 0xf073, 0x0a47, 0x57f8, 0x2b96, 0x56f8, 0x2b9a, 0x4e00, 0xf274, 0x1277, 0x6d8e, 0xf640, 0xf540, 0x56f8, 0x2b98, 0x4e00, 0xf274, 0x110b, 0xf495, 0xf640, 0xf7b8, 0x10f8, 0x0008, 0xf843, 0x0a33, 0x56f8, 0x2b9a, 0x4e00, 0xf274, 0x110b, 0xf495, 0xf640, 0xf7b8, 0x10f8, 0x0008, 0xf842, 0x0a57, 0xf073, 0x0a6b, 0x57f8, 0x2b94, 0x56f8, 0x2b9a, 0x4e00, 0xf274, 0x112b, 0x6d96, 0xf640, 0xf540, 0x56f8, 0x2b9a, 0x4e00, 0xf274, 0x110b, 0xf495, 0xf640, 0xf7b8, 0x10f8, 0x0008, 0xf842, 0x0a57, 0x4818, 0x7000, 0x0012, 0xf000, 0x0004, 0x8001, 0x4818, 0xf000, 0x0005, 0x8002, 0xf274, 0x12f8, 0xf495, 0xf640, 0xe783, 0x8814, 0x6deb, 0x0006, 0x1084, 0x8083, 0x10f8, 0x0008, 0xf845, 0x0a8a, 0x71ec, 0x0001, 0x0012, 0x6e82, 0x0a83, 0x709b, 0x0012, 0x6004, 0x0002, 0xf820, 0x0aa5, 0xe782, 0xf6b8, 0x6b04, 0xffff, 0x6dea, 0x0005, 0xf120, 0xffff, 0x10ea, 0x0001, 0xfa44, 0x0a96, 0xf300, 0x0001, 0x4818, 0xf000, 0x0005, 0xf600, 0x8812, 0xf495, 0x6d96, 0x7682, 0x0000, 0x10e1, 0x0003, 0x8000, 0x7001, 0x0017, 0xf274, 0x0c6f, 0xf495, 0x4816, 0x1004, 0x8000, 0x7601, 0x0001, 0x10e1, 0x0002, 0x8002, 0x4818, 0x7003, 0x0017, 0xf274, 0x0b96, 0xf000, 0x0006, 0xe782, 0xf6b8, 0x6dea, 0x0005, 0xf120, 0xffff, 0x10ea, 0x0001, 0xfa44, 0x0ac2, 0xf300, 0x0001, 0x1004, 0x08f8, 0x000b, 0xfa44, 0x0ad5, 0x7713, 0x0001, 0xe712, 0x960c, 0xf830, 0x0ad5, 0x7713, 0x0000, 0x1004, 0x8000, 0x7001, 0x0013, 0x4818, 0x7002, 0x0017, 0xf274, 0x0cc3, 0xf000, 0x0006, 0xee6a, 0x8a17, 0x8a16, 0x8a11, 0xfc00, 0x4a11, 0x4a16, 0x4a17, 0xee96, 0x7711, 0x0000, 0x716e, 0x0016, 0x71e6, 0x0002, 0x0012, 0x11f8, 0x0012, 0xfa4d, 0x0b02, 0x716f, 0x0017, 0xf7b8, 0x11f8, 0x0012, 0xf84a, 0x0b07, 0x76e6, 0x0002, 0x0006, 0xf273, 0x0b07, 0x7712, 0x0006, 0x7712, 0x0001, 0x76e6, 0x0002, 0x0001, 0x4918, 0x7000, 0x0012, 0xf300, 0x0005, 0x8101, 0x4918, 0xf300, 0x0004, 0x8102, 0xf074, 0x0ff6, 0xe783, 0x8814, 0x6deb, 0x0006, 0x1084, 0x8083, 0x10f8, 0x0008, 0xf845, 0x0b24, 0x71ec, 0x0001, 0x0012, 0x6e82, 0x0b1d, 0x709b, 0x0012, 0xf7b8, 0xf495, 0x1005, 0xf468, 0xf478, 0xf010, 0xfffd, 0xf843, 0x0b4a, 0x11e6, 0x0002, 0x10f8, 0x000b, 0xf468, 0xf478, 0x0805, 0xf842, 0x0b63, 0x1005, 0xf468, 0xf478, 0xf010, 0x0002, 0xf843, 0x0b4a, 0x1005, 0xf010, 0x0001, 0x8005, 0x10f8, 0x0008, 0xf468, 0xf478, 0xf010, 0x0002, 0x6d91, 0xf842, 0x0b3d, 0x1005, 0xf846, 0x0b56, 0x1005, 0xf000, 0x0001, 0x8005, 0x10f8, 0x0008, 0x6d89, 0xf847, 0x0b4d, 0x10e6, 0x0003, 0xf000, 0xfffe, 0x8000, 0x7001, 0x0017, 0xf274, 0x0c6f, 0xf495, 0x4811, 0x11e6, 0x0002, 0x1005, 0x7187, 0x0011, 0x8000, 0x1286, 0xf47d, 0xf030, 0x0001, 0x8001, 0x8102, 0x4818, 0x7003, 0x0017, 0xf274, 0x0b96, 0xf000, 0x0006, 0x1005, 0x8000, 0x7187, 0x0010, 0xf4a9, 0x7712, 0x0000, 0xe900, 0xf830, 0x0b7f, 0xe901, 0xe808, 0x1886, 0xf2a0, 0x10f8, 0x0008, 0xf845, 0x0b88, 0x7712, 0x0001, 0x7001, 0x0012, 0x4818, 0x7002, 0x0017, 0xf274, 0x0cc3, 0xf000, 0x0006, 0xee6a, 0x8a17, 0x8a16, 0x8a11, 0xfc00, 0x4a11, 0xeeff, 0xf495, 0x1103, 0x8100, 0xf110, 0x0001, 0x8913, 0xf495, 0x7711, 0xffff, 0x7104, 0x0015, 0x7105, 0x0014, 0x7106, 0x0010, 0xe732, 0x11ea, 0x0001, 0xfa4c, 0x0ba8, 0xf495, 0x6d91, 0x4911, 0xf500, 0xf7b8, 0xf210, 0x0001, 0x8812, 0x4814, 0x10f8, 0x0008, 0xf847, 0x0bdd, 0x4814, 0xf010, 0x0001, 0x881a, 0xf495, 0xf072, 0x0bdc, 0xf6b8, 0xe731, 0xf120, 0xffff, 0x10e9, 0x0001, 0xfa44, 0x0bc4, 0xf300, 0x0001, 0xf7b8, 0xf495, 0x1000, 0xf468, 0xf478, 0x08f8, 0x000b, 0xf847, 0x0bdd, 0x10f8, 0x0015, 0xf845, 0x0bdd, 0x7180, 0x0011, 0x7681, 0x0030, 0x6b80, 0xffff, 0xf6b8, 0xe731, 0xf120, 0xffff, 0x10e9, 0x0001, 0xfa44, 0x0be1, 0xf300, 0x0001, 0xf7b8, 0xf495, 0x1000, 0xf468, 0xf478, 0x08f8, 0x000b, 0xf842, 0x0c25, 0x1000, 0xf843, 0x0c25, 0xf6b8, 0xe731, 0xf020, 0xffff, 0x11e9, 0x0001, 0xfa4c, 0x0bf7, 0xf000, 0x0001, 0x6e85, 0x0c15, 0xf495, 0x0800, 0xf7b8, 0x10f8, 0x0008, 0xf847, 0x0c15, 0x6082, 0x0030, 0xf820, 0x0c15, 0xf010, 0x0001, 0x10f8, 0x0008, 0x6d8a, 0xf847, 0x0c25, 0x6082, 0x0030, 0xf830, 0x0c0a, 0xf7b8, 0x10f8, 0x0008, 0xf847, 0x0c25, 0xf010, 0x0001, 0x881a, 0xf495, 0xf072, 0x0c24, 0x7180, 0x0015, 0xe543, 0x6b80, 0xffff, 0x1000, 0xf842, 0x0c6a, 0x1000, 0xf484, 0x8811, 0x10f8, 0x0008, 0xf468, 0xf478, 0x08f8, 0x0014, 0xf842, 0x0c4d, 0xf6b8, 0xf495, 0xf020, 0xffff, 0x11eb, 0x0001, 0xfa4c, 0x0c37, 0xf000, 0x0001, 0xf7b8, 0x10f8, 0x0008, 0xf847, 0x0c4d, 0xf010, 0x0001, 0x881a, 0xf495, 0xf072, 0x0c4c, 0x7180, 0x0013, 0xe541, 0x6b80, 0xffff, 0x4811, 0x10f8, 0x0008, 0xf468, 0xf478, 0x08f8, 0x0014, 0xf847, 0x0c5a, 0x4814, 0xe741, 0xf484, 0x8000, 0x1000, 0xf842, 0x0c6a, 0x4811, 0xf010, 0x0001, 0x881a, 0xf495, 0xf072, 0x0c69, 0x7180, 0x0011, 0x7681, 0x0030, 0x6b80, 0xffff, 0xee01, 0x8a11, 0xfe00, 0xf495, 0x1080, 0x4a11, 0xf7b8, 0x4a16, 0x4a17, 0x8816, 0xeefc, 0x10f8, 0x0008, 0x7108, 0x0017, 0xfa47, 0x0c81, 0x7109, 0x0011, 0xf273, 0x0c83, 0xf495, 0x4816, 0x4816, 0xf484, 0x7600, 0x000a, 0x7601, 0x0064, 0x7002, 0x0011, 0xf274, 0x0f04, 0x10f8, 0x0008, 0xf7b8, 0x4816, 0x10f8, 0x0008, 0xf468, 0xf478, 0xf010, 0x000a, 0xf842, 0x0caf, 0x4816, 0x10f8, 0x0008, 0xf468, 0xf478, 0xf010, 0xfff6, 0xf847, 0x0ca6, 0x7181, 0x0012, 0x7682, 0x0030, 0x6b81, 0xffff, 0x4816, 0x10f8, 0x0008, 0xf842, 0x0caf, 0xf273, 0x0cb0, 0xf495, 0xe82d, 0xe82b, 0x7181, 0x0012, 0x8082, 0x1081, 0xee04, 0xf010, 0x0001, 0x8812, 0x8081, 0x7082, 0x0017, 0x1081, 0xf010, 0x0001, 0x8081, 0x8a17, 0x8a16, 0x8a11, 0xfc00, 0x4a11, 0xf7b8, 0x4a16, 0x7714, 0x0000, 0x7103, 0x0013, 0x11f8, 0x0013, 0x3004, 0xfa4f, 0x0cea, 0x7105, 0x0016, 0xf110, 0x0001, 0x8912, 0xf495, 0x7711, 0xffff, 0x11ea, 0x0001, 0xfa4c, 0x0cd7, 0xf495, 0x6d91, 0x11f8, 0x0013, 0xf768, 0xf778, 0x09f8, 0x0011, 0xf84e, 0x0cea, 0x4913, 0xf500, 0xf310, 0x0001, 0x8914, 0xf110, 0x0001, 0x8915, 0x11f8, 0x000e, 0xf84d, 0x0cf7, 0x7186, 0x0011, 0x7681, 0x002e, 0x6b86, 0xffff, 0x7712, 0xffff, 0xe751, 0x11e9, 0x0001, 0xfa4c, 0x0cfa, 0xf495, 0x6d92, 0x11f8, 0x0013, 0xf768, 0xf778, 0x09f8, 0x0012, 0xf84f, 0x0d20, 0x7186, 0x0011, 0x7681, 0x0030, 0xe752, 0x7711, 0xffff, 0x6b86, 0xffff, 0x11ea, 0x0001, 0xfa4c, 0x0d11, 0xf495, 0x6d91, 0x11f8, 0x0011, 0x6d8b, 0xf768, 0xf778, 0x09f8, 0x0013, 0xf84b, 0x0d08, 0x11f8, 0x0013, 0xf84f, 0x0d34, 0x8810, 0xf495, 0xf495, 0xf5ac, 0xf830, 0x0d3a, 0x7186, 0x0012, 0xe560, 0xf5ac, 0xfa20, 0x0d2a, 0x6b86, 0xffff, 0xf073, 0x0d3a, 0x7186, 0x0011, 0x7681, 0x0030, 0x6b86, 0xffff, 0x1086, 0x8a16, 0x8a11, 0xfc00, 0x4a11, 0x4a16, 0x8812, 0x4a17, 0xeefa, 0xf7b8, 0x8004, 0x10e2, 0x0002, 0x110c, 0x710a, 0x0017, 0xfa43, 0x0d52, 0x710b, 0x0011, 0xf273, 0x0d55, 0x6882, 0xffef, 0x76e2, 0x0002, 0x0001, 0x71e2, 0x0003, 0x0012, 0x7713, 0x0058, 0x10f8, 0x0012, 0x08f8, 0x0013, 0xf845, 0x0d7c, 0x7713, 0x006f, 0x10f8, 0x0012, 0x08f8, 0x0013, 0xf845, 0x0d80, 0x7713, 0x0070, 0x10f8, 0x0012, 0x08f8, 0x0013, 0xf845, 0x0d7c, 0x7713, 0x0078, 0x10f8, 0x0012, 0x08f8, 0x0013, 0xf845, 0x0d7c, 0xf273, 0x0d82, 0x7716, 0x000a, 0xf273, 0x0d82, 0x7716, 0x0010, 0x7716, 0x0008, 0x8100, 0x1004, 0xf074, 0x0e0c, 0x7104, 0x0012, 0x11e2, 0x0002, 0xf84c, 0x0d94, 0xf540, 0xf3e0, 0xf84c, 0x0d94, 0xf273, 0x0e07, 0xf495, 0xe801, 0x71e2, 0x0003, 0x0012, 0x7713, 0x0064, 0x11f8, 0x0012, 0x09f8, 0x0013, 0xf84d, 0x0da2, 0x6ce2, 0xff97, 0x0db0, 0xf540, 0xf7b8, 0xf768, 0xf778, 0xf84a, 0x0db0, 0x7687, 0x0001, 0x7104, 0x0012, 0xf484, 0x71e2, 0x0003, 0x0012, 0x7000, 0x0016, 0x7001, 0x0012, 0x7002, 0x0011, 0xf074, 0x0f04, 0xf7b8, 0xf000, 0x0001, 0x11f8, 0x0008, 0xf768, 0x7104, 0x0012, 0xf778, 0x09e2, 0x0002, 0xf84e, 0x0dd7, 0x7181, 0x0012, 0xf000, 0x0001, 0x7682, 0x0030, 0x11f8, 0x0008, 0x6b81, 0xffff, 0xf768, 0x7104, 0x0012, 0xf778, 0x09e2, 0x0002, 0xf84f, 0x0dc5, 0x71e2, 0x0003, 0x0013, 0xe978, 0x10f8, 0x0013, 0x08f8, 0x000b, 0xf845, 0x0de4, 0x6ce3, 0xffa8, 0x0dfa, 0x960c, 0xf820, 0x0dfa, 0x7181, 0x0012, 0x7082, 0x0013, 0x1081, 0xf010, 0x0001, 0x8812, 0xf495, 0x8081, 0x7682, 0x0030, 0x6b81, 0xffff, 0x7104, 0x0012, 0x71e2, 0x0003, 0x0013, 0x6ce3, 0xff91, 0x0e06, 0x960c, 0xf820, 0x0e06, 0x7181, 0x0012, 0x7682, 0x0030, 0x6b81, 0xffff, 0xe800, 0xee06, 0x8a17, 0x8a16, 0x8a11, 0xfc00, 0x8813, 0x4a11, 0xe970, 0x71e3, 0x0003, 0x0011, 0x10f8, 0x0011, 0x08f8, 0x000b, 0xfa45, 0x0efb, 0x7102, 0x0012, 0x1183, 0xf330, 0x0160, 0x8913, 0xf495, 0x7710, 0x0020, 0xf4ab, 0xe800, 0xf830, 0x0eb6, 0x7710, 0x0040, 0xf4ab, 0xf830, 0x0e67, 0xf7b8, 0x11f8, 0x0011, 0xf768, 0xf778, 0xf310, 0x006f, 0xf84e, 0x0e55, 0x7713, 0x006f, 0x11f8, 0x0011, 0x09f8, 0x0013, 0xf84d, 0x0efb, 0x7713, 0x0058, 0x11f8, 0x0011, 0x09f8, 0x0013, 0xf84d, 0x0efb, 0x7713, 0x0064, 0x11f8, 0x0011, 0x09f8, 0x0013, 0xf84d, 0x0ef3, 0x7713, 0x0069, 0x11f8, 0x0011, 0x09f8, 0x0013, 0xf84d, 0x0ef3, 0xf073, 0x0f02, 0x7713, 0x0075, 0x11f8, 0x0011, 0x09f8, 0x0013, 0xf84d, 0x0efb, 0x7713, 0x0078, 0x11f8, 0x0011, 0x09f8, 0x0013, 0xf84d, 0x0efb, 0xf073, 0x0f02, 0xf7b8, 0x11f8, 0x0011, 0xf768, 0xf778, 0xf310, 0x006f, 0xf84e, 0x0e92, 0x7713, 0x006f, 0x11f8, 0x0011, 0x09f8, 0x0013, 0xf84d, 0x0ea4, 0x7713, 0x0058, 0x11f8, 0x0011, 0x09f8, 0x0013, 0xf84d, 0x0ea4, 0x7713, 0x0064, 0x11f8, 0x0011, 0x09f8, 0x0013, 0xf84d, 0x0ea4, 0x7713, 0x0069, 0x11f8, 0x0011, 0x09f8, 0x0013, 0xf84d, 0x0ea4, 0xf073, 0x0f02, 0x7713, 0x0075, 0x11f8, 0x0011, 0x09f8, 0x0013, 0xf84d, 0x0ea4, 0x7713, 0x0078, 0x11f8, 0x0011, 0x09f8, 0x0013, 0xf84d, 0x0ea4, 0xf073, 0x0f02, 0x1182, 0xf693, 0xf030, 0x0001, 0xf600, 0xf000, 0x0001, 0x8811, 0xf495, 0x4911, 0x7082, 0x0011, 0xf300, 0x0001, 0xf273, 0x0f02, 0x5681, 0x8182, 0xf7b8, 0x11f8, 0x0011, 0xf768, 0xf778, 0xf310, 0x006f, 0xf84e, 0x0ee1, 0x7713, 0x006f, 0x11f8, 0x0011, 0x09f8, 0x0013, 0xf84d, 0x0efb, 0x7713, 0x0058, 0x11f8, 0x0011, 0x09f8, 0x0013, 0xf84d, 0x0efb, 0x7713, 0x0064, 0x11f8, 0x0011, 0x09f8, 0x0013, 0xf84d, 0x0ef3, 0x7713, 0x0069, 0x11f8, 0x0011, 0x09f8, 0x0013, 0xf84d, 0x0ef3, 0xf073, 0x0f02, 0x7713, 0x0075, 0x11f8, 0x0011, 0x09f8, 0x0013, 0xf84d, 0x0efb, 0x7713, 0x0078, 0x11f8, 0x0011, 0x09f8, 0x0013, 0xf84d, 0x0efb, 0xf073, 0x0f02, 0x1082, 0xf000, 0x0001, 0x8811, 0xf273, 0x0f02, 0x8082, 0x1081, 0x1082, 0xf000, 0x0001, 0x8811, 0xf495, 0x8082, 0x1281, 0x8a11, 0xfc00, 0x4a11, 0x4a16, 0x4a17, 0xeefa, 0xf495, 0x4e02, 0xf0e0, 0x710a, 0x0016, 0x710b, 0x0017, 0xfa44, 0x0f1b, 0x710c, 0x0011, 0x7181, 0x0012, 0x7682, 0x0030, 0xf273, 0x0f3e, 0x6b81, 0xffff, 0xf7b8, 0x7000, 0x0016, 0x5602, 0xf074, 0x0f52, 0x4e04, 0x4e00, 0xf7b8, 0xf274, 0x14ab, 0x10f8, 0x0016, 0xf7b8, 0x6ee7, 0xffa8, 0x0f30, 0x5702, 0xf520, 0xf300, 0x0010, 0x8912, 0xf495, 0x7181, 0x0013, 0xf6b8, 0x6dea, 0x2b71, 0xe501, 0x6b81, 0xffff, 0x5604, 0x4e02, 0xf844, 0x0f1b, 0x1081, 0xf6b8, 0xf010, 0x0001, 0x8811, 0xf020, 0xffff, 0x11e9, 0x0001, 0xfa4c, 0x0f45, 0xf000, 0x0001, 0xee06, 0x8a17, 0x8a16, 0x8a11, 0xfe00, 0xf010, 0x0001, 0x4a11, 0xeefe, 0x7712, 0x0008, 0x7104, 0x0011, 0x11f8, 0x0011, 0x09f8, 0x0012, 0xf84d, 0x0f68, 0x7712, 0x0010, 0x11f8, 0x0011, 0x09f8, 0x0012, 0xf84d, 0x0f6c, 0xf073, 0x0f70, 0xf273, 0x0f85, 0xf495, 0xf0fd, 0xf273, 0x0f85, 0xf495, 0xf0fc, 0xf540, 0xf6b8, 0xf3e0, 0xf310, 0xffff, 0xf84a, 0x0f7f, 0x7000, 0x0011, 0xf074, 0x17b8, 0xf273, 0x0f85, 0xf495, 0x4808, 0xf7b8, 0x11f8, 0x0011, 0x4f00, 0xf074, 0x1456, 0xee02, 0x8a11, 0xfc00, 0x4a11, 0x7711, 0xffff, 0xeefe, 0x6ce1, 0x0001, 0x0f93, 0xf273, 0x0f99, 0xe800, 0xe900, 0xf120, 0xffff, 0x10f8, 0xffff, 0xf300, 0x0001, 0x8100, 0xf074, 0x0113, 0xee02, 0x8a11, 0xfc00, 0x8813, 0x4a11, 0xf020, 0x2bac, 0xeefe, 0x1183, 0x8000, 0xf600, 0x8812, 0xf495, 0xf495, 0x6d92, 0x960c, 0xf820, 0x0fb9, 0x11eb, 0x0001, 0x1000, 0xf600, 0x8812, 0xf495, 0xf495, 0x6d92, 0x960c, 0xf830, 0x0fae, 0x8911, 0xf495, 0x7712, 0x002d, 0x11f8, 0x0011, 0x09f8, 0x0012, 0xe800, 0xf84d, 0x0fcb, 0x6ee1, 0xffd5, 0x0fd0, 0x7714, 0x0000, 0xf073, 0x0fcd, 0x7714, 0x0001, 0x71eb, 0x0001, 0x0011, 0x4911, 0x0100, 0x8912, 0xf495, 0xf495, 0x6d92, 0x960d, 0xf820, 0x0fee, 0x4911, 0x880e, 0x71eb, 0x0001, 0x0011, 0xf066, 0x000a, 0xf600, 0x7001, 0x0011, 0x1100, 0x0101, 0x8912, 0xf495, 0xf495, 0x6d92, 0x960d, 0xfa30, 0x0fd9, 0xf010, 0x0030, 0x11f8, 0x0014, 0xf84d, 0x0ff3, 0xf484, 0xee02, 0x8a11, 0xfc00, 0x4a11, 0x4a16, 0x4a17, 0xeef8, 0xf7b8, 0x4e02, 0x710e, 0x0011, 0x710d, 0x0017, 0x710c, 0x0016, 0x56f8, 0x2b9c, 0x76f8, 0x2a9d, 0x0030, 0x4e00, 0x5602, 0xf074, 0x110b, 0xf7b8, 0x10f8, 0x0008, 0xe900, 0xf842, 0x1012, 0xe901, 0x56f8, 0x2b9c, 0x8181, 0x4e00, 0x5602, 0xf074, 0x110b, 0xf7b8, 0x10f8, 0x0008, 0xf842, 0x1022, 0x5602, 0xf074, 0x12ea, 0x4e02, 0x56f8, 0x2b9e, 0xf7b8, 0x4e00, 0x5602, 0xf074, 0x110b, 0xf7b8, 0x10f8, 0x0008, 0xfa47, 0x1042, 0x7711, 0x0000, 0x56f8, 0x2ba0, 0x4e00, 0x5602, 0xf074, 0x112b, 0x57f8, 0x2b9e, 0x4e02, 0x4f00, 0xf074, 0x110b, 0xf7b8, 0x10f8, 0x0008, 0x6d91, 0xf846, 0x1030, 0xf020, 0x2a9d, 0x8004, 0x56f8, 0x2b9c, 0x4e00, 0x5602, 0xf274, 0x110b, 0xf495, 0x6d96, 0xf7b8, 0x10f8, 0x0008, 0xf845, 0x107c, 0x56f8, 0x2ba2, 0x4e00, 0x5602, 0xf074, 0x110b, 0xf7b8, 0x10f8, 0x0008, 0xf842, 0x107c, 0x56f8, 0x2ba0, 0x4e00, 0x5602, 0xf074, 0x1277, 0x4e02, 0xf7b8, 0x56f8, 0x2b9c, 0x4e00, 0x5602, 0xf074, 0x110b, 0xf7b8, 0x10f8, 0x0008, 0x6d89, 0xf845, 0x107c, 0x56f8, 0x2ba2, 0x4e00, 0x5602, 0xf074, 0x110b, 0xf7b8, 0x10f8, 0x0008, 0xf843, 0x105d, 0x1004, 0xf000, 0x0001, 0x8005, 0x5602, 0xf074, 0x1202, 0x1105, 0x8100, 0xf074, 0x14bf, 0xf540, 0x8006, 0x1004, 0xf500, 0xf300, 0x0001, 0x8912, 0x4811, 0x1106, 0xf500, 0xf7b8, 0x8187, 0x1106, 0xf768, 0xf778, 0x09f8, 0x0016, 0xf84a, 0x10c6, 0x4916, 0x0906, 0x8916, 0xf495, 0x4816, 0x10f8, 0x0008, 0xf847, 0x10cd, 0x4816, 0xf010, 0x0001, 0x881a, 0xf495, 0xf072, 0x10c3, 0xf7b8, 0xf495, 0x5602, 0xf074, 0x1202, 0xf074, 0x124d, 0xf7b8, 0x4e00, 0x5602, 0xf074, 0x12ef, 0x4e02, 0x56f8, 0x2ba0, 0xf7b8, 0x4e00, 0x5602, 0xf074, 0x1277, 0x4e02, 0xf074, 0x11c6, 0xf000, 0x0030, 0x8092, 0xf073, 0x10cd, 0x1104, 0x4816, 0xf600, 0xf000, 0x0001, 0x8812, 0xf495, 0xf7b8, 0x10ea, 0xffff, 0xf468, 0xf478, 0xf010, 0x0035, 0xf843, 0x1103, 0x4812, 0xf010, 0x0001, 0x8811, 0xf495, 0xf495, 0x1081, 0xf000, 0x0001, 0x8081, 0x10f8, 0x0008, 0xf468, 0xf478, 0xf010, 0x003a, 0xf843, 0x10f6, 0x7689, 0x0030, 0x1081, 0xf000, 0x0001, 0x8081, 0x10f8, 0x0008, 0xf468, 0xf478, 0xf010, 0x003a, 0xf842, 0x10e8, 0x7104, 0x0010, 0xf7a9, 0xf830, 0x1103, 0x76ea, 0xffff, 0x0000, 0x4810, 0xf273, 0x1106, 0x6b87, 0x0001, 0x7682, 0x0000, 0x1005, 0xee08, 0x8a17, 0x8a16, 0x8a11, 0xfc00, 0xf495, 0x4a0b, 0x4a0c, 0x4a0d, 0xf7b8, 0xf468, 0xf478, 0x5704, 0xf842, 0x1118, 0xff4b, 0xf484, 0xf784, 0xf586, 0xf808, 0x1123, 0xf587, 0xf808, 0x1127, 0xf420, 0x8a0d, 0x8a0c, 0x8a0b, 0xfc00, 0xf273, 0x111f, 0xe801, 0xf495, 0xf273, 0x111f, 0xf020, 0xffff, 0xf495, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a0e, 0xf6b7, 0xeef3, 0xf7b8, 0xf468, 0xf478, 0xf845, 0x1198, 0x6f05, 0x0c79, 0x800b, 0xf063, 0x007f, 0xf060, 0x0080, 0x820a, 0x5612, 0xf845, 0x11b6, 0x6f06, 0x0c79, 0x8009, 0xf063, 0x007f, 0xf060, 0x0080, 0x8208, 0x1005, 0x1c06, 0xf030, 0x0100, 0x8004, 0x1005, 0xf030, 0x00ff, 0x1106, 0xf330, 0x00ff, 0xf000, 0x007f, 0xf620, 0x8001, 0xf843, 0x11ae, 0xf010, 0x00ff, 0xf846, 0x119e, 0x560a, 0xf0e6, 0x5708, 0xf3e7, 0x4f08, 0xec0e, 0x1e08, 0x8002, 0x0a02, 0xec0a, 0x1e08, 0x6f03, 0x0c85, 0x3002, 0x2409, 0xf0ff, 0xec0b, 0x1e08, 0xf0e4, 0xf030, 0xffff, 0xf0e1, 0xf484, 0x0203, 0x3c02, 0x1101, 0xf48e, 0xf495, 0xf48f, 0x8c01, 0x0901, 0xf0ff, 0xf300, 0x0001, 0xf000, 0x0020, 0xf48e, 0xf495, 0xf48f, 0x8c01, 0x0901, 0x8101, 0xf84f, 0x11ae, 0xf310, 0x00ff, 0xf84a, 0x119e, 0xf0f9, 0x8003, 0xf038, 0x7f00, 0x8202, 0x4404, 0x3c01, 0xf0e7, 0x5002, 0xee0d, 0x8a0e, 0x8a0d, 0x8a0c, 0x8a0b, 0xfc00, 0x7600, 0x0002, 0xf074, 0x11c5, 0xf483, 0xf061, 0x0081, 0x4504, 0xf84c, 0x1198, 0xf162, 0x8000, 0xf273, 0x1198, 0xf2c0, 0xf495, 0x7600, 0x0001, 0xf074, 0x11c5, 0xf273, 0x1198, 0xf420, 0xf495, 0x7600, 0x0003, 0xf074, 0x11c5, 0x4505, 0xf363, 0x0100, 0xf061, 0x0081, 0xf065, 0x8000, 0xf273, 0x1198, 0xf2a7, 0xf495, 0xfc00, 0xf495, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a0e, 0xf6b8, 0xeefd, 0xf845, 0x11e8, 0x6f01, 0x0c79, 0xf0e9, 0xf0f7, 0xf060, 0x0080, 0x6f02, 0x0c67, 0x1101, 0xf330, 0x00ff, 0xf310, 0x007f, 0xf84b, 0x11ee, 0xf310, 0x000e, 0xf84e, 0x11f2, 0x890e, 0x6101, 0x0100, 0x1402, 0xfd30, 0xf484, 0xee03, 0x8a0e, 0x8a0d, 0x8a0c, 0x8a0b, 0xfc00, 0xf273, 0x11e8, 0xf420, 0xf495, 0x7600, 0x0002, 0xf074, 0x11c5, 0x6101, 0x0100, 0xf020, 0x7fff, 0xf820, 0x11e8, 0xf000, 0x0001, 0xf273, 0x11e8, 0xf484, 0xf495, 0xf845, 0x1235, 0x4a0e, 0x4a0d, 0x4a0b, 0x4a0c, 0xf6b8, 0xeefd, 0x6f01, 0x0c79, 0xf0e9, 0xf0f7, 0xf060, 0x0080, 0xf447, 0x1101, 0xf330, 0x00ff, 0xf310, 0x007f, 0xf84b, 0x1236, 0xf310, 0x001e, 0xf84e, 0x123a, 0xf84d, 0x122b, 0xf300, 0x0010, 0xf84a, 0x1226, 0xf273, 0x1228, 0xf0f0, 0xf495, 0xf310, 0x0010, 0x890e, 0xf495, 0xf48f, 0x6101, 0x0100, 0xf495, 0xfd30, 0xf484, 0xee03, 0x8a0c, 0x8a0b, 0x8a0d, 0x8a0e, 0xfc00, 0xf273, 0x1230, 0xf420, 0xf495, 0x7600, 0x0002, 0xf074, 0x11c5, 0x6101, 0x0100, 0xf062, 0x7fff, 0xf040, 0xffff, 0xf483, 0xf820, 0x1230, 0xf000, 0x0001, 0xf273, 0x1230, 0xf484, 0xf495, 0xf495, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a0e, 0xf7b8, 0xeefd, 0xf468, 0xf478, 0xf845, 0x126d, 0x8201, 0xf4ba, 0xf485, 0xf870, 0x1273, 0xf48e, 0xe99d, 0x8c00, 0x0900, 0xf48f, 0xf0e2, 0xf0fe, 0xf459, 0x6101, 0x8000, 0xf3ef, 0xf2a8, 0xf820, 0x126d, 0xf064, 0x8000, 0xee03, 0x8a0e, 0x8a0d, 0x8a0c, 0x8a0b, 0xfc00, 0xf273, 0x126d, 0xf062, 0xcf00, 0xf495, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a0e, 0xf6b7, 0xeef3, 0xf7b8, 0xf468, 0xf478, 0xf845, 0x12d0, 0x6f05, 0x0c79, 0x800b, 0xf063, 0x007f, 0xf060, 0x0080, 0x820a, 0x5612, 0xf845, 0x12d0, 0x6f06, 0x0c79, 0x8009, 0xf063, 0x007f, 0xf060, 0x0080, 0x8208, 0x1005, 0x1c06, 0xf030, 0x0100, 0x8004, 0x1005, 0xf030, 0x00ff, 0x1106, 0xf330, 0x00ff, 0xf310, 0x007f, 0xf600, 0x8001, 0xf843, 0x12e2, 0xf010, 0x00ff, 0xf846, 0x12d6, 0x300b, 0x2409, 0x2508, 0xf510, 0x300a, 0x2409, 0xf600, 0x2508, 0x8102, 0x3c02, 0xf000, 0x0040, 0xf468, 0xf478, 0xf6b8, 0x1101, 0xf842, 0x12c1, 0xf0ff, 0xf300, 0x0001, 0x8101, 0xf84f, 0x12e2, 0xf310, 0x00ff, 0xf84a, 0x12d6, 0xf0f9, 0x8003, 0xf038, 0x7f00, 0x8202, 0x4404, 0x3c01, 0xf0e7, 0x5002, 0xee0d, 0x8a0e, 0x8a0d, 0x8a0c, 0x8a0b, 0xfc00, 0x7600, 0x0002, 0xf074, 0x11c5, 0x4504, 0xf020, 0xffff, 0xf2a7, 0xf273, 0x12d0, 0xf060, 0x7f7f, 0x7600, 0x0001, 0xf074, 0x11c5, 0xf273, 0x12d0, 0xf420, 0xf495, 0xf495, 0xff44, 0xf065, 0x8000, 0xfc00, 0xf495, 0x6001, 0x0000, 0xf495, 0xff20, 0x6a01, 0x8000, 0xf073, 0x17c4, 0x4a11, 0x4a16, 0x4a17, 0xeefa, 0xf7b8, 0x4e02, 0x710c, 0x0011, 0x710b, 0x0017, 0x710a, 0x0016, 0x56f8, 0x2ba4, 0x76f8, 0x2b01, 0x0030, 0x4e00, 0x5602, 0xf074, 0x110b, 0xf7b8, 0x10f8, 0x0008, 0xe900, 0xf842, 0x1314, 0xe901, 0x56f8, 0x2ba4, 0x8181, 0x4e00, 0x5602, 0xf074, 0x110b, 0xf7b8, 0x10f8, 0x0008, 0xf842, 0x1324, 0x5602, 0xf074, 0x12ea, 0x4e02, 0x56f8, 0x2ba6, 0xf7b8, 0x4e00, 0x5602, 0xf074, 0x110b, 0xf7b8, 0x10f8, 0x0008, 0xfa47, 0x1344, 0x7711, 0x0000, 0x56f8, 0x2ba8, 0x4e00, 0x5602, 0xf074, 0x112b, 0x57f8, 0x2ba6, 0x4e02, 0x4f00, 0xf074, 0x110b, 0xf7b8, 0x10f8, 0x0008, 0x6d91, 0xf846, 0x1332, 0xf020, 0x2b01, 0x8004, 0x56f8, 0x2ba4, 0x4e00, 0x5602, 0xf274, 0x110b, 0xf495, 0x6d96, 0xf7b8, 0x10f8, 0x0008, 0xf845, 0x137e, 0x56f8, 0x2baa, 0x4e00, 0x5602, 0xf074, 0x110b, 0xf7b8, 0x10f8, 0x0008, 0xf842, 0x137e, 0x56f8, 0x2ba8, 0x4e00, 0x5602, 0xf074, 0x1277, 0x4e02, 0xf7b8, 0x56f8, 0x2ba4, 0x4e00, 0x5602, 0xf074, 0x110b, 0xf7b8, 0x10f8, 0x0008, 0x6d89, 0xf845, 0x137e, 0x56f8, 0x2baa, 0x4e00, 0x5602, 0xf074, 0x110b, 0xf7b8, 0x10f8, 0x0008, 0xf843, 0x135f, 0x1004, 0xf000, 0x0001, 0x8005, 0x5602, 0xf074, 0x1202, 0x1105, 0x8100, 0xf074, 0x14bf, 0x8812, 0x1104, 0xf600, 0xf100, 0x0001, 0x8913, 0x4911, 0x4812, 0xf600, 0x8087, 0x4816, 0xf600, 0xf7b8, 0x8816, 0x10f8, 0x0008, 0xf847, 0x13bc, 0x4816, 0xf010, 0x0001, 0x881a, 0xf495, 0xf072, 0x13bb, 0xf7b8, 0xf495, 0x5602, 0xf074, 0x1202, 0xf074, 0x124d, 0xf7b8, 0x4e00, 0x5602, 0xf074, 0x12ef, 0x4e02, 0x56f8, 0x2ba8, 0xf7b8, 0x4e00, 0x5602, 0xf074, 0x1277, 0x4e02, 0xf074, 0x11c6, 0xf000, 0x0030, 0x8093, 0xf7b8, 0x10eb, 0xffff, 0xf468, 0xf478, 0xf010, 0x0035, 0xf843, 0x13ea, 0x4813, 0xf010, 0x0001, 0x8811, 0xf495, 0xf495, 0x1081, 0xf000, 0x0001, 0x8081, 0x10f8, 0x0008, 0xf468, 0xf478, 0xf010, 0x003a, 0xf843, 0x13e5, 0x7689, 0x0030, 0x1081, 0xf000, 0x0001, 0x8081, 0x10f8, 0x0008, 0xf468, 0xf478, 0xf010, 0x003a, 0xf842, 0x13d7, 0x7104, 0x0010, 0xf4a9, 0xf830, 0x13f0, 0x7683, 0x0000, 0xf273, 0x1401, 0xf495, 0x1005, 0xf6ab, 0xf830, 0x13fc, 0x7711, 0x2b01, 0x76e1, 0x0001, 0x0000, 0xf273, 0x13fe, 0x7004, 0x0011, 0x7683, 0x0000, 0x6b87, 0x0001, 0x1004, 0xee06, 0x8a17, 0x8a16, 0x8a11, 0xfc00, 0xf495, 0x4a0b, 0x4a0c, 0x4a0d, 0xeefe, 0xf7b8, 0xf468, 0xf478, 0x4506, 0xf1c0, 0x8300, 0xf485, 0x5706, 0xf785, 0x4f06, 0xf520, 0xf84d, 0x1426, 0xf84e, 0x142a, 0xf074, 0x148b, 0x6100, 0x8000, 0xf820, 0x1421, 0xf484, 0xee02, 0x8a0d, 0x8a0c, 0x8a0b, 0xfc00, 0xf273, 0x141c, 0xe801, 0xf495, 0xf273, 0x1421, 0xf420, 0xf495, 0xf495, 0x4a0b, 0x4a0c, 0x4a0d, 0xeefe, 0xf7b8, 0x8200, 0xf468, 0xf478, 0xf485, 0x5706, 0xf785, 0x4f06, 0xf520, 0xf84d, 0x144e, 0xf84e, 0x1452, 0xf074, 0x148b, 0x6100, 0x8000, 0xfa20, 0x1449, 0xf640, 0xf495, 0xf484, 0xee02, 0x8a0d, 0x8a0c, 0x8a0b, 0xfc00, 0xf273, 0x1449, 0xf420, 0xf495, 0xf273, 0x1442, 0xf540, 0xf495, 0xf495, 0x4a0b, 0x4a0c, 0x4a0d, 0xeefe, 0xf6b8, 0xf0e0, 0x5706, 0xf520, 0xf84d, 0x146a, 0xf84e, 0x146e, 0xf074, 0x148b, 0xee02, 0x8a0d, 0x8a0c, 0x8a0b, 0xfc00, 0xf273, 0x1465, 0xe801, 0xf495, 0xf273, 0x1465, 0xf420, 0xf495, 0xf495, 0x4a0b, 0x4a0c, 0x4a0d, 0xeefe, 0xf6b8, 0xf0e0, 0x5706, 0xf520, 0xf84d, 0x1487, 0xf84e, 0x1482, 0xf074, 0x148b, 0xf640, 0xee02, 0x8a0d, 0x8a0c, 0x8a0b, 0xfc00, 0xf273, 0x1482, 0xf420, 0xf495, 0xf495, 0x4a11, 0xf6b8, 0xf273, 0x1493, 0x7711, 0x001f, 0x6d89, 0xf0e1, 0xf808, 0x1492, 0xe901, 0x5508, 0xf84b, 0x149e, 0xf273, 0x149f, 0xf040, 0x0001, 0x5308, 0x6c89, 0x14a3, 0x8a11, 0xfc00, 0xf3e1, 0xf0e1, 0xf808, 0x1497, 0xf273, 0x1497, 0xf340, 0x0001, 0xf495, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a0e, 0xeefd, 0xf495, 0x4e00, 0x3109, 0x4408, 0x3501, 0x2409, 0xf76f, 0xf601, 0xee03, 0x8a0e, 0x8a0d, 0x8a0c, 0x8a0b, 0xfc00, 0xf540, 0x4a11, 0xf7b8, 0xf768, 0x7711, 0x0000, 0xeee8, 0xf778, 0xfa4a, 0x14cd, 0x711a, 0x0013, 0x7711, 0x0001, 0xe782, 0x6dea, 0x0015, 0xf540, 0x7682, 0x0000, 0xe80a, 0x4e00, 0xf274, 0x142e, 0xf495, 0xf640, 0xf7b8, 0x10f8, 0x0008, 0xf485, 0xf000, 0x0030, 0x80ea, 0xffff, 0xe80a, 0x4e00, 0xf274, 0x1406, 0xf495, 0xf640, 0xf7b8, 0xf540, 0xf468, 0xf478, 0xf844, 0x14d3, 0x10f8, 0x0011, 0xf845, 0x14f4, 0x76ea, 0xffff, 0x002d, 0x4818, 0x4912, 0xf000, 0x0002, 0xf620, 0x7000, 0x0012, 0xf000, 0x0014, 0x10f8, 0x0008, 0x4e16, 0x8001, 0xf274, 0x152d, 0xf495, 0x4813, 0xf7b8, 0xf495, 0x5616, 0xee18, 0x8a11, 0xfe00, 0xf010, 0x0001, 0xf7b8, 0x4a11, 0x8812, 0x1004, 0x1103, 0xfa47, 0x152a, 0x7102, 0x0011, 0xf010, 0x0001, 0x881a, 0x6d89, 0xf072, 0x1529, 0x10e9, 0x0001, 0x8092, 0x10f8, 0x0008, 0x08f8, 0x000b, 0xf844, 0x1529, 0xf273, 0x152b, 0xf495, 0x4812, 0xf495, 0xe800, 0x8a11, 0xfc00, 0x1302, 0x7101, 0x0012, 0x8813, 0xf84d, 0x153a, 0xf310, 0x0001, 0x891a, 0xf495, 0xf072, 0x1539, 0xe589, 0xfc00, 0x4a11, 0x7211, 0x2b65, 0xf495, 0x8813, 0x6c81, 0x1546, 0xf273, 0x1571, 0x7313, 0x2b65, 0xf495, 0x7712, 0x0000, 0x1183, 0xf7b8, 0x10f8, 0x000b, 0xf468, 0xf478, 0x0881, 0xf842, 0x155a, 0xe712, 0x71e2, 0x0001, 0x0011, 0x6c81, 0x154a, 0xf073, 0x156e, 0x4811, 0xf845, 0x156e, 0x6c82, 0x1566, 0x70e3, 0x0001, 0x2b65, 0xf273, 0x1574, 0x7313, 0x2b65, 0x70e3, 0x0001, 0x0011, 0x70e2, 0x0001, 0x0013, 0xf073, 0x1574, 0x70e2, 0x0001, 0x0013, 0x76e3, 0x0001, 0x0000, 0x8a11, 0xfc00, 0x4a11, 0x8813, 0x7211, 0x2b65, 0x4811, 0xf845, 0x1599, 0xe730, 0xf4a9, 0xf830, 0x1594, 0xe712, 0x71e2, 0x0001, 0x0011, 0x4811, 0xf845, 0x1599, 0xf7a9, 0xf830, 0x1581, 0x4812, 0xf845, 0x1594, 0x10e3, 0x0001, 0xf273, 0x159c, 0x80e2, 0x0001, 0x71e3, 0x0001, 0x2b65, 0xf073, 0x159c, 0x76f8, 0x2b65, 0x0000, 0x8a11, 0xfc00, 0x4a11, 0x10f8, 0x290b, 0xf4e3, 0x7711, 0x2cbb, 0x61f8, 0x0011, 0x0001, 0xf830, 0x15b9, 0x4811, 0x7681, 0x0000, 0xf000, 0x0001, 0x80f8, 0x2b65, 0xf020, 0x00fe, 0x80f8, 0x2b66, 0xf484, 0xf273, 0x15c2, 0x80e1, 0x0001, 0xf020, 0x00ff, 0x80f8, 0x2b66, 0x7311, 0x2b65, 0xf484, 0x80f8, 0x2cbb, 0x7211, 0x2b65, 0xf495, 0x76e1, 0x0001, 0x0000, 0x10f8, 0x290c, 0xf4e3, 0x8a11, 0xfc00, 0x4a11, 0x8811, 0x4a16, 0xeeff, 0x10f8, 0x290b, 0xf4e3, 0x10f8, 0x2b67, 0xf845, 0x15dd, 0xf074, 0x159e, 0x76f8, 0x2b67, 0x0000, 0xf7b8, 0x4811, 0x10f8, 0x0008, 0xfa43, 0x15ff, 0x7216, 0x2b65, 0x61f8, 0x0011, 0x0001, 0xf830, 0x15eb, 0x6d91, 0x4811, 0xf484, 0x8811, 0x4816, 0xf845, 0x15ff, 0x1186, 0x10f8, 0x000b, 0xf468, 0xf478, 0x08f8, 0x0011, 0xf847, 0x160e, 0x71e6, 0x0001, 0x0016, 0x6c86, 0x1605, 0x10f8, 0x290c, 0xf4e3, 0xe800, 0xf073, 0x163a, 0x1186, 0x10f8, 0x000b, 0xf468, 0xf478, 0x08f8, 0x0011, 0xf846, 0x15fa, 0x8100, 0xf274, 0x1576, 0xf495, 0x4816, 0xf7b8, 0x4811, 0x0800, 0x10f8, 0x0008, 0xf468, 0xf478, 0xf010, 0x0002, 0xf842, 0x1622, 0xf273, 0x1632, 0xf495, 0xf640, 0x4911, 0x4816, 0xf620, 0xf000, 0x0001, 0x8812, 0x1000, 0xf620, 0xf000, 0x0001, 0x8082, 0xf274, 0x153b, 0xf495, 0x4812, 0x4811, 0xf484, 0x8086, 0x10f8, 0x290c, 0xf4e3, 0x4816, 0xf000, 0x0001, 0xee01, 0x8a16, 0x8a11, 0xfc00, 0x4a11, 0xf495, 0x3002, 0x20f8, 0x0008, 0xf274, 0x15cd, 0x8811, 0xf495, 0x8812, 0xf495, 0xf495, 0x6c82, 0x1650, 0xf273, 0x165e, 0xf495, 0xe800, 0x4911, 0xf495, 0x490b, 0xf84d, 0x165e, 0x4911, 0xf310, 0x0001, 0x891a, 0xf495, 0xf072, 0x165d, 0x7692, 0x0000, 0x8a11, 0xfc00, 0x4a11, 0x4a16, 0xf7b8, 0x4a17, 0x8817, 0xf010, 0x0001, 0xeefa, 0x8816, 0x110a, 0x10f8, 0x000b, 0x76f8, 0x2b66, 0x0100, 0x8911, 0xf843, 0x16db, 0x6c87, 0x167a, 0xf274, 0x15cd, 0xf495, 0xf640, 0xf073, 0x1723, 0x6c81, 0x1682, 0xf274, 0x1728, 0xf495, 0x4817, 0xf073, 0x16db, 0x1086, 0xfa47, 0x16db, 0xf495, 0x8002, 0x61f8, 0x0011, 0x0001, 0xf830, 0x168d, 0x6d91, 0x10f8, 0x0011, 0x1102, 0xf468, 0xf478, 0x08f8, 0x000b, 0xf847, 0x1706, 0xf640, 0x4916, 0xf600, 0xf000, 0x0001, 0x8003, 0x8004, 0x10f8, 0x290b, 0xf4e3, 0x6bf8, 0x2b66, 0xfffe, 0x7210, 0x2b66, 0x7103, 0x0012, 0x6de8, 0x2cbb, 0xf5aa, 0xf820, 0x16bb, 0xf7b8, 0xf495, 0x1182, 0xf84a, 0x16bb, 0x1002, 0xf620, 0x4911, 0xf620, 0xf100, 0x0001, 0x11f8, 0x000b, 0xf84a, 0x16df, 0xf274, 0x15cd, 0xf495, 0x4811, 0x8811, 0xf495, 0x4811, 0xf845, 0x16d8, 0x4816, 0xf000, 0x0001, 0x8000, 0x1002, 0x8001, 0xf274, 0x1863, 0xf495, 0x4811, 0xf274, 0x1728, 0xf495, 0x4817, 0x10f8, 0x290c, 0xf4e3, 0x4811, 0xf073, 0x1723, 0x10f8, 0x290c, 0xf4e3, 0xf273, 0x1723, 0xf495, 0xe800, 0xf274, 0x1576, 0xf495, 0x4812, 0xf7b8, 0x10f8, 0x000b, 0xf468, 0xf478, 0xf010, 0x0002, 0xf842, 0x16f1, 0x4811, 0xf273, 0x1701, 0xf500, 0x8186, 0x7086, 0x0011, 0x4816, 0x7002, 0x0011, 0x0002, 0xf000, 0x0001, 0x8816, 0xe801, 0xf620, 0x8086, 0xf274, 0x153b, 0xf495, 0x4816, 0x10f8, 0x290c, 0xf4e3, 0xf073, 0x1722, 0xf640, 0x4911, 0xf620, 0x8812, 0x10f8, 0x0008, 0xf468, 0xf478, 0xf010, 0x0002, 0xf843, 0x1722, 0x4816, 0xf600, 0x7086, 0x0011, 0xf000, 0x0001, 0x8816, 0x4812, 0xf010, 0x0001, 0x8086, 0x4816, 0xf274, 0x1728, 0xf000, 0x0001, 0x4817, 0xee06, 0x8a17, 0x8a16, 0x8a11, 0xfc00, 0x4a11, 0x4a16, 0x8816, 0x4808, 0xeeff, 0xf845, 0x17b4, 0x10f8, 0x290b, 0xf4e3, 0xf020, 0x0100, 0x6d8e, 0x80f8, 0x2b66, 0x8000, 0x4816, 0x8810, 0xf495, 0x7712, 0x2cbb, 0xe721, 0xf5a9, 0xf830, 0x1748, 0xf7a9, 0xf830, 0x17b1, 0xf273, 0x175c, 0x7714, 0x0000, 0xf7b8, 0xf495, 0x1081, 0xe714, 0xf842, 0x174f, 0xf484, 0x4911, 0xf600, 0xf000, 0x0001, 0x8811, 0xf495, 0xf495, 0xf5a9, 0xf830, 0x1748, 0xf7a9, 0xf830, 0x17b1, 0xf7b8, 0xf495, 0x1081, 0xf843, 0x17b1, 0xf484, 0x8081, 0x4811, 0x0881, 0xf000, 0x0001, 0x8815, 0x1000, 0xf010, 0x0001, 0x80f8, 0x2b66, 0x4812, 0x0000, 0x8810, 0xf495, 0xf495, 0x6d88, 0xf6ad, 0xf820, 0x1778, 0x7715, 0x0000, 0x4814, 0xf845, 0x179f, 0x1084, 0xf842, 0x179f, 0x4815, 0xf845, 0x1795, 0x1085, 0xf842, 0x1795, 0xf274, 0x1576, 0xf495, 0x4814, 0xf274, 0x1576, 0xf495, 0x4815, 0x1085, 0x0084, 0x0081, 0xf010, 0x0002, 0xf273, 0x17af, 0x8084, 0x4814, 0xf274, 0x1576, 0xf495, 0x4814, 0x1081, 0x0084, 0xf273, 0x1791, 0xf010, 0x0001, 0x4815, 0xf845, 0x17ae, 0x1085, 0xf842, 0x17ae, 0xf274, 0x1576, 0xf495, 0x4815, 0x1085, 0x0081, 0xf010, 0x0001, 0x8081, 0x4811, 0xf074, 0x153b, 0x10f8, 0x290c, 0xf4e3, 0xee01, 0x8a16, 0x8a11, 0xfc00, 0xf6b8, 0x4808, 0xec0f, 0x1e01, 0xfc00, 0xf6b8, 0x4808, 0xec0f, 0x1e01, 0xfe00, 0xf0f0, 0xf495, 0xf495, 0x4a0e, 0x4a0b, 0x4a0c, 0x4a0d, 0xf6b7, 0xeef3, 0xf7b8, 0xf468, 0xf478, 0xf845, 0x183d, 0xf540, 0xf6b8, 0xf0e1, 0x6f05, 0x0c78, 0xf0e8, 0xf0f7, 0xf060, 0x0080, 0xfd4b, 0xf484, 0xf7b8, 0x4e0a, 0x5612, 0xf845, 0x1841, 0xf540, 0xf0e1, 0x6f06, 0x0c78, 0xf6b8, 0xf0e8, 0xf0f7, 0xf060, 0x0080, 0xfd4b, 0xf484, 0xf7b8, 0x4e08, 0x1005, 0x1106, 0xf520, 0xf84b, 0x181c, 0xf84e, 0x182d, 0x560a, 0x5008, 0xf845, 0x185f, 0x1105, 0x8204, 0xf485, 0xf0e6, 0xf48e, 0xf495, 0xf48f, 0x8c01, 0xf300, 0x0001, 0x0901, 0x8101, 0xf84f, 0x185b, 0xf310, 0x00ff, 0xf84a, 0x184e, 0xf0f9, 0x8003, 0xf038, 0x7f00, 0x8202, 0x6f04, 0x0c49, 0xf063, 0x0100, 0x3c01, 0xf0e7, 0x5002, 0xee0d, 0x8a0d, 0x8a0c, 0x8a0b, 0x8a0e, 0xfc00, 0xf785, 0xf310, 0x0018, 0xf84a, 0x1841, 0xf300, 0x0017, 0x8104, 0x5608, 0x4704, 0xf47f, 0x1105, 0x500a, 0xf844, 0x17f9, 0xf073, 0x1816, 0xf310, 0x0018, 0xf84a, 0x183d, 0xf300, 0x0017, 0x8104, 0x560a, 0x4704, 0xf47f, 0x1106, 0x5008, 0xf844, 0x17f9, 0xf073, 0x1816, 0xf273, 0x1816, 0x5612, 0xf495, 0x560a, 0xf846, 0x1847, 0xf484, 0x6b05, 0x0100, 0xf061, 0x0080, 0x4505, 0xf273, 0x1816, 0xf3e7, 0xf600, 0x7600, 0x0002, 0xf074, 0x11c5, 0x4404, 0xf063, 0x1f40, 0xf040, 0xffff, 0xf273, 0x1816, 0xf060, 0x7f7f, 0x7600, 0x0001, 0xf074, 0x11c5, 0xf273, 0x1816, 0xf420, 0xf495, 0x4a11, 0x8811, 0xf495, 0xeefe, 0xe710, 0x7104, 0x0012, 0xf6aa, 0x1105, 0xf820, 0x1875, 0x7000, 0x0012, 0x8101, 0xf074, 0x152d, 0xf073, 0x188a, 0x00f8, 0x000b, 0x8813, 0x4812, 0x00f8, 0x000b, 0x490b, 0x8812, 0xf84d, 0x1889, 0xf310, 0x0001, 0x891a, 0xf495, 0xf072, 0x1888, 0x10ea, 0xffff, 0x80eb, 0xffff, 0x4811, 0xee02, 0x8a11, 0xfc00,
-};
-static const unsigned short _section_cinit[] = {
- 0x0001, 0x28e2, 0x0000, 0x0001, 0x28e3, 0x0000, 0x0001, 0x28e6, 0x0001, 0x0001, 0x28e7, 0x0000, 0x0001, 0x28e8, 0x0000, 0x0001, 0x2909, 0x0000, 0x0001, 0x290a, 0x0000, 0x0001, 0x290b, 0x0412, 0x0001, 0x290c, 0x0412, 0x0001, 0x2b67, 0x0001, 0x0000,
-};
-static const unsigned short _section_const[] = {
- 0x0028, 0x006e, 0x0075, 0x006c, 0x006c, 0x0029, 0x0000, 0x0025, 0x0000, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0000, 0x0000, 0x0000, 0x7f7f, 0xffff, 0xff7f, 0xffff, 0x3f80, 0x0000, 0x4120, 0x0000, 0x0000, 0x0000, 0x4f00, 0x0000, 0x4120, 0x0000, 0x3f80, 0x0000, 0x0000, 0x0000, 0x4f00, 0x0000, 0x4120, 0x0000, 0x3f80, 0x0000, 0x0000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0088, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0010, 0x0010, 0x0010, 0x0010, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0044, 0x0053, 0x0050, 0x0020, 0x0069, 0x006e, 0x0069, 0x0074, 0x0065, 0x0064, 0x002e, 0x002e, 0x002e, 0x0000,
+ 0xf495, 0x4a08, 0x4a09, 0x4a0a, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a10, 0x4a11, 0x4a12, 0x4a13, 0x4a14, 0x4a15, 0x4a16, 0x4a17, 0x4a17, 0x4a19, 0x4a0e, 0x4a06, 0x4a07, 0x4a1a, 0x4a1d, 0x4a1b, 0x4a1c, 0x68f8, 0x0007, 0x7d3f, 0x69f8, 0x0007, 0x4000, 0x68f8, 0x001d, 0xfffc, 0x4818, 0x68f8, 0x0018, 0xfffe, 0x7711, 0x0001, 0x4a08, 0x7681, 0x0001, 0x10f8, 0x031d, 0x76f8, 0x031e, 0x0000, 0xfa44, 0x00c2, 0xf495, 0xeeff, 0x7712, 0x0054, 0x960f, 0xf830, 0x00c2, 0xf074, 0x00fc, 0x7711, 0x0054, 0x6981, 0x0001, 0xf074, 0x02af, 0xf073, 0x00c4, 0xf074, 0x00fc, 0xee01, 0x8a18, 0xf495, 0x8a1c, 0x8a1b, 0x8a1d, 0x8a1a, 0x8a07, 0x8a06, 0x8a0e, 0x8a19, 0x8a17, 0x8a17, 0x8a16, 0x8a15, 0x8a14, 0x8a13, 0x8a12, 0x8a11, 0x8a10, 0x8a0d, 0x8a0c, 0x8a0b, 0x8a0a, 0x8a09, 0x8a08, 0xf4eb, 0x4a11, 0x7711, 0x0026, 0x7712, 0x0001, 0x7713, 0x0001, 0x7681, 0x0010, 0x7711, 0x0000, 0x7681, 0xffff, 0xe501, 0xf495, 0xf6bb, 0xf074, 0x0284, 0xf074, 0x0243, 0xf4e1, 0xf495, 0xf073, 0x00f3, 0xe808, 0x75f8, 0x0008, 0x0280, 0xfc00, 0x4a11, 0x60f8, 0x031d, 0x0001, 0xfa30, 0x0109, 0xf495, 0xeefe, 0x60f8, 0x031d, 0x0002, 0xf820, 0x011e, 0x7711, 0x0054, 0x6881, 0xfffe, 0xf074, 0x02ba, 0xe800, 0x75f8, 0x0008, 0x8006, 0x76f8, 0x031b, 0x0000, 0x76f8, 0x0319, 0x0000, 0x76f8, 0x031a, 0x0000, 0xf073, 0x018b, 0x10f8, 0x031a, 0x08f8, 0x0318, 0xf844, 0x012f, 0x76f8, 0x031a, 0x0000, 0x76f8, 0x031e, 0x0001, 0x76f8, 0x02c5, 0x0003, 0xf074, 0x00f7, 0x10f8, 0x031e, 0xf844, 0x018b, 0x10f8, 0x0318, 0x00f8, 0x0319, 0x08f8, 0x031a, 0x8811, 0xf495, 0x7710, 0x1000, 0xf6a9, 0xf820, 0x0146, 0xf020, 0x1000, 0xf273, 0x014a, 0x08f8, 0x0319, 0x10f8, 0x0318, 0x08f8, 0x031a, 0x80f8, 0x031b, 0x10f8, 0x031c, 0xf6b8, 0xf000, 0x8000, 0x6ff8, 0x0319, 0x0c1f, 0x75f8, 0x0008, 0x8002, 0xe800, 0x75f8, 0x0008, 0x8003, 0x10f8, 0x0316, 0xf1ef, 0xf3e1, 0x10f8, 0x0317, 0xf2a0, 0x00f8, 0x031a, 0x4e00, 0xf020, 0xffff, 0x5700, 0xf280, 0x75f8, 0x0008, 0x8000, 0x5600, 0xf0f0, 0x75f8, 0x0008, 0x8001, 0xe800, 0x75f8, 0x031b, 0x8004, 0x75f8, 0x0008, 0x8005, 0x74f8, 0x02c7, 0x8006, 0x74f8, 0x02c8, 0x8001, 0x74f8, 0x02c9, 0x8000, 0x74f8, 0x02ca, 0x8003, 0xe801, 0x74f8, 0x02cb, 0x8002, 0x75f8, 0x0008, 0x8006, 0xee02, 0x8a11, 0xfc00, 0xf495, 0x4a08, 0x4a09, 0x4a0a, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a10, 0x4a11, 0x4a12, 0x4a13, 0x4a14, 0x4a15, 0x4a16, 0x4a17, 0x4a17, 0x4a19, 0x4a0e, 0x4a06, 0x4a07, 0x4a1a, 0x4a1d, 0x4a1b, 0x4a1c, 0x68f8, 0x0007, 0x7d3f, 0x69f8, 0x0007, 0x4000, 0x68f8, 0x001d, 0xfffc, 0x4818, 0x68f8, 0x0018, 0xfffe, 0x7711, 0x0001, 0x4a08, 0x7681, 0x0040, 0x7711, 0x0055, 0x7681, 0x0000, 0xf020, 0x0800, 0x7711, 0x0057, 0xeeff, 0x1881, 0x8000, 0xf020, 0x0800, 0x1c00, 0x76f8, 0x0319, 0x0000, 0x80f8, 0x031c, 0xf074, 0x00fc, 0xee01, 0x8a18, 0xf495, 0x8a1c, 0x8a1b, 0x8a1d, 0x8a1a, 0x8a07, 0x8a06, 0x8a0e, 0x8a19, 0x8a17, 0x8a17, 0x8a16, 0x8a15, 0x8a14, 0x8a13, 0x8a12, 0x8a11, 0x8a10, 0x8a0d, 0x8a0c, 0x8a0b, 0x8a0a, 0x8a09, 0x8a08, 0xf4eb, 0xf495, 0x4a08, 0x4a09, 0x4a0a, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a10, 0x4a11, 0x4a12, 0x4a13, 0x4a14, 0x4a15, 0x4a16, 0x4a17, 0x4a17, 0x4a19, 0x4a0e, 0x4a06, 0x4a07, 0x4a1a, 0x4a1d, 0x4a1b, 0x4a1c, 0x68f8, 0x0007, 0x7d3f, 0x69f8, 0x0007, 0x4000, 0x68f8, 0x001d, 0xfffc, 0x4818, 0x68f8, 0x0018, 0xfffe, 0x7711, 0x0001, 0x4a08, 0x7681, 0x0800, 0x10f8, 0x031b, 0x00f8, 0x0319, 0x80f8, 0x0319, 0x7710, 0x1000, 0x7211, 0x0319, 0x10f8, 0x031b, 0xf5a9, 0xeeff, 0x00f8, 0x031a, 0xfa20, 0x0228, 0x80f8, 0x031a, 0xf074, 0x00fc, 0xee01, 0x8a18, 0xf495, 0x8a1c, 0x8a1b, 0x8a1d, 0x8a1a, 0x8a07, 0x8a06, 0x8a0e, 0x8a19, 0x8a17, 0x8a17, 0x8a16, 0x8a15, 0x8a14, 0x8a13, 0x8a12, 0x8a11, 0x8a10, 0x8a0d, 0x8a0c, 0x8a0b, 0x8a0a, 0x8a09, 0x8a08, 0xf4eb, 0x4a11, 0x7711, 0x0055, 0x76f8, 0x031a, 0x0000, 0x76f8, 0x0319, 0x0000, 0x76f8, 0x031b, 0x0000, 0x76f8, 0x031c, 0x0000, 0x76f8, 0x031e, 0x0000, 0x76f8, 0x031d, 0x0001, 0x7681, 0x0003, 0x7711, 0x0057, 0x7681, 0x2800, 0x7711, 0x0055, 0x7681, 0x0004, 0x7711, 0x0057, 0x7681, 0x7141, 0x7711, 0x0055, 0x7681, 0x0000, 0x7711, 0x0057, 0x7681, 0x8000, 0x7711, 0x0055, 0x7681, 0x0001, 0x7711, 0x0057, 0x7681, 0x0022, 0x7711, 0x0055, 0x7681, 0x0002, 0x7711, 0x0057, 0x7681, 0x1000, 0x7711, 0x0054, 0x7681, 0x0080, 0x8a11, 0xfc00, 0x4a11, 0x7711, 0x0038, 0x7681, 0x0000, 0x7711, 0x0039, 0x7681, 0x0000, 0x7711, 0x0038, 0x7681, 0x0001, 0x7711, 0x0039, 0x7681, 0x0030, 0x7711, 0x0038, 0x7681, 0x000e, 0x7711, 0x0039, 0x7681, 0x0002, 0x7711, 0x0038, 0x7681, 0x0004, 0x7711, 0x0039, 0x7681, 0x00a0, 0x7711, 0x0038, 0x7681, 0x0005, 0x7711, 0x0039, 0x7681, 0x0000, 0x8a11, 0xfc00, 0x4a11, 0x7711, 0x0038, 0x7681, 0x0001, 0x7711, 0x0039, 0x6981, 0x0001, 0x8a11, 0xfc00, 0x4a11, 0x7711, 0x0038, 0x7681, 0x0001, 0x7711, 0x0039, 0x6881, 0xfffe, 0x8a11, 0xfc00,
};
static const unsigned short _section_vectors[] = {
- 0xf273, 0x02fa, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf273, 0x0085, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf273, 0x01bc, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf273, 0x022f, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495,
+ 0xf273, 0x00df, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf273, 0x0080, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf273, 0x018e, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf273, 0x01e8, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495,
};
static const struct dsp_section dsp_image[] = {
- {_section_text, 0x0080, 0x180d},
- {_section_cinit, 0x2dbb, 0x001f},
- {NULL /* .bss */, 0x288d, 0x02db},
- {_section_const, 0x2b68, 0x0153},
- {NULL /* .sysmem */, 0x2cbb, 0x0100},
- {NULL /* .stack */, 0x188d, 0x1000},
+ {_section_text, 0x0080, 0x0245},
+ {NULL /* .bss */, 0x02c5, 0x005a},
{_section_vectors, 0x7f80, 0x0080},
- {NULL /* .dma */, 0x8000, 0x4000},
+ {NULL /* .dma */, 0x8000, 0x1000},
{NULL, 0, 0}
};
/* Symbol table, usable with the DSP_() macro (see dsp-target.h). */
-#define _waitack 0x00ed
-#define _acked 0x28de
-#define _startack 0x00e5
-#define _debugf 0x00f8
-#define _handle_int0 0x0085
-#define _status 0x288d
-#define _audiohw_start 0x02e4
-#define _dma0_stopped 0x28e6
-#define _waiting 0x28e7
-#define _vsnprintf 0x0396
-#define _rebuffer 0x0130
-#define _main 0x0113
-#define _dma_init 0x028a
-#define _audiohw_init 0x02b9
-#define _c_int00 0x02fa
-#define _handle_dma0 0x01bc
-#define _handle_dmac 0x022f
-#define _last_size 0x28e4
-#define _dsp_level 0x28e2
-#define _dma0_unlocked 0x28e5
-#define _data 0x8000
-#define _sdem_addrh 0x28df
-#define _sdem_addrl 0x28e0
-#define _sdem_level 0x28e3
-#define _sdem_dsp_size 0x28e1
-#define _audiohw_stop 0x02ef
-#define cinit 0x2dbb
-#define __args_main 0x0f88
-#define _exit 0x0344
-#define _atexit 0x0371
-#define __dtors_ptr 0x290a
-#define __cleanup_ptr 0x2909
-#define _abort 0x0393
-#define __lock 0x290b
-#define __unlock 0x290c
-#define __printfi 0x0419
-#define _memcpy 0x152d
-#define __register_lock 0x0413
-#define __register_unlock 0x0416
-#define __nop 0x0412
-#define _malloc 0x15cd
-#define _memccpy 0x150d
-#define _ecvt 0x0ff6
-#define _fcvt 0x12f8
-#define _atoi 0x0f9f
-#define _free 0x1728
-#define __ctypes_ 0x2bac
-#define _ltoa 0x14bf
-#define __sys_memory 0x2cbb
-#define _minit 0x159e
-#define _realloc 0x1660
-#define _calloc 0x163e
-#define _memmove 0x1863
+#define _handle_int0 0x0080
+#define _status 0x02c5
+#define _audiohw_start 0x02af
+#define _dma0_stopped 0x031d
+#define _waiting 0x031e
+#define _rebuffer 0x00fc
+#define _main 0x00df
+#define _dma_init 0x0243
+#define _audiohw_init 0x0284
+#define _handle_dma0 0x018e
+#define _handle_dmac 0x01e8
+#define _sdem_addrh 0x0316
+#define _sdem_addrl 0x0317
+#define _sdem_level 0x031a
+#define _sdem_dsp_size 0x0318
+#define _audiohw_stop 0x02ba
#define ___text__ 0x0080
-#define etext 0x188d
-#define ___etext__ 0x188d
-#define ___cinit__ 0x2dbb
-#define ___bss__ 0x288d
-#define end 0x2b68
-#define ___end__ 0x2b68
-#define ___data__ 0x0000
-#define edata 0x0000
-#define ___edata__ 0x0000
+#define etext 0x02c5
+#define ___etext__ 0x02c5
+#define ___data__ 0x0080
+#define edata 0x0080
+#define ___edata__ 0x0080
+#define ___bss__ 0x02c5
+#define end 0x031f
+#define ___end__ 0x031f
#endif
diff --git a/firmware/target/arm/tms320dm320/dsp/ipc.h b/firmware/target/arm/tms320dm320/dsp/ipc.h
index b307753c0f..030febd021 100644
--- a/firmware/target/arm/tms320dm320/dsp/ipc.h
+++ b/firmware/target/arm/tms320dm320/dsp/ipc.h
@@ -34,15 +34,15 @@
#define PACKED
#endif
-#define PCM_SIZE 0x8000 /* bytes */
+/* Define this if you want to use debugf on the DSP. This consumes quite a bit
+ * of space so it is disabled by default. */
+/* #define HAVE_DEBUG */
struct sdram_buffer {
unsigned long addr;
unsigned short bytes;
} PACKED;
-#define SDRAM_BUFFERS 4
-
struct ipc_message {
unsigned short msg;
union {
diff --git a/firmware/target/arm/tms320dm320/dsp/linker.cmd b/firmware/target/arm/tms320dm320/dsp/linker.cmd
index 844fe25903..c2ae5f0c6b 100644
--- a/firmware/target/arm/tms320dm320/dsp/linker.cmd
+++ b/firmware/target/arm/tms320dm320/dsp/linker.cmd
@@ -1,29 +1,39 @@
--c
+-c
-x
-stack 0x1000
-heap 0x100
--l rts500.lib
+
+/* The rtx500.lib should be included if you want proper initialization,
+ * currently the program is setup so that it is not necessary to save space.
+ * reset vector should jump to _c_int00 if initialization is needed.
+ *
+ * -l rts500.lib*/
MEMORY
{
PAGE 0:
- DARAM: origin = 80h, length = 7F80h
- SARAM: origin = 8000h, length = 4000h
+ DARAM (RWIX): origin = 80h, length = 7F00h
+ VECS (RIX) : origin = 7F80h, length = 80h
+
+ /* SARAM can be read and written to, but it cannot execute and does not need
+ * to be initialized. */
+ SARAM (RW) : origin = 8000h, length = 4000h
}
SECTIONS
{
- .text PAGE 0
- .cinit PAGE 0
- .switch PAGE 0
+ .text > DARAM PAGE 0
+ .cinit > DARAM PAGE 0
+ .switch > DARAM PAGE 0
+ .data > DARAM PAGE 0
- .bss PAGE 0
- .const PAGE 0
- .sysmem PAGE 0
- .stack PAGE 0
+ .bss > DARAM PAGE 0
+ .const > DARAM PAGE 0
+ .sysmem > DARAM PAGE 0
+ .stack > DARAM PAGE 0
- .vectors : PAGE 0 load = 7F80h
+ .vectors > VECS PAGE 0
/* DMA buffers for ABU mode must start on a 2*size boundary. */
- .dma : PAGE 0 load = 0x8000
+ .dma > SARAM PAGE 0
}
diff --git a/firmware/target/arm/tms320dm320/dsp/main.c b/firmware/target/arm/tms320dm320/dsp/main.c
index 8c36e6a88b..a62bb50ba2 100644
--- a/firmware/target/arm/tms320dm320/dsp/main.c
+++ b/firmware/target/arm/tms320dm320/dsp/main.c
@@ -24,7 +24,6 @@
#include "ipc.h"
#include "dma.h"
#include "audio.h"
-#include <math.h>
void main(void) {
TCR = 1 << 4; /* Stop the timer. */
@@ -36,7 +35,9 @@ void main(void) {
dma_init();
+#if defined(HAVE_DEBUG)
debugf("DSP inited...");
+#endif
for (;;) {
asm(" IDLE 1");
@@ -45,13 +46,6 @@ void main(void) {
}
/* Obsoleted/testing snippets: */
-#ifdef REMAP_VECTORS
- /* Remap vectors to 0x3F80 (set in linker.cmd). */
- PMST = (PMST & 0x7f) | 0x3F80;
-
- /* Make sure working interrupts aren't a fluke. */
- memset((unsigned short *)0x7f80, 0, 0x80);
-#endif
#ifdef DATA_32_SINE
for (i = 0; i < 32; i++) {
diff --git a/firmware/target/arm/tms320dm320/dsp/tsc2100.c b/firmware/target/arm/tms320dm320/dsp/tsc2100.c
index 5127681269..3a02eb92b4 100644
--- a/firmware/target/arm/tms320dm320/dsp/tsc2100.c
+++ b/firmware/target/arm/tms320dm320/dsp/tsc2100.c
@@ -39,9 +39,11 @@ void audiohw_start(void)
{
/* Trigger first XEVT0 */
SPCR20 |= 1;
-}
-audiohw_stop(void)
+}
+
+void audiohw_stop(void)
{
- /* Reset the transmitter */
- SPCR20&=0xFFFE;
+ /* Reset the transmitter */
+ SPCR20&=0xFFFE;
}
+
diff --git a/firmware/target/arm/tms320dm320/dsp/vectors.asm b/firmware/target/arm/tms320dm320/dsp/vectors.asm
index 1551d996fc..98d1409cb3 100644
--- a/firmware/target/arm/tms320dm320/dsp/vectors.asm
+++ b/firmware/target/arm/tms320dm320/dsp/vectors.asm
@@ -27,13 +27,17 @@
; External Functions
.global _handle_int0
- .global _c_int00
+ .global _main
.global _handle_dma0
.global _handle_dmac
.sect ".vectors"
; Reset Interrupt
-RS_V: BD _c_int00
+; The rtx500.lib should be included if you want proper initialization,
+; currently the program is setup so that it is not necessary to save space.
+; reset vector should jump to _c_int00 instead of main if initialization is
+; needed.
+RS_V: BD _main
NOP
NOP
diff --git a/firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c b/firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c
index 3f15bd6dd0..cdec2ab77c 100644
--- a/firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c
+++ b/firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c
@@ -91,6 +91,7 @@ void pcm_play_dma_start(const void *addr, size_t size)
void pcm_play_dma_stop(void)
{
DSP_(_dma0_stopped)=1;
+ dsp_wake();
}
void pcm_play_lock(void)
@@ -108,6 +109,7 @@ void pcm_play_dma_pause(bool pause)
if (pause)
{
DSP_(_dma0_stopped)=2;
+ dsp_wake();
}
else
{