From 598b33babb76cdd1d166812511d1253eab892dd7 Mon Sep 17 00:00:00 2001 From: simon Date: Tue, 7 Dec 2004 18:10:09 +0000 Subject: [PATCH] Bidi stability work. I _think_ I've now removed all the failures of array bounds checking. git-svn-id: svn://svn.tartarus.org/sgt/putty@4951 cda61777-01e9-0310-a592-d414129be87e --- minibidi.c | 83 ++++++---- minibidi.h | 519 +++++++++++++++++++++++++++---------------------------------- 2 files changed, 280 insertions(+), 322 deletions(-) diff --git a/minibidi.c b/minibidi.c index d48dbff1..566f3fd4 100644 --- a/minibidi.c +++ b/minibidi.c @@ -31,6 +31,8 @@ #include "minibidi.h" +#define lenof(x) ( sizeof((x)) / sizeof(*(x)) ) + /* * Flips the text buffer, according to max level, and * all higher levels @@ -110,17 +112,25 @@ unsigned char setOverrideBits(unsigned char level, unsigned char override) return level; } -/* Dont remember what this was used for :-) */ -unsigned char getPreviousLevel(unsigned char* level, int from) +/* + * Find the most recent run of the same value in `level', and + * return the value _before_ it. Used to process U+202C POP + * DIRECTIONAL FORMATTING. + */ +int getPreviousLevel(unsigned char* level, int from) { - unsigned char current; - from--; - current = level[from]; - while(from>0 && level[from] == current) - { - from--; - } - return level[++from]; + if (from > 0) { + unsigned char current = level[--from]; + + while (from >= 0 && level[from] == current) + from--; + + if (from >= 0) + return level[from]; + + return -1; + } else + return -1; } /* @@ -151,19 +161,16 @@ unsigned char leastGreaterEven(unsigned char x) */ unsigned char getRLE(wchar_t ch) { - int offset, i, freq; + int offset, i; - freq = offset = 0; - for(i=0; i<0xFFFF; i++) + offset = 0; + for(i=0; i ch) - return ((RLENode*)RLE_table)[i-1].d; + offset += RLE_table[i].f; + if(ch < offset) + return RLE_table[i].d; } - /* this is here to stop compiler nagging */ + /* anything beyond the end of the table is unknown */ return ON; } @@ -191,7 +198,7 @@ int do_shape(bidi_char *line, bidi_char *to, int count) break; case SR: - tempShape = STYPE(line[i+1].wc); + tempShape = (i+1 < count ? STYPE(line[i+1].wc) : SU); if((tempShape == SL) || (tempShape == SD) || (tempShape == SC)) to[i].wc = SFINAL((SISOLATED(line[i].wc))); else @@ -201,10 +208,10 @@ int do_shape(bidi_char *line, bidi_char *to, int count) case SD: /* Make Ligatures */ - tempShape = STYPE(line[i+1].wc); + tempShape = (i+1 < count ? STYPE(line[i+1].wc) : SU); if(line[i].wc == 0x644) { - switch(line[i-1].wc) + if (i > 0) switch(line[i-1].wc) { case 0x622: ligFlag = 1; @@ -245,7 +252,7 @@ int do_shape(bidi_char *line, bidi_char *to, int count) if((tempShape == SL) || (tempShape == SD) || (tempShape == SC)) { - tempShape = STYPE(line[i-1].wc); + tempShape = (i > 0 ? STYPE(line[i-1].wc) : SU); if((tempShape == SR) || (tempShape == SD) || (tempShape == SC)) to[i].wc = SMEDIAL( (SISOLATED(line[i].wc)) ); else @@ -253,7 +260,7 @@ int do_shape(bidi_char *line, bidi_char *to, int count) break; } - tempShape = STYPE(line[i-1].wc); + tempShape = (i > 0 ? STYPE(line[i-1].wc) : SU); if((tempShape == SR) || (tempShape == SD) || (tempShape == SC)) to[i].wc = SINITIAL((SISOLATED(line[i].wc))); else @@ -380,9 +387,17 @@ int do_bidi(bidi_char *line, int count) break; case PDF: - currentEmbedding = getPreviousLevel(levels, i); - currentOverride = currentEmbedding & OMASK; - currentEmbedding = currentEmbedding & ~OMASK; + { + int prevlevel = getPreviousLevel(levels, i); + + if (prevlevel == -1) { + currentEmbedding = paragraphLevel; + currentOverride = ON; + } else { + currentOverride = currentEmbedding & OMASK; + currentEmbedding = currentEmbedding & ~OMASK; + } + } levels[i] = currentEmbedding; break; @@ -487,7 +502,7 @@ int do_bidi(bidi_char *line, int count) * to a European number. A single common separator between two numbers * of the same type changes to that type. */ - for( i=0; i<(count-1); i++) + for( i=1; i<(count-1); i++) { if(types[i] == ES) { @@ -512,15 +527,15 @@ int do_bidi(bidi_char *line, int count) { if(types[i] == ET) { - if(types[i-1] == EN) + if(i > 0 && types[i-1] == EN) { types[i] = EN; continue; - }else if(types[i+1] == EN) + }else if(i < count-1 && types[i+1] == EN) { types[i] = EN; continue; - }else if(types[i+1] == ET) + }else if(i < count-1 && types[i+1] == ET) { j=i; while(j = 2 && types[0] == ON) { if((types[1] == R) || (types[1] == EN) || (types[1] == AN)) types[0] = R; @@ -628,7 +643,7 @@ int do_bidi(bidi_char *line, int count) } } } - if(types[count-1] == ON) + if(count >= 2 && types[count-1] == ON) { if(types[count-2] == R || types[count-2] == EN || types[count-2] == AN) types[count-1] = R; diff --git a/minibidi.h b/minibidi.h index a6b0984c..b0dcd634 100644 --- a/minibidi.h +++ b/minibidi.h @@ -55,7 +55,7 @@ void flipThisRun(bidi_char *from, unsigned char* level, int max, int count); int findIndexOfRun(unsigned char* level , int start, int count, int tlevel); unsigned char getType(wchar_t ch); unsigned char setOverrideBits(unsigned char level, unsigned char override); -unsigned char getPreviousLevel(unsigned char* level, int from); +int getPreviousLevel(unsigned char* level, int from); unsigned char leastGreaterOdd(unsigned char x); unsigned char leastGreaterEven(unsigned char x); unsigned char getRLE(wchar_t ch); @@ -157,299 +157,242 @@ const shape_node shapetypes[] = { */ typedef struct { - unsigned char f; unsigned char d; + unsigned char f; }RLENode; /* This is an array of RLENodes, which is the * Compressed unicode types table */ -const unsigned char RLE_table[] = +const RLENode RLE_table[] = { - 0x09, 0x10, 0x01, 0x0F, 0x01, 0x10, 0x01, 0x11, - 0x01, 0x0F, 0x01, 0x0E, 0x0E, 0x0F, 0x03, 0x10, - 0x01, 0x11, 0x01, 0x12, 0x02, 0x0A, 0x03, 0x12, - 0x05, 0x0A, 0x01, 0x0C, 0x01, 0x0A, 0x01, 0x0C, - 0x01, 0x09, 0x01, 0x08, 0x0A, 0x0C, 0x01, 0x12, - 0x06, 0x00, 0x1A, 0x12, 0x06, 0x00, 0x1A, 0x12, - 0x04, 0x0E, 0x06, 0x0F, 0x01, 0x0E, 0x1A, 0x0C, - 0x01, 0x12, 0x01, 0x0A, 0x04, 0x12, 0x04, 0x00, - 0x01, 0x12, 0x05, 0x0A, 0x02, 0x08, 0x02, 0x12, - 0x01, 0x00, 0x01, 0x12, 0x03, 0x08, 0x01, 0x00, - 0x01, 0x12, 0x05, 0x00, 0x17, 0x12, 0x01, 0x00, - 0x1F, 0x12, 0x01, 0x00, 0xFF, 0x00, 0x2A, 0x12, - 0x01, 0x00, 0x12, 0x12, 0x1C, 0x00, 0x5E, 0x12, - 0x02, 0x00, 0x09, 0x12, 0x02, 0x00, 0x07, 0x12, - 0x0E, 0x00, 0x02, 0x12, 0x0E, 0x00, 0x05, 0x12, - 0x09, 0x00, 0x01, 0x12, 0x11, 0x0D, 0x50, 0x12, - 0x10, 0x0D, 0x10, 0x12, 0x0A, 0x00, 0x01, 0x12, - 0x0B, 0x00, 0x01, 0x12, 0x01, 0x00, 0x03, 0x12, - 0x01, 0x00, 0x01, 0x12, 0x01, 0x00, 0x14, 0x12, - 0x01, 0x00, 0x2C, 0x12, 0x01, 0x00, 0x26, 0x12, - 0x0A, 0x00, 0x83, 0x0D, 0x04, 0x12, 0x01, 0x0D, - 0x02, 0x00, 0x45, 0x12, 0x01, 0x00, 0x26, 0x12, - 0x02, 0x00, 0x02, 0x12, 0x06, 0x00, 0x10, 0x12, - 0x21, 0x00, 0x26, 0x12, 0x02, 0x00, 0x07, 0x12, - 0x01, 0x00, 0x27, 0x12, 0x01, 0x00, 0x01, 0x12, - 0x07, 0x0D, 0x11, 0x12, 0x01, 0x0D, 0x17, 0x12, - 0x01, 0x0D, 0x03, 0x03, 0x01, 0x0D, 0x01, 0x03, - 0x01, 0x0D, 0x02, 0x03, 0x01, 0x0D, 0x01, 0x12, - 0x0B, 0x03, 0x1B, 0x12, 0x05, 0x03, 0x05, 0x12, - 0x17, 0x0C, 0x01, 0x12, 0x0E, 0x04, 0x01, 0x12, - 0x03, 0x04, 0x01, 0x12, 0x01, 0x04, 0x1A, 0x12, - 0x05, 0x04, 0x0B, 0x0D, 0x0B, 0x12, 0x0A, 0x0B, - 0x0A, 0x0A, 0x01, 0x0B, 0x02, 0x04, 0x03, 0x0D, - 0x01, 0x04, 0x65, 0x0D, 0x07, 0x04, 0x01, 0x0D, - 0x07, 0x04, 0x02, 0x0D, 0x02, 0x12, 0x01, 0x0D, - 0x04, 0x12, 0x02, 0x08, 0x0A, 0x04, 0x05, 0x12, - 0x01, 0x04, 0x0E, 0x12, 0x01, 0x0E, 0x01, 0x04, - 0x01, 0x0D, 0x01, 0x04, 0x1B, 0x12, 0x03, 0x0D, - 0x1B, 0x12, 0x35, 0x04, 0x26, 0x0D, 0x0B, 0x04, - 0x01, 0x12, 0xFF, 0x12, 0x50, 0x0D, 0x02, 0x00, - 0x01, 0x12, 0x01, 0x00, 0x35, 0x12, 0x02, 0x0D, - 0x01, 0x00, 0x04, 0x0D, 0x08, 0x00, 0x04, 0x0D, - 0x01, 0x12, 0x02, 0x00, 0x01, 0x0D, 0x04, 0x12, - 0x03, 0x00, 0x0A, 0x0D, 0x02, 0x00, 0x0D, 0x12, - 0x10, 0x0D, 0x01, 0x00, 0x02, 0x12, 0x01, 0x00, - 0x08, 0x12, 0x02, 0x00, 0x02, 0x12, 0x02, 0x00, - 0x16, 0x12, 0x01, 0x00, 0x07, 0x12, 0x01, 0x00, - 0x01, 0x12, 0x03, 0x00, 0x04, 0x12, 0x02, 0x0D, - 0x01, 0x12, 0x01, 0x00, 0x03, 0x0D, 0x04, 0x12, - 0x02, 0x00, 0x02, 0x12, 0x02, 0x00, 0x02, 0x0D, - 0x01, 0x12, 0x09, 0x00, 0x01, 0x12, 0x04, 0x00, - 0x02, 0x12, 0x01, 0x00, 0x03, 0x0D, 0x02, 0x12, - 0x02, 0x00, 0x0C, 0x0A, 0x02, 0x00, 0x07, 0x12, - 0x07, 0x0D, 0x01, 0x12, 0x02, 0x00, 0x06, 0x12, - 0x04, 0x00, 0x02, 0x12, 0x02, 0x00, 0x16, 0x12, - 0x01, 0x00, 0x07, 0x12, 0x01, 0x00, 0x02, 0x12, - 0x01, 0x00, 0x02, 0x12, 0x01, 0x00, 0x02, 0x12, - 0x02, 0x0D, 0x01, 0x12, 0x01, 0x00, 0x03, 0x0D, - 0x02, 0x12, 0x04, 0x0D, 0x02, 0x12, 0x02, 0x0D, - 0x03, 0x12, 0x0B, 0x00, 0x04, 0x12, 0x01, 0x00, - 0x01, 0x12, 0x07, 0x00, 0x0A, 0x0D, 0x02, 0x00, - 0x03, 0x12, 0x0C, 0x0D, 0x02, 0x00, 0x01, 0x12, - 0x01, 0x00, 0x07, 0x12, 0x01, 0x00, 0x01, 0x12, - 0x01, 0x00, 0x03, 0x12, 0x01, 0x00, 0x16, 0x12, - 0x01, 0x00, 0x07, 0x12, 0x01, 0x00, 0x02, 0x12, - 0x01, 0x00, 0x05, 0x12, 0x02, 0x0D, 0x01, 0x00, - 0x04, 0x0D, 0x05, 0x12, 0x01, 0x0D, 0x02, 0x00, - 0x01, 0x12, 0x01, 0x00, 0x02, 0x0D, 0x01, 0x12, - 0x02, 0x00, 0x01, 0x12, 0x0F, 0x00, 0x01, 0x12, - 0x05, 0x00, 0x0A, 0x12, 0x11, 0x0D, 0x01, 0x00, - 0x02, 0x12, 0x01, 0x00, 0x08, 0x12, 0x02, 0x00, - 0x02, 0x12, 0x02, 0x00, 0x16, 0x12, 0x01, 0x00, - 0x07, 0x12, 0x01, 0x00, 0x02, 0x12, 0x02, 0x00, - 0x04, 0x12, 0x02, 0x0D, 0x01, 0x00, 0x02, 0x0D, - 0x01, 0x00, 0x01, 0x0D, 0x03, 0x12, 0x03, 0x00, - 0x02, 0x12, 0x02, 0x00, 0x02, 0x0D, 0x01, 0x12, - 0x08, 0x0D, 0x01, 0x00, 0x01, 0x12, 0x04, 0x00, - 0x02, 0x12, 0x01, 0x00, 0x03, 0x12, 0x04, 0x00, - 0x0B, 0x12, 0x11, 0x0D, 0x01, 0x00, 0x01, 0x12, - 0x01, 0x00, 0x06, 0x12, 0x03, 0x00, 0x03, 0x12, - 0x01, 0x00, 0x04, 0x12, 0x03, 0x00, 0x02, 0x12, - 0x01, 0x00, 0x01, 0x12, 0x01, 0x00, 0x02, 0x12, - 0x03, 0x00, 0x02, 0x12, 0x03, 0x00, 0x03, 0x12, - 0x03, 0x00, 0x08, 0x12, 0x01, 0x00, 0x03, 0x12, - 0x04, 0x00, 0x02, 0x0D, 0x01, 0x00, 0x02, 0x12, - 0x03, 0x00, 0x03, 0x12, 0x01, 0x00, 0x03, 0x0D, - 0x01, 0x12, 0x09, 0x00, 0x01, 0x12, 0x0F, 0x00, - 0x0C, 0x12, 0x0E, 0x00, 0x03, 0x12, 0x01, 0x00, - 0x08, 0x12, 0x01, 0x00, 0x03, 0x12, 0x01, 0x00, - 0x17, 0x12, 0x01, 0x00, 0x0A, 0x12, 0x01, 0x00, - 0x05, 0x12, 0x04, 0x0D, 0x03, 0x00, 0x04, 0x12, - 0x01, 0x0D, 0x03, 0x12, 0x01, 0x0D, 0x04, 0x12, - 0x07, 0x0D, 0x02, 0x12, 0x09, 0x00, 0x02, 0x12, - 0x04, 0x00, 0x0A, 0x12, 0x12, 0x00, 0x02, 0x12, - 0x01, 0x00, 0x08, 0x12, 0x01, 0x00, 0x03, 0x12, - 0x01, 0x00, 0x17, 0x12, 0x01, 0x00, 0x0A, 0x12, - 0x01, 0x00, 0x05, 0x12, 0x04, 0x00, 0x01, 0x0D, - 0x01, 0x00, 0x05, 0x12, 0x01, 0x0D, 0x01, 0x00, - 0x02, 0x12, 0x01, 0x00, 0x02, 0x0D, 0x02, 0x12, - 0x07, 0x00, 0x02, 0x12, 0x07, 0x00, 0x01, 0x12, - 0x01, 0x00, 0x02, 0x12, 0x04, 0x00, 0x0A, 0x12, - 0x12, 0x00, 0x02, 0x12, 0x01, 0x00, 0x08, 0x12, - 0x01, 0x00, 0x03, 0x12, 0x01, 0x00, 0x17, 0x12, - 0x01, 0x00, 0x10, 0x12, 0x04, 0x00, 0x03, 0x0D, - 0x03, 0x12, 0x02, 0x00, 0x03, 0x12, 0x01, 0x00, - 0x03, 0x0D, 0x01, 0x12, 0x09, 0x00, 0x01, 0x12, - 0x08, 0x00, 0x02, 0x12, 0x04, 0x00, 0x0A, 0x12, - 0x12, 0x00, 0x02, 0x12, 0x01, 0x00, 0x12, 0x12, - 0x03, 0x00, 0x18, 0x12, 0x01, 0x00, 0x09, 0x12, - 0x01, 0x00, 0x01, 0x12, 0x02, 0x00, 0x07, 0x12, - 0x03, 0x0D, 0x01, 0x12, 0x04, 0x00, 0x03, 0x0D, - 0x03, 0x12, 0x01, 0x0D, 0x01, 0x12, 0x01, 0x00, - 0x08, 0x12, 0x12, 0x00, 0x03, 0x12, 0x0C, 0x00, - 0x30, 0x0D, 0x01, 0x00, 0x02, 0x0D, 0x07, 0x12, - 0x04, 0x0A, 0x01, 0x00, 0x07, 0x0D, 0x08, 0x00, - 0x0D, 0x12, 0x25, 0x00, 0x02, 0x12, 0x01, 0x00, - 0x01, 0x12, 0x02, 0x00, 0x02, 0x12, 0x01, 0x00, - 0x01, 0x12, 0x02, 0x00, 0x01, 0x12, 0x06, 0x00, - 0x04, 0x12, 0x01, 0x00, 0x07, 0x12, 0x01, 0x00, - 0x03, 0x12, 0x01, 0x00, 0x01, 0x12, 0x01, 0x00, - 0x01, 0x12, 0x02, 0x00, 0x02, 0x12, 0x01, 0x00, - 0x04, 0x0D, 0x01, 0x00, 0x02, 0x0D, 0x06, 0x12, - 0x01, 0x0D, 0x02, 0x00, 0x01, 0x12, 0x02, 0x00, - 0x05, 0x12, 0x01, 0x00, 0x01, 0x12, 0x01, 0x0D, - 0x06, 0x12, 0x02, 0x00, 0x0A, 0x12, 0x02, 0x00, - 0x02, 0x12, 0x22, 0x00, 0x18, 0x0D, 0x02, 0x00, - 0x1B, 0x0D, 0x01, 0x00, 0x01, 0x0D, 0x01, 0x00, - 0x01, 0x0D, 0x01, 0x12, 0x04, 0x00, 0x0A, 0x12, - 0x01, 0x00, 0x22, 0x12, 0x06, 0x0D, 0x0E, 0x00, - 0x01, 0x0D, 0x05, 0x00, 0x01, 0x0D, 0x02, 0x00, - 0x04, 0x12, 0x04, 0x0D, 0x08, 0x12, 0x01, 0x0D, - 0x24, 0x12, 0x01, 0x00, 0x08, 0x0D, 0x01, 0x00, - 0x06, 0x12, 0x02, 0x00, 0x01, 0x12, 0x30, 0x00, - 0x22, 0x12, 0x01, 0x00, 0x05, 0x12, 0x01, 0x00, - 0x02, 0x12, 0x01, 0x00, 0x01, 0x0D, 0x04, 0x00, - 0x01, 0x0D, 0x01, 0x12, 0x03, 0x0D, 0x02, 0x00, - 0x01, 0x0D, 0x01, 0x12, 0x06, 0x00, 0x18, 0x0D, - 0x02, 0x12, 0x46, 0x00, 0x26, 0x12, 0x0A, 0x00, - 0x29, 0x12, 0x02, 0x00, 0x01, 0x12, 0x04, 0x00, - 0x5A, 0x12, 0x05, 0x00, 0x44, 0x12, 0x05, 0x00, - 0x52, 0x12, 0x06, 0x00, 0x07, 0x12, 0x01, 0x00, - 0x3F, 0x12, 0x01, 0x00, 0x01, 0x12, 0x01, 0x00, - 0x04, 0x12, 0x02, 0x00, 0x07, 0x12, 0x01, 0x00, - 0x01, 0x12, 0x01, 0x00, 0x04, 0x12, 0x02, 0x00, - 0x27, 0x12, 0x01, 0x00, 0x01, 0x12, 0x01, 0x00, - 0x04, 0x12, 0x02, 0x00, 0x1F, 0x12, 0x01, 0x00, - 0x01, 0x12, 0x01, 0x00, 0x04, 0x12, 0x02, 0x00, - 0x07, 0x12, 0x01, 0x00, 0x01, 0x12, 0x01, 0x00, - 0x04, 0x12, 0x02, 0x00, 0x07, 0x12, 0x01, 0x00, - 0x07, 0x12, 0x01, 0x00, 0x17, 0x12, 0x01, 0x00, - 0x1F, 0x12, 0x01, 0x00, 0x01, 0x12, 0x01, 0x00, - 0x04, 0x12, 0x02, 0x00, 0x07, 0x12, 0x01, 0x00, - 0x27, 0x12, 0x01, 0x00, 0x13, 0x12, 0x06, 0x00, - 0x1C, 0x12, 0x23, 0x00, 0x55, 0x12, 0x0C, 0x00, - 0xFF, 0x00, 0xFF, 0x00, 0x78, 0x12, 0x09, 0x11, - 0x01, 0x00, 0x1A, 0x12, 0x05, 0x00, 0x51, 0x12, - 0x0F, 0x00, 0x0D, 0x12, 0x01, 0x00, 0x04, 0x0D, - 0x03, 0x12, 0x0B, 0x00, 0x12, 0x0D, 0x03, 0x00, - 0x02, 0x12, 0x09, 0x00, 0x12, 0x0D, 0x02, 0x12, - 0x0C, 0x00, 0x0D, 0x12, 0x01, 0x00, 0x03, 0x12, - 0x01, 0x0D, 0x02, 0x12, 0x0C, 0x00, 0x37, 0x0D, - 0x07, 0x00, 0x08, 0x0D, 0x01, 0x00, 0x02, 0x0D, - 0x0B, 0x00, 0x07, 0x0A, 0x01, 0x00, 0x01, 0x12, - 0x03, 0x00, 0x0A, 0x12, 0x21, 0x0D, 0x03, 0x0E, - 0x01, 0x12, 0x01, 0x00, 0x0A, 0x12, 0x06, 0x00, - 0x58, 0x12, 0x08, 0x00, 0x29, 0x0D, 0x01, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0x5B, 0x00, 0x9C, 0x12, 0x04, 0x00, - 0x5A, 0x12, 0x06, 0x00, 0x16, 0x12, 0x02, 0x00, - 0x06, 0x12, 0x02, 0x00, 0x26, 0x12, 0x02, 0x00, - 0x06, 0x12, 0x02, 0x00, 0x08, 0x12, 0x01, 0x00, - 0x01, 0x12, 0x01, 0x00, 0x01, 0x12, 0x01, 0x00, - 0x01, 0x12, 0x01, 0x00, 0x1F, 0x12, 0x02, 0x00, - 0x35, 0x12, 0x01, 0x00, 0x07, 0x12, 0x01, 0x00, - 0x01, 0x12, 0x03, 0x00, 0x03, 0x12, 0x01, 0x00, - 0x07, 0x12, 0x03, 0x00, 0x04, 0x12, 0x02, 0x00, - 0x06, 0x12, 0x04, 0x00, 0x0D, 0x12, 0x05, 0x00, - 0x03, 0x12, 0x01, 0x00, 0x07, 0x12, 0x03, 0x11, - 0x0B, 0x0E, 0x03, 0x00, 0x01, 0x03, 0x01, 0x12, - 0x18, 0x11, 0x01, 0x0F, 0x01, 0x01, 0x01, 0x05, - 0x01, 0x07, 0x01, 0x02, 0x01, 0x06, 0x01, 0x11, - 0x01, 0x0A, 0x05, 0x12, 0x2A, 0x11, 0x01, 0x0E, - 0x04, 0x12, 0x06, 0x0E, 0x06, 0x08, 0x01, 0x00, - 0x01, 0x12, 0x02, 0x08, 0x06, 0x0A, 0x02, 0x12, - 0x03, 0x00, 0x01, 0x08, 0x0A, 0x0A, 0x02, 0x12, - 0x14, 0x0A, 0x12, 0x12, 0x1E, 0x0D, 0x1B, 0x12, - 0x17, 0x00, 0x01, 0x12, 0x04, 0x00, 0x01, 0x12, - 0x02, 0x00, 0x0A, 0x12, 0x01, 0x00, 0x01, 0x12, - 0x03, 0x00, 0x05, 0x12, 0x06, 0x00, 0x01, 0x12, - 0x01, 0x00, 0x01, 0x12, 0x01, 0x00, 0x01, 0x12, - 0x01, 0x00, 0x04, 0x0A, 0x01, 0x00, 0x03, 0x12, - 0x01, 0x00, 0x07, 0x12, 0x03, 0x00, 0x03, 0x12, - 0x05, 0x00, 0x05, 0x12, 0x16, 0x00, 0x24, 0x12, - 0x8E, 0x0A, 0x02, 0x12, 0xFF, 0x12, 0x23, 0x00, - 0x45, 0x12, 0x1A, 0x00, 0x01, 0x12, 0xCA, 0x08, - 0x3C, 0x00, 0x4E, 0x08, 0x01, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0x20, 0x11, 0x01, 0x12, - 0x04, 0x00, 0x03, 0x12, 0x19, 0x00, 0x09, 0x0D, - 0x06, 0x12, 0x01, 0x00, 0x05, 0x12, 0x02, 0x00, - 0x05, 0x12, 0x04, 0x00, 0x56, 0x12, 0x02, 0x0D, - 0x02, 0x12, 0x02, 0x00, 0x03, 0x12, 0x01, 0x00, - 0x5A, 0x12, 0x01, 0x00, 0x04, 0x12, 0x05, 0x00, - 0x28, 0x12, 0x04, 0x00, 0x5E, 0x12, 0x01, 0x00, - 0x28, 0x12, 0x38, 0x00, 0x2D, 0x12, 0x03, 0x00, - 0x24, 0x12, 0x1C, 0x00, 0x1C, 0x12, 0x03, 0x00, - 0x32, 0x12, 0x0F, 0x00, 0x0C, 0x12, 0x04, 0x00, - 0x2F, 0x12, 0x01, 0x00, 0x77, 0x12, 0x04, 0x00, - 0x63, 0x12, 0x02, 0x00, 0x1F, 0x12, 0x01, 0x00, - 0x01, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xCD, 0x00, 0x01, 0x12, - 0x4A, 0x00, 0x01, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xF5, 0x00, - 0x01, 0x12, 0x5A, 0x00, 0xFF, 0x00, 0xFF, 0x00, - 0xFF, 0x00, 0xFF, 0x00, 0x91, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0x7A, 0x00, 0x01, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xCD, 0x00, - 0x01, 0x12, 0x5C, 0x00, 0x01, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0x81, 0x00, 0x02, 0x12, - 0x7E, 0x00, 0x02, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0x02, 0x00, 0x02, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, 0xFF, 0x12, - 0xFF, 0x12, 0x17, 0x00, 0xFF, 0x00, 0x30, 0x12, - 0x02, 0x00, 0x3B, 0x12, 0x95, 0x00, 0x07, 0x12, - 0x0C, 0x00, 0x05, 0x12, 0x05, 0x03, 0x01, 0x0D, - 0x01, 0x03, 0x0A, 0x0A, 0x01, 0x03, 0x0D, 0x12, - 0x01, 0x03, 0x05, 0x12, 0x01, 0x03, 0x01, 0x12, - 0x01, 0x03, 0x02, 0x12, 0x01, 0x03, 0x02, 0x12, - 0x01, 0x03, 0x0A, 0x04, 0x62, 0x12, 0x21, 0x04, - 0xFF, 0x04, 0x6C, 0x12, 0x12, 0x04, 0x40, 0x12, - 0x02, 0x04, 0x36, 0x12, 0x28, 0x04, 0x0D, 0x12, - 0x03, 0x0D, 0x10, 0x12, 0x10, 0x0D, 0x04, 0x12, - 0x2C, 0x0C, 0x01, 0x12, 0x01, 0x0C, 0x01, 0x12, - 0x02, 0x0C, 0x01, 0x12, 0x09, 0x0A, 0x01, 0x12, - 0x02, 0x0A, 0x02, 0x12, 0x05, 0x0A, 0x02, 0x12, - 0x05, 0x04, 0x05, 0x12, 0x01, 0x04, 0x87, 0x12, - 0x02, 0x0E, 0x01, 0x12, 0x03, 0x0A, 0x03, 0x12, - 0x05, 0x0A, 0x01, 0x0C, 0x01, 0x0A, 0x01, 0x0C, - 0x01, 0x09, 0x01, 0x08, 0x0A, 0x0C, 0x01, 0x12, - 0x06, 0x00, 0x1A, 0x12, 0x06, 0x00, 0x1A, 0x12, - 0x0B, 0x00, 0x59, 0x12, 0x03, 0x00, 0x06, 0x12, - 0x02, 0x00, 0x06, 0x12, 0x02, 0x00, 0x06, 0x12, - 0x02, 0x00, 0x03, 0x12, 0x03, 0x0A, 0x02, 0x12, - 0x03, 0x0A, 0x02, 0x12, 0x09, 0x00, 0x0E, 0x00, + { BN, 9}, { S, 1}, { B, 1}, { S, 1}, { WS, 1}, + { B, 1}, { BN, 14}, { B, 3}, { S, 1}, { WS, 1}, + { ON, 2}, { ET, 3}, { ON, 5}, { ET, 1}, { CS, 1}, + { ET, 1}, { CS, 1}, { ES, 1}, { EN, 10}, { CS, 1}, + { ON, 6}, { L, 26}, { ON, 6}, { L, 26}, { ON, 4}, + { BN, 6}, { B, 1}, { BN, 26}, { CS, 1}, { ON, 1}, + { ET, 4}, { ON, 4}, { L, 1}, { ON, 5}, { ET, 2}, + { EN, 2}, { ON, 1}, { L, 1}, { ON, 3}, { EN, 1}, + { L, 1}, { ON, 5}, { L, 23}, { ON, 1}, { L, 31}, + { ON, 1}, { L, 255}, { L, 42}, { ON, 1}, { L, 18}, + { ON, 28}, { L, 94}, { ON, 2}, { L, 9}, { ON, 2}, + { L, 7}, { ON, 14}, { L, 2}, { ON, 14}, { L, 5}, + { ON, 9}, { L, 1}, { ON, 17}, {NSM, 80}, { ON, 16}, + {NSM, 16}, { ON, 10}, { L, 1}, { ON, 11}, { L, 1}, + { ON, 1}, { L, 3}, { ON, 1}, { L, 1}, { ON, 1}, + { L, 20}, { ON, 1}, { L, 44}, { ON, 1}, { L, 38}, + { ON, 10}, { L, 131}, {NSM, 4}, { ON, 1}, {NSM, 2}, + { L, 69}, { ON, 1}, { L, 38}, { ON, 2}, { L, 2}, + { ON, 6}, { L, 16}, { ON, 33}, { L, 38}, { ON, 2}, + { L, 7}, { ON, 1}, { L, 39}, { ON, 1}, { L, 1}, + { ON, 7}, {NSM, 17}, { ON, 1}, {NSM, 23}, { ON, 1}, + {NSM, 3}, { R, 1}, {NSM, 1}, { R, 1}, {NSM, 2}, + { R, 1}, {NSM, 1}, { ON, 11}, { R, 27}, { ON, 5}, + { R, 5}, { ON, 23}, { CS, 1}, { ON, 14}, { AL, 1}, + { ON, 3}, { AL, 1}, { ON, 1}, { AL, 26}, { ON, 5}, + { AL, 11}, {NSM, 11}, { ON, 10}, { AN, 10}, { ET, 1}, + { AN, 2}, { AL, 3}, {NSM, 1}, { AL, 101}, {NSM, 7}, + { AL, 1}, {NSM, 7}, { AL, 2}, {NSM, 2}, { ON, 1}, + {NSM, 4}, { ON, 2}, { EN, 10}, { AL, 5}, { ON, 1}, + { AL, 14}, { ON, 1}, { BN, 1}, { AL, 1}, {NSM, 1}, + { AL, 27}, { ON, 3}, {NSM, 27}, { ON, 53}, { AL, 38}, + {NSM, 11}, { AL, 1}, { ON, 255}, { ON, 80}, {NSM, 2}, + { L, 1}, { ON, 1}, { L, 53}, { ON, 2}, {NSM, 1}, + { L, 4}, {NSM, 8}, { L, 4}, {NSM, 1}, { ON, 2}, + { L, 1}, {NSM, 4}, { ON, 3}, { L, 10}, {NSM, 2}, + { L, 13}, { ON, 16}, {NSM, 1}, { L, 2}, { ON, 1}, + { L, 8}, { ON, 2}, { L, 2}, { ON, 2}, { L, 22}, + { ON, 1}, { L, 7}, { ON, 1}, { L, 1}, { ON, 3}, + { L, 4}, { ON, 2}, {NSM, 1}, { ON, 1}, { L, 3}, + {NSM, 4}, { ON, 2}, { L, 2}, { ON, 2}, { L, 2}, + {NSM, 1}, { ON, 9}, { L, 1}, { ON, 4}, { L, 2}, + { ON, 1}, { L, 3}, {NSM, 2}, { ON, 2}, { L, 12}, + { ET, 2}, { L, 7}, { ON, 7}, {NSM, 1}, { ON, 2}, + { L, 6}, { ON, 4}, { L, 2}, { ON, 2}, { L, 22}, + { ON, 1}, { L, 7}, { ON, 1}, { L, 2}, { ON, 1}, + { L, 2}, { ON, 1}, { L, 2}, { ON, 2}, {NSM, 1}, + { ON, 1}, { L, 3}, {NSM, 2}, { ON, 4}, {NSM, 2}, + { ON, 2}, {NSM, 3}, { ON, 11}, { L, 4}, { ON, 1}, + { L, 1}, { ON, 7}, { L, 10}, {NSM, 2}, { L, 3}, + { ON, 12}, {NSM, 2}, { L, 1}, { ON, 1}, { L, 7}, + { ON, 1}, { L, 1}, { ON, 1}, { L, 3}, { ON, 1}, + { L, 22}, { ON, 1}, { L, 7}, { ON, 1}, { L, 2}, + { ON, 1}, { L, 5}, { ON, 2}, {NSM, 1}, { L, 4}, + {NSM, 5}, { ON, 1}, {NSM, 2}, { L, 1}, { ON, 1}, + { L, 2}, {NSM, 1}, { ON, 2}, { L, 1}, { ON, 15}, + { L, 1}, { ON, 5}, { L, 10}, { ON, 17}, {NSM, 1}, + { L, 2}, { ON, 1}, { L, 8}, { ON, 2}, { L, 2}, + { ON, 2}, { L, 22}, { ON, 1}, { L, 7}, { ON, 1}, + { L, 2}, { ON, 2}, { L, 4}, { ON, 2}, {NSM, 1}, + { L, 2}, {NSM, 1}, { L, 1}, {NSM, 3}, { ON, 3}, + { L, 2}, { ON, 2}, { L, 2}, {NSM, 1}, { ON, 8}, + {NSM, 1}, { L, 1}, { ON, 4}, { L, 2}, { ON, 1}, + { L, 3}, { ON, 4}, { L, 11}, { ON, 17}, {NSM, 1}, + { L, 1}, { ON, 1}, { L, 6}, { ON, 3}, { L, 3}, + { ON, 1}, { L, 4}, { ON, 3}, { L, 2}, { ON, 1}, + { L, 1}, { ON, 1}, { L, 2}, { ON, 3}, { L, 2}, + { ON, 3}, { L, 3}, { ON, 3}, { L, 8}, { ON, 1}, + { L, 3}, { ON, 4}, { L, 2}, {NSM, 1}, { L, 2}, + { ON, 3}, { L, 3}, { ON, 1}, { L, 3}, {NSM, 1}, + { ON, 9}, { L, 1}, { ON, 15}, { L, 12}, { ON, 14}, + { L, 3}, { ON, 1}, { L, 8}, { ON, 1}, { L, 3}, + { ON, 1}, { L, 23}, { ON, 1}, { L, 10}, { ON, 1}, + { L, 5}, { ON, 4}, {NSM, 3}, { L, 4}, { ON, 1}, + {NSM, 3}, { ON, 1}, {NSM, 4}, { ON, 7}, {NSM, 2}, + { ON, 9}, { L, 2}, { ON, 4}, { L, 10}, { ON, 18}, + { L, 2}, { ON, 1}, { L, 8}, { ON, 1}, { L, 3}, + { ON, 1}, { L, 23}, { ON, 1}, { L, 10}, { ON, 1}, + { L, 5}, { ON, 4}, { L, 1}, {NSM, 1}, { L, 5}, + { ON, 1}, {NSM, 1}, { L, 2}, { ON, 1}, { L, 2}, + {NSM, 2}, { ON, 7}, { L, 2}, { ON, 7}, { L, 1}, + { ON, 1}, { L, 2}, { ON, 4}, { L, 10}, { ON, 18}, + { L, 2}, { ON, 1}, { L, 8}, { ON, 1}, { L, 3}, + { ON, 1}, { L, 23}, { ON, 1}, { L, 16}, { ON, 4}, + { L, 3}, {NSM, 3}, { ON, 2}, { L, 3}, { ON, 1}, + { L, 3}, {NSM, 1}, { ON, 9}, { L, 1}, { ON, 8}, + { L, 2}, { ON, 4}, { L, 10}, { ON, 18}, { L, 2}, + { ON, 1}, { L, 18}, { ON, 3}, { L, 24}, { ON, 1}, + { L, 9}, { ON, 1}, { L, 1}, { ON, 2}, { L, 7}, + { ON, 3}, {NSM, 1}, { ON, 4}, { L, 3}, {NSM, 3}, + { ON, 1}, {NSM, 1}, { ON, 1}, { L, 8}, { ON, 18}, + { L, 3}, { ON, 12}, { L, 48}, {NSM, 1}, { L, 2}, + {NSM, 7}, { ON, 4}, { ET, 1}, { L, 7}, {NSM, 8}, + { L, 13}, { ON, 37}, { L, 2}, { ON, 1}, { L, 1}, + { ON, 2}, { L, 2}, { ON, 1}, { L, 1}, { ON, 2}, + { L, 1}, { ON, 6}, { L, 4}, { ON, 1}, { L, 7}, + { ON, 1}, { L, 3}, { ON, 1}, { L, 1}, { ON, 1}, + { L, 1}, { ON, 2}, { L, 2}, { ON, 1}, { L, 4}, + {NSM, 1}, { L, 2}, {NSM, 6}, { ON, 1}, {NSM, 2}, + { L, 1}, { ON, 2}, { L, 5}, { ON, 1}, { L, 1}, + { ON, 1}, {NSM, 6}, { ON, 2}, { L, 10}, { ON, 2}, + { L, 2}, { ON, 34}, { L, 24}, {NSM, 2}, { L, 27}, + {NSM, 1}, { L, 1}, {NSM, 1}, { L, 1}, {NSM, 1}, + { ON, 4}, { L, 10}, { ON, 1}, { L, 34}, { ON, 6}, + {NSM, 14}, { L, 1}, {NSM, 5}, { L, 1}, {NSM, 2}, + { L, 4}, { ON, 4}, {NSM, 8}, { ON, 1}, {NSM, 36}, + { ON, 1}, { L, 8}, {NSM, 1}, { L, 6}, { ON, 2}, + { L, 1}, { ON, 48}, { L, 34}, { ON, 1}, { L, 5}, + { ON, 1}, { L, 2}, { ON, 1}, { L, 1}, {NSM, 4}, + { L, 1}, {NSM, 1}, { ON, 3}, {NSM, 2}, { L, 1}, + {NSM, 1}, { ON, 6}, { L, 24}, {NSM, 2}, { ON, 70}, + { L, 38}, { ON, 10}, { L, 41}, { ON, 2}, { L, 1}, + { ON, 4}, { L, 90}, { ON, 5}, { L, 68}, { ON, 5}, + { L, 82}, { ON, 6}, { L, 7}, { ON, 1}, { L, 63}, + { ON, 1}, { L, 1}, { ON, 1}, { L, 4}, { ON, 2}, + { L, 7}, { ON, 1}, { L, 1}, { ON, 1}, { L, 4}, + { ON, 2}, { L, 39}, { ON, 1}, { L, 1}, { ON, 1}, + { L, 4}, { ON, 2}, { L, 31}, { ON, 1}, { L, 1}, + { ON, 1}, { L, 4}, { ON, 2}, { L, 7}, { ON, 1}, + { L, 1}, { ON, 1}, { L, 4}, { ON, 2}, { L, 7}, + { ON, 1}, { L, 7}, { ON, 1}, { L, 23}, { ON, 1}, + { L, 31}, { ON, 1}, { L, 1}, { ON, 1}, { L, 4}, + { ON, 2}, { L, 7}, { ON, 1}, { L, 39}, { ON, 1}, + { L, 19}, { ON, 6}, { L, 28}, { ON, 35}, { L, 85}, + { ON, 12}, { L, 255}, { L, 255}, { L, 120}, { ON, 9}, + { WS, 1}, { L, 26}, { ON, 5}, { L, 81}, { ON, 15}, + { L, 13}, { ON, 1}, { L, 4}, {NSM, 3}, { ON, 11}, + { L, 18}, {NSM, 3}, { L, 2}, { ON, 9}, { L, 18}, + {NSM, 2}, { ON, 12}, { L, 13}, { ON, 1}, { L, 3}, + { ON, 1}, {NSM, 2}, { ON, 12}, { L, 55}, {NSM, 7}, + { L, 8}, {NSM, 1}, { L, 2}, {NSM, 11}, { L, 7}, + { ET, 1}, { L, 1}, { ON, 3}, { L, 10}, { ON, 33}, + {NSM, 3}, { BN, 1}, { ON, 1}, { L, 10}, { ON, 6}, + { L, 88}, { ON, 8}, { L, 41}, {NSM, 1}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 91}, + { L, 156}, { ON, 4}, { L, 90}, { ON, 6}, { L, 22}, + { ON, 2}, { L, 6}, { ON, 2}, { L, 38}, { ON, 2}, + { L, 6}, { ON, 2}, { L, 8}, { ON, 1}, { L, 1}, + { ON, 1}, { L, 1}, { ON, 1}, { L, 1}, { ON, 1}, + { L, 31}, { ON, 2}, { L, 53}, { ON, 1}, { L, 7}, + { ON, 1}, { L, 1}, { ON, 3}, { L, 3}, { ON, 1}, + { L, 7}, { ON, 3}, { L, 4}, { ON, 2}, { L, 6}, + { ON, 4}, { L, 13}, { ON, 5}, { L, 3}, { ON, 1}, + { L, 7}, { ON, 3}, { WS, 11}, { BN, 3}, { L, 1}, + { R, 1}, { ON, 24}, { WS, 1}, { B, 1}, {LRE, 1}, + {RLE, 1}, {PDF, 1}, {LRO, 1}, {RLO, 1}, { WS, 1}, + { ET, 5}, { ON, 42}, { WS, 1}, { BN, 4}, { ON, 6}, + { BN, 6}, { EN, 1}, { L, 1}, { ON, 2}, { EN, 6}, + { ET, 2}, { ON, 3}, { L, 1}, { EN, 10}, { ET, 2}, + { ON, 20}, { ET, 18}, { ON, 30}, {NSM, 27}, { ON, 23}, + { L, 1}, { ON, 4}, { L, 1}, { ON, 2}, { L, 10}, + { ON, 1}, { L, 1}, { ON, 3}, { L, 5}, { ON, 6}, + { L, 1}, { ON, 1}, { L, 1}, { ON, 1}, { L, 1}, + { ON, 1}, { L, 4}, { ET, 1}, { L, 3}, { ON, 1}, + { L, 7}, { ON, 3}, { L, 3}, { ON, 5}, { L, 5}, + { ON, 22}, { L, 36}, { ON, 142}, { ET, 2}, { ON, 255}, + { ON, 35}, { L, 69}, { ON, 26}, { L, 1}, { ON, 202}, + { EN, 60}, { L, 78}, { EN, 1}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 32}, + { WS, 1}, { ON, 4}, { L, 3}, { ON, 25}, { L, 9}, + {NSM, 6}, { ON, 1}, { L, 5}, { ON, 2}, { L, 5}, + { ON, 4}, { L, 86}, { ON, 2}, {NSM, 2}, { ON, 2}, + { L, 3}, { ON, 1}, { L, 90}, { ON, 1}, { L, 4}, + { ON, 5}, { L, 40}, { ON, 4}, { L, 94}, { ON, 1}, + { L, 40}, { ON, 56}, { L, 45}, { ON, 3}, { L, 36}, + { ON, 28}, { L, 28}, { ON, 3}, { L, 50}, { ON, 15}, + { L, 12}, { ON, 4}, { L, 47}, { ON, 1}, { L, 119}, + { ON, 4}, { L, 99}, { ON, 2}, { L, 31}, { ON, 1}, + { L, 1}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 205}, { L, 1}, { ON, 74}, { L, 1}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 245}, { L, 1}, { ON, 90}, { L, 255}, + { L, 255}, { L, 255}, { L, 255}, { L, 145}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 122}, { L, 1}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 205}, { L, 1}, { ON, 92}, { L, 1}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 129}, { L, 2}, + { ON, 126}, { L, 2}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 2}, { L, 2}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, { ON, 255}, + { ON, 255}, { ON, 255}, { ON, 255}, { ON, 23}, { L, 255}, + { L, 48}, { ON, 2}, { L, 59}, { ON, 149}, { L, 7}, + { ON, 12}, { L, 5}, { ON, 5}, { R, 1}, {NSM, 1}, + { R, 10}, { ET, 1}, { R, 13}, { ON, 1}, { R, 5}, + { ON, 1}, { R, 1}, { ON, 1}, { R, 2}, { ON, 1}, + { R, 2}, { ON, 1}, { R, 10}, { AL, 98}, { ON, 33}, + { AL, 255}, { AL, 108}, { ON, 18}, { AL, 64}, { ON, 2}, + { AL, 54}, { ON, 40}, { AL, 13}, { ON, 3}, {NSM, 16}, + { ON, 16}, {NSM, 4}, { ON, 44}, { CS, 1}, { ON, 1}, + { CS, 1}, { ON, 2}, { CS, 1}, { ON, 9}, { ET, 1}, + { ON, 2}, { ET, 2}, { ON, 5}, { ET, 2}, { ON, 5}, + { AL, 5}, { ON, 1}, { AL, 135}, { ON, 2}, { BN, 1}, + { ON, 3}, { ET, 3}, { ON, 5}, { ET, 1}, { CS, 1}, + { ET, 1}, { CS, 1}, { ES, 1}, { EN, 10}, { CS, 1}, + { ON, 6}, { L, 26}, { ON, 6}, { L, 26}, { ON, 11}, + { L, 89}, { ON, 3}, { L, 6}, { ON, 2}, { L, 6}, + { ON, 2}, { L, 6}, { ON, 2}, { L, 3}, { ON, 3}, + { ET, 2}, { ON, 3}, { ET, 2}, { ON, 9}, { L, 14}, }; -- 2.11.0