diff --git a/data/a.wav b/data/a.wav new file mode 100644 index 000000000..a335344d0 Binary files /dev/null and b/data/a.wav differ diff --git a/data/address.wav b/data/address.wav new file mode 100644 index 000000000..d6ed09383 Binary files /dev/null and b/data/address.wav differ diff --git a/data/b.wav b/data/b.wav new file mode 100644 index 000000000..2da7f6428 Binary files /dev/null and b/data/b.wav differ diff --git a/data/c.wav b/data/c.wav new file mode 100644 index 000000000..041cda0cc Binary files /dev/null and b/data/c.wav differ diff --git a/data/city.wav b/data/city.wav new file mode 100644 index 000000000..efe4eadd9 Binary files /dev/null and b/data/city.wav differ diff --git a/data/d.wav b/data/d.wav new file mode 100644 index 000000000..9b94654ef Binary files /dev/null and b/data/d.wav differ diff --git a/data/demofont.hpp b/data/demofont.hpp new file mode 100644 index 000000000..6e1ec5c4f --- /dev/null +++ b/data/demofont.hpp @@ -0,0 +1,541 @@ +unsigned char demofont_bin[] = { + 0xff, 0xff, 0xff, 0xff, 0xc7, 0xe4, 0xeb, 0xa3, 0xc0, 0xef, 0x82, 0x65, + 0xcc, 0x6a, 0x50, 0xc8, 0x8c, 0x99, 0xa6, 0x78, 0x76, 0x8d, 0x57, 0x66, + 0xa5, 0x3f, 0x52, 0x7d, 0x2d, 0x66, 0x91, 0x19, 0x46, 0x72, 0x00, 0x5e, + 0x72, 0x00, 0x28, 0x60, 0x00, 0x58, 0x41, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x97, 0x77, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0xbd, 0xdd, 0xdd, 0xdd, + 0xd7, 0x00, 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x60, 0x00, 0x00, + 0xb9, 0x99, 0x99, 0x99, 0x99, 0x92, 0x00, 0x00, 0xb7, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x20, 0x00, 0xbb, 0xbb, 0xbb, 0x66, 0x66, 0x66, 0x66, 0x00, + 0x00, 0x00, 0x00, 0xb5, 0x55, 0x55, 0x55, 0x70, 0x00, 0x00, 0x00, 0x0b, + 0x22, 0x22, 0x22, 0x27, 0xb9, 0x77, 0x77, 0x77, 0x77, 0x42, 0x22, 0x47, + 0xbe, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xe7, 0xbc, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xc7, 0xba, 0xaa, 0xaa, 0xa7, 0xba, 0xaa, 0xaa, 0xa7, + 0xb8, 0x88, 0x88, 0x87, 0xb8, 0x88, 0x88, 0x87, 0xb4, 0x44, 0x44, 0x47, + 0xb4, 0x44, 0x44, 0x47, 0xb3, 0x33, 0x33, 0x37, 0xb3, 0x33, 0x33, 0x37, + 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x09, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x00, 0x00, 0x0b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0x60, 0x00, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb5, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0x99, 0x99, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x67, 0x09, 0x77, 0x77, 0x77, + 0x79, 0x55, 0x55, 0x57, 0x0b, 0x22, 0x22, 0x22, 0x22, 0x22, 0x27, 0x70, + 0x0b, 0x42, 0x22, 0x22, 0x22, 0x22, 0x47, 0x70, 0x0b, 0xee, 0xee, 0xeb, + 0xbb, 0xee, 0xee, 0xe6, 0x0b, 0xcc, 0xcc, 0xc6, 0x0b, 0xcc, 0xcc, 0xc6, + 0x0b, 0xaa, 0xaa, 0xa6, 0x0b, 0xaa, 0xaa, 0xa6, 0x0b, 0x88, 0x88, 0x86, + 0x66, 0x88, 0x88, 0xb0, 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x4b, 0x00, + 0x0b, 0x33, 0x33, 0x33, 0x33, 0x33, 0xb0, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x77, 0x76, 0x00, + 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0x50, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xb6, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0x99, 0x99, 0x97, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0xbb, 0xbb, 0xb7, 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x22, 0x22, 0x27, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x42, 0x22, 0x47, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0xee, 0xee, 0xe7, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0xcc, 0xcc, 0xc7, 0x0b, 0x66, 0x66, 0x65, 0x0b, 0xaa, 0xaa, 0xa6, + 0x0b, 0xaa, 0xaa, 0xa6, 0x0b, 0x88, 0x88, 0x86, 0x6b, 0x88, 0x88, 0x86, + 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x46, 0x00, 0xb3, 0x33, 0x33, + 0x33, 0x33, 0x33, 0xb0, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x00, + 0x0b, 0x77, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x0b, 0xdd, 0xdd, 0xdd, + 0xdd, 0x70, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xb6, 0x00, 0x00, + 0x0b, 0xbb, 0xbb, 0xbb, 0x99, 0x99, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xb7, 0x77, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x60, + 0x07, 0x77, 0x77, 0x77, 0x0b, 0x55, 0x55, 0x57, 0x0b, 0x22, 0x22, 0x27, + 0x0b, 0x22, 0x22, 0x27, 0x0b, 0x42, 0x22, 0x47, 0x0b, 0x42, 0x22, 0x47, + 0x0b, 0xee, 0xee, 0xe7, 0x0b, 0xee, 0xee, 0xe7, 0x0b, 0xcc, 0xcc, 0xc7, + 0x0b, 0xcc, 0xcc, 0xc6, 0x0b, 0xaa, 0xaa, 0xa6, 0x0b, 0xaa, 0xaa, 0xa6, + 0x0b, 0x88, 0x88, 0x86, 0x6b, 0x88, 0x88, 0x86, 0x0b, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0xb0, 0x0b, 0x33, 0x33, 0x33, 0x33, 0x33, 0x3b, 0x00, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb0, 0x00, 0x0b, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x0b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xd7, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x76, 0x00, 0x0b, 0x22, 0x22, 0x22, 0x22, 0x22, 0x27, 0x00, + 0x0b, 0x42, 0x22, 0x22, 0x22, 0x22, 0x27, 0x00, 0x0b, 0xee, 0xee, 0xeb, + 0xbb, 0xbb, 0xbb, 0x00, 0x0b, 0xcc, 0xcc, 0xc7, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0xaa, 0xaa, 0xa7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x88, 0x88, 0x87, + 0x77, 0x77, 0x77, 0x76, 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, + 0x0b, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x37, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0x0b, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x0b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xd7, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x00, + 0x0b, 0x22, 0x22, 0x22, 0x22, 0x22, 0x27, 0x00, 0x0b, 0x42, 0x22, 0x22, + 0x22, 0x22, 0x27, 0x00, 0x0b, 0xee, 0xee, 0xeb, 0xbb, 0xbb, 0xbb, 0x00, + 0x0b, 0xcc, 0xcc, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xaa, 0xaa, 0xa7, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x88, 0x88, 0x87, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x44, 0x44, 0x47, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x33, 0x33, 0x37, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x00, 0xbd, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0xd7, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, + 0x0b, 0x99, 0x99, 0x9b, 0xbb, 0xbb, 0xbb, 0xbb, 0x0b, 0x77, 0x77, 0x77, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x67, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x55, 0x55, 0x57, 0x77, 0x77, 0x77, 0x77, 0x0b, 0x22, 0x22, 0x27, + 0x22, 0x22, 0x22, 0x27, 0x0b, 0x42, 0x22, 0x47, 0x22, 0x22, 0x22, 0x47, + 0x0b, 0xee, 0xee, 0xe6, 0xbb, 0xee, 0xee, 0xe6, 0x0b, 0xcc, 0xcc, 0xc6, + 0x0b, 0xcc, 0xcc, 0xc6, 0x0b, 0xaa, 0xaa, 0xa6, 0x0b, 0xaa, 0xaa, 0xa6, + 0x0b, 0x88, 0x88, 0x86, 0x66, 0x88, 0x88, 0xb0, 0x0b, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x4b, 0x00, 0x00, 0xb3, 0x33, 0x33, 0x33, 0x33, 0xb0, 0x00, + 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x77, 0x77, + 0x0b, 0x77, 0x60, 0x00, 0x00, 0x0b, 0xdd, 0xd7, 0x0b, 0xdd, 0xd5, 0x00, + 0x00, 0xbb, 0xbb, 0xb7, 0x0b, 0xbb, 0xbb, 0x60, 0x0b, 0x99, 0x99, 0x97, + 0x0b, 0x99, 0x99, 0x97, 0x0b, 0x77, 0x77, 0x77, 0x0b, 0x77, 0x77, 0x77, + 0x0b, 0x66, 0x66, 0x67, 0x0b, 0x66, 0x66, 0x67, 0x0b, 0x55, 0x55, 0x57, + 0x77, 0x55, 0x55, 0x57, 0x0b, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x27, + 0x0b, 0x42, 0x22, 0x22, 0x22, 0x22, 0x22, 0x47, 0x0b, 0xee, 0xee, 0xeb, + 0xbb, 0xee, 0xee, 0xe6, 0x0b, 0xcc, 0xcc, 0xc6, 0x0b, 0xcc, 0xcc, 0xc6, + 0x0b, 0xaa, 0xaa, 0xa6, 0x0b, 0xaa, 0xaa, 0xa6, 0x0b, 0x88, 0x88, 0x86, + 0x0b, 0x88, 0x88, 0x86, 0x00, 0xb4, 0x44, 0x46, 0x0b, 0x44, 0x44, 0xb0, + 0x00, 0x0b, 0x33, 0x36, 0x0b, 0x33, 0x3b, 0x00, 0x00, 0x00, 0xbb, 0xbb, + 0x0b, 0xbb, 0xb0, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x77, 0x77, 0x00, + 0x00, 0x0b, 0xdd, 0xdd, 0xdd, 0xdd, 0xd7, 0x00, 0x00, 0x0b, 0xbb, 0xbb, + 0xbb, 0xbb, 0xb7, 0x00, 0x00, 0x0b, 0xbb, 0x99, 0x99, 0x9b, 0xb7, 0x00, + 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, + 0x66, 0x67, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x55, 0x55, 0x57, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x22, 0x22, 0x27, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x42, + 0x22, 0x47, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xee, 0xee, 0xe6, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xaa, + 0xaa, 0xa6, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x88, 0x88, 0x86, 0x66, 0x00, + 0x00, 0x0b, 0x44, 0x44, 0x44, 0x44, 0x46, 0x00, 0x00, 0x0b, 0x33, 0x33, + 0x33, 0x33, 0x36, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0xdd, 0xdd, 0xd7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xb7, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x99, 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x67, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x22, 0x22, 0x27, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x42, 0x22, 0x47, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xee, 0xee, 0xe7, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0xc7, 0x07, 0x77, 0x77, 0x77, + 0x0b, 0xcc, 0xcc, 0xc7, 0x0b, 0xaa, 0xaa, 0xa7, 0x0b, 0xaa, 0xaa, 0xa7, + 0x0b, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x87, 0x0b, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x4b, 0x00, 0xb3, 0x33, 0x33, 0x33, 0x33, 0x33, 0xb0, + 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x00, 0x0b, 0x77, 0x77, 0x77, + 0x0b, 0x77, 0x77, 0x77, 0x0b, 0xdd, 0xdd, 0xd7, 0x0b, 0xdd, 0xdd, 0xd7, + 0x0b, 0xbb, 0xbb, 0xb7, 0x0b, 0xbb, 0xbb, 0xb7, 0x0b, 0x99, 0x99, 0x97, + 0xb9, 0x99, 0x99, 0x97, 0x0b, 0x77, 0x77, 0x7b, 0x77, 0x77, 0x77, 0x70, + 0x0b, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x00, 0x0b, 0x55, 0x55, 0x55, + 0x55, 0x55, 0x70, 0x00, 0x0b, 0x22, 0x22, 0x22, 0x22, 0x27, 0x00, 0x00, + 0x0b, 0x42, 0x22, 0x22, 0x22, 0x47, 0x00, 0x00, 0x0b, 0xee, 0xee, 0xee, + 0xee, 0xee, 0x60, 0x00, 0x0b, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xc6, 0x00, + 0x0b, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x60, 0x0b, 0x88, 0x88, 0x86, + 0xb8, 0x88, 0x88, 0x86, 0x0b, 0x44, 0x44, 0x46, 0x0b, 0x44, 0x44, 0x46, + 0x0b, 0x33, 0x33, 0x36, 0x0b, 0x33, 0x33, 0x36, 0x0b, 0xbb, 0xbb, 0xbb, + 0x0b, 0xbb, 0xbb, 0xbb, 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0xdd, 0xdd, 0xd7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xb7, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x99, 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x67, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x55, 0x55, 0x57, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x22, 0x22, 0x27, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x42, 0x22, 0x47, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0xee, 0xee, 0xe6, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0xcc, 0xcc, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xaa, 0xaa, 0xa6, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x88, 0x88, 0x86, 0x66, 0x66, 0x66, 0x52, + 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x45, 0x0b, 0x33, 0x33, 0x33, + 0x33, 0x33, 0x33, 0x36, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, + 0x0b, 0x77, 0x77, 0x70, 0x00, 0x77, 0x77, 0x77, 0x0b, 0xdd, 0xdd, 0xd7, + 0x0b, 0xdd, 0xdd, 0xd7, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb7, + 0x0b, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x97, 0x0b, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x0b, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, + 0x0b, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0x0b, 0x22, 0x22, 0x72, + 0x22, 0xb2, 0x22, 0x27, 0x0b, 0x42, 0x24, 0x7b, 0x5b, 0xb4, 0x22, 0x47, + 0x0b, 0xcc, 0xcc, 0x60, 0xb0, 0xbc, 0xcc, 0xc6, 0x0b, 0xaa, 0xaa, 0x60, + 0x00, 0xba, 0xaa, 0xa6, 0x0b, 0x88, 0x88, 0x60, 0x00, 0xb8, 0x88, 0x86, + 0x0b, 0x88, 0x88, 0x60, 0x00, 0xb8, 0x88, 0x86, 0x0b, 0x44, 0x44, 0x60, + 0x00, 0xb4, 0x44, 0x46, 0x0b, 0x33, 0x33, 0x60, 0x00, 0xb3, 0x33, 0x36, + 0x0b, 0xbb, 0xbb, 0xb0, 0x00, 0xbb, 0xbb, 0xbb, 0x0b, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x60, 0x00, 0x0b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xd5, 0x00, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x50, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0x99, 0x99, 0x96, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x67, 0x0b, 0x77, 0x77, 0x77, + 0x0b, 0x55, 0x55, 0x57, 0x0b, 0x22, 0x22, 0x27, 0x0b, 0x22, 0x22, 0x27, + 0x0b, 0x42, 0x22, 0x47, 0x0b, 0x42, 0x22, 0x47, 0x0b, 0xee, 0xee, 0xe7, + 0x0b, 0xee, 0xee, 0xe7, 0x0b, 0xcc, 0xcc, 0xc7, 0x0b, 0xcc, 0xcc, 0xc7, + 0x0b, 0xaa, 0xaa, 0xa7, 0x0b, 0xaa, 0xaa, 0xa7, 0x0b, 0x88, 0x88, 0x87, + 0x0b, 0x88, 0x88, 0x87, 0x0b, 0x44, 0x44, 0x47, 0x0b, 0x44, 0x44, 0x47, + 0x0b, 0x33, 0x33, 0x37, 0x0b, 0x33, 0x33, 0x37, 0x0b, 0xbb, 0xbb, 0xbb, + 0x0b, 0xbb, 0xbb, 0xbb, 0x00, 0x07, 0x77, 0x77, 0x77, 0x77, 0x76, 0x00, + 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0x50, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xb6, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0x99, 0x99, 0x97, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x66, 0x66, 0x67, 0x0b, 0x77, 0x77, 0x77, 0x0b, 0x55, 0x55, 0x57, + 0x0b, 0x22, 0x22, 0x27, 0x0b, 0x22, 0x22, 0x27, 0x0b, 0x42, 0x22, 0x47, + 0x0b, 0x42, 0x22, 0x47, 0x0b, 0xee, 0xee, 0xe6, 0x0b, 0xee, 0xee, 0xe7, + 0x0b, 0xcc, 0xcc, 0xc6, 0x0b, 0xcc, 0xcc, 0xc6, 0x0b, 0xaa, 0xaa, 0xa6, + 0x0b, 0xaa, 0xaa, 0xa6, 0x0b, 0x88, 0x88, 0x86, 0x66, 0x88, 0x88, 0x86, + 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x4b, 0x00, 0xb3, 0x33, 0x33, + 0x33, 0x33, 0x33, 0xb0, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x00, + 0x0b, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x00, 0x0b, 0xdd, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0x50, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb6, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0x99, 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x67, + 0x0b, 0x77, 0x77, 0x77, 0x77, 0x55, 0x55, 0x57, 0x0b, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x27, 0x0b, 0x42, 0x22, 0x22, 0x22, 0x22, 0x24, 0xb0, + 0x0b, 0xee, 0xee, 0xeb, 0xbb, 0xbb, 0xbb, 0x00, 0x0b, 0xcc, 0xcc, 0xc7, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0xaa, 0xaa, 0xa7, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x88, 0x88, 0x87, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x44, 0x44, 0x47, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x33, 0x33, 0x37, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x77, 0x77, + 0x77, 0x77, 0x76, 0x00, 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0x50, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb6, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0x99, 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x67, 0x0b, 0x77, 0x77, 0x77, + 0x0b, 0x55, 0x55, 0x57, 0x0b, 0x22, 0x22, 0x27, 0x0b, 0x22, 0x22, 0x27, + 0x0b, 0x42, 0x22, 0x47, 0x0b, 0x42, 0x22, 0x47, 0x0b, 0xee, 0xee, 0xe6, + 0x0b, 0xee, 0xee, 0xe7, 0x0b, 0xcc, 0xcc, 0xc6, 0xbc, 0xcc, 0xc9, 0x70, + 0x0b, 0xaa, 0xaa, 0xa6, 0x0b, 0xaa, 0xaa, 0x90, 0x0b, 0x88, 0x88, 0x86, + 0x6b, 0x88, 0x88, 0x89, 0x0b, 0x44, 0x44, 0x44, 0x4b, 0x44, 0x44, 0x49, + 0x00, 0xb3, 0x33, 0x33, 0x3b, 0x33, 0x33, 0x39, 0x00, 0x0b, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xb9, 0x0b, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x00, + 0x0b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0x50, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xb6, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0x99, 0x99, 0x97, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x66, 0x66, 0x67, 0x0b, 0x77, 0x77, 0x77, 0x7b, 0x55, 0x55, 0x57, + 0x0b, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x27, 0x0b, 0x42, 0x22, 0x22, + 0x22, 0x22, 0x24, 0x70, 0x0b, 0xee, 0xee, 0xe7, 0xee, 0xee, 0xe7, 0x00, + 0x0b, 0xcc, 0xcc, 0xc7, 0xbc, 0xcc, 0xc6, 0x00, 0x0b, 0xaa, 0xaa, 0xa7, + 0x0b, 0xaa, 0xaa, 0x50, 0x0b, 0x88, 0x88, 0x87, 0x0b, 0x88, 0x88, 0x86, + 0x0b, 0x44, 0x44, 0x47, 0x0b, 0x44, 0x44, 0x47, 0x0b, 0x33, 0x33, 0x37, + 0x0b, 0x33, 0x33, 0x37, 0x0b, 0xbb, 0xbb, 0xbb, 0x0b, 0xbb, 0xbb, 0xbb, + 0x00, 0x07, 0x77, 0x77, 0x77, 0x77, 0x76, 0x00, 0x00, 0xbd, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0x50, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb6, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0x99, 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xb7, + 0x0b, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x00, 0x0b, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x50, 0x00, 0xb4, 0x22, 0x22, 0x22, 0x22, 0x22, 0x46, + 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xee, 0xee, 0xe7, 0x07, 0x77, 0x77, 0x77, + 0x0b, 0xcc, 0xcc, 0xc7, 0x0b, 0xaa, 0xaa, 0xa7, 0x0b, 0xaa, 0xaa, 0xa7, + 0x0b, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x87, 0x0b, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x4b, 0x00, 0xb3, 0x33, 0x33, 0x33, 0x33, 0x33, 0xb0, + 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x00, 0x0b, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x0b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xd7, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0b, 0xbb, 0xbb, 0x99, + 0x99, 0x9b, 0xbb, 0xbb, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x66, 0x66, 0x67, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x55, + 0x55, 0x57, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x22, 0x22, 0x27, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x42, 0x22, 0x47, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xee, + 0xee, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0xc7, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xaa, 0xaa, 0xa7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x88, + 0x88, 0x87, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x44, 0x44, 0x47, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x33, 0x33, 0x37, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, + 0xbb, 0xbb, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x0b, 0x77, 0x77, 0x77, + 0x0b, 0xdd, 0xdd, 0xd7, 0x0b, 0xdd, 0xdd, 0xd7, 0x0b, 0xbb, 0xbb, 0xb7, + 0x0b, 0xbb, 0xbb, 0xb7, 0x0b, 0x99, 0x99, 0x97, 0x0b, 0x99, 0x99, 0x97, + 0x0b, 0x77, 0x77, 0x77, 0x0b, 0x77, 0x77, 0x77, 0x0b, 0x66, 0x66, 0x67, + 0x0b, 0x66, 0x66, 0x67, 0x0b, 0x55, 0x55, 0x57, 0x0b, 0x55, 0x55, 0x57, + 0x0b, 0x22, 0x22, 0x27, 0x0b, 0x22, 0x22, 0x27, 0x0b, 0x42, 0x22, 0x47, + 0x0b, 0x42, 0x22, 0x47, 0x0b, 0xee, 0xee, 0xe7, 0x0b, 0xee, 0xee, 0xe7, + 0x0b, 0xcc, 0xcc, 0xc7, 0x0b, 0xcc, 0xcc, 0xc7, 0x0b, 0xaa, 0xaa, 0xa7, + 0x0b, 0xaa, 0xaa, 0xa7, 0x0b, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x87, + 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x00, 0xb3, 0x33, 0x33, + 0x33, 0x33, 0x33, 0x37, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, + 0x0b, 0x77, 0x77, 0x70, 0x00, 0xb7, 0x77, 0x77, 0x0b, 0xdd, 0xdd, 0x70, + 0x00, 0xbd, 0xdd, 0xd7, 0x0b, 0xbb, 0xbb, 0x70, 0x00, 0xbb, 0xbb, 0xb7, + 0x0b, 0xbb, 0xbb, 0x70, 0x00, 0xbb, 0xbb, 0xb7, 0x0b, 0x99, 0x99, 0x70, + 0x00, 0xb9, 0x99, 0x97, 0x0b, 0x77, 0x77, 0x70, 0x00, 0xb7, 0x77, 0x77, + 0x0b, 0x66, 0x66, 0x70, 0x00, 0xb6, 0x66, 0x67, 0x0b, 0x55, 0x55, 0x70, + 0x00, 0xb5, 0x55, 0x57, 0x0b, 0x22, 0x22, 0x70, 0x00, 0xb2, 0x22, 0x27, + 0x0b, 0x42, 0x24, 0xb7, 0x7b, 0xb4, 0x22, 0x47, 0x0b, 0xee, 0xee, 0xee, + 0xee, 0xee, 0xee, 0xe7, 0x00, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x70, + 0x00, 0x0b, 0xaa, 0xaa, 0xaa, 0xaa, 0xa7, 0x00, 0x00, 0x00, 0xb8, 0x88, + 0x88, 0x88, 0x70, 0x00, 0x00, 0x00, 0x0b, 0x44, 0x44, 0x47, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xbb, 0xbb, 0xb0, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x70, + 0x00, 0xb7, 0x77, 0x77, 0x0b, 0xdd, 0xdd, 0x70, 0x00, 0xbd, 0xdd, 0xd7, + 0x0b, 0xbb, 0xbb, 0x70, 0x00, 0xbb, 0xbb, 0xb7, 0x0b, 0x99, 0x99, 0x70, + 0x00, 0xb9, 0x99, 0x97, 0x0b, 0x77, 0x77, 0x70, 0x00, 0xb7, 0x77, 0x77, + 0x0b, 0x66, 0x66, 0x70, 0x00, 0xb6, 0x66, 0x67, 0x0b, 0x55, 0x55, 0x70, + 0x70, 0xb5, 0x55, 0x57, 0x0b, 0x22, 0x22, 0x7b, 0x27, 0xb2, 0x22, 0x27, + 0x0b, 0x42, 0x24, 0xb2, 0x22, 0xb4, 0x22, 0x47, 0x0b, 0xee, 0xee, 0xee, + 0xee, 0xee, 0xee, 0xe7, 0x0b, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xc7, + 0x0b, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xa7, 0x0b, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x0b, 0x44, 0x44, 0x44, 0xb4, 0x44, 0x44, 0x47, + 0x0b, 0x33, 0x33, 0x3b, 0x0b, 0x33, 0x33, 0x37, 0x0b, 0xbb, 0xbb, 0xb0, + 0x00, 0xbb, 0xbb, 0xbb, 0x0b, 0x77, 0x77, 0x77, 0x0b, 0x77, 0x77, 0x77, + 0x0b, 0xdd, 0xdd, 0xd7, 0x0b, 0xdd, 0xdd, 0xd7, 0x0b, 0xbb, 0xbb, 0xb7, + 0x0b, 0xbb, 0xbb, 0xb7, 0x0b, 0x99, 0x99, 0x97, 0x0b, 0x99, 0x99, 0x97, + 0x0b, 0x77, 0x77, 0x77, 0x0b, 0x77, 0x77, 0x77, 0x00, 0xb5, 0x55, 0x57, + 0x7b, 0x55, 0x55, 0x70, 0x00, 0x0b, 0x22, 0x22, 0x22, 0x22, 0x27, 0x00, + 0x00, 0x00, 0xb4, 0x22, 0x22, 0x24, 0x70, 0x00, 0x00, 0x0b, 0x42, 0x22, + 0x22, 0x22, 0x47, 0x00, 0x00, 0xbe, 0xee, 0xe7, 0x7b, 0xee, 0xee, 0x70, + 0x0b, 0xcc, 0xcc, 0xc7, 0x0b, 0xcc, 0xcc, 0xc7, 0x0b, 0xaa, 0xaa, 0xa7, + 0x0b, 0xaa, 0xaa, 0xa7, 0x0b, 0x88, 0x88, 0x87, 0x0b, 0x88, 0x88, 0x87, + 0x0b, 0x44, 0x44, 0x47, 0x0b, 0x44, 0x44, 0x47, 0x0b, 0x33, 0x33, 0x37, + 0x0b, 0x33, 0x33, 0x37, 0x0b, 0xbb, 0xbb, 0xbb, 0x0b, 0xbb, 0xbb, 0xbb, + 0x0b, 0x77, 0x77, 0x77, 0x0b, 0x77, 0x77, 0x77, 0x0b, 0xdd, 0xdd, 0xd7, + 0x0b, 0xdd, 0xdd, 0xd7, 0x0b, 0xbb, 0xbb, 0xb7, 0x0b, 0xbb, 0xbb, 0xb7, + 0x0b, 0x99, 0x99, 0x97, 0x0b, 0x99, 0x99, 0x97, 0x0b, 0x77, 0x77, 0x77, + 0x0b, 0x77, 0x77, 0x77, 0x0b, 0x66, 0x66, 0x67, 0x0b, 0x66, 0x66, 0x67, + 0x00, 0xb5, 0x55, 0x57, 0x7b, 0x55, 0x55, 0x70, 0x00, 0x0b, 0x22, 0x22, + 0x22, 0x22, 0x27, 0x00, 0x00, 0x00, 0xb4, 0x22, 0x22, 0x24, 0x70, 0x00, + 0x00, 0x00, 0x0b, 0xee, 0xee, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xcc, + 0xcc, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xaa, 0xaa, 0xa7, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x88, 0x88, 0x87, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x44, + 0x44, 0x47, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x33, 0x33, 0x37, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x0b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xd7, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb7, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xb7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x99, 0x99, 0x77, + 0x00, 0x00, 0x00, 0x00, 0xb7, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0x0b, + 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0xb2, 0x25, 0x55, 0x70, 0x00, + 0x00, 0x00, 0x0b, 0x42, 0x22, 0x47, 0x00, 0x00, 0x00, 0x00, 0xbe, 0xee, + 0xee, 0x70, 0x00, 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0xc7, 0x00, 0x00, 0x00, + 0x00, 0xba, 0xaa, 0xaa, 0x70, 0x00, 0x00, 0x00, 0x0b, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, + 0x0b, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x37, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb2, + 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xee, 0xee, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xba, + 0xa7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xb0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xdd, + 0xdd, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x99, + 0x99, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x55, + 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x42, 0x24, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xee, 0xee, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xcc, + 0xcc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, + 0x77, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x33, 0x33, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x77, 0x77, + 0x77, 0x77, 0x00, 0x00, 0x00, 0x0b, 0xdd, 0xdd, 0xdd, 0xdd, 0x70, 0x00, + 0x00, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb7, 0x00, 0x00, 0xbb, 0xbb, 0xb0, + 0x0b, 0xbb, 0xb7, 0x00, 0x00, 0xb9, 0x99, 0x90, 0x09, 0x99, 0x97, 0x00, + 0x00, 0x0b, 0x77, 0x77, 0x77, 0x77, 0x77, 0x00, 0x00, 0xb6, 0x66, 0x66, + 0x66, 0x66, 0x70, 0x00, 0x0b, 0x55, 0x55, 0x55, 0x55, 0x57, 0x00, 0x00, + 0xb4, 0x22, 0x22, 0x22, 0x24, 0x77, 0x77, 0x70, 0xbe, 0xee, 0xee, 0xee, + 0xee, 0xee, 0xee, 0xe7, 0xbc, 0xcc, 0xcc, 0xec, 0xcc, 0xcc, 0xcc, 0xc7, + 0xba, 0xaa, 0xaa, 0xae, 0xaa, 0xaa, 0xaa, 0xa7, 0xb8, 0x88, 0x88, 0x88, + 0xe8, 0x88, 0x88, 0x70, 0xb4, 0x44, 0x44, 0x44, 0x4e, 0x44, 0x44, 0x47, + 0x0b, 0x33, 0x33, 0x33, 0x33, 0xe3, 0x33, 0x37, 0x00, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xb0, 0x00, 0x00, 0x07, 0x77, 0x77, 0x77, 0x70, 0x00, + 0x00, 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xd7, 0x00, 0x00, 0x0b, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0x70, 0x00, 0xbb, 0xbb, 0xb0, 0x00, 0x0b, 0xbb, 0xb7, + 0x00, 0xb9, 0x99, 0x90, 0x00, 0x09, 0x99, 0x97, 0x00, 0xb7, 0x77, 0x70, + 0x07, 0x77, 0x77, 0x77, 0x00, 0xb7, 0x77, 0x70, 0x07, 0x77, 0x77, 0x77, + 0x00, 0xb5, 0x55, 0x55, 0x50, 0x05, 0x55, 0x57, 0x00, 0xb4, 0x22, 0x22, + 0x40, 0x04, 0x22, 0x47, 0x00, 0xbc, 0xcc, 0xc0, 0x00, 0x0c, 0xcc, 0xc7, + 0x00, 0xbc, 0xcc, 0xc0, 0x00, 0x0c, 0xcc, 0xc7, 0x00, 0xba, 0xaa, 0xa0, + 0x00, 0x0a, 0xaa, 0xa7, 0x00, 0xb8, 0x88, 0x80, 0x00, 0x08, 0x88, 0x87, + 0x00, 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0xb3, 0x33, + 0x33, 0x33, 0x37, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xb0, 0x00, + 0x00, 0x00, 0x00, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbd, + 0xdd, 0xd7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xb7, 0x00, 0x00, + 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0xb7, 0x00, 0x00, 0x00, 0x00, 0xb9, 0x99, + 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, 0xbb, 0xb7, 0x77, 0x77, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xb7, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb5, + 0x55, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb4, 0x22, 0x47, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xbe, 0xee, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbc, + 0xcc, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xba, 0xaa, 0xa7, 0x00, 0x00, + 0x00, 0xbb, 0xbb, 0xb8, 0x88, 0x87, 0x77, 0x77, 0x00, 0xb4, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x47, 0x00, 0xb3, 0x33, 0x33, 0x33, 0x33, 0x33, 0x37, + 0x00, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0x07, 0x77, + 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xd7, 0x00, + 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x70, 0x00, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xb7, 0x00, 0xb9, 0x99, 0x9b, 0x00, 0xb9, 0x99, 0x97, + 0x00, 0xbb, 0xbb, 0xbb, 0x00, 0xb7, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, + 0xbb, 0xb7, 0x77, 0x70, 0x00, 0x00, 0x00, 0x0b, 0xb5, 0x55, 0x57, 0x00, + 0x00, 0x00, 0x00, 0xbb, 0x42, 0x24, 0x70, 0x00, 0x00, 0x00, 0x0b, 0xbe, + 0xee, 0xe7, 0x00, 0x00, 0x00, 0x00, 0xbb, 0xcc, 0xcc, 0x70, 0x00, 0x00, + 0x00, 0x0b, 0xba, 0xaa, 0xa7, 0x00, 0x00, 0x00, 0x00, 0xbb, 0x88, 0x88, + 0x87, 0x77, 0x77, 0x77, 0x00, 0xb4, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, + 0x00, 0xb3, 0x33, 0x33, 0x33, 0x33, 0x33, 0x37, 0x00, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0x00, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xd7, 0x00, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0x70, 0x00, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb7, 0x00, + 0x00, 0x00, 0x00, 0xbb, 0xb9, 0x99, 0x70, 0x00, 0x00, 0x00, 0x00, 0xb7, + 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb7, 0x77, 0x77, 0x70, 0x00, + 0x00, 0x00, 0x00, 0xbb, 0xb5, 0x55, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xb4, 0x22, 0x47, 0x70, 0x00, 0x00, 0x00, 0x00, 0xbb, 0xbe, 0xee, 0xe7, + 0x00, 0xbb, 0xbb, 0xbb, 0x00, 0xbc, 0xcc, 0xc7, 0x00, 0xba, 0xaa, 0xab, + 0x00, 0xba, 0xaa, 0xa7, 0x00, 0xb8, 0x88, 0x8b, 0xbb, 0xb8, 0x88, 0x87, + 0x00, 0xbb, 0xb4, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0xb3, 0x33, + 0x33, 0x33, 0x37, 0x00, 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0xbb, 0xb0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x0b, + 0xbd, 0xdd, 0xd7, 0x00, 0x00, 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0xb7, 0x00, + 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xb7, 0x00, 0x00, 0x00, 0xbb, 0x99, + 0x99, 0x99, 0x97, 0x00, 0x00, 0x0b, 0xb7, 0x77, 0x77, 0x77, 0x77, 0x00, + 0x00, 0xbb, 0x77, 0x77, 0x77, 0x77, 0x77, 0x00, 0x00, 0xb5, 0x55, 0x50, + 0x05, 0x55, 0x57, 0x00, 0x00, 0xb4, 0x22, 0x40, 0x04, 0x22, 0x47, 0x77, + 0x00, 0xbe, 0xee, 0xee, 0xee, 0xee, 0xee, 0xe7, 0x00, 0xbc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xc7, 0x00, 0xbb, 0xbb, 0xbb, 0xba, 0xaa, 0xa7, 0x77, + 0x00, 0x00, 0x00, 0x00, 0xb8, 0x88, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xb4, 0x44, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb3, 0x33, 0x37, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0xb7, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xd7, + 0x00, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb7, 0x00, 0xbb, 0xbb, 0xb7, + 0x77, 0x77, 0x77, 0x77, 0x00, 0xb9, 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xb7, 0x77, 0x77, 0x77, 0x77, 0x77, 0x00, 0x00, 0xbb, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x70, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xb5, 0x55, 0x77, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xb4, 0x22, 0x47, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xbe, 0xee, 0xe7, 0x00, 0xbb, 0xbb, 0xbb, 0x00, 0xbc, 0xcc, 0xc7, + 0x00, 0xba, 0xaa, 0xab, 0x00, 0xba, 0xaa, 0xa7, 0x00, 0xb8, 0x88, 0x8b, + 0xbb, 0xb8, 0x88, 0x87, 0x00, 0x0b, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, + 0x00, 0x00, 0xb3, 0x33, 0x33, 0x33, 0x37, 0x00, 0x00, 0x00, 0x0b, 0xbb, + 0xbb, 0xbb, 0xb0, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x77, 0x00, + 0x00, 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xd7, 0x00, 0x00, 0x0b, 0xbb, 0xbb, + 0xbb, 0xbb, 0xb7, 0x00, 0x00, 0xbb, 0xbb, 0xb7, 0x77, 0x77, 0x77, 0x00, + 0x00, 0xb9, 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb7, 0x77, 0x77, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xb7, 0x77, 0x77, 0x77, 0x77, 0x77, 0x00, + 0x00, 0xb5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x70, 0x00, 0xb4, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x47, 0x00, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xc7, + 0x00, 0xbc, 0xcc, 0xc0, 0x00, 0x0c, 0xcc, 0xc7, 0x00, 0xba, 0xaa, 0xa0, + 0x00, 0x0a, 0xaa, 0xa7, 0x00, 0xb8, 0x88, 0x80, 0x00, 0x08, 0x88, 0x87, + 0x00, 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0xb3, 0x33, + 0x33, 0x33, 0x37, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xb0, 0x00, + 0x00, 0xb7, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x00, 0xbd, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0xd7, 0x00, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb7, + 0x00, 0xbb, 0xbb, 0xbb, 0xb0, 0x0b, 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xb9, 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, 0xb7, 0x77, 0x77, 0x77, + 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0xb5, + 0x55, 0x55, 0x77, 0x00, 0x00, 0x00, 0x0b, 0x42, 0x22, 0x47, 0x70, 0x00, + 0x00, 0x00, 0xbe, 0xee, 0xee, 0x77, 0x00, 0x00, 0x00, 0x00, 0xbc, 0xcc, + 0xc7, 0x70, 0x00, 0x00, 0x00, 0x00, 0xba, 0xaa, 0xa7, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xb8, 0x88, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb4, 0x44, + 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb3, 0x33, 0x37, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x77, + 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xd7, 0x00, + 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x70, 0x00, 0xbb, 0xbb, 0xb0, + 0x00, 0x0b, 0xbb, 0xb7, 0x00, 0xb9, 0x99, 0x90, 0x00, 0x09, 0x99, 0x97, + 0x00, 0xb7, 0x77, 0x70, 0x00, 0x07, 0x77, 0x77, 0x00, 0xbb, 0x77, 0x70, + 0x00, 0x07, 0x77, 0x77, 0x00, 0x00, 0xb5, 0x55, 0x55, 0x55, 0x57, 0x00, + 0x00, 0x0b, 0x42, 0x22, 0x22, 0x22, 0x24, 0x70, 0x00, 0xbc, 0xcc, 0xc0, + 0x00, 0x0c, 0xcc, 0xc7, 0x00, 0xbc, 0xcc, 0xc0, 0x00, 0x0c, 0xcc, 0xc7, + 0x00, 0xba, 0xaa, 0xa0, 0x00, 0x0a, 0xaa, 0xa7, 0x00, 0xb8, 0x88, 0x80, + 0x00, 0x08, 0x88, 0x87, 0x00, 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x70, + 0x00, 0x00, 0xb3, 0x33, 0x33, 0x33, 0x37, 0x00, 0x00, 0x00, 0x0b, 0xbb, + 0xbb, 0xbb, 0xb0, 0x00, 0x00, 0x00, 0x07, 0x77, 0x77, 0x77, 0x70, 0x00, + 0x00, 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xd7, 0x00, 0x00, 0x0b, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0x70, 0x00, 0xbb, 0xbb, 0xb0, 0x00, 0x0b, 0xbb, 0xb7, + 0x00, 0xb9, 0x99, 0x90, 0x00, 0x09, 0x99, 0x97, 0x00, 0xb7, 0x77, 0x70, + 0x00, 0x07, 0x77, 0x77, 0x00, 0xb7, 0x77, 0x70, 0x00, 0x07, 0x77, 0x77, + 0x00, 0xbb, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0x00, 0x0b, 0xb2, 0x22, + 0x22, 0x22, 0x22, 0x47, 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0xbe, 0xee, 0xe7, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbc, 0xcc, 0xc7, 0x00, 0x00, 0x00, 0x00, + 0xbb, 0xaa, 0xaa, 0x77, 0x00, 0x00, 0xbb, 0xbb, 0xb8, 0x88, 0x87, 0x70, + 0x00, 0x00, 0xb4, 0x44, 0x44, 0x44, 0x77, 0x00, 0x00, 0x00, 0xb3, 0x33, + 0x33, 0x37, 0x70, 0x00, 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0xbb, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xb6, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb6, + 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb9, 0x99, 0x96, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xb9, 0x99, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbb, + 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, + 0x66, 0x66, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xee, 0xee, 0x60, 0x00, + 0x00, 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0x60, 0x00, 0x00, 0x00, 0x0b, 0xbb, + 0xaa, 0xaa, 0x60, 0x00, 0x00, 0x00, 0x0b, 0x88, 0x88, 0x66, 0x60, 0x00, + 0x00, 0x00, 0x0b, 0x44, 0x44, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, + 0xbb, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xb9, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, + 0x77, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xb5, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, + 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb2, + 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xee, 0xee, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xba, + 0xa7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xb0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x7b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7d, 0xdb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xbb, 0xbb, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7b, 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x99, 0x99, 0x9b, 0x00, 0x00, 0x00, 0x00, 0x77, 0x77, 0x77, 0xb0, + 0x00, 0x00, 0x00, 0x07, 0x77, 0x77, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x75, + 0x55, 0x55, 0xb0, 0x00, 0x00, 0x00, 0x07, 0x42, 0x22, 0x4b, 0x00, 0x00, + 0x00, 0x00, 0x7e, 0xee, 0xeb, 0xb0, 0x00, 0x00, 0x00, 0x07, 0xcc, 0xcc, + 0xcb, 0x00, 0x00, 0x00, 0x00, 0x7a, 0xaa, 0xaa, 0xb0, 0x00, 0x00, 0x00, + 0x00, 0x78, 0x88, 0x8b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x44, 0xb0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xbb, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, + 0xbb, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x99, 0x99, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x77, 0x77, 0x70, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0x77, + 0x77, 0x77, 0x77, 0x70, 0x0b, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x70, + 0x0b, 0x42, 0x22, 0x22, 0x22, 0x22, 0x24, 0x70, 0x0b, 0xbb, 0xbb, 0xee, + 0xee, 0x77, 0x77, 0x70, 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xaa, 0xaa, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x88, + 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x77, 0x70, 0x00, + 0x00, 0xbb, 0xdd, 0xdd, 0xdd, 0xdd, 0x77, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xb7, 0x70, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x70, + 0x0b, 0x99, 0x99, 0xb0, 0x0b, 0x99, 0x99, 0x70, 0x0b, 0xbb, 0xbb, 0xb0, + 0xb7, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x70, + 0x00, 0x00, 0x00, 0xb5, 0x55, 0x55, 0x55, 0x70, 0x00, 0x00, 0x0b, 0x42, + 0x22, 0x22, 0x47, 0x00, 0x00, 0x00, 0x0b, 0xee, 0xee, 0xee, 0x70, 0x00, + 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, + 0xbb, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x33, + 0x33, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xb0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0b, + 0xdd, 0xdd, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0x60, 0x00, + 0x00, 0x00, 0x0b, 0xbb, 0xaa, 0xaa, 0x60, 0x00, 0x00, 0x00, 0x0b, 0x88, + 0x88, 0x66, 0x60, 0x00, 0x00, 0x00, 0x0b, 0x44, 0x44, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xb0, 0x00, 0x00, 0x07, 0xb0, 0x00, 0x00, + 0x07, 0x7b, 0x00, 0x00, 0x07, 0x7b, 0x00, 0x00, 0x07, 0x55, 0xb0, 0x00, + 0x07, 0x55, 0xb0, 0x00, 0x07, 0x22, 0x2b, 0x00, 0x07, 0x22, 0x2b, 0x00, + 0x07, 0xee, 0xee, 0xb0, 0x07, 0xee, 0xee, 0xb0, 0x00, 0x7c, 0xcc, 0xb0, + 0x00, 0x7c, 0xcc, 0xb0, 0x00, 0x07, 0xaa, 0xb0, 0x00, 0x07, 0xaa, 0xb0, + 0x00, 0x00, 0xbb, 0xb0, 0x00, 0x00, 0xbb, 0xb0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x70, 0x0b, 0x55, 0x55, 0x55, + 0x55, 0x55, 0x55, 0x70, 0x0b, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x70, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x77, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0x0b, 0xdd, + 0xdd, 0xdd, 0x70, 0x00, 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0xbb, 0x70, 0x00, + 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xb7, 0x00, 0x00, 0x00, 0x0b, 0x99, 0x99, + 0x99, 0x70, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, + 0x00, 0x0b, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x55, 0x55, + 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x42, 0x24, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x0b, 0xee, 0xee, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xcc, 0xcc, + 0xc7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xaa, 0xaa, 0xaa, 0x70, 0x00, 0x00, + 0x00, 0x0b, 0x88, 0x88, 0x88, 0x87, 0x00, 0x00, 0x00, 0x00, 0xb4, 0x44, + 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x0b, 0x33, 0x33, 0x33, 0x70, 0x00, + 0x00, 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0xb0, 0x00, 0x00, 0x00, 0x07, 0x77, + 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x07, 0xdd, 0xdd, 0xdd, 0xb0, 0x00, + 0x00, 0x00, 0x07, 0xbb, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x7b, + 0xbb, 0xbb, 0xbb, 0xb0, 0x00, 0x00, 0x00, 0x07, 0x99, 0x99, 0x99, 0xb0, + 0x00, 0x00, 0x00, 0x00, 0x77, 0x77, 0x77, 0xb0, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x77, 0x77, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x07, 0x55, 0x55, 0xb0, + 0x00, 0x00, 0x00, 0x00, 0x07, 0x42, 0x24, 0xb0, 0x00, 0x00, 0x00, 0x00, + 0x07, 0xee, 0xee, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xcc, 0xcc, 0xb0, + 0x00, 0x00, 0x00, 0x07, 0xaa, 0xaa, 0xaa, 0xb0, 0x00, 0x00, 0x00, 0x78, + 0x88, 0x88, 0x88, 0xb0, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x4b, 0x00, + 0x00, 0x00, 0x07, 0x33, 0x33, 0x33, 0xb0, 0x00, 0x00, 0x00, 0x0b, 0xbb, + 0xbb, 0xbb, 0x00, 0x00 +}; +unsigned int demofont_bin_len = 6448; diff --git a/data/e.wav b/data/e.wav new file mode 100644 index 000000000..d57658024 Binary files /dev/null and b/data/e.wav differ diff --git a/data/eight.wav b/data/eight.wav new file mode 100644 index 000000000..f11fa2f8f Binary files /dev/null and b/data/eight.wav differ diff --git a/data/f.wav b/data/f.wav new file mode 100644 index 000000000..c437691bd Binary files /dev/null and b/data/f.wav differ diff --git a/data/family.wav b/data/family.wav new file mode 100644 index 000000000..bf4b11e0c Binary files /dev/null and b/data/family.wav differ diff --git a/data/five.wav b/data/five.wav new file mode 100644 index 000000000..739d4aad6 Binary files /dev/null and b/data/five.wav differ diff --git a/data/four.wav b/data/four.wav new file mode 100644 index 000000000..af58fa233 Binary files /dev/null and b/data/four.wav differ diff --git a/data/header.wav b/data/header.wav new file mode 100644 index 000000000..4e0cd38ff Binary files /dev/null and b/data/header.wav differ diff --git a/data/ignore.wav b/data/ignore.wav new file mode 100644 index 000000000..6ba78657f Binary files /dev/null and b/data/ignore.wav differ diff --git a/data/nine.wav b/data/nine.wav new file mode 100644 index 000000000..c742b430d Binary files /dev/null and b/data/nine.wav differ diff --git a/data/off.wav b/data/off.wav new file mode 100644 index 000000000..65af80bbe Binary files /dev/null and b/data/off.wav differ diff --git a/data/on.wav b/data/on.wav new file mode 100644 index 000000000..2135bf316 Binary files /dev/null and b/data/on.wav differ diff --git a/data/one.wav b/data/one.wav new file mode 100644 index 000000000..d11750075 Binary files /dev/null and b/data/one.wav differ diff --git a/data/relays.wav b/data/relays.wav new file mode 100644 index 000000000..38127d3bf Binary files /dev/null and b/data/relays.wav differ diff --git a/data/seven.wav b/data/seven.wav new file mode 100644 index 000000000..3300898d1 Binary files /dev/null and b/data/seven.wav differ diff --git a/data/six.wav b/data/six.wav new file mode 100644 index 000000000..b0421c031 Binary files /dev/null and b/data/six.wav differ diff --git a/data/subfamily.wav b/data/subfamily.wav new file mode 100644 index 000000000..53c7e0f2a Binary files /dev/null and b/data/subfamily.wav differ diff --git a/data/three.wav b/data/three.wav new file mode 100644 index 000000000..5630043b8 Binary files /dev/null and b/data/three.wav differ diff --git a/data/trailer.wav b/data/trailer.wav new file mode 100644 index 000000000..83b15ab17 Binary files /dev/null and b/data/trailer.wav differ diff --git a/data/two.wav b/data/two.wav new file mode 100644 index 000000000..2c5eac9b7 Binary files /dev/null and b/data/two.wav differ diff --git a/data/zero.wav b/data/zero.wav new file mode 100644 index 000000000..de71ea157 Binary files /dev/null and b/data/zero.wav differ diff --git a/firmware/application/Makefile b/firmware/application/Makefile index f896b1f72..e6d6daa91 100755 --- a/firmware/application/Makefile +++ b/firmware/application/Makefile @@ -176,6 +176,7 @@ CPPSRC = main.cpp \ ui_afskrx.cpp \ ui_sigfrx.cpp \ ui_xylos.cpp \ + ui_numbers.cpp \ receiver_model.cpp \ transmitter_model.cpp \ spectrum_color_lut.cpp \ diff --git a/firmware/application/demofont.hpp b/firmware/application/demofont.hpp new file mode 100644 index 000000000..6e1ec5c4f --- /dev/null +++ b/firmware/application/demofont.hpp @@ -0,0 +1,541 @@ +unsigned char demofont_bin[] = { + 0xff, 0xff, 0xff, 0xff, 0xc7, 0xe4, 0xeb, 0xa3, 0xc0, 0xef, 0x82, 0x65, + 0xcc, 0x6a, 0x50, 0xc8, 0x8c, 0x99, 0xa6, 0x78, 0x76, 0x8d, 0x57, 0x66, + 0xa5, 0x3f, 0x52, 0x7d, 0x2d, 0x66, 0x91, 0x19, 0x46, 0x72, 0x00, 0x5e, + 0x72, 0x00, 0x28, 0x60, 0x00, 0x58, 0x41, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x97, 0x77, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0xbd, 0xdd, 0xdd, 0xdd, + 0xd7, 0x00, 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x60, 0x00, 0x00, + 0xb9, 0x99, 0x99, 0x99, 0x99, 0x92, 0x00, 0x00, 0xb7, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x20, 0x00, 0xbb, 0xbb, 0xbb, 0x66, 0x66, 0x66, 0x66, 0x00, + 0x00, 0x00, 0x00, 0xb5, 0x55, 0x55, 0x55, 0x70, 0x00, 0x00, 0x00, 0x0b, + 0x22, 0x22, 0x22, 0x27, 0xb9, 0x77, 0x77, 0x77, 0x77, 0x42, 0x22, 0x47, + 0xbe, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xe7, 0xbc, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xc7, 0xba, 0xaa, 0xaa, 0xa7, 0xba, 0xaa, 0xaa, 0xa7, + 0xb8, 0x88, 0x88, 0x87, 0xb8, 0x88, 0x88, 0x87, 0xb4, 0x44, 0x44, 0x47, + 0xb4, 0x44, 0x44, 0x47, 0xb3, 0x33, 0x33, 0x37, 0xb3, 0x33, 0x33, 0x37, + 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x09, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x00, 0x00, 0x0b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0x60, 0x00, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb5, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0x99, 0x99, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x67, 0x09, 0x77, 0x77, 0x77, + 0x79, 0x55, 0x55, 0x57, 0x0b, 0x22, 0x22, 0x22, 0x22, 0x22, 0x27, 0x70, + 0x0b, 0x42, 0x22, 0x22, 0x22, 0x22, 0x47, 0x70, 0x0b, 0xee, 0xee, 0xeb, + 0xbb, 0xee, 0xee, 0xe6, 0x0b, 0xcc, 0xcc, 0xc6, 0x0b, 0xcc, 0xcc, 0xc6, + 0x0b, 0xaa, 0xaa, 0xa6, 0x0b, 0xaa, 0xaa, 0xa6, 0x0b, 0x88, 0x88, 0x86, + 0x66, 0x88, 0x88, 0xb0, 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x4b, 0x00, + 0x0b, 0x33, 0x33, 0x33, 0x33, 0x33, 0xb0, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x77, 0x76, 0x00, + 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0x50, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xb6, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0x99, 0x99, 0x97, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0xbb, 0xbb, 0xb7, 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x22, 0x22, 0x27, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x42, 0x22, 0x47, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0xee, 0xee, 0xe7, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0xcc, 0xcc, 0xc7, 0x0b, 0x66, 0x66, 0x65, 0x0b, 0xaa, 0xaa, 0xa6, + 0x0b, 0xaa, 0xaa, 0xa6, 0x0b, 0x88, 0x88, 0x86, 0x6b, 0x88, 0x88, 0x86, + 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x46, 0x00, 0xb3, 0x33, 0x33, + 0x33, 0x33, 0x33, 0xb0, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x00, + 0x0b, 0x77, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x0b, 0xdd, 0xdd, 0xdd, + 0xdd, 0x70, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xb6, 0x00, 0x00, + 0x0b, 0xbb, 0xbb, 0xbb, 0x99, 0x99, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xb7, 0x77, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x60, + 0x07, 0x77, 0x77, 0x77, 0x0b, 0x55, 0x55, 0x57, 0x0b, 0x22, 0x22, 0x27, + 0x0b, 0x22, 0x22, 0x27, 0x0b, 0x42, 0x22, 0x47, 0x0b, 0x42, 0x22, 0x47, + 0x0b, 0xee, 0xee, 0xe7, 0x0b, 0xee, 0xee, 0xe7, 0x0b, 0xcc, 0xcc, 0xc7, + 0x0b, 0xcc, 0xcc, 0xc6, 0x0b, 0xaa, 0xaa, 0xa6, 0x0b, 0xaa, 0xaa, 0xa6, + 0x0b, 0x88, 0x88, 0x86, 0x6b, 0x88, 0x88, 0x86, 0x0b, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0xb0, 0x0b, 0x33, 0x33, 0x33, 0x33, 0x33, 0x3b, 0x00, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb0, 0x00, 0x0b, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x0b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xd7, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x76, 0x00, 0x0b, 0x22, 0x22, 0x22, 0x22, 0x22, 0x27, 0x00, + 0x0b, 0x42, 0x22, 0x22, 0x22, 0x22, 0x27, 0x00, 0x0b, 0xee, 0xee, 0xeb, + 0xbb, 0xbb, 0xbb, 0x00, 0x0b, 0xcc, 0xcc, 0xc7, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0xaa, 0xaa, 0xa7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x88, 0x88, 0x87, + 0x77, 0x77, 0x77, 0x76, 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, + 0x0b, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x37, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0x0b, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x0b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xd7, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x00, + 0x0b, 0x22, 0x22, 0x22, 0x22, 0x22, 0x27, 0x00, 0x0b, 0x42, 0x22, 0x22, + 0x22, 0x22, 0x27, 0x00, 0x0b, 0xee, 0xee, 0xeb, 0xbb, 0xbb, 0xbb, 0x00, + 0x0b, 0xcc, 0xcc, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xaa, 0xaa, 0xa7, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x88, 0x88, 0x87, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x44, 0x44, 0x47, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x33, 0x33, 0x37, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x00, 0xbd, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0xd7, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, + 0x0b, 0x99, 0x99, 0x9b, 0xbb, 0xbb, 0xbb, 0xbb, 0x0b, 0x77, 0x77, 0x77, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x67, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x55, 0x55, 0x57, 0x77, 0x77, 0x77, 0x77, 0x0b, 0x22, 0x22, 0x27, + 0x22, 0x22, 0x22, 0x27, 0x0b, 0x42, 0x22, 0x47, 0x22, 0x22, 0x22, 0x47, + 0x0b, 0xee, 0xee, 0xe6, 0xbb, 0xee, 0xee, 0xe6, 0x0b, 0xcc, 0xcc, 0xc6, + 0x0b, 0xcc, 0xcc, 0xc6, 0x0b, 0xaa, 0xaa, 0xa6, 0x0b, 0xaa, 0xaa, 0xa6, + 0x0b, 0x88, 0x88, 0x86, 0x66, 0x88, 0x88, 0xb0, 0x0b, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x4b, 0x00, 0x00, 0xb3, 0x33, 0x33, 0x33, 0x33, 0xb0, 0x00, + 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x77, 0x77, + 0x0b, 0x77, 0x60, 0x00, 0x00, 0x0b, 0xdd, 0xd7, 0x0b, 0xdd, 0xd5, 0x00, + 0x00, 0xbb, 0xbb, 0xb7, 0x0b, 0xbb, 0xbb, 0x60, 0x0b, 0x99, 0x99, 0x97, + 0x0b, 0x99, 0x99, 0x97, 0x0b, 0x77, 0x77, 0x77, 0x0b, 0x77, 0x77, 0x77, + 0x0b, 0x66, 0x66, 0x67, 0x0b, 0x66, 0x66, 0x67, 0x0b, 0x55, 0x55, 0x57, + 0x77, 0x55, 0x55, 0x57, 0x0b, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x27, + 0x0b, 0x42, 0x22, 0x22, 0x22, 0x22, 0x22, 0x47, 0x0b, 0xee, 0xee, 0xeb, + 0xbb, 0xee, 0xee, 0xe6, 0x0b, 0xcc, 0xcc, 0xc6, 0x0b, 0xcc, 0xcc, 0xc6, + 0x0b, 0xaa, 0xaa, 0xa6, 0x0b, 0xaa, 0xaa, 0xa6, 0x0b, 0x88, 0x88, 0x86, + 0x0b, 0x88, 0x88, 0x86, 0x00, 0xb4, 0x44, 0x46, 0x0b, 0x44, 0x44, 0xb0, + 0x00, 0x0b, 0x33, 0x36, 0x0b, 0x33, 0x3b, 0x00, 0x00, 0x00, 0xbb, 0xbb, + 0x0b, 0xbb, 0xb0, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x77, 0x77, 0x00, + 0x00, 0x0b, 0xdd, 0xdd, 0xdd, 0xdd, 0xd7, 0x00, 0x00, 0x0b, 0xbb, 0xbb, + 0xbb, 0xbb, 0xb7, 0x00, 0x00, 0x0b, 0xbb, 0x99, 0x99, 0x9b, 0xb7, 0x00, + 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, + 0x66, 0x67, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x55, 0x55, 0x57, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x22, 0x22, 0x27, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x42, + 0x22, 0x47, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xee, 0xee, 0xe6, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xaa, + 0xaa, 0xa6, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x88, 0x88, 0x86, 0x66, 0x00, + 0x00, 0x0b, 0x44, 0x44, 0x44, 0x44, 0x46, 0x00, 0x00, 0x0b, 0x33, 0x33, + 0x33, 0x33, 0x36, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0xdd, 0xdd, 0xd7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xb7, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x99, 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x67, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x22, 0x22, 0x27, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x42, 0x22, 0x47, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xee, 0xee, 0xe7, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0xc7, 0x07, 0x77, 0x77, 0x77, + 0x0b, 0xcc, 0xcc, 0xc7, 0x0b, 0xaa, 0xaa, 0xa7, 0x0b, 0xaa, 0xaa, 0xa7, + 0x0b, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x87, 0x0b, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x4b, 0x00, 0xb3, 0x33, 0x33, 0x33, 0x33, 0x33, 0xb0, + 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x00, 0x0b, 0x77, 0x77, 0x77, + 0x0b, 0x77, 0x77, 0x77, 0x0b, 0xdd, 0xdd, 0xd7, 0x0b, 0xdd, 0xdd, 0xd7, + 0x0b, 0xbb, 0xbb, 0xb7, 0x0b, 0xbb, 0xbb, 0xb7, 0x0b, 0x99, 0x99, 0x97, + 0xb9, 0x99, 0x99, 0x97, 0x0b, 0x77, 0x77, 0x7b, 0x77, 0x77, 0x77, 0x70, + 0x0b, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x00, 0x0b, 0x55, 0x55, 0x55, + 0x55, 0x55, 0x70, 0x00, 0x0b, 0x22, 0x22, 0x22, 0x22, 0x27, 0x00, 0x00, + 0x0b, 0x42, 0x22, 0x22, 0x22, 0x47, 0x00, 0x00, 0x0b, 0xee, 0xee, 0xee, + 0xee, 0xee, 0x60, 0x00, 0x0b, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xc6, 0x00, + 0x0b, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x60, 0x0b, 0x88, 0x88, 0x86, + 0xb8, 0x88, 0x88, 0x86, 0x0b, 0x44, 0x44, 0x46, 0x0b, 0x44, 0x44, 0x46, + 0x0b, 0x33, 0x33, 0x36, 0x0b, 0x33, 0x33, 0x36, 0x0b, 0xbb, 0xbb, 0xbb, + 0x0b, 0xbb, 0xbb, 0xbb, 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0xdd, 0xdd, 0xd7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xb7, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x99, 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x67, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x55, 0x55, 0x57, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x22, 0x22, 0x27, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x42, 0x22, 0x47, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0xee, 0xee, 0xe6, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0xcc, 0xcc, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xaa, 0xaa, 0xa6, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x88, 0x88, 0x86, 0x66, 0x66, 0x66, 0x52, + 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x45, 0x0b, 0x33, 0x33, 0x33, + 0x33, 0x33, 0x33, 0x36, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, + 0x0b, 0x77, 0x77, 0x70, 0x00, 0x77, 0x77, 0x77, 0x0b, 0xdd, 0xdd, 0xd7, + 0x0b, 0xdd, 0xdd, 0xd7, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb7, + 0x0b, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x97, 0x0b, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x0b, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, + 0x0b, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0x0b, 0x22, 0x22, 0x72, + 0x22, 0xb2, 0x22, 0x27, 0x0b, 0x42, 0x24, 0x7b, 0x5b, 0xb4, 0x22, 0x47, + 0x0b, 0xcc, 0xcc, 0x60, 0xb0, 0xbc, 0xcc, 0xc6, 0x0b, 0xaa, 0xaa, 0x60, + 0x00, 0xba, 0xaa, 0xa6, 0x0b, 0x88, 0x88, 0x60, 0x00, 0xb8, 0x88, 0x86, + 0x0b, 0x88, 0x88, 0x60, 0x00, 0xb8, 0x88, 0x86, 0x0b, 0x44, 0x44, 0x60, + 0x00, 0xb4, 0x44, 0x46, 0x0b, 0x33, 0x33, 0x60, 0x00, 0xb3, 0x33, 0x36, + 0x0b, 0xbb, 0xbb, 0xb0, 0x00, 0xbb, 0xbb, 0xbb, 0x0b, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x60, 0x00, 0x0b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xd5, 0x00, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x50, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0x99, 0x99, 0x96, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x67, 0x0b, 0x77, 0x77, 0x77, + 0x0b, 0x55, 0x55, 0x57, 0x0b, 0x22, 0x22, 0x27, 0x0b, 0x22, 0x22, 0x27, + 0x0b, 0x42, 0x22, 0x47, 0x0b, 0x42, 0x22, 0x47, 0x0b, 0xee, 0xee, 0xe7, + 0x0b, 0xee, 0xee, 0xe7, 0x0b, 0xcc, 0xcc, 0xc7, 0x0b, 0xcc, 0xcc, 0xc7, + 0x0b, 0xaa, 0xaa, 0xa7, 0x0b, 0xaa, 0xaa, 0xa7, 0x0b, 0x88, 0x88, 0x87, + 0x0b, 0x88, 0x88, 0x87, 0x0b, 0x44, 0x44, 0x47, 0x0b, 0x44, 0x44, 0x47, + 0x0b, 0x33, 0x33, 0x37, 0x0b, 0x33, 0x33, 0x37, 0x0b, 0xbb, 0xbb, 0xbb, + 0x0b, 0xbb, 0xbb, 0xbb, 0x00, 0x07, 0x77, 0x77, 0x77, 0x77, 0x76, 0x00, + 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0x50, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xb6, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0x99, 0x99, 0x97, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x66, 0x66, 0x67, 0x0b, 0x77, 0x77, 0x77, 0x0b, 0x55, 0x55, 0x57, + 0x0b, 0x22, 0x22, 0x27, 0x0b, 0x22, 0x22, 0x27, 0x0b, 0x42, 0x22, 0x47, + 0x0b, 0x42, 0x22, 0x47, 0x0b, 0xee, 0xee, 0xe6, 0x0b, 0xee, 0xee, 0xe7, + 0x0b, 0xcc, 0xcc, 0xc6, 0x0b, 0xcc, 0xcc, 0xc6, 0x0b, 0xaa, 0xaa, 0xa6, + 0x0b, 0xaa, 0xaa, 0xa6, 0x0b, 0x88, 0x88, 0x86, 0x66, 0x88, 0x88, 0x86, + 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x4b, 0x00, 0xb3, 0x33, 0x33, + 0x33, 0x33, 0x33, 0xb0, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x00, + 0x0b, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x00, 0x0b, 0xdd, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0x50, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb6, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0x99, 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x67, + 0x0b, 0x77, 0x77, 0x77, 0x77, 0x55, 0x55, 0x57, 0x0b, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x27, 0x0b, 0x42, 0x22, 0x22, 0x22, 0x22, 0x24, 0xb0, + 0x0b, 0xee, 0xee, 0xeb, 0xbb, 0xbb, 0xbb, 0x00, 0x0b, 0xcc, 0xcc, 0xc7, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0xaa, 0xaa, 0xa7, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x88, 0x88, 0x87, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x44, 0x44, 0x47, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x33, 0x33, 0x37, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x77, 0x77, + 0x77, 0x77, 0x76, 0x00, 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0x50, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb6, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0x99, 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x67, 0x0b, 0x77, 0x77, 0x77, + 0x0b, 0x55, 0x55, 0x57, 0x0b, 0x22, 0x22, 0x27, 0x0b, 0x22, 0x22, 0x27, + 0x0b, 0x42, 0x22, 0x47, 0x0b, 0x42, 0x22, 0x47, 0x0b, 0xee, 0xee, 0xe6, + 0x0b, 0xee, 0xee, 0xe7, 0x0b, 0xcc, 0xcc, 0xc6, 0xbc, 0xcc, 0xc9, 0x70, + 0x0b, 0xaa, 0xaa, 0xa6, 0x0b, 0xaa, 0xaa, 0x90, 0x0b, 0x88, 0x88, 0x86, + 0x6b, 0x88, 0x88, 0x89, 0x0b, 0x44, 0x44, 0x44, 0x4b, 0x44, 0x44, 0x49, + 0x00, 0xb3, 0x33, 0x33, 0x3b, 0x33, 0x33, 0x39, 0x00, 0x0b, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xb9, 0x0b, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x00, + 0x0b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0x50, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xb6, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0x99, 0x99, 0x97, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x66, 0x66, 0x67, 0x0b, 0x77, 0x77, 0x77, 0x7b, 0x55, 0x55, 0x57, + 0x0b, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x27, 0x0b, 0x42, 0x22, 0x22, + 0x22, 0x22, 0x24, 0x70, 0x0b, 0xee, 0xee, 0xe7, 0xee, 0xee, 0xe7, 0x00, + 0x0b, 0xcc, 0xcc, 0xc7, 0xbc, 0xcc, 0xc6, 0x00, 0x0b, 0xaa, 0xaa, 0xa7, + 0x0b, 0xaa, 0xaa, 0x50, 0x0b, 0x88, 0x88, 0x87, 0x0b, 0x88, 0x88, 0x86, + 0x0b, 0x44, 0x44, 0x47, 0x0b, 0x44, 0x44, 0x47, 0x0b, 0x33, 0x33, 0x37, + 0x0b, 0x33, 0x33, 0x37, 0x0b, 0xbb, 0xbb, 0xbb, 0x0b, 0xbb, 0xbb, 0xbb, + 0x00, 0x07, 0x77, 0x77, 0x77, 0x77, 0x76, 0x00, 0x00, 0xbd, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0x50, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb6, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0x99, 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xb7, + 0x0b, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x00, 0x0b, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x50, 0x00, 0xb4, 0x22, 0x22, 0x22, 0x22, 0x22, 0x46, + 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xee, 0xee, 0xe7, 0x07, 0x77, 0x77, 0x77, + 0x0b, 0xcc, 0xcc, 0xc7, 0x0b, 0xaa, 0xaa, 0xa7, 0x0b, 0xaa, 0xaa, 0xa7, + 0x0b, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x87, 0x0b, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x4b, 0x00, 0xb3, 0x33, 0x33, 0x33, 0x33, 0x33, 0xb0, + 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x00, 0x0b, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x0b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xd7, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0b, 0xbb, 0xbb, 0x99, + 0x99, 0x9b, 0xbb, 0xbb, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x66, 0x66, 0x67, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x55, + 0x55, 0x57, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x22, 0x22, 0x27, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x42, 0x22, 0x47, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xee, + 0xee, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0xc7, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xaa, 0xaa, 0xa7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x88, + 0x88, 0x87, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x44, 0x44, 0x47, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x33, 0x33, 0x37, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, + 0xbb, 0xbb, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x0b, 0x77, 0x77, 0x77, + 0x0b, 0xdd, 0xdd, 0xd7, 0x0b, 0xdd, 0xdd, 0xd7, 0x0b, 0xbb, 0xbb, 0xb7, + 0x0b, 0xbb, 0xbb, 0xb7, 0x0b, 0x99, 0x99, 0x97, 0x0b, 0x99, 0x99, 0x97, + 0x0b, 0x77, 0x77, 0x77, 0x0b, 0x77, 0x77, 0x77, 0x0b, 0x66, 0x66, 0x67, + 0x0b, 0x66, 0x66, 0x67, 0x0b, 0x55, 0x55, 0x57, 0x0b, 0x55, 0x55, 0x57, + 0x0b, 0x22, 0x22, 0x27, 0x0b, 0x22, 0x22, 0x27, 0x0b, 0x42, 0x22, 0x47, + 0x0b, 0x42, 0x22, 0x47, 0x0b, 0xee, 0xee, 0xe7, 0x0b, 0xee, 0xee, 0xe7, + 0x0b, 0xcc, 0xcc, 0xc7, 0x0b, 0xcc, 0xcc, 0xc7, 0x0b, 0xaa, 0xaa, 0xa7, + 0x0b, 0xaa, 0xaa, 0xa7, 0x0b, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x87, + 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x00, 0xb3, 0x33, 0x33, + 0x33, 0x33, 0x33, 0x37, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, + 0x0b, 0x77, 0x77, 0x70, 0x00, 0xb7, 0x77, 0x77, 0x0b, 0xdd, 0xdd, 0x70, + 0x00, 0xbd, 0xdd, 0xd7, 0x0b, 0xbb, 0xbb, 0x70, 0x00, 0xbb, 0xbb, 0xb7, + 0x0b, 0xbb, 0xbb, 0x70, 0x00, 0xbb, 0xbb, 0xb7, 0x0b, 0x99, 0x99, 0x70, + 0x00, 0xb9, 0x99, 0x97, 0x0b, 0x77, 0x77, 0x70, 0x00, 0xb7, 0x77, 0x77, + 0x0b, 0x66, 0x66, 0x70, 0x00, 0xb6, 0x66, 0x67, 0x0b, 0x55, 0x55, 0x70, + 0x00, 0xb5, 0x55, 0x57, 0x0b, 0x22, 0x22, 0x70, 0x00, 0xb2, 0x22, 0x27, + 0x0b, 0x42, 0x24, 0xb7, 0x7b, 0xb4, 0x22, 0x47, 0x0b, 0xee, 0xee, 0xee, + 0xee, 0xee, 0xee, 0xe7, 0x00, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x70, + 0x00, 0x0b, 0xaa, 0xaa, 0xaa, 0xaa, 0xa7, 0x00, 0x00, 0x00, 0xb8, 0x88, + 0x88, 0x88, 0x70, 0x00, 0x00, 0x00, 0x0b, 0x44, 0x44, 0x47, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xbb, 0xbb, 0xb0, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x70, + 0x00, 0xb7, 0x77, 0x77, 0x0b, 0xdd, 0xdd, 0x70, 0x00, 0xbd, 0xdd, 0xd7, + 0x0b, 0xbb, 0xbb, 0x70, 0x00, 0xbb, 0xbb, 0xb7, 0x0b, 0x99, 0x99, 0x70, + 0x00, 0xb9, 0x99, 0x97, 0x0b, 0x77, 0x77, 0x70, 0x00, 0xb7, 0x77, 0x77, + 0x0b, 0x66, 0x66, 0x70, 0x00, 0xb6, 0x66, 0x67, 0x0b, 0x55, 0x55, 0x70, + 0x70, 0xb5, 0x55, 0x57, 0x0b, 0x22, 0x22, 0x7b, 0x27, 0xb2, 0x22, 0x27, + 0x0b, 0x42, 0x24, 0xb2, 0x22, 0xb4, 0x22, 0x47, 0x0b, 0xee, 0xee, 0xee, + 0xee, 0xee, 0xee, 0xe7, 0x0b, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xc7, + 0x0b, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xa7, 0x0b, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x0b, 0x44, 0x44, 0x44, 0xb4, 0x44, 0x44, 0x47, + 0x0b, 0x33, 0x33, 0x3b, 0x0b, 0x33, 0x33, 0x37, 0x0b, 0xbb, 0xbb, 0xb0, + 0x00, 0xbb, 0xbb, 0xbb, 0x0b, 0x77, 0x77, 0x77, 0x0b, 0x77, 0x77, 0x77, + 0x0b, 0xdd, 0xdd, 0xd7, 0x0b, 0xdd, 0xdd, 0xd7, 0x0b, 0xbb, 0xbb, 0xb7, + 0x0b, 0xbb, 0xbb, 0xb7, 0x0b, 0x99, 0x99, 0x97, 0x0b, 0x99, 0x99, 0x97, + 0x0b, 0x77, 0x77, 0x77, 0x0b, 0x77, 0x77, 0x77, 0x00, 0xb5, 0x55, 0x57, + 0x7b, 0x55, 0x55, 0x70, 0x00, 0x0b, 0x22, 0x22, 0x22, 0x22, 0x27, 0x00, + 0x00, 0x00, 0xb4, 0x22, 0x22, 0x24, 0x70, 0x00, 0x00, 0x0b, 0x42, 0x22, + 0x22, 0x22, 0x47, 0x00, 0x00, 0xbe, 0xee, 0xe7, 0x7b, 0xee, 0xee, 0x70, + 0x0b, 0xcc, 0xcc, 0xc7, 0x0b, 0xcc, 0xcc, 0xc7, 0x0b, 0xaa, 0xaa, 0xa7, + 0x0b, 0xaa, 0xaa, 0xa7, 0x0b, 0x88, 0x88, 0x87, 0x0b, 0x88, 0x88, 0x87, + 0x0b, 0x44, 0x44, 0x47, 0x0b, 0x44, 0x44, 0x47, 0x0b, 0x33, 0x33, 0x37, + 0x0b, 0x33, 0x33, 0x37, 0x0b, 0xbb, 0xbb, 0xbb, 0x0b, 0xbb, 0xbb, 0xbb, + 0x0b, 0x77, 0x77, 0x77, 0x0b, 0x77, 0x77, 0x77, 0x0b, 0xdd, 0xdd, 0xd7, + 0x0b, 0xdd, 0xdd, 0xd7, 0x0b, 0xbb, 0xbb, 0xb7, 0x0b, 0xbb, 0xbb, 0xb7, + 0x0b, 0x99, 0x99, 0x97, 0x0b, 0x99, 0x99, 0x97, 0x0b, 0x77, 0x77, 0x77, + 0x0b, 0x77, 0x77, 0x77, 0x0b, 0x66, 0x66, 0x67, 0x0b, 0x66, 0x66, 0x67, + 0x00, 0xb5, 0x55, 0x57, 0x7b, 0x55, 0x55, 0x70, 0x00, 0x0b, 0x22, 0x22, + 0x22, 0x22, 0x27, 0x00, 0x00, 0x00, 0xb4, 0x22, 0x22, 0x24, 0x70, 0x00, + 0x00, 0x00, 0x0b, 0xee, 0xee, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xcc, + 0xcc, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xaa, 0xaa, 0xa7, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x88, 0x88, 0x87, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x44, + 0x44, 0x47, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x33, 0x33, 0x37, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x0b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xd7, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb7, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xb7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x99, 0x99, 0x77, + 0x00, 0x00, 0x00, 0x00, 0xb7, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0x0b, + 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0xb2, 0x25, 0x55, 0x70, 0x00, + 0x00, 0x00, 0x0b, 0x42, 0x22, 0x47, 0x00, 0x00, 0x00, 0x00, 0xbe, 0xee, + 0xee, 0x70, 0x00, 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0xc7, 0x00, 0x00, 0x00, + 0x00, 0xba, 0xaa, 0xaa, 0x70, 0x00, 0x00, 0x00, 0x0b, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, + 0x0b, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x37, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb2, + 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xee, 0xee, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xba, + 0xa7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xb0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xdd, + 0xdd, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x99, + 0x99, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x55, + 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x42, 0x24, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xee, 0xee, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xcc, + 0xcc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, + 0x77, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x33, 0x33, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x77, 0x77, + 0x77, 0x77, 0x00, 0x00, 0x00, 0x0b, 0xdd, 0xdd, 0xdd, 0xdd, 0x70, 0x00, + 0x00, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb7, 0x00, 0x00, 0xbb, 0xbb, 0xb0, + 0x0b, 0xbb, 0xb7, 0x00, 0x00, 0xb9, 0x99, 0x90, 0x09, 0x99, 0x97, 0x00, + 0x00, 0x0b, 0x77, 0x77, 0x77, 0x77, 0x77, 0x00, 0x00, 0xb6, 0x66, 0x66, + 0x66, 0x66, 0x70, 0x00, 0x0b, 0x55, 0x55, 0x55, 0x55, 0x57, 0x00, 0x00, + 0xb4, 0x22, 0x22, 0x22, 0x24, 0x77, 0x77, 0x70, 0xbe, 0xee, 0xee, 0xee, + 0xee, 0xee, 0xee, 0xe7, 0xbc, 0xcc, 0xcc, 0xec, 0xcc, 0xcc, 0xcc, 0xc7, + 0xba, 0xaa, 0xaa, 0xae, 0xaa, 0xaa, 0xaa, 0xa7, 0xb8, 0x88, 0x88, 0x88, + 0xe8, 0x88, 0x88, 0x70, 0xb4, 0x44, 0x44, 0x44, 0x4e, 0x44, 0x44, 0x47, + 0x0b, 0x33, 0x33, 0x33, 0x33, 0xe3, 0x33, 0x37, 0x00, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xb0, 0x00, 0x00, 0x07, 0x77, 0x77, 0x77, 0x70, 0x00, + 0x00, 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xd7, 0x00, 0x00, 0x0b, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0x70, 0x00, 0xbb, 0xbb, 0xb0, 0x00, 0x0b, 0xbb, 0xb7, + 0x00, 0xb9, 0x99, 0x90, 0x00, 0x09, 0x99, 0x97, 0x00, 0xb7, 0x77, 0x70, + 0x07, 0x77, 0x77, 0x77, 0x00, 0xb7, 0x77, 0x70, 0x07, 0x77, 0x77, 0x77, + 0x00, 0xb5, 0x55, 0x55, 0x50, 0x05, 0x55, 0x57, 0x00, 0xb4, 0x22, 0x22, + 0x40, 0x04, 0x22, 0x47, 0x00, 0xbc, 0xcc, 0xc0, 0x00, 0x0c, 0xcc, 0xc7, + 0x00, 0xbc, 0xcc, 0xc0, 0x00, 0x0c, 0xcc, 0xc7, 0x00, 0xba, 0xaa, 0xa0, + 0x00, 0x0a, 0xaa, 0xa7, 0x00, 0xb8, 0x88, 0x80, 0x00, 0x08, 0x88, 0x87, + 0x00, 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0xb3, 0x33, + 0x33, 0x33, 0x37, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xb0, 0x00, + 0x00, 0x00, 0x00, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbd, + 0xdd, 0xd7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xb7, 0x00, 0x00, + 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0xb7, 0x00, 0x00, 0x00, 0x00, 0xb9, 0x99, + 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, 0xbb, 0xb7, 0x77, 0x77, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xb7, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb5, + 0x55, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb4, 0x22, 0x47, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xbe, 0xee, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbc, + 0xcc, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xba, 0xaa, 0xa7, 0x00, 0x00, + 0x00, 0xbb, 0xbb, 0xb8, 0x88, 0x87, 0x77, 0x77, 0x00, 0xb4, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x47, 0x00, 0xb3, 0x33, 0x33, 0x33, 0x33, 0x33, 0x37, + 0x00, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0x07, 0x77, + 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xd7, 0x00, + 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x70, 0x00, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xb7, 0x00, 0xb9, 0x99, 0x9b, 0x00, 0xb9, 0x99, 0x97, + 0x00, 0xbb, 0xbb, 0xbb, 0x00, 0xb7, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, + 0xbb, 0xb7, 0x77, 0x70, 0x00, 0x00, 0x00, 0x0b, 0xb5, 0x55, 0x57, 0x00, + 0x00, 0x00, 0x00, 0xbb, 0x42, 0x24, 0x70, 0x00, 0x00, 0x00, 0x0b, 0xbe, + 0xee, 0xe7, 0x00, 0x00, 0x00, 0x00, 0xbb, 0xcc, 0xcc, 0x70, 0x00, 0x00, + 0x00, 0x0b, 0xba, 0xaa, 0xa7, 0x00, 0x00, 0x00, 0x00, 0xbb, 0x88, 0x88, + 0x87, 0x77, 0x77, 0x77, 0x00, 0xb4, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, + 0x00, 0xb3, 0x33, 0x33, 0x33, 0x33, 0x33, 0x37, 0x00, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0x00, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xd7, 0x00, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0x70, 0x00, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb7, 0x00, + 0x00, 0x00, 0x00, 0xbb, 0xb9, 0x99, 0x70, 0x00, 0x00, 0x00, 0x00, 0xb7, + 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb7, 0x77, 0x77, 0x70, 0x00, + 0x00, 0x00, 0x00, 0xbb, 0xb5, 0x55, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xb4, 0x22, 0x47, 0x70, 0x00, 0x00, 0x00, 0x00, 0xbb, 0xbe, 0xee, 0xe7, + 0x00, 0xbb, 0xbb, 0xbb, 0x00, 0xbc, 0xcc, 0xc7, 0x00, 0xba, 0xaa, 0xab, + 0x00, 0xba, 0xaa, 0xa7, 0x00, 0xb8, 0x88, 0x8b, 0xbb, 0xb8, 0x88, 0x87, + 0x00, 0xbb, 0xb4, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0xb3, 0x33, + 0x33, 0x33, 0x37, 0x00, 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0xbb, 0xb0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x0b, + 0xbd, 0xdd, 0xd7, 0x00, 0x00, 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0xb7, 0x00, + 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xb7, 0x00, 0x00, 0x00, 0xbb, 0x99, + 0x99, 0x99, 0x97, 0x00, 0x00, 0x0b, 0xb7, 0x77, 0x77, 0x77, 0x77, 0x00, + 0x00, 0xbb, 0x77, 0x77, 0x77, 0x77, 0x77, 0x00, 0x00, 0xb5, 0x55, 0x50, + 0x05, 0x55, 0x57, 0x00, 0x00, 0xb4, 0x22, 0x40, 0x04, 0x22, 0x47, 0x77, + 0x00, 0xbe, 0xee, 0xee, 0xee, 0xee, 0xee, 0xe7, 0x00, 0xbc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xc7, 0x00, 0xbb, 0xbb, 0xbb, 0xba, 0xaa, 0xa7, 0x77, + 0x00, 0x00, 0x00, 0x00, 0xb8, 0x88, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xb4, 0x44, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb3, 0x33, 0x37, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0xb7, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xd7, + 0x00, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb7, 0x00, 0xbb, 0xbb, 0xb7, + 0x77, 0x77, 0x77, 0x77, 0x00, 0xb9, 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xb7, 0x77, 0x77, 0x77, 0x77, 0x77, 0x00, 0x00, 0xbb, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x70, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xb5, 0x55, 0x77, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xb4, 0x22, 0x47, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xbe, 0xee, 0xe7, 0x00, 0xbb, 0xbb, 0xbb, 0x00, 0xbc, 0xcc, 0xc7, + 0x00, 0xba, 0xaa, 0xab, 0x00, 0xba, 0xaa, 0xa7, 0x00, 0xb8, 0x88, 0x8b, + 0xbb, 0xb8, 0x88, 0x87, 0x00, 0x0b, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, + 0x00, 0x00, 0xb3, 0x33, 0x33, 0x33, 0x37, 0x00, 0x00, 0x00, 0x0b, 0xbb, + 0xbb, 0xbb, 0xb0, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x77, 0x00, + 0x00, 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xd7, 0x00, 0x00, 0x0b, 0xbb, 0xbb, + 0xbb, 0xbb, 0xb7, 0x00, 0x00, 0xbb, 0xbb, 0xb7, 0x77, 0x77, 0x77, 0x00, + 0x00, 0xb9, 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb7, 0x77, 0x77, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xb7, 0x77, 0x77, 0x77, 0x77, 0x77, 0x00, + 0x00, 0xb5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x70, 0x00, 0xb4, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x47, 0x00, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xc7, + 0x00, 0xbc, 0xcc, 0xc0, 0x00, 0x0c, 0xcc, 0xc7, 0x00, 0xba, 0xaa, 0xa0, + 0x00, 0x0a, 0xaa, 0xa7, 0x00, 0xb8, 0x88, 0x80, 0x00, 0x08, 0x88, 0x87, + 0x00, 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0xb3, 0x33, + 0x33, 0x33, 0x37, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xb0, 0x00, + 0x00, 0xb7, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x00, 0xbd, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0xd7, 0x00, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb7, + 0x00, 0xbb, 0xbb, 0xbb, 0xb0, 0x0b, 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xb9, 0x99, 0x97, 0x00, 0x00, 0x00, 0x00, 0xb7, 0x77, 0x77, 0x77, + 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0xb5, + 0x55, 0x55, 0x77, 0x00, 0x00, 0x00, 0x0b, 0x42, 0x22, 0x47, 0x70, 0x00, + 0x00, 0x00, 0xbe, 0xee, 0xee, 0x77, 0x00, 0x00, 0x00, 0x00, 0xbc, 0xcc, + 0xc7, 0x70, 0x00, 0x00, 0x00, 0x00, 0xba, 0xaa, 0xa7, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xb8, 0x88, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb4, 0x44, + 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb3, 0x33, 0x37, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x77, + 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xd7, 0x00, + 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x70, 0x00, 0xbb, 0xbb, 0xb0, + 0x00, 0x0b, 0xbb, 0xb7, 0x00, 0xb9, 0x99, 0x90, 0x00, 0x09, 0x99, 0x97, + 0x00, 0xb7, 0x77, 0x70, 0x00, 0x07, 0x77, 0x77, 0x00, 0xbb, 0x77, 0x70, + 0x00, 0x07, 0x77, 0x77, 0x00, 0x00, 0xb5, 0x55, 0x55, 0x55, 0x57, 0x00, + 0x00, 0x0b, 0x42, 0x22, 0x22, 0x22, 0x24, 0x70, 0x00, 0xbc, 0xcc, 0xc0, + 0x00, 0x0c, 0xcc, 0xc7, 0x00, 0xbc, 0xcc, 0xc0, 0x00, 0x0c, 0xcc, 0xc7, + 0x00, 0xba, 0xaa, 0xa0, 0x00, 0x0a, 0xaa, 0xa7, 0x00, 0xb8, 0x88, 0x80, + 0x00, 0x08, 0x88, 0x87, 0x00, 0x0b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x70, + 0x00, 0x00, 0xb3, 0x33, 0x33, 0x33, 0x37, 0x00, 0x00, 0x00, 0x0b, 0xbb, + 0xbb, 0xbb, 0xb0, 0x00, 0x00, 0x00, 0x07, 0x77, 0x77, 0x77, 0x70, 0x00, + 0x00, 0x00, 0xbd, 0xdd, 0xdd, 0xdd, 0xd7, 0x00, 0x00, 0x0b, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0x70, 0x00, 0xbb, 0xbb, 0xb0, 0x00, 0x0b, 0xbb, 0xb7, + 0x00, 0xb9, 0x99, 0x90, 0x00, 0x09, 0x99, 0x97, 0x00, 0xb7, 0x77, 0x70, + 0x00, 0x07, 0x77, 0x77, 0x00, 0xb7, 0x77, 0x70, 0x00, 0x07, 0x77, 0x77, + 0x00, 0xbb, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0x00, 0x0b, 0xb2, 0x22, + 0x22, 0x22, 0x22, 0x47, 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0xbe, 0xee, 0xe7, + 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbc, 0xcc, 0xc7, 0x00, 0x00, 0x00, 0x00, + 0xbb, 0xaa, 0xaa, 0x77, 0x00, 0x00, 0xbb, 0xbb, 0xb8, 0x88, 0x87, 0x70, + 0x00, 0x00, 0xb4, 0x44, 0x44, 0x44, 0x77, 0x00, 0x00, 0x00, 0xb3, 0x33, + 0x33, 0x37, 0x70, 0x00, 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0xbb, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xb6, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb6, + 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb9, 0x99, 0x96, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xb9, 0x99, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbb, + 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, + 0x66, 0x66, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xee, 0xee, 0x60, 0x00, + 0x00, 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0x60, 0x00, 0x00, 0x00, 0x0b, 0xbb, + 0xaa, 0xaa, 0x60, 0x00, 0x00, 0x00, 0x0b, 0x88, 0x88, 0x66, 0x60, 0x00, + 0x00, 0x00, 0x0b, 0x44, 0x44, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, + 0xbb, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xb9, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, + 0x77, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xb5, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, + 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb2, + 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xee, 0xee, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xba, + 0xa7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xb0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x7b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7d, 0xdb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xbb, 0xbb, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7b, 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x99, 0x99, 0x9b, 0x00, 0x00, 0x00, 0x00, 0x77, 0x77, 0x77, 0xb0, + 0x00, 0x00, 0x00, 0x07, 0x77, 0x77, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x75, + 0x55, 0x55, 0xb0, 0x00, 0x00, 0x00, 0x07, 0x42, 0x22, 0x4b, 0x00, 0x00, + 0x00, 0x00, 0x7e, 0xee, 0xeb, 0xb0, 0x00, 0x00, 0x00, 0x07, 0xcc, 0xcc, + 0xcb, 0x00, 0x00, 0x00, 0x00, 0x7a, 0xaa, 0xaa, 0xb0, 0x00, 0x00, 0x00, + 0x00, 0x78, 0x88, 0x8b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x44, 0xb0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xbb, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, + 0xbb, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x99, 0x99, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x77, 0x77, 0x70, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0x77, + 0x77, 0x77, 0x77, 0x70, 0x0b, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x70, + 0x0b, 0x42, 0x22, 0x22, 0x22, 0x22, 0x24, 0x70, 0x0b, 0xbb, 0xbb, 0xee, + 0xee, 0x77, 0x77, 0x70, 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xaa, 0xaa, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x88, + 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x77, 0x70, 0x00, + 0x00, 0xbb, 0xdd, 0xdd, 0xdd, 0xdd, 0x77, 0x00, 0x0b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xb7, 0x70, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x70, + 0x0b, 0x99, 0x99, 0xb0, 0x0b, 0x99, 0x99, 0x70, 0x0b, 0xbb, 0xbb, 0xb0, + 0xb7, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x70, + 0x00, 0x00, 0x00, 0xb5, 0x55, 0x55, 0x55, 0x70, 0x00, 0x00, 0x0b, 0x42, + 0x22, 0x22, 0x47, 0x00, 0x00, 0x00, 0x0b, 0xee, 0xee, 0xee, 0x70, 0x00, + 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, + 0xbb, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x33, + 0x33, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0xb0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0b, 0x66, 0x66, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0b, + 0xdd, 0xdd, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xcc, 0xcc, 0x60, 0x00, + 0x00, 0x00, 0x0b, 0xbb, 0xaa, 0xaa, 0x60, 0x00, 0x00, 0x00, 0x0b, 0x88, + 0x88, 0x66, 0x60, 0x00, 0x00, 0x00, 0x0b, 0x44, 0x44, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xbb, 0xbb, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xb0, 0x00, 0x00, 0x07, 0xb0, 0x00, 0x00, + 0x07, 0x7b, 0x00, 0x00, 0x07, 0x7b, 0x00, 0x00, 0x07, 0x55, 0xb0, 0x00, + 0x07, 0x55, 0xb0, 0x00, 0x07, 0x22, 0x2b, 0x00, 0x07, 0x22, 0x2b, 0x00, + 0x07, 0xee, 0xee, 0xb0, 0x07, 0xee, 0xee, 0xb0, 0x00, 0x7c, 0xcc, 0xb0, + 0x00, 0x7c, 0xcc, 0xb0, 0x00, 0x07, 0xaa, 0xb0, 0x00, 0x07, 0xaa, 0xb0, + 0x00, 0x00, 0xbb, 0xb0, 0x00, 0x00, 0xbb, 0xb0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x70, 0x0b, 0x55, 0x55, 0x55, + 0x55, 0x55, 0x55, 0x70, 0x0b, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x70, + 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x77, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0x0b, 0xdd, + 0xdd, 0xdd, 0x70, 0x00, 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0xbb, 0x70, 0x00, + 0x00, 0x0b, 0xbb, 0xbb, 0xbb, 0xb7, 0x00, 0x00, 0x00, 0x0b, 0x99, 0x99, + 0x99, 0x70, 0x00, 0x00, 0x00, 0x0b, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, + 0x00, 0x0b, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x55, 0x55, + 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x42, 0x24, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x0b, 0xee, 0xee, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xcc, 0xcc, + 0xc7, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xaa, 0xaa, 0xaa, 0x70, 0x00, 0x00, + 0x00, 0x0b, 0x88, 0x88, 0x88, 0x87, 0x00, 0x00, 0x00, 0x00, 0xb4, 0x44, + 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x0b, 0x33, 0x33, 0x33, 0x70, 0x00, + 0x00, 0x00, 0x00, 0xbb, 0xbb, 0xbb, 0xb0, 0x00, 0x00, 0x00, 0x07, 0x77, + 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x07, 0xdd, 0xdd, 0xdd, 0xb0, 0x00, + 0x00, 0x00, 0x07, 0xbb, 0xbb, 0xbb, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x7b, + 0xbb, 0xbb, 0xbb, 0xb0, 0x00, 0x00, 0x00, 0x07, 0x99, 0x99, 0x99, 0xb0, + 0x00, 0x00, 0x00, 0x00, 0x77, 0x77, 0x77, 0xb0, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x77, 0x77, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x07, 0x55, 0x55, 0xb0, + 0x00, 0x00, 0x00, 0x00, 0x07, 0x42, 0x24, 0xb0, 0x00, 0x00, 0x00, 0x00, + 0x07, 0xee, 0xee, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xcc, 0xcc, 0xb0, + 0x00, 0x00, 0x00, 0x07, 0xaa, 0xaa, 0xaa, 0xb0, 0x00, 0x00, 0x00, 0x78, + 0x88, 0x88, 0x88, 0xb0, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x4b, 0x00, + 0x00, 0x00, 0x07, 0x33, 0x33, 0x33, 0xb0, 0x00, 0x00, 0x00, 0x0b, 0xbb, + 0xbb, 0xbb, 0x00, 0x00 +}; +unsigned int demofont_bin_len = 6448; diff --git a/firmware/application/fox_bmp.hpp b/firmware/application/fox_bmp.hpp new file mode 100644 index 000000000..98c9213a4 --- /dev/null +++ b/firmware/application/fox_bmp.hpp @@ -0,0 +1,946 @@ +unsigned char fox_bmp[] = { + 0x42, 0x4d, 0xee, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xba, 0x00, + 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xa0, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x78, 0x2b, + 0x00, 0x00, 0x13, 0x0b, 0x00, 0x00, 0x13, 0x0b, 0x00, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x42, 0x47, 0x52, 0x73, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x06, 0x04, 0x00, 0x17, 0x2a, 0x3c, 0x00, 0x21, 0x3d, + 0x70, 0x00, 0x2f, 0x48, 0x59, 0x00, 0x1f, 0x48, 0x62, 0x00, 0x44, 0x63, + 0x7b, 0x00, 0x33, 0x64, 0x86, 0x00, 0x48, 0x7e, 0xa9, 0x00, 0x62, 0x84, + 0x9f, 0x00, 0x65, 0xa2, 0xd0, 0x00, 0x87, 0xa9, 0xc2, 0x00, 0x83, 0xc5, + 0xef, 0x00, 0xa7, 0xca, 0xdc, 0x00, 0xb8, 0xc7, 0xe6, 0x00, 0xbf, 0xe4, + 0xf8, 0x00, 0xf9, 0xfe, 0xfd, 0x00, 0x00, 0x0c, 0xcc, 0xcc, 0xab, 0xca, + 0xac, 0xaa, 0x0c, 0xca, 0x00, 0x3a, 0xcd, 0xcd, 0xca, 0xcc, 0xdc, 0xdc, + 0xcc, 0xda, 0xcc, 0xac, 0xdc, 0xcc, 0xcd, 0xce, 0xdc, 0xed, 0xee, 0xcf, + 0xce, 0xcc, 0xfc, 0xcc, 0xfc, 0xec, 0xfc, 0xcc, 0xcc, 0xfc, 0xec, 0x00, + 0x08, 0xcc, 0x00, 0x0e, 0xec, 0xcc, 0xcc, 0xfc, 0xcc, 0xcc, 0xcd, 0x00, + 0x08, 0xcc, 0x00, 0x10, 0xcf, 0xcc, 0xcd, 0xce, 0xcd, 0xec, 0xcc, 0xfe, + 0x06, 0xcf, 0x00, 0x1a, 0xcc, 0xcc, 0xfc, 0xcf, 0xce, 0xce, 0xdc, 0xee, + 0xcf, 0xce, 0xcc, 0xfc, 0xec, 0x00, 0x06, 0xce, 0x0a, 0xcc, 0x00, 0x08, + 0xce, 0xcc, 0xcc, 0xcd, 0x08, 0xcc, 0x00, 0x0e, 0xce, 0xcc, 0xec, 0xcc, + 0xce, 0xcc, 0xec, 0x00, 0x22, 0xcc, 0x00, 0x00, 0x02, 0xcc, 0x0a, 0xac, + 0x02, 0xaa, 0x06, 0xca, 0x00, 0x8c, 0xcc, 0xcc, 0xdc, 0xcc, 0xcc, 0xcd, + 0xcc, 0xcc, 0xcd, 0xcc, 0xcd, 0xcc, 0xcc, 0xcd, 0xcc, 0xcc, 0xce, 0xcc, + 0xcc, 0xdc, 0xcc, 0xdc, 0xec, 0xde, 0xcd, 0xcc, 0xde, 0xcf, 0xcc, 0xce, + 0xcd, 0xec, 0xec, 0xfc, 0xcc, 0xcc, 0xcf, 0xcc, 0xce, 0xce, 0xcc, 0xfc, + 0xce, 0xcc, 0xfc, 0xcc, 0xed, 0xec, 0xfc, 0xec, 0xde, 0xcc, 0xcf, 0xcc, + 0xdc, 0xcc, 0xcd, 0xcc, 0xfc, 0xcc, 0xec, 0xde, 0xcd, 0xce, 0xcd, 0xcc, + 0xcc, 0xec, 0xce, 0xce, 0x10, 0xcc, 0x02, 0xec, 0x08, 0xcc, 0x00, 0x06, + 0xdc, 0xcc, 0xcf, 0x00, 0x10, 0xcc, 0x00, 0x08, 0xcd, 0xcc, 0xcc, 0xcd, + 0x18, 0xcc, 0x00, 0x00, 0x00, 0x4e, 0xca, 0xcc, 0x9c, 0xaa, 0xca, 0xac, + 0xac, 0xaa, 0xcc, 0xad, 0xca, 0xcc, 0xac, 0xca, 0xcd, 0xcc, 0xcc, 0xcd, + 0xca, 0xca, 0xcc, 0xac, 0xcd, 0xcc, 0xdc, 0xcf, 0xcd, 0xec, 0xfc, 0xec, + 0xfc, 0xec, 0xcc, 0xcc, 0xce, 0xcc, 0xec, 0xee, 0xcf, 0x00, 0x08, 0xcc, + 0x00, 0x32, 0xdc, 0xcf, 0xcc, 0xec, 0xce, 0xcc, 0xcc, 0xce, 0xcc, 0xcc, + 0xec, 0xec, 0xfd, 0xcc, 0xcc, 0xdc, 0xcc, 0xec, 0xcf, 0xcc, 0xce, 0xcc, + 0xdc, 0xcc, 0xdc, 0x00, 0x0a, 0xcc, 0x00, 0x08, 0xcd, 0xcc, 0xcc, 0xce, + 0x0c, 0xcc, 0x02, 0xac, 0x0e, 0xcc, 0x00, 0x18, 0xac, 0xda, 0xcc, 0xdc, + 0xcc, 0xcc, 0xcd, 0xcc, 0xdc, 0xcc, 0xcc, 0xdc, 0x06, 0xcc, 0x00, 0x1c, + 0xcd, 0xcc, 0xcc, 0xca, 0xcc, 0xac, 0xac, 0xca, 0xcc, 0xcc, 0xca, 0xcc, + 0xca, 0xcc, 0x00, 0x00, 0x02, 0xca, 0x02, 0xc9, 0x08, 0xca, 0x00, 0x0e, + 0xac, 0xac, 0xca, 0xcc, 0xac, 0xcd, 0xcd, 0x00, 0x06, 0xcc, 0x00, 0x38, + 0xdc, 0xcc, 0xac, 0xdc, 0xda, 0xdc, 0xdc, 0xcc, 0xdc, 0xcd, 0xcc, 0xcc, + 0xdc, 0xec, 0xde, 0xcd, 0xcf, 0xcc, 0xcc, 0xdc, 0xfc, 0xcd, 0xcc, 0xcc, + 0xfc, 0xcf, 0xcc, 0xec, 0x18, 0xcc, 0x00, 0x08, 0xec, 0xfc, 0xec, 0xfc, + 0x06, 0xcc, 0x00, 0x08, 0xfc, 0xcd, 0xcc, 0xcc, 0x06, 0xcd, 0x02, 0xfa, + 0x0c, 0xcc, 0x02, 0xec, 0x0c, 0xcc, 0x00, 0x06, 0xca, 0xcc, 0xac, 0x00, + 0x06, 0xcc, 0x00, 0x0e, 0xec, 0xcc, 0xcc, 0xcd, 0xcc, 0xcc, 0xdc, 0x00, + 0x08, 0xcc, 0x00, 0x08, 0xcd, 0xcc, 0xcc, 0xcd, 0x06, 0xcc, 0x00, 0x18, + 0xdc, 0xca, 0xca, 0xcc, 0xaa, 0xca, 0xcc, 0xca, 0xcc, 0xcc, 0xac, 0xcc, + 0x00, 0x00, 0x00, 0x08, 0xac, 0xcc, 0xac, 0xaa, 0x08, 0xca, 0x00, 0x28, + 0xac, 0xac, 0xdc, 0xca, 0xcc, 0xcc, 0xdc, 0xdc, 0xcc, 0xda, 0xdc, 0xac, + 0xac, 0xcc, 0xad, 0xcd, 0xcd, 0xcc, 0xcc, 0xfc, 0x0c, 0xcc, 0x00, 0x0e, + 0xfc, 0xec, 0xed, 0xce, 0xcf, 0xce, 0xdc, 0x00, 0x06, 0xcc, 0x00, 0x30, + 0xcf, 0xcc, 0xcf, 0xcc, 0xcf, 0xcf, 0xdc, 0xcf, 0xcc, 0xfc, 0xcf, 0xce, + 0xdc, 0xce, 0xdc, 0xed, 0xcf, 0xec, 0xfc, 0xed, 0xcc, 0xcc, 0xfd, 0xce, + 0x06, 0xcc, 0x00, 0x06, 0xec, 0xce, 0xcc, 0x00, 0x06, 0xec, 0x1e, 0xcc, + 0x06, 0xec, 0x00, 0x0c, 0xcc, 0xcc, 0xdc, 0xce, 0xdc, 0xcf, 0x06, 0xcc, + 0x00, 0x06, 0xce, 0xcc, 0xcd, 0x00, 0x0e, 0xcc, 0x02, 0xca, 0x06, 0xcc, + 0x02, 0xce, 0x02, 0xcc, 0x00, 0x00, 0x00, 0x0a, 0xcc, 0xaa, 0xac, 0xab, + 0xaa, 0x00, 0x06, 0xac, 0x08, 0xcc, 0x00, 0x34, 0xdc, 0xcd, 0xcc, 0xac, + 0xcd, 0xca, 0xdc, 0xcd, 0xcd, 0xac, 0xdc, 0xcd, 0xcd, 0xcc, 0xdc, 0xcd, + 0xcf, 0xcf, 0xce, 0xdc, 0xfc, 0xcc, 0xcd, 0xcc, 0xcc, 0xec, 0x08, 0xcc, + 0x00, 0x18, 0xcf, 0xcc, 0xcc, 0xce, 0xcc, 0xcc, 0xfc, 0xcc, 0xec, 0xec, + 0xcc, 0xce, 0x06, 0xcc, 0x00, 0x1a, 0xcd, 0xcc, 0xec, 0xcc, 0xcd, 0xec, + 0xdc, 0xec, 0xfc, 0xcc, 0xcc, 0xde, 0xce, 0x00, 0x1e, 0xcc, 0x02, 0xac, + 0x08, 0xcc, 0x00, 0x24, 0xce, 0xce, 0xcc, 0xce, 0xcc, 0xce, 0xfc, 0xce, + 0xcc, 0xce, 0xcd, 0xce, 0xcf, 0xcc, 0xec, 0xcc, 0xcc, 0xce, 0x18, 0xcc, + 0x00, 0x00, 0x00, 0x06, 0xca, 0xbc, 0xcc, 0x00, 0x0a, 0xac, 0x00, 0x0a, + 0xaa, 0xca, 0xcc, 0xdc, 0xcc, 0x00, 0x06, 0xdc, 0x00, 0x12, 0xda, 0xdc, + 0xca, 0xda, 0xca, 0xda, 0xca, 0xdc, 0xcc, 0x00, 0x06, 0xdc, 0x00, 0x2e, + 0xcc, 0xcc, 0xdc, 0xcc, 0xec, 0xcf, 0xcc, 0xcc, 0xfc, 0xcc, 0xcf, 0xcc, + 0xfc, 0xcf, 0xcc, 0xdc, 0xfc, 0xcc, 0xcf, 0xce, 0xcc, 0xce, 0xdc, 0x00, + 0x08, 0xcc, 0x00, 0x18, 0xfc, 0xcf, 0xce, 0xed, 0xec, 0xcf, 0xcc, 0xcc, + 0xce, 0xcd, 0xcc, 0xdc, 0x32, 0xcc, 0x00, 0x0e, 0xce, 0xcc, 0xcc, 0xec, + 0xcc, 0xec, 0xcf, 0x00, 0x08, 0xce, 0x06, 0xcc, 0x02, 0xfc, 0x0a, 0xcc, + 0x02, 0xca, 0x0e, 0xcc, 0x00, 0x00, 0x00, 0x06, 0xcc, 0xac, 0xaa, 0x00, + 0x08, 0xca, 0x00, 0x22, 0xcc, 0xcc, 0xcd, 0xcc, 0xdc, 0xcd, 0xcc, 0xdc, + 0xac, 0xac, 0xca, 0xda, 0xcc, 0xda, 0xcc, 0xdd, 0xcc, 0x00, 0x08, 0xdc, + 0x00, 0x14, 0xfc, 0xdf, 0xcc, 0xfc, 0xed, 0xec, 0xcc, 0xfc, 0xcd, 0xcf, + 0x06, 0xcc, 0x00, 0x34, 0xec, 0xec, 0xcc, 0xcc, 0xcf, 0xcc, 0xec, 0xde, + 0xcc, 0xcc, 0xcf, 0xcc, 0xfc, 0xcd, 0xce, 0xde, 0xcc, 0xdc, 0xcc, 0xfc, + 0xde, 0xfc, 0xef, 0xcc, 0xcc, 0xec, 0x16, 0xcc, 0x02, 0xac, 0x06, 0xcc, + 0x00, 0x06, 0xac, 0xcb, 0xac, 0x00, 0x10, 0xcc, 0x00, 0x1a, 0xce, 0xce, + 0xcc, 0xec, 0xce, 0xcd, 0xec, 0xcd, 0xec, 0xcc, 0xcc, 0xfc, 0xce, 0x00, + 0x0a, 0xcc, 0x00, 0x08, 0xac, 0xcc, 0xcc, 0xca, 0x0a, 0xcc, 0x00, 0x00, + 0x00, 0x0c, 0xac, 0xcc, 0xcc, 0xca, 0xca, 0xac, 0x06, 0xca, 0x00, 0x10, + 0xcc, 0xdc, 0xcd, 0xcd, 0xdc, 0xca, 0xda, 0xda, 0x0a, 0xad, 0x02, 0xac, + 0x02, 0xad, 0x08, 0xcd, 0x00, 0x06, 0xcc, 0xdc, 0xdc, 0x00, 0x06, 0xcc, + 0x00, 0x26, 0xce, 0xcc, 0xec, 0xec, 0xdc, 0xcc, 0xec, 0xed, 0xcc, 0xfc, + 0xcc, 0xfc, 0xcc, 0xce, 0xcc, 0xcf, 0xcc, 0xce, 0xdc, 0x00, 0x06, 0xcc, + 0x00, 0x18, 0xce, 0xcf, 0xec, 0xfe, 0xdc, 0xce, 0xed, 0xcc, 0xcf, 0xcd, + 0xcc, 0xdc, 0x10, 0xcc, 0x00, 0x1a, 0xbc, 0xcc, 0xbc, 0xca, 0xca, 0xcb, + 0xcc, 0xac, 0xcb, 0xac, 0xab, 0xcc, 0xc9, 0x00, 0x06, 0xcc, 0x00, 0x06, + 0xce, 0xcc, 0xcc, 0x00, 0x0a, 0xec, 0x00, 0x12, 0xee, 0xcc, 0xcf, 0xce, + 0xcc, 0xcc, 0xce, 0xcc, 0xfc, 0x00, 0x06, 0xcc, 0x00, 0x08, 0xac, 0xcc, + 0xcc, 0xca, 0x08, 0xcc, 0x00, 0x00, 0x00, 0x06, 0xcc, 0xca, 0xcc, 0x00, + 0x0a, 0xac, 0x00, 0x10, 0xcc, 0xcd, 0xca, 0xdc, 0xcd, 0xca, 0xda, 0xdc, + 0x06, 0xad, 0x00, 0x08, 0xaa, 0xda, 0xad, 0xad, 0x0c, 0xcd, 0x00, 0x10, + 0xcc, 0xcc, 0xfc, 0xcf, 0xcc, 0xfc, 0xdc, 0xdc, 0x06, 0xcc, 0x02, 0xdc, + 0x06, 0xcc, 0x00, 0x28, 0xef, 0xcc, 0xee, 0xfc, 0xcc, 0xfc, 0xec, 0xfc, + 0xcc, 0xcd, 0xcf, 0xce, 0xfc, 0xcc, 0xde, 0xcc, 0xde, 0xfc, 0xcd, 0xef, + 0x0a, 0xcc, 0x02, 0xdc, 0x0e, 0xcc, 0x06, 0xac, 0x00, 0x10, 0xcc, 0xca, + 0xca, 0xcc, 0xac, 0xcc, 0xcc, 0xca, 0x0c, 0xcc, 0x00, 0x14, 0xec, 0xcc, + 0xec, 0xce, 0xcc, 0xec, 0xcc, 0xde, 0xfc, 0xcc, 0x06, 0xec, 0x0e, 0xcc, + 0x02, 0xac, 0x0a, 0xcc, 0x00, 0x00, 0x00, 0x2e, 0xcc, 0xcc, 0xca, 0xcc, + 0xba, 0xca, 0xca, 0xcc, 0xaa, 0xca, 0xdc, 0xdc, 0xda, 0xcd, 0xcd, 0xaa, + 0xda, 0xda, 0xaa, 0xda, 0xaa, 0xda, 0xaa, 0x00, 0x06, 0xda, 0x08, 0xdc, + 0x00, 0x06, 0xfc, 0xdc, 0xce, 0x00, 0x06, 0xcc, 0x00, 0x1a, 0xec, 0xcd, + 0xed, 0xcd, 0xcc, 0xdc, 0xcc, 0xce, 0xdc, 0xcc, 0xcc, 0xdc, 0xfc, 0x00, + 0x06, 0xcc, 0x00, 0x24, 0xdc, 0xfc, 0xec, 0xcc, 0xcc, 0xcf, 0xcc, 0xcf, + 0xec, 0xec, 0xfc, 0xed, 0xcc, 0xdc, 0xcd, 0xcc, 0xdc, 0xec, 0x08, 0xcc, + 0x00, 0x18, 0xac, 0xcc, 0xac, 0xcc, 0xcc, 0xcb, 0xab, 0xaa, 0xca, 0xba, + 0xc9, 0xca, 0x08, 0xac, 0x00, 0x24, 0xcc, 0xbc, 0xcc, 0xce, 0xcc, 0xec, + 0xec, 0xce, 0xce, 0xcc, 0xfe, 0xce, 0xcc, 0xec, 0xec, 0xcc, 0xcc, 0xce, + 0x0a, 0xcc, 0x02, 0xac, 0x0c, 0xcc, 0x00, 0x00, 0x00, 0x08, 0xcc, 0xca, + 0xcc, 0xca, 0x06, 0xac, 0x00, 0x0c, 0xaa, 0xcc, 0xdc, 0xdc, 0xca, 0xcd, + 0x06, 0xad, 0x08, 0xda, 0x02, 0xad, 0x02, 0xaa, 0x06, 0xda, 0x0a, 0xdc, + 0x02, 0xcd, 0x0c, 0xcc, 0x00, 0x36, 0xce, 0xcc, 0xcc, 0xce, 0xcc, 0xcc, + 0xdc, 0xce, 0xcf, 0xcf, 0xcc, 0xec, 0xef, 0xcf, 0xcf, 0xcc, 0xcc, 0xcd, + 0xef, 0xcc, 0xfc, 0xec, 0xfc, 0xcc, 0xfc, 0xcc, 0xfc, 0x00, 0x08, 0xcc, + 0x00, 0x0c, 0xce, 0xcc, 0xdc, 0xcc, 0xcc, 0xca, 0x06, 0xcc, 0x02, 0xca, + 0x02, 0xba, 0x06, 0xca, 0x00, 0x12, 0xba, 0xaa, 0xaa, 0xca, 0xbc, 0xba, + 0xbc, 0xbc, 0xac, 0x00, 0x0c, 0xcc, 0x00, 0x08, 0xec, 0xce, 0xce, 0xcc, + 0x06, 0xec, 0x02, 0xcc, 0x06, 0xec, 0x00, 0x18, 0xcc, 0xec, 0xcc, 0xcc, + 0xac, 0xcc, 0xcd, 0xcc, 0xcc, 0xca, 0xcc, 0xcc, 0x00, 0x00, 0x00, 0x0a, + 0xcc, 0xcb, 0xcc, 0xac, 0xcc, 0x00, 0x06, 0xac, 0x00, 0x0e, 0xca, 0xcd, + 0xcc, 0xda, 0xda, 0xaa, 0xda, 0x00, 0x12, 0xaa, 0x08, 0xad, 0x02, 0xcc, + 0x02, 0xdc, 0x0c, 0xcc, 0x02, 0xcd, 0x06, 0xcc, 0x02, 0xec, 0x06, 0xcc, + 0x06, 0xce, 0x00, 0x5e, 0xde, 0xcf, 0xdc, 0xce, 0xcc, 0xcf, 0xcf, 0xcc, + 0xed, 0xce, 0xdc, 0xde, 0xce, 0xcf, 0xcc, 0xfc, 0xed, 0xcc, 0xfc, 0xdc, + 0xcc, 0xcc, 0xdc, 0xec, 0xcc, 0xcc, 0xac, 0xcc, 0xac, 0xab, 0xcc, 0xcc, + 0xab, 0xca, 0xba, 0xca, 0xba, 0xba, 0xab, 0xaa, 0xaa, 0xca, 0xca, 0xbc, + 0xca, 0xcc, 0xbc, 0x00, 0x08, 0xcc, 0x02, 0xce, 0x02, 0xcc, 0x0c, 0xec, + 0x00, 0x06, 0xcc, 0xcc, 0xec, 0x00, 0x0e, 0xcc, 0x02, 0xac, 0x06, 0xcc, + 0x00, 0x00, 0x02, 0xac, 0x02, 0xaa, 0x06, 0xca, 0x08, 0xac, 0x00, 0x1a, + 0xca, 0xca, 0xda, 0xaa, 0xda, 0xaa, 0xaa, 0xad, 0xaa, 0xad, 0xaa, 0xaa, + 0x8d, 0x00, 0x08, 0xaa, 0x00, 0x10, 0xad, 0xac, 0xca, 0xcc, 0xca, 0xcc, + 0xcc, 0xca, 0x06, 0xcc, 0x00, 0x06, 0xcb, 0xcc, 0xbc, 0x00, 0x08, 0xcc, + 0x00, 0x18, 0xcd, 0xcd, 0xec, 0xec, 0xed, 0xec, 0xfc, 0xcf, 0xcc, 0xcc, + 0xcf, 0xcd, 0x06, 0xec, 0x00, 0x16, 0xed, 0xce, 0xce, 0xdc, 0xec, 0xcc, + 0xdc, 0xcc, 0xcd, 0xfc, 0xce, 0x00, 0x08, 0xcc, 0x00, 0x0a, 0xca, 0xcc, + 0xac, 0xca, 0xcc, 0x00, 0x06, 0xac, 0x00, 0x1a, 0xab, 0xaa, 0xac, 0xab, + 0xaa, 0xba, 0xba, 0xab, 0xac, 0xab, 0xcc, 0xcc, 0xca, 0x00, 0x08, 0xcc, + 0x00, 0x12, 0xce, 0xce, 0xcc, 0xee, 0xcc, 0xec, 0xcc, 0xec, 0xec, 0x00, + 0x0c, 0xcc, 0x02, 0xca, 0x0a, 0xcc, 0x00, 0x00, 0x00, 0x2e, 0xaa, 0xba, + 0xca, 0xa9, 0xaa, 0xaa, 0x9a, 0xca, 0xac, 0xac, 0xad, 0xaa, 0xda, 0xaa, + 0xa8, 0xaa, 0xa8, 0xaa, 0xa8, 0xaa, 0x8a, 0xa8, 0xa8, 0x00, 0x0c, 0xaa, + 0x00, 0x52, 0xac, 0xac, 0xcc, 0xca, 0xcc, 0xcc, 0xcb, 0xcc, 0xcc, 0xca, + 0xdd, 0xbc, 0xca, 0xba, 0xca, 0xce, 0xce, 0xcc, 0xed, 0xec, 0xee, 0xce, + 0xde, 0xcc, 0xcf, 0xce, 0xce, 0xcd, 0xec, 0xec, 0xde, 0xec, 0xcc, 0xec, + 0xcc, 0xce, 0xcc, 0xcd, 0xce, 0xcc, 0xec, 0x00, 0x08, 0xcc, 0x00, 0x2c, + 0xac, 0xca, 0xbc, 0xac, 0xca, 0xc9, 0xca, 0xc9, 0xca, 0xc9, 0xca, 0x9a, + 0xaa, 0x9a, 0xaa, 0x9c, 0xa9, 0xca, 0xbc, 0xac, 0xcc, 0xcb, 0x08, 0xcc, + 0x00, 0x0c, 0xce, 0xce, 0xcc, 0xce, 0xcc, 0xce, 0x06, 0xcc, 0x02, 0xec, + 0x06, 0xcc, 0x00, 0x0e, 0xac, 0xcc, 0xcc, 0xcd, 0xca, 0xcc, 0xcc, 0x00, + 0x00, 0x00, 0x00, 0x0c, 0xa9, 0x8a, 0xa9, 0xa8, 0xaa, 0x9a, 0x0e, 0xaa, + 0x02, 0x88, 0x02, 0x8a, 0x08, 0x88, 0x02, 0xa8, 0x0a, 0x88, 0x02, 0x8a, + 0x02, 0x8a, 0x0a, 0xaa, 0x00, 0x3c, 0xca, 0xaa, 0xba, 0xbc, 0xcb, 0x9b, + 0x9b, 0xbb, 0xba, 0xb9, 0xab, 0xac, 0xcb, 0xcc, 0xeb, 0xce, 0xce, 0xcc, + 0xde, 0xce, 0xde, 0xde, 0xed, 0xed, 0xec, 0xec, 0xdc, 0xec, 0xcc, 0xec, + 0x08, 0xcc, 0x0a, 0xec, 0x08, 0xcc, 0x00, 0x2c, 0xac, 0xac, 0xcc, 0xbc, + 0xbc, 0xca, 0xbc, 0xcc, 0xbc, 0xaa, 0xab, 0xab, 0xa9, 0xa9, 0xaa, 0x9a, + 0xc9, 0xca, 0xbc, 0xab, 0xca, 0xca, 0x0a, 0xcc, 0x0e, 0xec, 0x0c, 0xcc, + 0x02, 0xcd, 0x02, 0xca, 0x06, 0xcc, 0x00, 0x00, 0x00, 0x10, 0x88, 0xa8, + 0x98, 0xa9, 0x87, 0xa8, 0x98, 0x88, 0x08, 0xaa, 0x00, 0x06, 0x8a, 0x8a, + 0x88, 0x00, 0x06, 0x55, 0x02, 0x58, 0x06, 0x55, 0x06, 0x85, 0x02, 0x58, + 0x02, 0x58, 0x06, 0x88, 0x00, 0x12, 0xa8, 0xaa, 0xaa, 0x9a, 0x9c, 0xab, + 0x9b, 0xbb, 0xbb, 0x00, 0x06, 0xb9, 0x00, 0x12, 0x99, 0x9b, 0xab, 0xdb, + 0xad, 0xcd, 0xcc, 0xde, 0xcb, 0x00, 0x06, 0xce, 0x00, 0x0a, 0xdc, 0xec, + 0xec, 0xcc, 0xce, 0x00, 0x10, 0xcc, 0x00, 0x0a, 0xec, 0xce, 0xcc, 0xcc, + 0xce, 0x00, 0x0a, 0xcc, 0x00, 0x18, 0xac, 0xca, 0xca, 0xba, 0xcc, 0xcc, + 0xac, 0xac, 0xba, 0xaa, 0x9a, 0xaa, 0x06, 0x9a, 0x00, 0x10, 0xab, 0xab, + 0xac, 0xab, 0xca, 0xcc, 0xac, 0xac, 0x1a, 0xcc, 0x00, 0x08, 0xcd, 0xca, + 0xcc, 0xcd, 0x06, 0xcc, 0x00, 0x00, 0x00, 0x10, 0x87, 0x87, 0xa7, 0xa7, + 0x89, 0x87, 0x88, 0x87, 0x0c, 0x88, 0x02, 0x85, 0x08, 0x55, 0x00, 0x26, + 0x35, 0x53, 0x55, 0x55, 0x54, 0x34, 0x34, 0x43, 0x54, 0x55, 0x58, 0x86, + 0x88, 0x87, 0xa9, 0xa9, 0xb9, 0xbb, 0x9b, 0x00, 0x0c, 0x99, 0x00, 0x16, + 0x9b, 0xb9, 0xb9, 0xbb, 0x9b, 0xab, 0xae, 0xde, 0xec, 0xde, 0xce, 0x00, + 0x06, 0xcc, 0x00, 0x0e, 0xbc, 0xcc, 0xcc, 0xca, 0xbc, 0xab, 0xcb, 0x00, + 0x1a, 0xcc, 0x02, 0xca, 0x0a, 0xcc, 0x00, 0x24, 0xca, 0xac, 0x9c, 0xaa, + 0xb9, 0xa9, 0xa9, 0xab, 0xa9, 0xaa, 0xab, 0xaa, 0xca, 0xba, 0xbc, 0xcc, + 0xcc, 0xac, 0x1a, 0xcc, 0x00, 0x0a, 0xcd, 0xac, 0xcc, 0xac, 0xac, 0x00, + 0x00, 0x00, 0x00, 0x0a, 0x88, 0x88, 0x78, 0x98, 0x98, 0x00, 0x06, 0x78, + 0x06, 0x88, 0x00, 0x06, 0x58, 0x88, 0x85, 0x00, 0x06, 0x55, 0x02, 0x45, + 0x06, 0x33, 0x00, 0x0a, 0x43, 0x34, 0x34, 0x14, 0x14, 0x00, 0x08, 0x44, + 0x00, 0x14, 0x45, 0x65, 0x79, 0x89, 0x99, 0xba, 0xbb, 0x9b, 0x99, 0xb9, + 0x10, 0x99, 0x00, 0x18, 0xb9, 0xdb, 0xae, 0xbc, 0xcc, 0xee, 0xce, 0xcc, + 0xdc, 0xdd, 0xdc, 0xca, 0x06, 0xcc, 0x00, 0x0e, 0xca, 0xaa, 0xab, 0xab, + 0xac, 0xcb, 0xac, 0x00, 0x08, 0xcc, 0x02, 0xdc, 0x08, 0xcc, 0x00, 0x06, + 0xbc, 0xcc, 0xec, 0x00, 0x06, 0xcc, 0x00, 0x08, 0xbc, 0xac, 0xab, 0xaa, + 0x08, 0xa9, 0x00, 0x10, 0xab, 0xa9, 0xaa, 0xba, 0xac, 0xaa, 0xac, 0xac, + 0x08, 0xcc, 0x02, 0xbc, 0x0e, 0xcc, 0x00, 0x0e, 0xca, 0xcd, 0xcc, 0xcc, + 0xac, 0xcc, 0xcc, 0x00, 0x00, 0x00, 0x02, 0x55, 0x02, 0x65, 0x06, 0x88, + 0x00, 0x0a, 0x78, 0x78, 0x68, 0x68, 0x85, 0x00, 0x08, 0x55, 0x02, 0x35, + 0x02, 0x34, 0x0c, 0x33, 0x02, 0x31, 0x08, 0x41, 0x06, 0x44, 0x00, 0x0a, + 0x43, 0x45, 0x77, 0xa9, 0x9b, 0x00, 0x06, 0xbb, 0x02, 0x9b, 0x08, 0x99, + 0x02, 0x97, 0x08, 0x99, 0x00, 0x24, 0x9b, 0xbb, 0xbb, 0xde, 0xbd, 0xed, + 0xec, 0xcd, 0xca, 0x99, 0x99, 0x77, 0x77, 0x79, 0x99, 0x77, 0x78, 0x9a, + 0x06, 0xaa, 0x00, 0x08, 0xcc, 0xcb, 0xcc, 0xcc, 0x06, 0xce, 0x02, 0xcc, + 0x02, 0xcb, 0x10, 0xcc, 0x02, 0xcb, 0x02, 0xac, 0x0c, 0xa9, 0x00, 0x10, + 0xaa, 0x9a, 0xaa, 0xa9, 0xc9, 0xcc, 0xbc, 0xac, 0x1a, 0xcc, 0x00, 0x0a, + 0xac, 0xac, 0xdc, 0xac, 0xac, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x34, 0x55, + 0x65, 0x86, 0x66, 0x68, 0x68, 0x00, 0x08, 0x88, 0x02, 0x85, 0x02, 0x55, + 0x0a, 0x33, 0x00, 0x0e, 0x31, 0x33, 0x33, 0x31, 0x41, 0x11, 0x11, 0x00, + 0x0a, 0x14, 0x00, 0x44, 0x44, 0x46, 0x88, 0x99, 0x9b, 0xab, 0xbb, 0x9b, + 0x9b, 0xbb, 0xb9, 0x9b, 0x99, 0x97, 0x77, 0x99, 0x99, 0x9b, 0x99, 0xbb, + 0x9b, 0xeb, 0xec, 0xee, 0xee, 0xbd, 0xba, 0x99, 0x77, 0x77, 0x66, 0x64, + 0x64, 0x44, 0x06, 0x66, 0x00, 0x12, 0x77, 0x77, 0xa9, 0xaa, 0xac, 0xcc, + 0xce, 0xcc, 0xec, 0x00, 0x08, 0xcc, 0x00, 0x14, 0xec, 0xec, 0xce, 0xce, + 0xcc, 0xcc, 0xca, 0xca, 0xab, 0xaa, 0x06, 0x9a, 0x00, 0x08, 0xba, 0xab, + 0xa9, 0xab, 0x08, 0xaa, 0x00, 0x06, 0xbc, 0xca, 0xcb, 0x00, 0x08, 0xcc, + 0x02, 0xac, 0x0a, 0xcc, 0x00, 0x0c, 0xdc, 0xac, 0xdc, 0xca, 0xda, 0xcc, + 0x00, 0x00, 0x00, 0x08, 0x34, 0x43, 0x56, 0x86, 0x08, 0x55, 0x06, 0x85, + 0x00, 0x12, 0x55, 0x33, 0x33, 0x31, 0x33, 0x33, 0x31, 0x13, 0x13, 0x00, + 0x0e, 0x11, 0x00, 0x1a, 0x14, 0x14, 0x41, 0x43, 0x44, 0x77, 0x99, 0x99, + 0x9b, 0x9b, 0xbb, 0xb9, 0xb9, 0x00, 0x08, 0x99, 0x00, 0x22, 0x97, 0x77, + 0x99, 0xbb, 0x9b, 0xbb, 0xee, 0xee, 0xeb, 0xde, 0xee, 0xeb, 0xa9, 0x77, + 0x77, 0x26, 0x22, 0x00, 0x06, 0x42, 0x00, 0x1a, 0x44, 0x46, 0x66, 0x67, + 0x67, 0x77, 0x78, 0x9a, 0xca, 0xce, 0xee, 0xec, 0xec, 0x00, 0x0a, 0xcc, + 0x00, 0x0e, 0xec, 0xcc, 0xce, 0xcc, 0xcb, 0xcb, 0xac, 0x00, 0x06, 0xa9, + 0x00, 0x26, 0xab, 0xa9, 0xa9, 0xaa, 0xaa, 0xa9, 0xaa, 0xab, 0xaa, 0xca, + 0xcb, 0xcc, 0xca, 0xca, 0xcc, 0xcc, 0xcb, 0xcc, 0xcc, 0x00, 0x08, 0xac, + 0x00, 0x0a, 0xcd, 0xac, 0xad, 0xac, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x10, + 0x14, 0x34, 0x58, 0x55, 0x54, 0x43, 0x33, 0x53, 0x06, 0x55, 0x00, 0x06, + 0x33, 0x33, 0x31, 0x00, 0x0a, 0x11, 0x08, 0x01, 0x0c, 0x11, 0x00, 0x1a, + 0x14, 0x14, 0x45, 0x68, 0x7a, 0x99, 0xbb, 0xbb, 0xb9, 0xbb, 0x9b, 0xb9, + 0xb9, 0x00, 0x0a, 0x99, 0x00, 0x38, 0x9b, 0xbb, 0xbb, 0xbe, 0xeb, 0xee, + 0xef, 0xee, 0xea, 0xb9, 0x77, 0x77, 0x62, 0x22, 0x14, 0x24, 0x44, 0x42, + 0x42, 0x66, 0x67, 0x77, 0x67, 0x77, 0x78, 0x9b, 0xcc, 0xcc, 0x06, 0xec, + 0x00, 0x0e, 0xcc, 0xbc, 0xec, 0xce, 0xcc, 0xec, 0xee, 0x00, 0x06, 0xcc, + 0x06, 0xab, 0x00, 0x28, 0xa9, 0xa9, 0xab, 0xab, 0xaa, 0xc9, 0xca, 0xa9, + 0xaa, 0xab, 0xaa, 0xca, 0xcb, 0xac, 0xcb, 0xca, 0xba, 0xcc, 0xac, 0xac, + 0x08, 0xcc, 0x00, 0x0a, 0xac, 0xad, 0xaa, 0xca, 0xca, 0x00, 0x00, 0x00, + 0x00, 0x0a, 0x34, 0x14, 0x45, 0x65, 0x44, 0x00, 0x0a, 0x33, 0x00, 0x08, + 0x31, 0x31, 0x11, 0x10, 0x08, 0x11, 0x02, 0x01, 0x08, 0x11, 0x02, 0x01, + 0x06, 0x10, 0x06, 0x11, 0x00, 0x5e, 0x14, 0x34, 0x57, 0x99, 0x99, 0xab, + 0x9b, 0x9b, 0xbb, 0x9b, 0x99, 0x99, 0x9b, 0x9b, 0x99, 0x99, 0x77, 0x9e, + 0xb9, 0xbe, 0xee, 0xee, 0xce, 0xee, 0xed, 0xea, 0xb9, 0x97, 0x72, 0x62, + 0x22, 0x42, 0x24, 0x21, 0x44, 0x44, 0x62, 0x67, 0x66, 0x67, 0x77, 0x77, + 0x7a, 0xac, 0xcc, 0xce, 0xce, 0x00, 0x0a, 0xcc, 0x00, 0x2a, 0xce, 0xce, + 0xcc, 0xce, 0xcc, 0xcc, 0xab, 0xac, 0xaa, 0xab, 0xaa, 0xba, 0xaa, 0xca, + 0xba, 0xaa, 0x9a, 0xaa, 0x9a, 0xac, 0xbc, 0x00, 0x08, 0xac, 0x00, 0x0a, + 0xcc, 0xca, 0xcc, 0xbc, 0xca, 0x00, 0x06, 0xac, 0x00, 0x0a, 0xca, 0xca, + 0xcd, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x08, 0x41, 0x34, 0x55, 0x64, + 0x0e, 0x33, 0x00, 0x06, 0x30, 0x10, 0x10, 0x00, 0x06, 0x00, 0x00, 0x06, + 0x10, 0x11, 0x00, 0x00, 0x06, 0x10, 0x00, 0x08, 0x11, 0x00, 0x10, 0x11, + 0x06, 0x01, 0x00, 0x0a, 0x41, 0x44, 0x66, 0x79, 0x99, 0x00, 0x0a, 0xbb, + 0x02, 0x9b, 0x02, 0x9b, 0x08, 0x99, 0x00, 0x0a, 0x97, 0x9b, 0xbb, 0xbb, + 0xbe, 0x00, 0x06, 0xee, 0x00, 0x2a, 0xfe, 0xee, 0xb9, 0x77, 0x72, 0x22, + 0x22, 0x12, 0x24, 0x41, 0x44, 0x44, 0x46, 0x66, 0x66, 0x67, 0x67, 0x77, + 0x69, 0xaa, 0xbc, 0x00, 0x12, 0xcc, 0x00, 0x10, 0xec, 0xec, 0xcc, 0xcb, + 0xcc, 0xca, 0xba, 0xba, 0x08, 0xab, 0x00, 0x0a, 0xca, 0xba, 0xaa, 0x9a, + 0xaa, 0x00, 0x08, 0xac, 0x00, 0x08, 0xab, 0xac, 0xaa, 0xab, 0x06, 0xac, + 0x06, 0xca, 0x02, 0xac, 0x02, 0xac, 0x06, 0xaa, 0x00, 0x00, 0x00, 0x10, + 0x11, 0x44, 0x44, 0x43, 0x33, 0x31, 0x31, 0x33, 0x06, 0x31, 0x00, 0x08, + 0x10, 0x10, 0x00, 0x00, 0x06, 0x10, 0x02, 0x00, 0x08, 0x01, 0x00, 0x2a, + 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x11, 0x11, 0x44, 0x47, 0x99, 0x9b, + 0x9b, 0xbb, 0xbb, 0xb9, 0xbb, 0x9b, 0x99, 0x99, 0x9b, 0x00, 0x08, 0xbb, + 0x00, 0x38, 0xeb, 0xeb, 0xbe, 0xee, 0xee, 0xef, 0xee, 0xee, 0xea, 0x97, + 0x62, 0x22, 0x21, 0x22, 0x41, 0x41, 0x44, 0x44, 0x46, 0x66, 0x77, 0x76, + 0x77, 0x76, 0x79, 0x99, 0xaa, 0xcb, 0x18, 0xcc, 0x00, 0x28, 0xab, 0xab, + 0xaa, 0xba, 0xba, 0xca, 0xcc, 0xcc, 0xac, 0xac, 0xab, 0xaa, 0xaa, 0xab, + 0xac, 0xab, 0xca, 0xba, 0xca, 0x9a, 0x0a, 0xaa, 0x00, 0x06, 0xac, 0xaa, + 0xca, 0x00, 0x06, 0xaa, 0x02, 0xa8, 0x00, 0x00, 0x00, 0x18, 0x14, 0x14, + 0x44, 0x33, 0x11, 0x13, 0x13, 0x11, 0x33, 0x33, 0x11, 0x01, 0x18, 0x00, + 0x02, 0x10, 0x08, 0x00, 0x00, 0x0c, 0x01, 0x11, 0x14, 0x47, 0x77, 0x99, + 0x08, 0xbb, 0x00, 0x08, 0xb9, 0xbb, 0x9b, 0x9b, 0x08, 0xbb, 0x00, 0x08, + 0xeb, 0xeb, 0xee, 0xef, 0x06, 0xee, 0x00, 0x62, 0xef, 0xee, 0xec, 0x97, + 0x76, 0x22, 0x22, 0x21, 0x44, 0x41, 0x44, 0x44, 0x46, 0x66, 0x66, 0x67, + 0x77, 0x67, 0x77, 0x77, 0x79, 0x9a, 0xc9, 0xcb, 0xca, 0xbc, 0x9c, 0xaa, + 0x9a, 0xba, 0xcc, 0xcb, 0xcc, 0xca, 0xbc, 0xaa, 0x9a, 0xc9, 0xca, 0xbc, + 0xbc, 0xab, 0xcc, 0xbc, 0xac, 0xaa, 0xba, 0xbc, 0xab, 0x00, 0x06, 0xca, + 0x00, 0x0c, 0x9a, 0xaa, 0x89, 0xaa, 0x9a, 0x9a, 0x0c, 0xaa, 0x02, 0xa8, + 0x02, 0xaa, 0x00, 0x00, 0x00, 0x16, 0x14, 0x14, 0x41, 0x11, 0x11, 0x31, + 0x13, 0x03, 0x11, 0x11, 0x01, 0x00, 0x20, 0x00, 0x00, 0x10, 0x10, 0x00, + 0x10, 0x11, 0x11, 0x46, 0x79, 0x99, 0x06, 0xbb, 0x00, 0x14, 0xb9, 0xbb, + 0xbb, 0x99, 0xb9, 0xb9, 0xbb, 0xbb, 0xbe, 0xbe, 0x08, 0xee, 0x00, 0x28, + 0xde, 0xdd, 0xee, 0xed, 0xee, 0xa7, 0x72, 0x62, 0x22, 0x42, 0x44, 0x14, + 0x14, 0x44, 0x46, 0x46, 0x66, 0x77, 0x77, 0x67, 0x06, 0x77, 0x02, 0x67, + 0x0a, 0xaa, 0x00, 0x10, 0x8a, 0xaa, 0xaa, 0xab, 0xac, 0xac, 0xba, 0xca, + 0x06, 0x9a, 0x02, 0xab, 0x06, 0xcc, 0x00, 0x08, 0xca, 0xca, 0xba, 0xac, + 0x08, 0xaa, 0x00, 0x10, 0x9a, 0x9a, 0xa8, 0x87, 0x88, 0x88, 0x8a, 0xa8, + 0x0c, 0xaa, 0x02, 0x8a, 0x02, 0xa8, 0x00, 0x00, 0x02, 0x11, 0x02, 0x14, + 0x06, 0x11, 0x00, 0x0c, 0x03, 0x01, 0x11, 0x11, 0x01, 0x01, 0x1c, 0x00, + 0x02, 0x01, 0x06, 0x00, 0x00, 0x0c, 0x10, 0x01, 0x11, 0x46, 0x77, 0x99, + 0x0e, 0xbb, 0x02, 0xb9, 0x02, 0x9b, 0x06, 0xbb, 0x0a, 0xee, 0x00, 0x10, + 0xd8, 0x87, 0x59, 0xae, 0xea, 0xa7, 0x67, 0x66, 0x06, 0x44, 0x02, 0x41, + 0x06, 0x44, 0x00, 0x4c, 0x26, 0x26, 0x66, 0x76, 0x76, 0x77, 0x77, 0x67, + 0x77, 0x67, 0x77, 0x89, 0x78, 0x77, 0x76, 0x77, 0x8a, 0x9a, 0xaa, 0xba, + 0xca, 0xa9, 0xa7, 0x7a, 0x99, 0xab, 0xac, 0xca, 0xcb, 0xcc, 0xca, 0xaa, + 0xa9, 0xaa, 0x98, 0x9a, 0x89, 0x8a, 0x08, 0x88, 0x00, 0x16, 0x87, 0x88, + 0x78, 0xa7, 0xaa, 0xa8, 0xaa, 0x8a, 0xa8, 0xaa, 0x88, 0x00, 0x00, 0x00, + 0x06, 0x11, 0x08, 0x01, 0x00, 0x06, 0x00, 0x10, 0x01, 0x00, 0x28, 0x00, + 0x00, 0x0c, 0x11, 0x11, 0x44, 0x67, 0x99, 0x9b, 0x16, 0xbb, 0x08, 0xee, + 0x00, 0x12, 0xd9, 0x29, 0x82, 0x22, 0x58, 0xda, 0x97, 0x76, 0x66, 0x00, + 0x06, 0x44, 0x00, 0x0c, 0x41, 0x44, 0x44, 0x42, 0x62, 0x67, 0x08, 0x66, + 0x00, 0x06, 0x76, 0x77, 0x66, 0x00, 0x06, 0x77, 0x02, 0x67, 0x06, 0x66, + 0x00, 0x22, 0x67, 0x88, 0xa9, 0xaa, 0x9a, 0xa9, 0x87, 0x89, 0x8a, 0xaa, + 0xab, 0xab, 0xcc, 0xac, 0x9a, 0xaa, 0x9a, 0x00, 0x08, 0x88, 0x00, 0x0c, + 0x86, 0x88, 0x88, 0x68, 0x65, 0x85, 0x06, 0x88, 0x00, 0x0e, 0xaa, 0x7a, + 0xaa, 0x8a, 0x8a, 0x88, 0x88, 0x00, 0x00, 0x00, 0x02, 0x11, 0x06, 0x01, + 0x02, 0x10, 0x06, 0x01, 0x02, 0x00, 0x02, 0x10, 0x26, 0x00, 0x00, 0x0c, + 0x01, 0x00, 0x11, 0x14, 0x77, 0x99, 0x18, 0xbb, 0x00, 0x1e, 0xbe, 0xee, + 0xee, 0xed, 0x78, 0xad, 0xda, 0xd8, 0x22, 0x89, 0x86, 0x78, 0x66, 0x56, + 0x64, 0x00, 0x0a, 0x44, 0x00, 0x1c, 0x46, 0x66, 0x66, 0x77, 0x66, 0x66, + 0x67, 0x76, 0x67, 0x76, 0x67, 0x66, 0x66, 0x26, 0x06, 0x44, 0x00, 0x48, + 0x66, 0x87, 0x89, 0xaa, 0x98, 0x77, 0x67, 0x77, 0x99, 0xa9, 0xaa, 0xa9, + 0xaa, 0x8a, 0x98, 0x88, 0x88, 0x65, 0x68, 0x65, 0x68, 0x68, 0x56, 0x85, + 0x68, 0x66, 0x85, 0x68, 0x89, 0x8a, 0xaa, 0x8a, 0x8a, 0xa8, 0x88, 0x88, + 0x00, 0x00, 0x00, 0x0c, 0x01, 0x01, 0x10, 0x10, 0x00, 0x10, 0x2e, 0x00, + 0x00, 0x0c, 0x01, 0x01, 0x11, 0x14, 0x77, 0x99, 0x12, 0xbb, 0x00, 0x0e, + 0xbe, 0xee, 0xbe, 0xbe, 0xee, 0xee, 0xed, 0x00, 0x06, 0xdd, 0x00, 0x0a, + 0xd9, 0x22, 0x57, 0x87, 0x86, 0x00, 0x06, 0x66, 0x00, 0x1a, 0x64, 0x64, + 0x44, 0x46, 0x46, 0x66, 0x46, 0x76, 0x76, 0x66, 0x76, 0x77, 0x66, 0x00, + 0x06, 0x76, 0x02, 0x66, 0x02, 0x66, 0x08, 0x44, 0x00, 0x24, 0x66, 0x58, + 0x78, 0xa7, 0xa7, 0x76, 0x77, 0x77, 0x78, 0x78, 0xa7, 0xa8, 0x8a, 0x88, + 0x58, 0x86, 0x56, 0x55, 0x08, 0x65, 0x00, 0x16, 0x66, 0x65, 0x56, 0x55, + 0x56, 0x86, 0x88, 0xa7, 0xa7, 0xa8, 0xa8, 0x00, 0x06, 0x88, 0x00, 0x00, + 0x00, 0x10, 0x10, 0x11, 0x00, 0x10, 0x10, 0x00, 0x10, 0x01, 0x28, 0x00, + 0x00, 0x0e, 0x01, 0x00, 0x00, 0x01, 0x14, 0x67, 0x99, 0x00, 0x12, 0xbb, + 0x02, 0xbe, 0x0a, 0xee, 0x02, 0xd8, 0x08, 0xdd, 0x00, 0x18, 0x82, 0x26, + 0x86, 0x86, 0x66, 0x56, 0x65, 0x65, 0x46, 0x54, 0x64, 0x46, 0x08, 0x66, + 0x00, 0x36, 0x77, 0x66, 0x76, 0x77, 0x77, 0x66, 0x76, 0x62, 0x64, 0x42, + 0x41, 0x44, 0x44, 0x46, 0x66, 0x88, 0x78, 0x78, 0x77, 0x76, 0x78, 0x76, + 0x78, 0x68, 0x88, 0x86, 0x56, 0x00, 0x06, 0x65, 0x06, 0x45, 0x00, 0x0a, + 0x65, 0x56, 0x58, 0x55, 0x86, 0x00, 0x06, 0x56, 0x00, 0x08, 0x88, 0x7a, + 0x88, 0xa8, 0x06, 0x88, 0x02, 0x85, 0x00, 0x00, 0x06, 0x00, 0x02, 0x10, + 0x2e, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x10, 0x11, 0x14, 0x67, 0x99, + 0x10, 0xbb, 0x02, 0xbe, 0x0c, 0xee, 0x00, 0x24, 0xed, 0xdd, 0xdd, 0x8d, + 0xdd, 0x88, 0x25, 0x68, 0x68, 0x65, 0x66, 0x45, 0x66, 0x65, 0x65, 0x66, + 0x66, 0x86, 0x0a, 0x66, 0x02, 0x77, 0x0c, 0x66, 0x02, 0x24, 0x06, 0x44, + 0x00, 0x0c, 0x46, 0x66, 0x67, 0x78, 0x77, 0x76, 0x06, 0x67, 0x00, 0x06, + 0x66, 0x66, 0x46, 0x00, 0x06, 0x56, 0x00, 0x0a, 0x45, 0x64, 0x34, 0x54, + 0x54, 0x00, 0x06, 0x56, 0x0a, 0x65, 0x00, 0x10, 0x78, 0x68, 0x78, 0x78, + 0x88, 0x88, 0x85, 0x55, 0x00, 0x00, 0x06, 0x01, 0x06, 0x00, 0x02, 0x10, + 0x2e, 0x00, 0x00, 0x0a, 0x01, 0x00, 0x14, 0x67, 0x99, 0x00, 0x10, 0xbb, + 0x00, 0x20, 0xee, 0xef, 0xee, 0xef, 0xee, 0xef, 0xee, 0xdd, 0xd8, 0xd2, + 0xd2, 0xdd, 0xd2, 0x54, 0x56, 0x66, 0x0a, 0x65, 0x00, 0x0a, 0x68, 0x58, + 0x55, 0x86, 0x86, 0x00, 0x06, 0x66, 0x00, 0x08, 0x77, 0x76, 0x66, 0x62, + 0x06, 0x66, 0x00, 0x52, 0x64, 0x44, 0x44, 0x14, 0x44, 0x44, 0x66, 0x86, + 0x86, 0x77, 0x67, 0x67, 0x76, 0x76, 0x56, 0x46, 0x54, 0x44, 0x46, 0x64, + 0x56, 0x54, 0x54, 0x34, 0x45, 0x46, 0x56, 0x56, 0x55, 0x65, 0x55, 0x55, + 0x68, 0x68, 0x78, 0x68, 0x88, 0x58, 0x85, 0x55, 0x55, 0x00, 0x00, 0x00, + 0x0a, 0x00, 0x02, 0x10, 0x2e, 0x00, 0x00, 0x0c, 0x10, 0x00, 0x01, 0x14, + 0x67, 0x99, 0x0e, 0xbb, 0x02, 0xbe, 0x0c, 0xee, 0x02, 0xef, 0x02, 0xcd, + 0x06, 0xd8, 0x00, 0x06, 0xdd, 0xd2, 0x82, 0x00, 0x0a, 0x56, 0x00, 0x18, + 0x66, 0x56, 0x58, 0x58, 0xa8, 0x88, 0x85, 0x78, 0x77, 0x77, 0x76, 0x76, + 0x08, 0x66, 0x00, 0x06, 0x26, 0x62, 0x42, 0x00, 0x06, 0x44, 0x00, 0x06, + 0x46, 0x65, 0x76, 0x00, 0x06, 0x87, 0x00, 0x1e, 0x67, 0x66, 0x76, 0x64, + 0x64, 0x45, 0x45, 0x65, 0x46, 0x56, 0x45, 0x43, 0x45, 0x35, 0x45, 0x00, + 0x06, 0x56, 0x00, 0x18, 0x55, 0x46, 0x56, 0x86, 0x86, 0x88, 0x88, 0x68, + 0x68, 0x55, 0x55, 0x53, 0x00, 0x00, 0x02, 0x00, 0x02, 0x01, 0x38, 0x00, + 0x00, 0x0a, 0x01, 0x01, 0x14, 0x27, 0x99, 0x00, 0x0c, 0xbb, 0x02, 0xbe, + 0x02, 0xbe, 0x06, 0xee, 0x00, 0x22, 0xef, 0xef, 0xee, 0xef, 0xdd, 0xdd, + 0x2d, 0x28, 0xdf, 0xd2, 0x84, 0x36, 0x66, 0x56, 0x56, 0x66, 0x85, 0x00, + 0x06, 0x58, 0x00, 0x14, 0x8a, 0xa8, 0x8a, 0x8a, 0x88, 0x77, 0x86, 0x66, + 0x62, 0x62, 0x06, 0x66, 0x06, 0x44, 0x00, 0x38, 0x14, 0x44, 0x65, 0x65, + 0x66, 0x87, 0x77, 0x67, 0x66, 0x68, 0x66, 0x66, 0x54, 0x54, 0x44, 0x46, + 0x66, 0x46, 0x66, 0x54, 0x43, 0x44, 0x54, 0x45, 0x65, 0x55, 0x55, 0x65, + 0x06, 0x56, 0x00, 0x0e, 0x86, 0x86, 0x85, 0x55, 0x55, 0x53, 0x33, 0x00, + 0x00, 0x00, 0x02, 0x01, 0x06, 0x00, 0x02, 0x10, 0x02, 0x01, 0x2c, 0x00, + 0x00, 0x0e, 0x10, 0x00, 0x01, 0x01, 0x14, 0x67, 0x79, 0x00, 0x0e, 0xbb, + 0x02, 0xbe, 0x0e, 0xee, 0x00, 0x20, 0xef, 0xdd, 0xd2, 0xd8, 0xdd, 0x82, + 0x82, 0x46, 0x55, 0x65, 0x68, 0x58, 0x65, 0x68, 0x55, 0x8a, 0x08, 0xaa, + 0x00, 0x36, 0xa8, 0x88, 0x79, 0x76, 0x66, 0x66, 0x62, 0x66, 0x62, 0x64, + 0x24, 0x44, 0x14, 0x44, 0x44, 0x66, 0x66, 0x87, 0x68, 0x77, 0x67, 0x66, + 0x66, 0x65, 0x46, 0x44, 0x46, 0x00, 0x06, 0x56, 0x06, 0x54, 0x00, 0x1c, + 0x34, 0x35, 0x55, 0x45, 0x56, 0x56, 0x55, 0x65, 0x65, 0x68, 0x66, 0x85, + 0x65, 0x55, 0x06, 0x33, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x10, 0x00, + 0x34, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x14, 0x67, 0x99, 0x0c, 0xbb, + 0x06, 0xee, 0x00, 0x30, 0xef, 0xef, 0xee, 0xef, 0xee, 0xee, 0xdd, 0xdd, + 0x28, 0x28, 0xdd, 0x8d, 0x82, 0x35, 0x56, 0x65, 0x66, 0x65, 0x68, 0x55, + 0x88, 0x88, 0x8a, 0xad, 0x06, 0xaa, 0x00, 0x5c, 0xca, 0xa8, 0x86, 0x66, + 0x62, 0x64, 0x66, 0x26, 0x44, 0x44, 0x41, 0x44, 0x44, 0x46, 0x45, 0x66, + 0x78, 0x76, 0x77, 0x66, 0x68, 0x66, 0x56, 0x66, 0x45, 0x45, 0x56, 0x66, + 0x56, 0x65, 0x65, 0x54, 0x34, 0x54, 0x44, 0x55, 0x45, 0x45, 0x56, 0x55, + 0x65, 0x55, 0x68, 0x56, 0x55, 0x55, 0x06, 0x33, 0x00, 0x00, 0x00, 0x08, + 0x01, 0x00, 0x00, 0x01, 0x2e, 0x00, 0x02, 0x01, 0x06, 0x00, 0x00, 0x08, + 0x10, 0x44, 0x67, 0x79, 0x08, 0xbb, 0x0e, 0xee, 0x00, 0x36, 0xef, 0xfe, + 0xee, 0xec, 0xdf, 0xd2, 0x8d, 0xd8, 0xd2, 0xd8, 0x28, 0x23, 0x56, 0x56, + 0x65, 0x86, 0x86, 0x88, 0x58, 0x8a, 0xad, 0xaa, 0xac, 0xcd, 0xaa, 0xaa, + 0xa8, 0x00, 0x06, 0x66, 0x00, 0x26, 0x62, 0x62, 0x26, 0x42, 0x44, 0x41, + 0x41, 0x44, 0x44, 0x65, 0x66, 0x68, 0x67, 0x76, 0x68, 0x66, 0x56, 0x56, + 0x54, 0x00, 0x06, 0x56, 0x00, 0x24, 0x68, 0x66, 0x68, 0x65, 0x65, 0x56, + 0x54, 0x55, 0x56, 0x55, 0x55, 0x65, 0x65, 0x56, 0x56, 0x85, 0x55, 0x55, + 0x06, 0x33, 0x02, 0x11, 0x00, 0x00, 0x0c, 0x00, 0x02, 0x10, 0x30, 0x00, + 0x00, 0x0a, 0x01, 0x12, 0x67, 0x9b, 0x9b, 0x00, 0x08, 0xbb, 0x0c, 0xee, + 0x06, 0xfe, 0x00, 0x08, 0xed, 0xdd, 0x8d, 0x8d, 0x06, 0xdd, 0x00, 0x26, + 0xd2, 0x31, 0x58, 0x54, 0x66, 0x68, 0x86, 0x85, 0x88, 0x88, 0x8a, 0xac, + 0xad, 0xaa, 0xcc, 0xaa, 0x86, 0x66, 0x76, 0x00, 0x08, 0x66, 0x00, 0x18, + 0x24, 0x44, 0x41, 0x41, 0x44, 0x44, 0x46, 0x56, 0x67, 0x67, 0x66, 0x86, + 0x0a, 0x65, 0x00, 0x20, 0x66, 0x58, 0x66, 0x86, 0x85, 0x68, 0x56, 0x65, + 0x55, 0x56, 0x54, 0x54, 0x56, 0x54, 0x55, 0x56, 0x06, 0x55, 0x00, 0x0a, + 0x53, 0x33, 0x33, 0x13, 0x11, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, + 0x01, 0x00, 0x2e, 0x00, 0x02, 0x01, 0x06, 0x00, 0x00, 0x0c, 0x10, 0x10, + 0x14, 0x67, 0x99, 0x9b, 0x06, 0xbb, 0x02, 0xbe, 0x02, 0xee, 0x06, 0xfe, + 0x06, 0xef, 0x00, 0x38, 0xfe, 0xfe, 0xef, 0xfd, 0xdd, 0xdd, 0x8d, 0xdd, + 0xd8, 0x82, 0x33, 0x58, 0x32, 0x65, 0x56, 0x58, 0x58, 0x88, 0x8a, 0xad, + 0xaa, 0xaa, 0xac, 0xaa, 0xaa, 0x88, 0x87, 0x87, 0x06, 0x66, 0x00, 0x18, + 0x64, 0x64, 0x44, 0x14, 0x14, 0x44, 0x44, 0x64, 0x66, 0x68, 0x67, 0x87, + 0x06, 0x66, 0x06, 0x56, 0x00, 0x1e, 0x58, 0x66, 0x68, 0x68, 0x67, 0x68, + 0x65, 0x85, 0x56, 0x55, 0x54, 0x55, 0x65, 0x55, 0x54, 0x00, 0x08, 0x55, + 0x00, 0x0a, 0x33, 0x33, 0x13, 0x11, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, + 0x02, 0x10, 0x2e, 0x00, 0x00, 0x0c, 0x10, 0x00, 0x00, 0x11, 0x27, 0x79, + 0x08, 0xbb, 0x02, 0xbe, 0x06, 0xee, 0x00, 0x10, 0xfe, 0xee, 0xee, 0xef, + 0xef, 0xfe, 0xfd, 0xd8, 0x08, 0xdd, 0x00, 0x18, 0xd8, 0xd8, 0x21, 0x38, + 0x84, 0x56, 0x56, 0x55, 0x58, 0x58, 0x88, 0x8a, 0x06, 0xaa, 0x00, 0x0c, + 0xac, 0xaa, 0x8a, 0x88, 0x86, 0x86, 0x06, 0x66, 0x00, 0x0e, 0x44, 0x44, + 0x41, 0x44, 0x14, 0x44, 0x44, 0x00, 0x0a, 0x66, 0x00, 0x06, 0x56, 0x55, + 0x45, 0x00, 0x06, 0x56, 0x00, 0x06, 0x65, 0x86, 0x87, 0x00, 0x06, 0x68, + 0x00, 0x06, 0x66, 0x65, 0x55, 0x00, 0x06, 0x45, 0x00, 0x10, 0x53, 0x65, + 0x54, 0x55, 0x55, 0x33, 0x33, 0x31, 0x06, 0x11, 0x00, 0x00, 0x3c, 0x00, + 0x06, 0x01, 0x00, 0x06, 0x47, 0x79, 0x9b, 0x00, 0x08, 0xbb, 0x00, 0x06, + 0xee, 0xee, 0xff, 0x00, 0x08, 0xee, 0x00, 0x3c, 0xff, 0xfe, 0xfd, 0xa8, + 0xdd, 0xdd, 0x2d, 0xdd, 0xdd, 0x2d, 0x23, 0x38, 0x85, 0x56, 0x55, 0x45, + 0x55, 0x85, 0x88, 0x88, 0xaa, 0xad, 0xaa, 0xca, 0xaa, 0xa8, 0x78, 0x87, + 0x66, 0x76, 0x06, 0x66, 0x00, 0x26, 0x44, 0x41, 0x41, 0x44, 0x44, 0x46, + 0x66, 0x68, 0x78, 0x68, 0x65, 0x65, 0x64, 0x64, 0x56, 0x55, 0x66, 0x56, + 0x86, 0x00, 0x06, 0x68, 0x00, 0x24, 0x58, 0x68, 0x55, 0x54, 0x53, 0x55, + 0x54, 0x55, 0x53, 0x43, 0x53, 0x43, 0x33, 0x31, 0x11, 0x11, 0x10, 0x10, + 0x00, 0x00, 0x3a, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x11, 0x27, 0x79, + 0x06, 0xbb, 0x06, 0xbe, 0x00, 0x46, 0xee, 0xee, 0xef, 0xee, 0xef, 0xee, + 0xfe, 0xff, 0xdd, 0x8d, 0xdd, 0xd8, 0xd8, 0xdd, 0xdd, 0x82, 0x82, 0x35, + 0x88, 0x62, 0x54, 0x53, 0x55, 0x55, 0x88, 0xad, 0xaa, 0xaa, 0xca, 0xaa, + 0xaa, 0x88, 0x88, 0x67, 0x86, 0x00, 0x06, 0x66, 0x00, 0x0e, 0x64, 0x44, + 0x44, 0x41, 0x41, 0x44, 0x44, 0x00, 0x08, 0x66, 0x02, 0x65, 0x02, 0x64, + 0x06, 0x55, 0x00, 0x0a, 0x56, 0x55, 0x56, 0x56, 0x85, 0x00, 0x06, 0x86, + 0x00, 0x18, 0x85, 0x64, 0x55, 0x55, 0x44, 0x35, 0x55, 0x45, 0x53, 0x43, + 0x33, 0x33, 0x06, 0x11, 0x02, 0x01, 0x02, 0x10, 0x00, 0x00, 0x36, 0x00, + 0x00, 0x12, 0x10, 0x01, 0x00, 0x00, 0x10, 0x11, 0x46, 0x79, 0x9b, 0x00, + 0x06, 0xbb, 0x02, 0xbe, 0x06, 0xee, 0x00, 0x30, 0xfe, 0xee, 0xfe, 0xff, + 0xef, 0xef, 0xdd, 0x88, 0xdd, 0xdd, 0xd8, 0xdd, 0xd2, 0xd8, 0x88, 0x23, + 0x88, 0x54, 0x54, 0x45, 0x58, 0x58, 0xad, 0xad, 0x06, 0xaa, 0x00, 0x1a, + 0xad, 0xaa, 0x8a, 0x87, 0x88, 0x67, 0x86, 0x66, 0x66, 0x44, 0x44, 0x41, + 0x41, 0x00, 0x06, 0x44, 0x00, 0x0c, 0x66, 0x66, 0x86, 0x66, 0x56, 0x55, + 0x08, 0x54, 0x00, 0x30, 0x56, 0x55, 0x65, 0x56, 0x68, 0x68, 0x56, 0x56, + 0x55, 0x65, 0x44, 0x53, 0x54, 0x34, 0x53, 0x43, 0x33, 0x31, 0x31, 0x11, + 0x11, 0x10, 0x10, 0x00, 0x00, 0x00, 0x32, 0x00, 0x02, 0x01, 0x08, 0x00, + 0x00, 0x0c, 0x10, 0x00, 0x11, 0x42, 0x79, 0x9b, 0x06, 0xbb, 0x00, 0x48, + 0xbe, 0xee, 0xee, 0xfe, 0xfe, 0xff, 0xfe, 0xef, 0xef, 0xfe, 0xd8, 0xd8, + 0xdd, 0x2d, 0x8d, 0xdd, 0xdd, 0xd8, 0x2d, 0x33, 0x5a, 0x56, 0x45, 0x65, + 0x55, 0x58, 0xaa, 0xda, 0xaa, 0xca, 0xaa, 0xaa, 0x8a, 0x8a, 0xa8, 0x86, + 0x0a, 0x66, 0x06, 0x44, 0x00, 0x06, 0x41, 0x44, 0x46, 0x00, 0x06, 0x66, + 0x00, 0x14, 0x65, 0x64, 0x34, 0x54, 0x55, 0x55, 0x35, 0x54, 0x56, 0x55, + 0x06, 0x65, 0x00, 0x0e, 0x66, 0x55, 0x45, 0x53, 0x53, 0x54, 0x34, 0x00, + 0x06, 0x33, 0x02, 0x13, 0x06, 0x11, 0x06, 0x10, 0x02, 0x00, 0x00, 0x00, + 0x3e, 0x00, 0x00, 0x0a, 0x01, 0x11, 0x46, 0x79, 0x9b, 0x00, 0x06, 0xbb, + 0x00, 0x18, 0xee, 0xee, 0xef, 0xee, 0xef, 0xfe, 0xef, 0xef, 0xff, 0xee, + 0xda, 0x8d, 0x0c, 0xdd, 0x00, 0x1a, 0x2d, 0x82, 0x3a, 0x54, 0x26, 0x55, + 0x85, 0x88, 0xda, 0xcc, 0xcd, 0xaa, 0xad, 0x00, 0x06, 0xaa, 0x00, 0x06, + 0x88, 0x78, 0x78, 0x00, 0x08, 0x66, 0x00, 0x0e, 0x64, 0x44, 0x41, 0x41, + 0x44, 0x44, 0x66, 0x00, 0x06, 0x86, 0x00, 0x32, 0x54, 0x45, 0x43, 0x54, + 0x33, 0x54, 0x55, 0x55, 0x54, 0x53, 0x55, 0x56, 0x55, 0x56, 0x55, 0x54, + 0x54, 0x53, 0x43, 0x43, 0x41, 0x41, 0x31, 0x11, 0x11, 0x00, 0x06, 0x10, + 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0e, 0x10, 0x01, + 0x00, 0x10, 0x14, 0x46, 0x99, 0x00, 0x08, 0xbb, 0x02, 0xee, 0x02, 0xee, + 0x08, 0xef, 0x00, 0x10, 0xff, 0xfe, 0xef, 0xfd, 0xad, 0xdd, 0xdd, 0xd8, + 0x08, 0xdd, 0x00, 0x30, 0x82, 0xd3, 0x38, 0x85, 0x65, 0x65, 0x55, 0x88, + 0xad, 0xcf, 0xdc, 0xdc, 0xac, 0xda, 0xda, 0xaa, 0xa8, 0x88, 0x78, 0x78, + 0x77, 0x66, 0x66, 0x44, 0x06, 0x41, 0x02, 0x44, 0x02, 0x44, 0x08, 0x66, + 0x00, 0x14, 0x54, 0x53, 0x45, 0x43, 0x53, 0x33, 0x34, 0x33, 0x43, 0x34, + 0x08, 0x43, 0x00, 0x0e, 0x44, 0x43, 0x54, 0x53, 0x43, 0x41, 0x31, 0x00, + 0x06, 0x11, 0x00, 0x06, 0x10, 0x11, 0x01, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x02, 0x10, 0x06, 0x00, 0x00, 0x08, 0x10, 0x14, 0x67, 0x99, + 0x08, 0xbb, 0x00, 0x06, 0xee, 0xee, 0xff, 0x00, 0x0c, 0xef, 0x00, 0x06, + 0xee, 0xd8, 0x8d, 0x00, 0x06, 0xdd, 0x00, 0x2c, 0xd8, 0xdd, 0xdd, 0x28, + 0xd8, 0x25, 0xa8, 0x62, 0x65, 0x58, 0x8a, 0xcc, 0xdc, 0xdc, 0xfc, 0xfc, + 0xdc, 0xda, 0xa8, 0x88, 0x78, 0x76, 0x08, 0x66, 0x06, 0x44, 0x00, 0x10, + 0x14, 0x44, 0x44, 0x66, 0x68, 0x68, 0x66, 0x54, 0x06, 0x53, 0x00, 0x0c, + 0x35, 0x34, 0x33, 0x34, 0x33, 0x43, 0x08, 0x34, 0x02, 0x33, 0x02, 0x34, + 0x06, 0x33, 0x06, 0x11, 0x08, 0x10, 0x08, 0x00, 0x00, 0x00, 0x3a, 0x00, + 0x00, 0x0c, 0x10, 0x10, 0x00, 0x14, 0x67, 0x9b, 0x08, 0xbb, 0x02, 0xee, + 0x0c, 0xef, 0x00, 0x0c, 0xfe, 0xfe, 0xed, 0xd8, 0xdd, 0xd8, 0x0a, 0xdd, + 0x00, 0x28, 0xd2, 0x8d, 0x33, 0x88, 0x45, 0x65, 0x58, 0xac, 0xdd, 0xcc, + 0xfc, 0xcd, 0xcc, 0xdc, 0xca, 0xaa, 0xa8, 0x88, 0x68, 0x76, 0x06, 0x66, + 0x00, 0x0c, 0x44, 0x44, 0x41, 0x44, 0x14, 0x44, 0x06, 0x66, 0x02, 0x65, + 0x02, 0x55, 0x08, 0x53, 0x00, 0x0a, 0x33, 0x34, 0x33, 0x34, 0x33, 0x00, + 0x12, 0x34, 0x00, 0x0c, 0x11, 0x11, 0x01, 0x11, 0x01, 0x01, 0x0a, 0x00, + 0x00, 0x00, 0x32, 0x00, 0x02, 0x01, 0x0a, 0x00, 0x00, 0x08, 0x01, 0x14, + 0x47, 0x9b, 0x06, 0xbb, 0x00, 0x08, 0xbe, 0xee, 0xef, 0xef, 0x08, 0xff, + 0x00, 0x3e, 0xef, 0xee, 0xed, 0xa8, 0xdd, 0xd8, 0xdd, 0xdd, 0xd8, 0xdd, + 0xdd, 0xd2, 0x2d, 0x82, 0x88, 0x56, 0x65, 0x58, 0xac, 0xdc, 0xcf, 0xdc, + 0xfc, 0xdf, 0xcf, 0xcd, 0xca, 0xaa, 0xaa, 0xa7, 0x88, 0x00, 0x06, 0x66, + 0x02, 0x44, 0x02, 0x44, 0x06, 0x14, 0x00, 0x18, 0x44, 0x46, 0x56, 0x86, + 0x85, 0x65, 0x33, 0x53, 0x53, 0x33, 0x34, 0x33, 0x08, 0x43, 0x00, 0x0c, + 0x14, 0x14, 0x34, 0x14, 0x44, 0x14, 0x0a, 0x11, 0x02, 0x01, 0x02, 0x01, + 0x0c, 0x00, 0x00, 0x00, 0x30, 0x00, 0x02, 0x10, 0x06, 0x00, 0x00, 0x0e, + 0x10, 0x00, 0x00, 0x10, 0x04, 0x47, 0x9b, 0x00, 0x06, 0xbb, 0x06, 0xee, + 0x0a, 0xef, 0x00, 0x0c, 0xff, 0xff, 0xdd, 0xad, 0xdd, 0xd2, 0x0a, 0xdd, + 0x00, 0x5e, 0xd8, 0x28, 0xd2, 0x58, 0x62, 0x65, 0x88, 0xac, 0xfc, 0xcf, + 0xcc, 0xdc, 0xcc, 0xdd, 0xcd, 0xdc, 0xaa, 0xaa, 0x88, 0x86, 0x76, 0x66, + 0x46, 0x44, 0x44, 0x41, 0x44, 0x41, 0x44, 0x66, 0x86, 0x65, 0x86, 0x55, + 0x55, 0x53, 0x53, 0x43, 0x43, 0x34, 0x35, 0x35, 0x33, 0x33, 0x43, 0x34, + 0x43, 0x00, 0x08, 0x41, 0x06, 0x11, 0x02, 0x01, 0x02, 0x01, 0x0e, 0x00, + 0x00, 0x00, 0x3a, 0x00, 0x00, 0x12, 0x01, 0x00, 0x10, 0x14, 0x46, 0x9b, + 0xbb, 0xbb, 0xbe, 0x00, 0x06, 0xee, 0x0a, 0xff, 0x00, 0x08, 0xfe, 0xff, + 0xed, 0xad, 0x0c, 0xdd, 0x00, 0x16, 0x8d, 0xdd, 0x2d, 0xd2, 0x38, 0x84, + 0x66, 0x58, 0xac, 0xcf, 0xef, 0x00, 0x06, 0xcf, 0x00, 0x0e, 0xcc, 0xcd, + 0xac, 0xad, 0xa8, 0xa8, 0x77, 0x00, 0x06, 0x66, 0x00, 0x20, 0x44, 0x44, + 0x41, 0x41, 0x44, 0x44, 0x46, 0x66, 0x86, 0x86, 0x55, 0x53, 0x43, 0x34, + 0x34, 0x33, 0x06, 0x43, 0x00, 0x0e, 0x33, 0x34, 0x33, 0x43, 0x31, 0x41, + 0x41, 0x00, 0x06, 0x11, 0x00, 0x06, 0x10, 0x11, 0x01, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x36, 0x00, 0x02, 0x01, 0x06, 0x00, 0x00, 0x18, 0x10, 0x14, + 0x67, 0x9b, 0xbb, 0xbb, 0xbe, 0xee, 0xee, 0xfe, 0xee, 0xfe, 0x06, 0xff, + 0x00, 0x0c, 0xef, 0xff, 0xda, 0xdd, 0xdd, 0x88, 0x06, 0xdd, 0x00, 0x34, + 0x8d, 0xdd, 0xdd, 0x28, 0xd8, 0x55, 0x86, 0x56, 0x88, 0xac, 0xfc, 0xdf, + 0xcf, 0xdc, 0xcc, 0xcf, 0xdd, 0xcd, 0xaa, 0x8a, 0x87, 0x88, 0x86, 0x66, + 0x66, 0x44, 0x08, 0x41, 0x00, 0x28, 0x34, 0x56, 0x86, 0x68, 0x68, 0x55, + 0x55, 0x53, 0x34, 0x13, 0x33, 0x43, 0x33, 0x43, 0x34, 0x34, 0x14, 0x41, + 0x44, 0x14, 0x0a, 0x11, 0x02, 0x10, 0x02, 0x01, 0x10, 0x00, 0x00, 0x00, + 0x34, 0x00, 0x00, 0x1e, 0x01, 0x00, 0x00, 0x10, 0x01, 0x00, 0x14, 0x67, + 0x9b, 0xbb, 0xbb, 0xeb, 0xee, 0xef, 0xef, 0x00, 0x06, 0xff, 0x00, 0x10, + 0xfe, 0xff, 0xff, 0xef, 0xea, 0xad, 0xdd, 0xad, 0x06, 0xdd, 0x00, 0x34, + 0x8d, 0x8d, 0xd7, 0x25, 0xdd, 0x25, 0x85, 0x66, 0x88, 0xcf, 0xcc, 0xfc, + 0xcd, 0xac, 0xcd, 0xfc, 0xcd, 0xcc, 0xaa, 0xaa, 0xa8, 0xa8, 0x76, 0x76, + 0x66, 0x44, 0x06, 0x41, 0x00, 0x28, 0x44, 0x44, 0x46, 0x56, 0x88, 0x58, + 0x65, 0x55, 0x34, 0x33, 0x43, 0x34, 0x33, 0x43, 0x33, 0x41, 0x41, 0x14, + 0x14, 0x41, 0x06, 0x11, 0x02, 0x01, 0x02, 0x01, 0x06, 0x10, 0x10, 0x00, + 0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x01, 0x67, 0x9b, 0xbb, 0xbb, 0xbe, + 0xee, 0xee, 0x06, 0xfe, 0x00, 0x10, 0xfd, 0xff, 0xff, 0xef, 0xfe, 0xdd, + 0xdd, 0xed, 0x0c, 0xdd, 0x00, 0x10, 0xda, 0x82, 0x28, 0x83, 0x86, 0x66, + 0x5a, 0xcd, 0x06, 0xcf, 0x02, 0xdc, 0x06, 0xcf, 0x00, 0x4e, 0xcd, 0xdc, + 0xca, 0xaa, 0x88, 0x77, 0x66, 0x66, 0x44, 0x44, 0x41, 0x44, 0x44, 0x34, + 0x45, 0x65, 0x85, 0x88, 0x55, 0x54, 0x54, 0x34, 0x33, 0x33, 0x34, 0x43, + 0x44, 0x44, 0x14, 0x11, 0x41, 0x11, 0x11, 0x01, 0x10, 0x11, 0x11, 0x01, + 0x01, 0x00, 0x12, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x14, 0x10, 0x00, + 0x00, 0x10, 0x11, 0x44, 0x79, 0xbb, 0xbe, 0xbe, 0x06, 0xee, 0x0a, 0xff, + 0x00, 0x0c, 0xef, 0xef, 0xda, 0xdd, 0xdd, 0x8d, 0x06, 0xdd, 0x00, 0x36, + 0xd2, 0xd8, 0xfd, 0x92, 0x2d, 0x82, 0x58, 0x56, 0x88, 0xcc, 0xcc, 0xcf, + 0xcd, 0xcc, 0xfc, 0xdf, 0xcd, 0xcd, 0xca, 0xaa, 0x8a, 0xa7, 0x78, 0x76, + 0x64, 0x44, 0x44, 0x00, 0x06, 0x14, 0x00, 0x18, 0x44, 0x45, 0x65, 0x88, + 0x68, 0x55, 0x54, 0x33, 0x43, 0x34, 0x43, 0x44, 0x06, 0x41, 0x02, 0x14, + 0x0a, 0x11, 0x06, 0x10, 0x02, 0x01, 0x14, 0x00, 0x00, 0x00, 0x32, 0x00, + 0x02, 0x10, 0x08, 0x00, 0x00, 0x0a, 0x10, 0x00, 0x01, 0x46, 0x7b, 0x00, + 0x06, 0xbb, 0x02, 0xee, 0x02, 0xee, 0x06, 0xef, 0x08, 0xff, 0x00, 0x06, + 0xfd, 0xaa, 0xdf, 0x00, 0x0c, 0xdd, 0x00, 0x36, 0xd8, 0xfd, 0xd2, 0x22, + 0xd5, 0x58, 0x86, 0x88, 0xcc, 0xcf, 0xfd, 0xcd, 0xcf, 0xdc, 0xfc, 0xdc, + 0xdc, 0xca, 0xaa, 0xaa, 0x78, 0x78, 0x66, 0x66, 0x44, 0x41, 0x41, 0x00, + 0x06, 0x44, 0x00, 0x14, 0x45, 0x56, 0x58, 0x58, 0x55, 0x45, 0x35, 0x43, + 0x43, 0x14, 0x0a, 0x41, 0x08, 0x11, 0x0a, 0x01, 0x14, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x02, 0x10, 0x06, 0x00, 0x00, 0x0e, 0x01, 0x10, 0x14, 0x79, + 0x9b, 0xbb, 0xbb, 0x00, 0x06, 0xee, 0x0a, 0xff, 0x00, 0x0a, 0xef, 0xee, + 0xdd, 0xdd, 0xed, 0x00, 0x08, 0xdd, 0x00, 0x48, 0xd8, 0xd2, 0xfd, 0xa7, + 0x2d, 0x85, 0x28, 0x86, 0x7a, 0xcc, 0xed, 0xcd, 0xcd, 0xca, 0xdc, 0xfc, + 0xfc, 0xdc, 0xda, 0xaa, 0x8a, 0x78, 0x78, 0x66, 0x64, 0x44, 0x41, 0x44, + 0x14, 0x44, 0x34, 0x55, 0x55, 0x85, 0x86, 0x55, 0x08, 0x34, 0x00, 0x0e, + 0x44, 0x41, 0x41, 0x14, 0x11, 0x11, 0x01, 0x00, 0x06, 0x10, 0x00, 0x08, + 0x01, 0x00, 0x10, 0x10, 0x16, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x0a, + 0x10, 0x00, 0x01, 0x36, 0x69, 0x00, 0x06, 0xbb, 0x00, 0x1a, 0xeb, 0xee, + 0xef, 0xef, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xdd, 0x88, 0xdf, 0xfd, 0x00, + 0x0a, 0xdd, 0x00, 0x4e, 0xd8, 0xdf, 0xdd, 0x8d, 0x88, 0x28, 0x85, 0x8a, + 0xce, 0xcf, 0xdc, 0xad, 0xcd, 0xfc, 0xdf, 0xcf, 0xcd, 0xca, 0xaa, 0xaa, + 0xa8, 0x86, 0x66, 0x44, 0x44, 0x14, 0x13, 0x41, 0x34, 0x34, 0x45, 0x65, + 0x55, 0x85, 0x55, 0x43, 0x54, 0x34, 0x44, 0x00, 0x06, 0x14, 0x08, 0x11, + 0x02, 0x10, 0x02, 0x10, 0x06, 0x01, 0x1a, 0x00, 0x00, 0x00, 0x3e, 0x00, + 0x00, 0x14, 0x01, 0x01, 0x44, 0x79, 0x9b, 0xbb, 0xbb, 0xbe, 0xee, 0xee, + 0x06, 0xff, 0x00, 0x2a, 0xfe, 0xee, 0xee, 0xed, 0xa8, 0xdd, 0xfd, 0xdd, + 0xdd, 0xfd, 0xdd, 0xd8, 0xd2, 0xff, 0xfd, 0x2d, 0x2d, 0x25, 0x86, 0x7a, + 0xcc, 0x00, 0x06, 0xcd, 0x00, 0x38, 0xcc, 0xcc, 0xdc, 0xcd, 0xcd, 0xaa, + 0xaa, 0xa8, 0x88, 0x76, 0x66, 0x64, 0x44, 0x14, 0x44, 0x14, 0x44, 0x43, + 0x55, 0x55, 0x58, 0x55, 0x55, 0x35, 0x43, 0x34, 0x31, 0x44, 0x08, 0x11, + 0x00, 0x0a, 0x01, 0x11, 0x00, 0x10, 0x10, 0x00, 0x1e, 0x00, 0x00, 0x00, + 0x42, 0x00, 0x02, 0x14, 0x02, 0x89, 0x08, 0xbb, 0x00, 0x18, 0xee, 0xee, + 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xee, 0xd8, 0xdd, 0x8d, 0xfd, 0x0c, 0xdd, + 0x00, 0x16, 0x8f, 0xfd, 0x2d, 0xd8, 0x54, 0x87, 0x88, 0xac, 0xac, 0xcc, + 0xdc, 0x00, 0x06, 0xcd, 0x00, 0x14, 0xfc, 0xdc, 0xcc, 0xaa, 0x8a, 0x86, + 0x66, 0x66, 0x44, 0x44, 0x06, 0x14, 0x00, 0x06, 0x44, 0x53, 0x45, 0x00, + 0x08, 0x55, 0x00, 0x0c, 0x44, 0x53, 0x44, 0x44, 0x11, 0x41, 0x08, 0x11, + 0x00, 0x06, 0x01, 0x01, 0x10, 0x00, 0x20, 0x00, 0x00, 0x00, 0x3a, 0x00, + 0x00, 0x2e, 0x01, 0x00, 0x10, 0x01, 0x46, 0x8b, 0xbb, 0xeb, 0xbb, 0xbe, + 0xee, 0xee, 0xef, 0xff, 0xff, 0xef, 0xee, 0xee, 0xd8, 0x88, 0x8f, 0xfd, + 0x2d, 0x00, 0x08, 0xdd, 0x00, 0x36, 0xd8, 0x8d, 0xfa, 0x2d, 0x28, 0x22, + 0xa8, 0x88, 0xcc, 0xec, 0xcc, 0xdc, 0xdd, 0xcd, 0xdc, 0xcc, 0xdc, 0xac, + 0xaa, 0xaa, 0x88, 0x66, 0x64, 0x44, 0x44, 0x14, 0x41, 0x00, 0x06, 0x43, + 0x06, 0x55, 0x00, 0x1a, 0x45, 0x54, 0x53, 0x34, 0x34, 0x14, 0x14, 0x11, + 0x11, 0x10, 0x11, 0x01, 0x01, 0x00, 0x24, 0x00, 0x00, 0x00, 0x40, 0x00, + 0x00, 0x06, 0x01, 0x14, 0x89, 0x00, 0x08, 0xbb, 0x00, 0x1a, 0xbe, 0xee, + 0xef, 0xff, 0xff, 0xee, 0xee, 0xed, 0xd8, 0x82, 0x2f, 0xfd, 0x8d, 0x00, + 0x0a, 0xdd, 0x00, 0x28, 0x8d, 0xff, 0x28, 0x82, 0x82, 0x8a, 0x79, 0xac, + 0xcc, 0xca, 0xca, 0xac, 0xda, 0xca, 0xaa, 0xac, 0xca, 0xaa, 0xa8, 0x76, + 0x06, 0x66, 0x00, 0x06, 0x44, 0x44, 0x14, 0x00, 0x06, 0x43, 0x00, 0x12, + 0x34, 0x55, 0x45, 0x55, 0x55, 0x35, 0x54, 0x41, 0x41, 0x00, 0x08, 0x11, + 0x02, 0x10, 0x02, 0x11, 0x26, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x08, + 0x01, 0x13, 0x68, 0x9b, 0x06, 0xbb, 0x00, 0x1a, 0xbe, 0xee, 0xef, 0xff, + 0xfe, 0xee, 0xee, 0xed, 0x88, 0x82, 0x8f, 0xfd, 0x2d, 0x00, 0x08, 0xdd, + 0x00, 0x1a, 0xd2, 0xdd, 0xfd, 0x82, 0x82, 0xd2, 0x8a, 0xa8, 0xaa, 0xc8, + 0xaa, 0xcc, 0xca, 0x00, 0x06, 0xaa, 0x00, 0x20, 0xac, 0xac, 0xaa, 0x87, + 0x66, 0x67, 0x66, 0x66, 0x45, 0x44, 0x44, 0x14, 0x34, 0x34, 0x35, 0x53, + 0x06, 0x55, 0x00, 0x16, 0x35, 0x34, 0x14, 0x14, 0x11, 0x11, 0x10, 0x11, + 0x01, 0x00, 0x01, 0x00, 0x24, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x0a, + 0x10, 0x01, 0x01, 0x47, 0x9b, 0x00, 0x08, 0xbb, 0x00, 0x18, 0xbe, 0xef, + 0xff, 0xfe, 0xee, 0xee, 0xdd, 0xd8, 0x22, 0x5d, 0xf8, 0x2d, 0x0a, 0xdd, + 0x00, 0x1a, 0x8d, 0xfd, 0xd2, 0x8a, 0x22, 0x8a, 0x9a, 0xaa, 0x9a, 0xaa, + 0xcc, 0xca, 0xad, 0x00, 0x06, 0xaa, 0x00, 0x08, 0xca, 0xa9, 0x77, 0x67, + 0x06, 0x66, 0x00, 0x10, 0x64, 0x44, 0x34, 0x34, 0x43, 0x43, 0x34, 0x45, + 0x08, 0x55, 0x02, 0x34, 0x02, 0x41, 0x08, 0x11, 0x00, 0x06, 0x10, 0x10, + 0x01, 0x00, 0x26, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x06, 0x01, 0x36, + 0x89, 0x00, 0x08, 0xbb, 0x0a, 0xee, 0x00, 0x0e, 0xed, 0xd8, 0x22, 0x32, + 0xdd, 0xf8, 0x28, 0x00, 0x0a, 0xdd, 0x00, 0x18, 0x2d, 0xfd, 0x82, 0x28, + 0x25, 0x2a, 0xa8, 0xaa, 0x88, 0xac, 0xcc, 0xca, 0x08, 0xaa, 0x00, 0x10, + 0xa9, 0x77, 0x77, 0x76, 0x66, 0x66, 0x64, 0x46, 0x06, 0x44, 0x00, 0x06, + 0x34, 0x43, 0x43, 0x00, 0x08, 0x55, 0x00, 0x14, 0x54, 0x44, 0x11, 0x11, + 0x01, 0x11, 0x01, 0x01, 0x00, 0x10, 0x26, 0x00, 0x00, 0x00, 0x40, 0x00, + 0x00, 0x08, 0x10, 0x01, 0x14, 0x79, 0x08, 0xbb, 0x00, 0x18, 0xbe, 0xbe, + 0xee, 0xee, 0xeb, 0xed, 0xd5, 0x21, 0x25, 0x2f, 0xd2, 0x2d, 0x0a, 0xdd, + 0x00, 0x20, 0x2d, 0xdd, 0x82, 0x28, 0x22, 0x27, 0xaa, 0x87, 0x77, 0xaa, + 0xcc, 0xca, 0xaa, 0x8a, 0xa8, 0x98, 0x06, 0x77, 0x00, 0x20, 0x67, 0x66, + 0x66, 0x64, 0x64, 0x44, 0x34, 0x33, 0x34, 0x43, 0x43, 0x55, 0x56, 0x58, + 0x55, 0x44, 0x08, 0x11, 0x08, 0x01, 0x28, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x00, 0x0e, 0x10, 0x00, 0x00, 0x01, 0x16, 0x6a, 0x9b, 0x00, 0x06, 0xbb, + 0x00, 0x18, 0xbe, 0xee, 0xee, 0xde, 0xbb, 0xdd, 0x82, 0x21, 0x25, 0x2d, + 0x52, 0x1d, 0x0a, 0xdd, 0x00, 0x30, 0x2d, 0xfd, 0x22, 0x12, 0x82, 0x15, + 0xa8, 0x76, 0x67, 0xaa, 0xaa, 0x88, 0x88, 0x86, 0x66, 0x66, 0x67, 0x77, + 0x77, 0x66, 0x26, 0x46, 0x44, 0x45, 0x06, 0x44, 0x00, 0x1e, 0x43, 0x34, + 0x36, 0x56, 0x58, 0x85, 0x55, 0x11, 0x11, 0x10, 0x11, 0x01, 0x01, 0x00, + 0x10, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x08, 0x01, 0x46, + 0x79, 0x9b, 0x08, 0xbb, 0x00, 0x16, 0xbe, 0xee, 0xbb, 0xbd, 0xd8, 0xd8, + 0x32, 0x55, 0x25, 0x21, 0x22, 0x00, 0x0a, 0xdd, 0x00, 0x06, 0xd2, 0x8d, + 0x52, 0x00, 0x06, 0x22, 0x00, 0x0c, 0x77, 0x76, 0x67, 0x8a, 0x87, 0x85, + 0x08, 0x66, 0x02, 0x67, 0x0a, 0x66, 0x00, 0x26, 0x46, 0x44, 0x46, 0x54, + 0x43, 0x35, 0x45, 0x65, 0x85, 0x88, 0x55, 0x54, 0x41, 0x11, 0x11, 0x10, + 0x10, 0x11, 0x01, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x28, + 0x10, 0x10, 0x44, 0x79, 0xbb, 0xdb, 0xbb, 0x9b, 0xee, 0xec, 0xbe, 0x99, + 0xda, 0x82, 0x23, 0x22, 0x82, 0x21, 0x21, 0x11, 0x08, 0xdd, 0x00, 0x20, + 0xd8, 0xd2, 0x58, 0x82, 0x12, 0x82, 0x11, 0x66, 0x66, 0x67, 0x77, 0x88, + 0x66, 0x64, 0x64, 0x66, 0x06, 0x26, 0x02, 0x66, 0x02, 0x62, 0x06, 0x64, + 0x00, 0x1a, 0x45, 0x64, 0x44, 0x34, 0x55, 0x45, 0x58, 0x68, 0x85, 0x85, + 0x44, 0x10, 0x11, 0x00, 0x06, 0x01, 0x30, 0x00, 0x00, 0x00, 0x44, 0x00, + 0x00, 0x32, 0x16, 0x89, 0xab, 0xbb, 0xbb, 0xbe, 0xbb, 0xee, 0xbd, 0x99, + 0xa8, 0x53, 0x32, 0xdd, 0x52, 0x22, 0x11, 0x11, 0x18, 0xd8, 0x8d, 0xdd, + 0xdd, 0x83, 0x25, 0x00, 0x06, 0x22, 0x00, 0x16, 0x21, 0x26, 0x26, 0x77, + 0x89, 0x86, 0x66, 0x66, 0x26, 0x62, 0x64, 0x00, 0x06, 0x26, 0x06, 0x66, + 0x00, 0x1a, 0x64, 0x66, 0x65, 0x65, 0x44, 0x56, 0x68, 0x67, 0x88, 0x85, + 0x54, 0x11, 0x11, 0x00, 0x06, 0x10, 0x02, 0x01, 0x30, 0x00, 0x00, 0x00, + 0x3e, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x01, 0x13, 0x67, 0x9b, 0x06, 0xbb, + 0x00, 0x12, 0xbe, 0xbc, 0xb9, 0x99, 0x85, 0x22, 0x22, 0x52, 0x22, 0x00, + 0x06, 0x11, 0x00, 0x28, 0x01, 0x21, 0x11, 0x12, 0x12, 0x11, 0x23, 0x22, + 0x11, 0x21, 0x11, 0x12, 0x67, 0x67, 0x98, 0x78, 0x76, 0x62, 0x64, 0x22, + 0x06, 0x42, 0x00, 0x06, 0x66, 0x62, 0x76, 0x00, 0x06, 0x66, 0x00, 0x1c, + 0x56, 0x86, 0x56, 0x58, 0x87, 0x88, 0x85, 0x54, 0x44, 0x11, 0x10, 0x10, + 0x11, 0x01, 0x32, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x02, 0x10, 0x06, 0x00, + 0x00, 0x08, 0x12, 0x67, 0x9b, 0xbe, 0x06, 0xbb, 0x00, 0x3e, 0xed, 0xb9, + 0xd8, 0x52, 0x11, 0x12, 0x22, 0x12, 0x21, 0x11, 0x10, 0x12, 0x01, 0x01, + 0x11, 0x10, 0x11, 0x22, 0x22, 0x12, 0x12, 0x11, 0x24, 0x62, 0x67, 0x78, + 0x97, 0x76, 0x66, 0x62, 0x64, 0x00, 0x06, 0x42, 0x02, 0x62, 0x06, 0x66, + 0x02, 0x76, 0x06, 0x66, 0x00, 0x14, 0x68, 0x67, 0x86, 0x86, 0x55, 0x44, + 0x11, 0x11, 0x10, 0x10, 0x36, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x7a, + 0x01, 0x14, 0x66, 0x79, 0xbb, 0xbb, 0xbe, 0xbb, 0xdb, 0xbd, 0x95, 0x23, + 0x21, 0x22, 0x22, 0x12, 0x11, 0x12, 0x12, 0x11, 0x02, 0x01, 0x10, 0x11, + 0x10, 0x22, 0x11, 0x11, 0x01, 0x11, 0x42, 0x26, 0x67, 0x77, 0x88, 0x76, + 0x26, 0x26, 0x22, 0x24, 0x22, 0x24, 0x26, 0x66, 0x66, 0x67, 0x68, 0x68, + 0x78, 0x77, 0x87, 0x88, 0x88, 0x65, 0x44, 0x41, 0x11, 0x10, 0x10, 0x01, + 0x01, 0x00, 0x34, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x08, 0x10, 0x11, + 0x47, 0x9b, 0x06, 0xbb, 0x00, 0x20, 0xbe, 0xbb, 0xbd, 0x88, 0x11, 0x32, + 0x22, 0x21, 0x21, 0x11, 0x10, 0x11, 0x21, 0x21, 0x12, 0x12, 0x08, 0x11, + 0x00, 0x18, 0x01, 0x11, 0x11, 0x12, 0x66, 0x66, 0x67, 0x77, 0x77, 0x66, + 0x62, 0x44, 0x06, 0x24, 0x00, 0x24, 0x62, 0x66, 0x66, 0x67, 0x87, 0x66, + 0x68, 0x98, 0xa7, 0x87, 0x86, 0x54, 0x41, 0x11, 0x11, 0x01, 0x00, 0x01, + 0x36, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x0a, 0x14, 0x27, 0x99, 0xbb, + 0xbb, 0x00, 0x06, 0xeb, 0x00, 0x14, 0xaa, 0x28, 0x12, 0x32, 0x22, 0x21, + 0x21, 0x01, 0x01, 0x22, 0x06, 0x12, 0x00, 0x06, 0x11, 0x11, 0x10, 0x00, + 0x06, 0x11, 0x00, 0x22, 0x02, 0x11, 0x25, 0x66, 0x66, 0x76, 0x77, 0x77, + 0x66, 0x62, 0x62, 0x24, 0x24, 0x22, 0x26, 0x26, 0x67, 0x00, 0x0c, 0x78, + 0x00, 0x08, 0x88, 0x65, 0x43, 0x11, 0x0a, 0x10, 0x36, 0x00, 0x00, 0x00, + 0x42, 0x00, 0x00, 0x08, 0x10, 0x14, 0x67, 0x79, 0x06, 0xbb, 0x00, 0x18, + 0xbe, 0xbd, 0xba, 0x52, 0x33, 0x22, 0x22, 0x12, 0x12, 0x11, 0x01, 0x12, + 0x08, 0x22, 0x00, 0x46, 0x21, 0x00, 0x11, 0x11, 0x01, 0x11, 0x11, 0x46, + 0x76, 0x66, 0x66, 0x67, 0x77, 0x77, 0x66, 0x42, 0x44, 0x22, 0x42, 0x62, + 0x67, 0x77, 0x67, 0x76, 0x78, 0x68, 0x88, 0x88, 0x64, 0x43, 0x31, 0x01, + 0x01, 0x00, 0x10, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, + 0x10, 0x00, 0x15, 0x67, 0x99, 0x9b, 0xbb, 0xbe, 0xbe, 0xbc, 0x9a, 0x25, + 0x12, 0x22, 0x12, 0x22, 0x21, 0x01, 0x11, 0x22, 0x22, 0x52, 0x22, 0x21, + 0x20, 0x11, 0x11, 0x01, 0x11, 0x21, 0x12, 0x46, 0x06, 0x66, 0x00, 0x2e, + 0x77, 0x66, 0x26, 0x66, 0x26, 0x22, 0x44, 0x26, 0x26, 0x66, 0x76, 0x78, + 0x88, 0x87, 0x77, 0x66, 0x64, 0x41, 0x11, 0x10, 0x11, 0x01, 0x01, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x26, 0x01, 0x13, 0x27, 0x79, + 0xbb, 0xbe, 0xbb, 0xeb, 0xeb, 0xa8, 0x32, 0x12, 0x32, 0x22, 0x12, 0x11, + 0x11, 0x00, 0x13, 0x00, 0x08, 0x22, 0x02, 0x01, 0x02, 0x10, 0x08, 0x11, + 0x00, 0x2c, 0x14, 0x57, 0x88, 0x76, 0x77, 0x77, 0x67, 0x67, 0x62, 0x64, + 0x24, 0x22, 0x22, 0x66, 0x76, 0x77, 0x78, 0x77, 0x77, 0x66, 0x44, 0x41, + 0x06, 0x11, 0x42, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x56, 0x14, 0x66, + 0x79, 0x9b, 0xbb, 0xeb, 0xee, 0xeb, 0xa8, 0x22, 0x32, 0x32, 0x22, 0x12, + 0x11, 0x10, 0x11, 0x21, 0x22, 0x52, 0x22, 0x11, 0x11, 0x10, 0x20, 0x11, + 0x12, 0x11, 0x15, 0x78, 0x77, 0x67, 0x68, 0x87, 0x86, 0x66, 0x76, 0x62, + 0x42, 0x42, 0x46, 0x62, 0x66, 0x00, 0x06, 0x77, 0x00, 0x10, 0x66, 0x64, + 0x11, 0x11, 0x01, 0x01, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x42, 0x00, + 0x00, 0x26, 0x01, 0x14, 0x66, 0x79, 0xbb, 0xeb, 0xbb, 0xee, 0xee, 0xda, + 0x32, 0x21, 0x22, 0x21, 0x11, 0x11, 0x01, 0x11, 0x01, 0x00, 0x06, 0x22, + 0x02, 0x11, 0x02, 0x10, 0x06, 0x11, 0x00, 0x08, 0x21, 0x11, 0x26, 0xa8, + 0x06, 0x87, 0x00, 0x20, 0x77, 0x77, 0x76, 0x66, 0x62, 0x42, 0x42, 0x26, + 0x26, 0x77, 0x66, 0x67, 0x64, 0x64, 0x44, 0x11, 0x06, 0x10, 0x02, 0x01, + 0x42, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x24, 0x10, 0x01, 0x00, 0x00, + 0x11, 0x67, 0x99, 0x9b, 0xbb, 0xbe, 0xee, 0xfe, 0xca, 0x21, 0x21, 0x58, + 0xa2, 0x11, 0x06, 0x10, 0x06, 0x12, 0x08, 0x11, 0x00, 0x14, 0x12, 0x12, + 0x11, 0x12, 0x68, 0x88, 0x98, 0x78, 0x78, 0x77, 0x06, 0x66, 0x00, 0x0a, + 0x64, 0x24, 0x42, 0x46, 0x26, 0x00, 0x06, 0x66, 0x00, 0x08, 0x44, 0x41, + 0x11, 0x01, 0x4a, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x0a, 0x13, 0x26, + 0x79, 0xbb, 0xeb, 0x00, 0x06, 0xee, 0x00, 0x10, 0xca, 0x32, 0x21, 0xaf, + 0xd5, 0x21, 0x11, 0x10, 0x06, 0x11, 0x00, 0x44, 0x12, 0x12, 0x53, 0x32, + 0x11, 0x12, 0x12, 0x11, 0x32, 0x65, 0x77, 0x78, 0xa8, 0x77, 0x67, 0x67, + 0x77, 0x72, 0x24, 0x26, 0x22, 0x22, 0x76, 0x76, 0x66, 0x44, 0x41, 0x11, + 0x01, 0x01, 0x00, 0x01, 0x00, 0x10, 0x42, 0x00, 0x00, 0x00, 0x44, 0x00, + 0x00, 0x2e, 0x11, 0x45, 0x79, 0xbe, 0xbb, 0xeb, 0xee, 0xee, 0xea, 0x32, + 0x55, 0xfd, 0xd5, 0x55, 0x51, 0x11, 0x18, 0x31, 0x02, 0x11, 0x13, 0x85, + 0x85, 0x00, 0x06, 0x21, 0x00, 0x28, 0x11, 0x24, 0x56, 0xaa, 0xca, 0x98, + 0x87, 0x87, 0x98, 0x97, 0x66, 0x64, 0x24, 0x24, 0x26, 0x62, 0x66, 0x26, + 0x44, 0x41, 0x06, 0x10, 0x02, 0x00, 0x02, 0x10, 0x46, 0x00, 0x00, 0x00, + 0x44, 0x00, 0x00, 0x68, 0x11, 0x27, 0x79, 0xbb, 0xbe, 0xbb, 0xee, 0xfe, + 0xea, 0x21, 0xd8, 0xcf, 0xd5, 0x25, 0x22, 0x12, 0x1d, 0x81, 0x21, 0x11, + 0x25, 0x58, 0x52, 0x11, 0x22, 0x11, 0x14, 0x25, 0x58, 0xaa, 0xcc, 0xca, + 0x88, 0x87, 0x89, 0x77, 0x77, 0x64, 0x24, 0x22, 0x22, 0x77, 0x76, 0x64, + 0x41, 0x01, 0x01, 0x00, 0x00, 0x10, 0x00, 0x10, 0x44, 0x00, 0x00, 0x00, + 0x44, 0x00, 0x00, 0x5c, 0x11, 0x46, 0x99, 0xbe, 0xdb, 0xbb, 0xee, 0xef, + 0xc8, 0x35, 0xfd, 0xdd, 0xd8, 0x12, 0x11, 0x11, 0x1d, 0xa1, 0x32, 0x82, + 0x32, 0x55, 0x21, 0x11, 0x11, 0x01, 0x22, 0x55, 0x58, 0x8a, 0xac, 0xac, + 0x99, 0xa9, 0xa9, 0x87, 0x76, 0x42, 0x22, 0x22, 0x67, 0x66, 0x26, 0x44, + 0x11, 0x01, 0x50, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x2c, 0x01, 0x12, + 0x68, 0x9b, 0xbb, 0xbe, 0xbe, 0xee, 0xda, 0x53, 0xfa, 0x8f, 0xd2, 0x12, + 0x11, 0x11, 0x1d, 0xd2, 0x55, 0x32, 0x22, 0x22, 0x06, 0x11, 0x00, 0x34, + 0x12, 0x55, 0x55, 0x58, 0xaa, 0xcc, 0xc9, 0xa8, 0x87, 0x77, 0x77, 0x66, + 0x66, 0x26, 0x26, 0x67, 0x26, 0x64, 0x24, 0x10, 0x10, 0x00, 0x01, 0x01, + 0x00, 0x10, 0x46, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x2e, 0x01, 0x11, + 0x46, 0x67, 0x9b, 0xeb, 0xeb, 0xbb, 0xee, 0xca, 0x55, 0xfa, 0x8d, 0xa5, + 0x21, 0x11, 0x11, 0x1f, 0xd3, 0x22, 0x12, 0x21, 0x01, 0x00, 0x06, 0x11, + 0x02, 0x25, 0x06, 0x55, 0x00, 0x20, 0x8a, 0xac, 0x9a, 0x77, 0x76, 0x77, + 0x77, 0x66, 0x76, 0x26, 0x27, 0x62, 0x66, 0x62, 0x44, 0x10, 0x52, 0x00, + 0x00, 0x00, 0x44, 0x00, 0x00, 0x26, 0x01, 0x34, 0x89, 0xa9, 0xbb, 0xbb, + 0xb9, 0xcf, 0xca, 0x53, 0xfd, 0x5d, 0x81, 0x21, 0x11, 0x11, 0x3d, 0xd3, + 0x22, 0x00, 0x0a, 0x11, 0x00, 0x2a, 0x35, 0x58, 0x55, 0x54, 0x26, 0x78, + 0x7a, 0x9a, 0x9a, 0xa9, 0x77, 0x77, 0x76, 0x42, 0x22, 0x62, 0x67, 0x66, + 0x24, 0x21, 0x11, 0x00, 0x52, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x28, + 0x01, 0x11, 0x44, 0x57, 0x9b, 0xbb, 0xbb, 0x9b, 0xbd, 0xed, 0xa5, 0xfd, + 0x38, 0x51, 0x11, 0x01, 0x11, 0x2d, 0xd1, 0x21, 0x08, 0x11, 0x02, 0x35, + 0x06, 0x55, 0x00, 0x22, 0x62, 0x66, 0x66, 0x77, 0x79, 0xa9, 0x99, 0x97, + 0x77, 0x24, 0x22, 0x66, 0x77, 0x67, 0x26, 0x64, 0x11, 0x00, 0x54, 0x00, + 0x00, 0x00, 0x44, 0x00, 0x00, 0x2e, 0x01, 0x14, 0x67, 0xa9, 0xbb, 0xbb, + 0x99, 0xcf, 0xcd, 0xa5, 0xff, 0xdd, 0x88, 0x1d, 0x3d, 0x31, 0x38, 0x82, + 0x22, 0x32, 0x32, 0x23, 0x25, 0x00, 0x06, 0x55, 0x02, 0x54, 0x06, 0x62, + 0x00, 0x1c, 0x22, 0x67, 0x79, 0x97, 0x77, 0x66, 0x42, 0x26, 0x78, 0x76, + 0x67, 0x64, 0x22, 0x11, 0x54, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x2e, + 0x10, 0x01, 0x01, 0x46, 0x7b, 0xcb, 0x99, 0x99, 0xcd, 0xcd, 0x88, 0xdd, + 0xfd, 0xdf, 0xdd, 0xad, 0x51, 0x23, 0x25, 0x55, 0x25, 0x25, 0x35, 0x00, + 0x08, 0x55, 0x00, 0x0c, 0x56, 0x27, 0x62, 0x62, 0x66, 0x67, 0x06, 0x77, + 0x00, 0x12, 0x62, 0x24, 0x66, 0x66, 0x76, 0x76, 0x64, 0x41, 0x10, 0x00, + 0x54, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x56, 0x11, 0x16, 0x99, 0xbb, + 0x99, 0x99, 0x9f, 0xcd, 0xa8, 0x8d, 0xdd, 0xdd, 0x8d, 0x8d, 0x31, 0x35, + 0x35, 0x55, 0x58, 0x55, 0x25, 0x55, 0x35, 0x55, 0x55, 0x42, 0x62, 0x66, + 0x66, 0x62, 0x26, 0x66, 0x77, 0x76, 0x24, 0x26, 0x66, 0x76, 0x66, 0x76, + 0x64, 0x21, 0x10, 0x00, 0x54, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x2a, + 0x01, 0x00, 0x00, 0x11, 0x46, 0x89, 0xcb, 0xb9, 0x99, 0xae, 0xda, 0xaa, + 0x83, 0x23, 0x58, 0x15, 0x85, 0x55, 0x85, 0x85, 0x58, 0x00, 0x06, 0x55, + 0x00, 0x2a, 0x33, 0x55, 0x55, 0x32, 0x22, 0x27, 0x67, 0x62, 0x22, 0x62, + 0x67, 0x77, 0x24, 0x24, 0x26, 0x67, 0x87, 0x87, 0x66, 0x42, 0x11, 0x00, + 0x56, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x02, 0x01, 0x06, 0x00, 0x00, 0x56, + 0x01, 0x11, 0x13, 0x69, 0xbb, 0xb9, 0x99, 0xcc, 0xfd, 0xdd, 0xd8, 0x13, + 0x23, 0x38, 0xd8, 0x85, 0x55, 0x83, 0x85, 0xa8, 0x88, 0x55, 0x35, 0x53, + 0x33, 0x44, 0x27, 0x77, 0x77, 0x76, 0x77, 0x26, 0x27, 0x76, 0x62, 0x62, + 0x64, 0x66, 0x77, 0x77, 0x66, 0x21, 0x11, 0x00, 0x56, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x00, 0x5a, 0x10, 0x10, 0x11, 0x01, 0x14, 0x68, 0x9c, 0xb9, + 0x99, 0xdf, 0xec, 0xda, 0x88, 0x11, 0x21, 0x8d, 0x8a, 0x8a, 0x88, 0xa8, + 0xaa, 0xd8, 0xa5, 0x35, 0x33, 0x33, 0x22, 0x22, 0x27, 0x77, 0x77, 0x27, + 0x26, 0x26, 0x67, 0x62, 0x62, 0x24, 0x26, 0x67, 0x87, 0x66, 0x65, 0x41, + 0x10, 0x00, 0x56, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x42, 0x11, 0x34, + 0x57, 0x9b, 0xbb, 0x99, 0xef, 0xfd, 0xdd, 0x53, 0x11, 0x11, 0x33, 0x88, + 0x88, 0xa8, 0x5a, 0x8a, 0xd8, 0xaa, 0x83, 0x32, 0x12, 0x11, 0x22, 0x72, + 0x72, 0x77, 0x77, 0x66, 0x26, 0x26, 0x42, 0x00, 0x08, 0x66, 0x00, 0x08, + 0x77, 0x66, 0x54, 0x11, 0x58, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x16, + 0x01, 0x11, 0x11, 0x44, 0x78, 0x99, 0x77, 0xdf, 0xdd, 0xd5, 0x31, 0x00, + 0x06, 0x11, 0x00, 0x38, 0x8d, 0xda, 0xda, 0xad, 0xda, 0xda, 0xa8, 0x33, + 0x21, 0x31, 0x12, 0x27, 0x77, 0x77, 0x76, 0x72, 0x76, 0x22, 0x22, 0x26, + 0x24, 0x64, 0x66, 0x67, 0x88, 0x68, 0x64, 0x11, 0x08, 0x00, 0x02, 0xf0, + 0x4e, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x1a, 0x11, 0x12, 0x77, 0xb9, + 0x97, 0xdf, 0xff, 0xd1, 0x11, 0x12, 0x10, 0x10, 0x33, 0x00, 0x06, 0xad, + 0x00, 0x30, 0xcf, 0xdd, 0xd8, 0x83, 0x11, 0x13, 0x22, 0x77, 0x27, 0x72, + 0x77, 0x77, 0x62, 0x42, 0x22, 0x67, 0x76, 0x64, 0x66, 0x77, 0x87, 0x76, + 0x64, 0x11, 0x08, 0x00, 0x02, 0xff, 0x4e, 0x00, 0x00, 0x00, 0x44, 0x00, + 0x00, 0x22, 0x11, 0x01, 0x01, 0x14, 0x46, 0x89, 0x97, 0xdf, 0xfd, 0x33, + 0x11, 0x12, 0x01, 0x11, 0x10, 0x5d, 0xdc, 0x00, 0x06, 0xdd, 0x00, 0x0e, + 0xaa, 0x33, 0x11, 0x12, 0x22, 0x77, 0x77, 0x00, 0x08, 0x72, 0x00, 0x16, + 0x22, 0x26, 0x76, 0x66, 0x62, 0x66, 0x77, 0x77, 0x76, 0x41, 0x10, 0x00, + 0x08, 0x00, 0x02, 0xff, 0x02, 0x30, 0x4c, 0x00, 0x00, 0x00, 0x48, 0x00, + 0x00, 0x50, 0x01, 0x11, 0x34, 0x67, 0x99, 0x7d, 0xff, 0xd1, 0x11, 0x13, + 0x10, 0x10, 0x11, 0x03, 0xfd, 0xfc, 0xfd, 0x8a, 0x88, 0x52, 0x11, 0x22, + 0x77, 0x77, 0x72, 0x77, 0x72, 0x77, 0x22, 0x22, 0x66, 0x76, 0x76, 0x66, + 0x67, 0x77, 0x87, 0x65, 0x41, 0x11, 0x08, 0x00, 0x02, 0x1f, 0x02, 0xf0, + 0x4c, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x2e, 0x10, 0x11, 0x46, 0x9a, + 0xb9, 0x77, 0xff, 0x51, 0x11, 0x33, 0x10, 0x11, 0x10, 0x01, 0xdd, 0xff, + 0xfd, 0xcd, 0x85, 0x35, 0x32, 0x67, 0x97, 0x00, 0x08, 0x77, 0x00, 0x0a, + 0x72, 0x72, 0x62, 0x77, 0x76, 0x00, 0x0a, 0x66, 0x02, 0x54, 0x02, 0x31, + 0x0a, 0x00, 0x02, 0x0f, 0x02, 0xf1, 0x4c, 0x00, 0x00, 0x00, 0x4a, 0x00, + 0x00, 0x4e, 0x11, 0x56, 0x8b, 0xdb, 0x77, 0x9d, 0x51, 0x13, 0x35, 0x30, + 0x11, 0x11, 0x05, 0xcd, 0xed, 0xff, 0xda, 0x55, 0x24, 0x26, 0x67, 0x77, + 0x77, 0x72, 0x77, 0x27, 0x77, 0x22, 0x26, 0x77, 0x76, 0x76, 0x66, 0x66, + 0x78, 0x88, 0x53, 0x01, 0x10, 0x00, 0x08, 0x00, 0x02, 0x0f, 0x02, 0xff, + 0x4c, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x4e, 0x01, 0x33, 0x5a, 0xbc, + 0xbb, 0x99, 0x77, 0x25, 0x3d, 0xdd, 0x50, 0x11, 0x11, 0x1a, 0xa8, 0x88, + 0xaa, 0x88, 0x42, 0x62, 0x22, 0x27, 0x22, 0x62, 0x72, 0x72, 0x77, 0x22, + 0x26, 0x77, 0x77, 0x86, 0x66, 0x77, 0x77, 0x78, 0x8a, 0x85, 0x31, 0x00, + 0x0a, 0x00, 0x00, 0x06, 0x08, 0xff, 0xd0, 0x00, 0x4a, 0x00, 0x00, 0x00, + 0x4a, 0x00, 0x00, 0x22, 0x38, 0xac, 0xce, 0xcc, 0x97, 0x77, 0x75, 0x33, + 0x33, 0x53, 0x11, 0x05, 0xaa, 0xd8, 0x85, 0x66, 0x27, 0x00, 0x06, 0x26, + 0x00, 0x0a, 0x22, 0x62, 0x22, 0x22, 0x72, 0x00, 0x06, 0x22, 0x0c, 0x77, + 0x00, 0x0c, 0x7a, 0x88, 0xaa, 0x88, 0x33, 0x10, 0x06, 0x00, 0x00, 0x06, + 0x01, 0xff, 0xf1, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x32, + 0x03, 0x5a, 0xcc, 0xec, 0xbc, 0xb9, 0x97, 0x97, 0x23, 0x11, 0x11, 0x13, + 0x59, 0xda, 0x97, 0x66, 0x77, 0x27, 0x27, 0x77, 0x27, 0x22, 0x72, 0x22, + 0x27, 0x00, 0x06, 0x72, 0x02, 0x26, 0x06, 0x77, 0x00, 0x14, 0x78, 0x77, + 0x77, 0x88, 0xa8, 0xa8, 0x85, 0x53, 0x30, 0x01, 0x06, 0x00, 0x02, 0xff, + 0x02, 0xff, 0x4a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x52, 0x01, 0x38, + 0xac, 0xcc, 0xec, 0xe9, 0x99, 0x99, 0x77, 0x27, 0x27, 0x77, 0x77, 0x79, + 0x97, 0x77, 0x72, 0x72, 0x27, 0x72, 0x77, 0x72, 0x26, 0x26, 0x27, 0x77, + 0x72, 0x62, 0x77, 0x78, 0x77, 0x77, 0x87, 0x77, 0x78, 0x8a, 0x8a, 0x88, + 0x8a, 0xa8, 0x33, 0x00, 0x08, 0x00, 0x00, 0x06, 0xff, 0xff, 0x80, 0x00, + 0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x24, 0x03, 0x5a, 0xac, 0xee, + 0xee, 0x9b, 0xb9, 0xd9, 0x97, 0x79, 0x77, 0x77, 0x79, 0x79, 0x77, 0x97, + 0x77, 0x72, 0x06, 0x77, 0x00, 0x0e, 0x27, 0x26, 0x27, 0x22, 0x77, 0x27, + 0x72, 0x00, 0x06, 0x77, 0x00, 0x14, 0x78, 0x98, 0x77, 0xa7, 0x8a, 0x8a, + 0x88, 0x85, 0x55, 0x53, 0x08, 0x00, 0x00, 0x06, 0xaf, 0xff, 0xf0, 0x00, + 0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x54, 0x01, 0x5a, 0xce, 0xfe, + 0xee, 0xee, 0xbb, 0xb9, 0x99, 0x99, 0x97, 0x77, 0x77, 0x97, 0x79, 0x77, + 0x77, 0x27, 0x22, 0x77, 0x79, 0x77, 0x77, 0x72, 0x76, 0x22, 0x62, 0x77, + 0x77, 0x79, 0x97, 0x98, 0x99, 0xa7, 0x87, 0xa8, 0x88, 0xa8, 0x58, 0x85, + 0x53, 0x10, 0x06, 0x00, 0x00, 0x06, 0x1f, 0xff, 0xff, 0x00, 0x48, 0x00, + 0x00, 0x00, 0x48, 0x00, 0x00, 0x16, 0x13, 0x8c, 0xce, 0xce, 0xee, 0xbb, + 0xbe, 0xbb, 0xd9, 0x99, 0x79, 0x00, 0x06, 0x77, 0x02, 0x97, 0x06, 0x77, + 0x00, 0x30, 0x27, 0x77, 0x79, 0x99, 0x89, 0x87, 0x76, 0x27, 0x77, 0x77, + 0x79, 0x99, 0xa9, 0xab, 0xaa, 0x9a, 0x7a, 0x88, 0x8a, 0x85, 0x53, 0x55, + 0x83, 0x30, 0x06, 0x00, 0x00, 0x08, 0x0f, 0xff, 0xff, 0x50, 0x46, 0x00, + 0x00, 0x00, 0x48, 0x00, 0x00, 0x20, 0x03, 0x8c, 0xcf, 0xee, 0xee, 0xeb, + 0xeb, 0xbe, 0xb9, 0x97, 0x99, 0x77, 0x79, 0x99, 0x77, 0x97, 0x08, 0x77, + 0x00, 0x08, 0x99, 0x97, 0x77, 0x79, 0x06, 0x77, 0x00, 0x2c, 0x97, 0x99, + 0x9a, 0x9b, 0xcb, 0xcb, 0xaa, 0x98, 0x8a, 0x88, 0x8a, 0x58, 0x55, 0x55, + 0x31, 0x01, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x46, 0x00, 0x00, 0x00, + 0x48, 0x00, 0x00, 0x18, 0x08, 0xcc, 0xfe, 0xee, 0xee, 0xbe, 0xee, 0xee, + 0xbb, 0xa9, 0x99, 0x79, 0x06, 0x97, 0x00, 0x0e, 0x77, 0x79, 0x79, 0x77, + 0x97, 0x99, 0x97, 0x00, 0x08, 0x77, 0x00, 0x20, 0x79, 0x79, 0x99, 0x99, + 0xba, 0xbe, 0xbe, 0xbb, 0x89, 0xaa, 0x8a, 0x8a, 0x88, 0x58, 0x55, 0x33, + 0x06, 0x00, 0x00, 0x08, 0x08, 0xff, 0xff, 0xfd, 0x46, 0x00, 0x00, 0x00, + 0x48, 0x00, 0x00, 0x2a, 0x38, 0xac, 0xce, 0xee, 0xee, 0xbe, 0xbe, 0xeb, + 0xd9, 0x99, 0x79, 0x99, 0x79, 0x77, 0x97, 0x97, 0x79, 0x77, 0x77, 0x79, + 0x79, 0x00, 0x0a, 0x77, 0x00, 0x20, 0x79, 0x97, 0x99, 0x9a, 0xbb, 0xeb, + 0xee, 0xcc, 0xba, 0xaa, 0xa8, 0xa8, 0x88, 0x88, 0x53, 0x31, 0x06, 0x00, + 0x02, 0x03, 0x06, 0xff, 0x02, 0x30, 0x44, 0x00, 0x00, 0x00, 0x46, 0x00, + 0x00, 0x08, 0x01, 0x35, 0xaa, 0xce, 0x0a, 0xee, 0x02, 0xba, 0x08, 0x99, + 0x00, 0x10, 0x77, 0x79, 0x77, 0x97, 0x77, 0x97, 0x79, 0x97, 0x0c, 0x77, + 0x06, 0x79, 0x00, 0x1a, 0x9b, 0xee, 0xee, 0xbe, 0xca, 0x9c, 0xaa, 0xa8, + 0x85, 0x85, 0x33, 0x00, 0x10, 0x00, 0x06, 0x00, 0x06, 0xff, 0x02, 0xf0, + 0x44, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x18, 0x03, 0x8c, 0xee, 0xee, + 0xeb, 0xeb, 0xee, 0xbe, 0x99, 0x99, 0x97, 0x97, 0x06, 0x77, 0x00, 0x06, + 0x99, 0x77, 0x97, 0x00, 0x08, 0x77, 0x00, 0x0a, 0x27, 0x77, 0x72, 0x77, + 0x77, 0x00, 0x06, 0x79, 0x00, 0x18, 0x9a, 0xbb, 0xbe, 0xee, 0xbb, 0xca, + 0xca, 0xaa, 0xa8, 0x55, 0x31, 0x10, 0x08, 0x00, 0x06, 0xff, 0x02, 0xfd, + 0x44, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x18, 0x03, 0xac, 0xce, 0xee, + 0xbe, 0xee, 0xee, 0xba, 0x9b, 0x99, 0x77, 0x72, 0x12, 0x77, 0x00, 0x06, + 0x26, 0x26, 0x72, 0x00, 0x0c, 0x77, 0x00, 0x16, 0x99, 0xbd, 0xee, 0xee, + 0xec, 0xc9, 0xaa, 0xaa, 0x88, 0x35, 0x31, 0x00, 0x0a, 0x00, 0x02, 0xdf, + 0x06, 0xff, 0x02, 0x10, 0x42, 0x00, 0x00, 0x00, 0x48, 0x00, 0x02, 0x03, + 0x02, 0x8c, 0x08, 0xee, 0x00, 0x28, 0xbc, 0xbb, 0xbb, 0x99, 0x77, 0x77, + 0x72, 0x62, 0x62, 0x26, 0x66, 0x67, 0x77, 0x76, 0x62, 0x21, 0x22, 0x66, + 0x67, 0x26, 0x06, 0x22, 0x00, 0x1c, 0x79, 0x99, 0x9b, 0xbe, 0xee, 0xeb, + 0xcb, 0xca, 0xaa, 0xaa, 0x85, 0x53, 0x00, 0x01, 0x06, 0x00, 0x02, 0x3f, + 0x06, 0xff, 0x02, 0xf0, 0x42, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x1a, + 0x03, 0xac, 0xee, 0xee, 0xbe, 0xeb, 0xbe, 0xbd, 0xbb, 0x99, 0x77, 0x76, + 0x25, 0x00, 0x10, 0x22, 0x02, 0x11, 0x02, 0x12, 0x0a, 0x22, 0x00, 0x1e, + 0x25, 0x77, 0x99, 0x9b, 0xdb, 0xee, 0xee, 0xcc, 0xca, 0xaa, 0xaa, 0x55, + 0x30, 0x00, 0x10, 0x00, 0x06, 0x00, 0x02, 0x0f, 0x06, 0xff, 0x02, 0xfd, + 0x42, 0x00, 0x00, 0x00, 0x48, 0x00, 0x02, 0x03, 0x02, 0xce, 0x06, 0xee, + 0x00, 0x12, 0xba, 0x9a, 0xbb, 0xbb, 0x99, 0x77, 0x68, 0x22, 0x21, 0x00, + 0x0a, 0x11, 0x00, 0x2e, 0x21, 0x10, 0x10, 0x01, 0x12, 0x22, 0x11, 0x21, + 0x11, 0x11, 0x27, 0x89, 0x99, 0xbb, 0xee, 0xee, 0xec, 0xcc, 0xca, 0xad, + 0x88, 0x31, 0x10, 0x00, 0x08, 0x00, 0x02, 0x0f, 0x08, 0xff, 0x42, 0x00, + 0x00, 0x00, 0x48, 0x00, 0x00, 0x26, 0x18, 0xae, 0xee, 0xee, 0xeb, 0xc9, + 0x9b, 0xb9, 0x99, 0x98, 0x88, 0x23, 0x33, 0x11, 0x11, 0x10, 0x10, 0x01, + 0x01, 0x00, 0x08, 0x00, 0x02, 0x10, 0x08, 0x11, 0x00, 0x0c, 0x10, 0x35, + 0x88, 0x8a, 0xaa, 0xcc, 0x06, 0xec, 0x00, 0x08, 0xca, 0xaa, 0x85, 0x33, + 0x0a, 0x00, 0x02, 0x0d, 0x08, 0xff, 0x02, 0xf0, 0x40, 0x00, 0x00, 0x00, + 0x48, 0x00, 0x00, 0x1a, 0x05, 0xae, 0xee, 0xee, 0xbc, 0x98, 0xa9, 0xaa, + 0x88, 0x85, 0x53, 0x33, 0x11, 0x00, 0x06, 0x10, 0x0e, 0x00, 0x00, 0x26, + 0x01, 0x11, 0x00, 0x10, 0x00, 0x10, 0x01, 0x35, 0x88, 0xaa, 0x8a, 0xac, + 0xce, 0xec, 0xcc, 0xaa, 0xaa, 0x53, 0x10, 0x00, 0x08, 0x00, 0x02, 0x03, + 0x08, 0xff, 0x02, 0xf8, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x1a, + 0x15, 0xce, 0xee, 0xee, 0xc7, 0x88, 0xa8, 0xa8, 0x85, 0x33, 0x33, 0x11, + 0x10, 0x00, 0x20, 0x00, 0x00, 0x1c, 0x01, 0x13, 0x35, 0x85, 0x88, 0xaa, + 0xdc, 0xce, 0xcc, 0xca, 0x88, 0x51, 0x00, 0x01, 0x08, 0x00, 0x0a, 0xff, + 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x18, 0x05, 0xce, 0xee, 0xec, + 0x88, 0x85, 0x88, 0x53, 0x53, 0x31, 0x33, 0x30, 0x24, 0x00, 0x00, 0x22, + 0x01, 0x03, 0x35, 0x35, 0x85, 0x88, 0xac, 0xfe, 0xca, 0xa8, 0x53, 0x10, + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x02, 0xf0, 0x3e, 0x00, + 0x00, 0x00, 0x48, 0x00, 0x00, 0x0a, 0x18, 0xcf, 0xee, 0xea, 0x58, 0x00, + 0x08, 0x33, 0x02, 0x31, 0x02, 0x31, 0x28, 0x00, 0x00, 0x1a, 0x11, 0x13, + 0x33, 0x35, 0x85, 0x8d, 0xdc, 0xec, 0xa8, 0x30, 0x00, 0x00, 0x01, 0x00, + 0x06, 0x00, 0x02, 0xdf, 0x08, 0xff, 0x02, 0xf3, 0x3e, 0x00, 0x00, 0x00, + 0x48, 0x00, 0x00, 0x0a, 0x08, 0xce, 0xee, 0xc8, 0x85, 0x00, 0x06, 0x33, + 0x00, 0x06, 0x30, 0x33, 0x10, 0x00, 0x2a, 0x00, 0x00, 0x16, 0x01, 0x13, + 0x33, 0x35, 0x38, 0x5a, 0xcc, 0xaa, 0x31, 0x00, 0x10, 0x00, 0x08, 0x00, + 0x02, 0x3f, 0x0a, 0xff, 0x3e, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x14, + 0x08, 0xcf, 0xee, 0xa5, 0x53, 0x31, 0x30, 0x30, 0x33, 0x11, 0x2e, 0x00, + 0x00, 0x10, 0x11, 0x13, 0x33, 0x35, 0x38, 0xdc, 0xaa, 0x30, 0x0c, 0x00, + 0x02, 0x0f, 0x0a, 0xff, 0x02, 0xd0, 0x3c, 0x00, 0x00, 0x00, 0x48, 0x00, + 0x00, 0x0a, 0x05, 0xee, 0xff, 0x88, 0x53, 0x00, 0x06, 0x33, 0x02, 0x11, + 0x32, 0x00, 0x02, 0x10, 0x06, 0x33, 0x00, 0x14, 0x8c, 0xca, 0x31, 0x00, + 0x10, 0x00, 0x10, 0x00, 0x00, 0x0f, 0x0a, 0xff, 0x02, 0xf3, 0x3c, 0x00, + 0x00, 0x00, 0x48, 0x00, 0x00, 0x12, 0x1a, 0xfe, 0xea, 0x55, 0x33, 0x33, + 0x13, 0x11, 0x01, 0x00, 0x32, 0x00, 0x02, 0x10, 0x06, 0x33, 0x00, 0x06, + 0xad, 0xc8, 0x30, 0x00, 0x0c, 0x00, 0x02, 0x0f, 0x0c, 0xff, 0x3c, 0x00, + 0x00, 0x00, 0x48, 0x00, 0x00, 0x10, 0x0a, 0xef, 0xfa, 0x85, 0x33, 0x31, + 0x33, 0x10, 0x36, 0x00, 0x00, 0x12, 0x10, 0x33, 0x33, 0x5c, 0xcc, 0x51, + 0x01, 0x00, 0x01, 0x00, 0x06, 0x00, 0x02, 0x03, 0x0c, 0xff, 0x02, 0xd0, + 0x3a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x0e, 0x3c, 0xfe, 0xc5, 0x33, + 0x33, 0x31, 0x30, 0x00, 0x36, 0x00, 0x00, 0x0e, 0x10, 0x11, 0x13, 0x33, + 0x3d, 0xcc, 0x50, 0x00, 0x0e, 0x00, 0x0c, 0xff, 0x02, 0xf1, 0x3a, 0x00, + 0x00, 0x00, 0x48, 0x00, 0x00, 0x0c, 0x1a, 0xef, 0xc5, 0x53, 0x33, 0x31, + 0x3c, 0x00, 0x00, 0x10, 0x10, 0x33, 0x38, 0xac, 0x83, 0x01, 0x00, 0x10, + 0x08, 0x00, 0x0e, 0xff, 0x3a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x0c, + 0x1c, 0xfe, 0xa3, 0x33, 0x03, 0x10, 0x38, 0x00, 0x06, 0x01, 0x00, 0x08, + 0x33, 0x3d, 0xaa, 0x80, 0x0e, 0x00, 0x0e, 0xff, 0x02, 0xa0, 0x38, 0x00, + 0x00, 0x00, 0x48, 0x00, 0x00, 0x0a, 0x3d, 0xef, 0x83, 0x33, 0x33, 0x00, + 0x3e, 0x00, 0x00, 0x0a, 0x10, 0x03, 0x35, 0x8a, 0xa3, 0x00, 0x0e, 0x00, + 0x02, 0x8f, 0x0c, 0xff, 0x02, 0xf0, 0x38, 0x00, 0x00, 0x00, 0x48, 0x00, + 0x00, 0x0a, 0x3c, 0xec, 0x53, 0x31, 0x10, 0x00, 0x3c, 0x00, 0x00, 0x10, + 0x01, 0x00, 0x11, 0x33, 0xaa, 0x50, 0x00, 0x10, 0x0a, 0x00, 0x02, 0x0f, + 0x0e, 0xff, 0x38, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x08, 0x1c, 0xfd, + 0x53, 0x11, 0x40, 0x00, 0x00, 0x0a, 0x01, 0x00, 0x01, 0x5a, 0x81, 0x00, + 0x0e, 0x00, 0x02, 0x0f, 0x0e, 0xff, 0x02, 0x80, 0x36, 0x00, 0x00, 0x00, + 0x48, 0x00, 0x00, 0x08, 0x1c, 0xca, 0x33, 0x01, 0x42, 0x00, 0x00, 0x06, + 0x01, 0x00, 0x11, 0x00, 0x10, 0x00, 0x02, 0x0f, 0x0e, 0xff, 0x02, 0xf0, + 0x36, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x06, 0x08, 0xf8, 0x31, 0x00, + 0x5a, 0x00, 0x02, 0x0a, 0x10, 0xff, 0x36, 0x00, 0x00, 0x00, 0x48, 0x00, + 0x00, 0x06, 0x05, 0xa3, 0x10, 0x00, 0x5a, 0x00, 0x02, 0x01, 0x10, 0xff, + 0x02, 0x30, 0x34, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x02, 0x10, 0x5e, 0x00, + 0x10, 0xff, 0x02, 0xf0, 0x34, 0x00, 0x00, 0x00, 0xaa, 0x00, 0x10, 0xff, + 0x02, 0xfd, 0x34, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x8f, 0xe8, 0xff, + 0x02, 0xd0, 0x02, 0x00, 0x00, 0x00, 0x02, 0x3f, 0xec, 0xff, 0x02, 0x30, + 0x00, 0x00, 0xee, 0xff, 0x02, 0xf0, 0x00, 0x00, 0xee, 0xff, 0x02, 0xf8, + 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf0, 0xff, + 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf0, 0xff, + 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf0, 0xff, + 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf0, 0xff, + 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x01 +}; +unsigned int fox_bmp_len = 11314; diff --git a/firmware/application/main.cpp b/firmware/application/main.cpp index 37e65745c..c8ca30a29 100755 --- a/firmware/application/main.cpp +++ b/firmware/application/main.cpp @@ -19,12 +19,13 @@ * Boston, MA 02110-1301, USA. */ +//TODO: Morse coder //TODO: Playdead amnesia and login //TODO: Touch screen calibration //TODO: Display module info (name, desc) somewhere //TODO: Show MD5 mismatches for modules not found, etc... //TODO: More gfx, cute icons :) -//TODO: check jammer bandwidths +//TODO: Check jammer bandwidths //TODO: GSM channel detector //TODO: AFSK receiver //TODO: SIGFOX RX/TX @@ -243,6 +244,8 @@ private: } void handle_lcd_frame_sync() { + DisplayFrameSyncMessage message; + context.message_map().send(&message); painter.paint_widget_tree(top_widget); } diff --git a/firmware/application/mcuconf.h b/firmware/application/mcuconf.h index f2bfd4e0a..00345e056 100755 --- a/firmware/application/mcuconf.h +++ b/firmware/application/mcuconf.h @@ -56,6 +56,7 @@ //#define LPC_DMA_IRQ_PRIORITY 2 //#define LPC_ADC1_IRQ_PRIORITY 3 #define LPC43XX_GPT_TIMER0_IRQ_PRIORITY 2 +//#define LPC43XX_GPT_TIMER1_IRQ_PRIORITY 2 #define LPC43XX_M0_I2C_I2C0_OR_I2C1_IRQ_PRIORITY 3 #define LPC43XX_PIN_INT4_IRQ_PRIORITY 3 @@ -65,5 +66,6 @@ #define LPC_RTC_IRQ_PRIORITY 3 #define LPC43XX_GPT_USE_TIMER0 TRUE +//#define LPC43XX_GPT_USE_TIMER1 TRUE #define LPC43XX_M4TXEVENT_IRQ_PRIORITY 3 diff --git a/firmware/application/ui_about.cpp b/firmware/application/ui_about.cpp index 9d637c097..978965e30 100644 --- a/firmware/application/ui_about.cpp +++ b/firmware/application/ui_about.cpp @@ -1,5 +1,6 @@ /* * Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2016 Furrtek * * This file is part of PortaPack. * @@ -19,9 +20,18 @@ * Boston, MA 02110-1301, USA. */ +#include + +#include "demofont.hpp" +#include "ymdata.hpp" + +#include "portapack.hpp" + #include "ui_about.hpp" #include "touch.hpp" +#include "sine_table.hpp" +#include "portapack_shared_memory.hpp" #include "portapack_persistent_memory.hpp" #include "lpc43xx_cpp.hpp" @@ -32,27 +42,346 @@ using namespace lpc43xx; using namespace portapack; namespace ui { - -/*static AboutView::update() { - uint8_t c; - uint16_t raster_color; - for (c=0; c<=200; c++) { - raster_color = copper_buffer[c]; - if (raster_color) painter.fill_rectangle({ { 0, (c+32) }, { 240, 1 } }, { (raster_color >> 4) & 0xF0, raster_color & 0xF0, (raster_color << 4) & 0xF0 }); +void AboutView::on_show() { + auto& message_map = context().message_map(); + + // Just in case + message_map.unregister_handler(Message::ID::DisplayFrameSync); + + // "Vertical blank interrupt" + message_map.register_handler(Message::ID::DisplayFrameSync, + [this](const Message* const) { + update(); + } + ); + + // Just in case + message_map.unregister_handler(Message::ID::FIFOSignal); + + // Handle baseband asking to fill up FIFO + message_map.register_handler(Message::ID::FIFOSignal, + [this](Message* const p) { + FIFODataMessage datamessage; + const auto message = static_cast(p); + if (message->signaltype == 1) { + render_audio(); + datamessage.data = ym_buffer; + shared_memory.baseband_queue.push(datamessage); + } + } + ); + + transmitter_model.set_tuning_frequency(92200000); // 92.2MHz, change ! + + portapack::audio_codec.set_headphone_volume(volume_t::decibel(0 - 99) + wolfson::wm8731::headphone_gain_range.max); + transmitter_model.enable(); +} + +void AboutView::render_video() { + uint8_t p, r, luma, chroma, cy; + ui::Color cc; + char ch; + float s; + + // Send framebuffer to LCD. Gotta go fast ! + display.render_box({30, 112}, {180, 72}, framebuffer); + + // Clear framebuffer to black + memset(framebuffer, 0, 180 * 72 * sizeof(ui::Color)); + + // Drum hit palette animation + if (drum > 1) drum--; + + // Render copper bars from Y buffer + for (p = 0; p < 72; p++) { + luma = copperbuffer[p] & 0x0F; // 0 is transparent + if (luma) { + chroma = copperbuffer[p]>>4; + cc = ui::Color(std::min((coppercolor[chroma][0]/luma)*drum,255), std::min((coppercolor[chroma][1]/luma)*drum,255), std::min((coppercolor[chroma][2]/luma)*drum,255)); + for (r = 0; r < 180; r++) + framebuffer[(p*180)+r] = cc; + } } - for (c=0; c<=200; c++) - copper_buffer[c] = 0; - - for (c=0; c<=200; c++) { - copper_buffer[c] = (c | (c << 4)) + phase; + // Scroll in/out state machine + if (anim_state == 0) { + // Scroll in + if (ofy < 8) { + ofy++; + anim_state = 0; + } else { + anim_state = 1; + } + if (ofx < (int16_t)(180 - (strlen(credits[credits_index].name) * 16) - 8)) { + ofx += 8; + anim_state = 0; + } + } else if (anim_state == 1) { + // Just wait + if (credits_timer == (30*3)) { + credits_timer = 0; + anim_state = 2; + } else { + credits_timer++; + } + } else { + // Scroll out + if (credits[credits_index].change == true) { + if (ofy > -24) { + ofy--; + anim_state = 2; + } else { + anim_state = 0; + } + } else { + anim_state = 0; + } + if (ofx < 180) { + ofx += 8; + anim_state = 2; + } + + // Switch to next text + if (anim_state == 0) { + if (credits_index == 7) + credits_index = 0; + else + credits_index++; + ofx = -(strlen(credits[credits_index].name) * 16) - 16; + } } - phase++; -}*/ + // Sine text ("role") + p = 0; + while ((ch = credits[credits_index].role[p])) { + draw_demoglyph({(ui::Coord)(8+(p*16)), (ui::Coord)(ofy+(sine_table_f32[((p*16)+(phase>>5))&0xFF] * 8))}, ch, paletteA); + p++; + } + + // Scroll text (name) + p = 0; + while ((ch = credits[credits_index].name[p])) { + draw_demoglyph({(ui::Coord)(ofx+(p*16)), 56}, ch, paletteB); + p++; + } + + // Clear bars Y buffer + memset(copperbuffer, 0, 72); + + // Render bars to Y buffer + for (p = 0; p < 5; p++) { + cy = copperbars[p]; + for (r = 0; r < 16; r++) + copperbuffer[cy+r] = copperluma[r] + (p<<4); + } + + // Animate bars positions + for (p = 0; p < 5; p++) { + s = sine_table_f32[((p*32)+(phase/24))&0xFF]; + s += sine_table_f32[((p*16)+(phase/35))&0xFF]; + copperbars[p] = 28+(uint8_t)(s * 14); + } + + phase += 128; +} -AboutView::AboutView(NavigationView& nav) { +void AboutView::draw_demoglyph(ui::Point p, char ch, ui::Color * pal) { + uint8_t x, y, c, cl, cr; + uint16_t che; + int16_t lbx, il; + + // Map ASCII to font bitmap + if ((ch >= 32) || (ch < 96)) + che = char_map[ch-32]; + else + che = 0xFF; + + if (che < 0xFF) { + che = (che * 128) + 48; // Start in bitmap + + il = (180 * p.y) + p.x; // Start il framebuffer + + for (y = 0; y < 16; y++) { + if (p.y + y >= 72) break; // Over bottom of framebuffer, abort + if (p.y + y >= 0) { + for (x = 0; x < 8; x++) { + c = demofont_bin[x+(y*8)+che]; // Split byte in 2 4BPP pixels + cl = c >> 4; + cr = c & 0x0F; + lbx = p.x + (x*2); + if (cl && (lbx < 180) && (lbx >= 0)) framebuffer[il] = pal[cl]; + lbx++; + il++; + if (cr && (lbx < 180) && (lbx >= 0)) framebuffer[il] = pal[cr]; + il++; + } + il += 180-16; + } else { + il += 180; + } + } + } +} + +void AboutView::render_audio() { + uint8_t i, ymdata; + uint16_t ym_render_cnt; + + // This is heavily inspired by MAME's ay8910.cpp and the YM2149's datasheet + + // Render 1024 music samples + for (ym_render_cnt = 0; ym_render_cnt < 1024; ym_render_cnt++) { + + // Taken at 48000/960 = 50Hz + if (ym_sample_cnt == 0) { + // "Decompress" on the fly and update YM registers + for (i = 0; i < 14; i++) { + if (!ym_regs[i].cnt) { + // New run + ymdata = ymdata_bin[ym_regs[i].ptr++]; + ym_regs[i].cnt = ymdata & 0x7F; + if (ymdata & 0x80) { + ym_regs[i].same = true; + ym_regs[i].value = ymdata_bin[ym_regs[i].ptr++]; + } else { + ym_regs[i].same = false; + } + // Detect drum on channel B + if (i == 3) + if (ym_regs[3].value > 2) drum = 4; + } + if (ym_regs[i].same == false) { + ym_regs[i].value = ymdata_bin[ym_regs[i].ptr++]; + if (i == 13) { + // Update envelope attributes + ym_env_att = (ym_regs[13].value & 4) ? 0x1F : 0x00; + if (!(ym_regs[13].value & 8)) { + ym_env_hold = 1; + ym_env_alt = ym_env_att; + } else { + ym_env_hold = ym_regs[13].value & 1; + ym_env_alt = ym_regs[13].value & 2; + } + // Reset envelope counter + ym_env_step = 0x1F; + ym_env_holding = 0; + ym_env_vol = (ym_env_step ^ ym_env_att); + } + } + ym_regs[i].cnt--; + } + ym_frame++; + } + + // Square wave oscillators + // 2457600/16/48000 = 3.2, but 4 sounds better than 3... + for (i = 0; i < 3; i++) { + ym_osc_cnt[i] += 4; + if (ym_osc_cnt[i] >= (ym_regs[i*2].value | ((ym_regs[(i*2)+1].value & 0x0f) << 8))) { + ym_osc_cnt[i] = 0; + ym_osc_out[i] ^= 1; + } + } + + // Noise generator + ym_noise_cnt += 4; + if (ym_noise_cnt >= ((ym_regs[6].value & 0x1F) * 2)) { + ym_noise_cnt = 0; + ym_rng ^= (((ym_rng & 1) ^ ((ym_rng >> 3) & 1)) << 17); + ym_rng >>= 1; + } + + // Mix tones and noise + for (i = 0; i < 3; i++) + ym_ch[i] = (ym_osc_out[i] | ((ym_regs[7].value >> i) & 1)) & ((ym_rng & 1) | ((ym_regs[7].value >> (i + 3)) & 1)); + + // Envelope generator + if (!ym_env_holding) { + ym_env_cnt += 8; + if (ym_env_cnt >= (ym_regs[11].value | (ym_regs[12].value<<8))) { + ym_env_cnt = 0; + ym_env_step--; + if (ym_env_step < 0) { + if (ym_env_hold) { + if (ym_env_alt) + ym_env_att ^= 0x1F; + ym_env_holding = 1; + ym_env_step = 0; + } else { + if (ym_env_alt && (ym_env_step & 0x20)) + ym_env_att ^= 0x1F; + ym_env_step &= 0x1F; + } + } + } + } + ym_env_vol = (ym_env_step ^ ym_env_att); + + ym_out = 0; + for (i = 0; i < 3; i++) { + if (ym_regs[i + 8].value & 0x10) { + // Envelope mode + ym_out += (ym_ch[i] ? ym_env_vol : 0); + } else { + // Fixed mode + ym_out += (ym_ch[i] ? (ym_regs[i + 8].value & 0x0F) : 0); + } + } + + ym_buffer[ym_render_cnt] = (ym_out * 2) - 93; + + if (ym_sample_cnt < 960) { + ym_sample_cnt++; + } else { + ym_sample_cnt = 0; + } + + // Loop + if (ym_frame == ym_frames) ym_init(); + } +} + +void AboutView::update() { + if (framebuffer) { + // Update 1 out of 2 frames, 60Hz is very laggy + if (refresh_cnt & 1) render_video(); + refresh_cnt++; + } + + if (headphone_vol < (70<<2)) { + portapack::audio_codec.set_headphone_volume(volume_t::decibel((headphone_vol/4) - 99) + wolfson::wm8731::headphone_gain_range.max); + headphone_vol++; + } +} + +void AboutView::ym_init() { + uint8_t reg; + + for (reg = 0; reg < 14; reg++) { + ym_regs[reg].cnt = 0; + // Pick up start pointers for each YM registers RLE blocks + ym_regs[reg].ptr = ((uint16_t)(ymdata_bin[(reg*2)+3])<<8) + ymdata_bin[(reg*2)+2]; + ym_regs[reg].same = false; // Useless ? + ym_regs[reg].value = 0; // Useless ? + } + + ym_frame = 0; +} + +AboutView::AboutView( + NavigationView& nav, + TransmitterModel& transmitter_model +) : transmitter_model(transmitter_model) +{ + uint8_t p, c; + + transmitter_model.set_baseband_configuration({ + .mode = PLAY_AUDIO, + .sampling_rate = 1536000, + .decimation_factor = 1, + }); + add_children({ { &text_title, &text_firmware, @@ -60,8 +389,38 @@ AboutView::AboutView(NavigationView& nav) { &text_cpld_portapack, &button_ok, } }); + + // Politely ask for about 26kB + framebuffer = (ui::Color *)chHeapAlloc(0x0, 180 * 72 * sizeof(ui::Color)); + + if (framebuffer) { + memset(framebuffer, 0, 180 * 72 * sizeof(ui::Color)); + + // Copy original font palette + c = 0; + for (p = 0; p < 48; p+=3) + paletteA[c++] = ui::Color(demofont_bin[p], demofont_bin[p+1], demofont_bin[p+2]); + + // Increase red in another one + c = 0; + for (p = 0; p < 48; p+=3) + paletteB[c++] = ui::Color(std::min(demofont_bin[p]+64, 255), demofont_bin[p+1], demofont_bin[p+2]); + } - button_ok.on_select = [this,&nav](Button&){ nav.pop(); }; + // Init YM synth + ym_frames = ((uint16_t)(ymdata_bin[1])<<8) + ymdata_bin[0]; + ym_init(); + + button_ok.on_select = [this,&nav](Button&){ + auto& message_map = context().message_map(); + message_map.unregister_handler(Message::ID::DisplayFrameSync); + if (framebuffer) chHeapFree(framebuffer); // Do NOT forget this + nav.pop(); + }; +} + +AboutView::~AboutView() { + transmitter_model.disable(); } void AboutView::focus() { diff --git a/firmware/application/ui_about.hpp b/firmware/application/ui_about.hpp index 24927217d..c0ca162cf 100644 --- a/firmware/application/ui_about.hpp +++ b/firmware/application/ui_about.hpp @@ -1,5 +1,6 @@ /* * Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2016 Furrtek * * This file is part of PortaPack. * @@ -25,6 +26,7 @@ #include "ui_widget.hpp" #include "ui_menu.hpp" #include "ui_navigation.hpp" +#include "transmitter_model.hpp" #include @@ -32,37 +34,116 @@ namespace ui { class AboutView : public View { public: - AboutView(NavigationView& nav); + AboutView(NavigationView& nav, TransmitterModel& transmitter_model); + ~AboutView(); + + void on_show() override; void focus() override; private: - /*bool drawn; - uint16_t phase = 0; - uint16_t copper_buffer[256]; - void update(void);*/ + void ym_init(); + void update(); + void render_video(); + void render_audio(); + void draw_demoglyph(ui::Point p, char ch, ui::Color * pal); + + typedef struct ymreg_t { + uint8_t value; + uint8_t cnt; + uint16_t ptr; + bool same; + } ymreg_t; + + TransmitterModel& transmitter_model; + + uint16_t headphone_vol = 5<<2; + + ymreg_t ym_regs[14]; + uint16_t ym_frames; + uint16_t ym_frame; + uint8_t drum; + uint16_t ym_osc_cnt[3]; + uint32_t ym_rng = 1; + uint16_t ym_noise_cnt; + uint8_t ym_env_att, ym_env_hold, ym_env_alt, ym_env_holding, ym_env_vol; + int8_t ym_env_step; + uint16_t ym_env_cnt; + uint8_t ym_osc_out[3]; + uint8_t ym_ch[3]; + uint8_t ym_out; + uint16_t ym_sample_cnt = 0; + + int8_t ym_buffer[1024]; + + uint8_t refresh_cnt; + ui::Color paletteA[16]; + ui::Color paletteB[16]; + ui::Color * framebuffer; + uint32_t phase = 0; + uint8_t copperbars[5] = {0}; + uint8_t copperbuffer[72] = {0}; + + uint8_t anim_state = 0; + uint8_t credits_index = 0; + uint16_t credits_timer = 0; + + int16_t ofx = -180, ofy = -24; + + const uint8_t char_map[64] = { 0xFF, 27, 46, 0xFF, 0xFF, 0xFF, 28, 45, + 58, 59, 0xFF, 43, 40, 57, 26, 42, + 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 41, 0xFF, 0xFF, 0xFF, 0xFF, 44, + 0xFF, 0, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; + + const uint8_t copperluma[16] = {8,7,6,5,4,3,2,1,1,2,3,4,5,6,7,8}; + const uint8_t coppercolor[5][3] = { {255,0,0}, + {0,255,0}, + {0,0,255}, + {255,0,255}, + {255,255,0} }; + + typedef struct credits_t { + char role[12]; + char name[12]; + bool change; + } credits_t; + + // 0123456789A 0123456789A + const credits_t credits[8] = { {"GURUS", "J. BOONE", false}, + {"GURUS", "M. OSSMANN", true}, + {"BUGS", "FURRTEK", true}, + {"RDS TABLE", "C. JACQUET", true}, + {"XYLOS DATA", "CLX", true}, + {"GREETS TO", "SIGMOUNTE", false}, + {"GREETS TO", "WINDYOONA", true}, + {"THIS MUSIC", "BIG ALEC", true} + }; Text text_title { - { 100, 96, 40, 16 }, + { 100, 32, 40, 16 }, "About", }; Text text_firmware { - { 0, 128, 240, 16 }, + { 0, 224, 240, 16 }, "Git Commit hash " GIT_REVISION, }; Text text_cpld_hackrf { - { 0, 144, 240, 16 }, + { 0, 240, 240, 16 }, "HackRF CPLD CRC 0x????????", }; Text text_cpld_portapack { - { 0, 160, 240, 16 }, + { 0, 256, 240, 16 }, "PortaPack CPLD CRC 0x????????", }; Button button_ok { - { 72, 192, 96, 24 }, + { 72, 272, 96, 24 }, "OK" }; }; diff --git a/firmware/application/ui_alphanum.hpp b/firmware/application/ui_alphanum.hpp index 1b44dab8c..42b20672c 100644 --- a/firmware/application/ui_alphanum.hpp +++ b/firmware/application/ui_alphanum.hpp @@ -54,13 +54,13 @@ private: bool _lowercase = false; static constexpr size_t button_w = 240 / 5; static constexpr size_t button_h = 28; - char txtinput[9]; + char txtinput[21]; void set_lowercase(); void set_uppercase(); Text text_input { - { 88, 0, 240, 16 } + { 8, 0, 200, 16 } }; std::array buttons; diff --git a/firmware/application/ui_jammer.cpp b/firmware/application/ui_jammer.cpp index d7782b9fb..4707a6c99 100644 --- a/firmware/application/ui_jammer.cpp +++ b/firmware/application/ui_jammer.cpp @@ -234,6 +234,8 @@ JammerView::JammerView( rf::Frequency t, range_lower; auto& message_map = context().message_map(); + message_map.unregister_handler(Message::ID::Retune); + message_map.register_handler(Message::ID::Retune, [this,&transmitter_model](Message* const p) { const auto message = static_cast(p); diff --git a/firmware/application/ui_lcr.cpp b/firmware/application/ui_lcr.cpp index 098095d0a..c3f166f36 100644 --- a/firmware/application/ui_lcr.cpp +++ b/firmware/application/ui_lcr.cpp @@ -19,6 +19,7 @@ * Boston, MA 02110-1301, USA. */ +#include "ui_alphanum.hpp" #include "ui_rds.hpp" #include "ui_lcr.hpp" #include "ui_receiver.hpp" diff --git a/firmware/application/ui_navigation.cpp b/firmware/application/ui_navigation.cpp index 73b3dccb4..4d4ef56e3 100644 --- a/firmware/application/ui_navigation.cpp +++ b/firmware/application/ui_navigation.cpp @@ -40,6 +40,7 @@ #include "ui_afskrx.hpp" #include "ui_xylos.hpp" #include "ui_sigfrx.hpp" +#include "ui_numbers.hpp" #include "portapack.hpp" #include "m4_startup.hpp" @@ -112,21 +113,24 @@ void NavigationView::focus() { /* SystemMenuView ********************************************************/ SystemMenuView::SystemMenuView(NavigationView& nav) { - add_items<11>({ { + add_items<10>({ { { "Play dead", ui::Color::red(), [&nav](){ nav.push(new PlayDeadView { nav, false }); } }, { "Receiver", ui::Color::cyan(), [&nav](){ nav.push(new LoadModuleView { nav, md5_baseband, new ReceiverView { nav, receiver_model }}); } }, //{ "Nordic/BTLE RX", ui::Color::cyan(), [&nav](){ nav.push(new NotImplementedView { nav }); } }, { "Jammer", ui::Color::white(), [&nav](){ nav.push(new LoadModuleView { nav, md5_baseband, new JammerView { nav, transmitter_model }}); } }, //{ "Audio file TX", ui::Color::white(), [&nav](){ nav.push(new NotImplementedView { nav }); } }, //{ "Encoder TX", ui::Color::green(), [&nav](){ nav.push(new NotImplementedView { nav }); } }, - { "Whistle", ui::Color::purple(), [&nav](){ nav.push(new LoadModuleView { nav, md5_baseband, new WhistleView { nav, transmitter_model }}); } }, + //{ "Whistle", ui::Color::purple(), [&nav](){ nav.push(new LoadModuleView { nav, md5_baseband, new WhistleView { nav, transmitter_model }}); } }, //{ "SIGFOX RX", ui::Color::orange(), [&nav](){ nav.push(new LoadModuleView { nav, md5_baseband, new SIGFRXView { nav, receiver_model }}); } }, { "RDS TX", ui::Color::yellow(), [&nav](){ nav.push(new LoadModuleView { nav, md5_baseband_tx, new RDSView { nav, transmitter_model }}); } }, { "Xylos TX", ui::Color::orange(), [&nav](){ nav.push(new LoadModuleView { nav, md5_baseband_tx, new XylosView { nav, transmitter_model }}); } }, + //{ "Xylos RX", ui::Color::green(), [&nav](){ nav.push(new LoadModuleView { nav, md5_baseband_tx, new XylosRXView { nav, receiver_model }}); } }, //{ "AFSK RX", ui::Color::cyan(), [&nav](){ nav.push(new LoadModuleView { nav, md5_baseband, new AFSKRXView { nav, receiver_model }}); } }, { "TEDI/LCR TX", ui::Color::yellow(), [&nav](){ nav.push(new LoadModuleView { nav, md5_baseband_tx, new LCRView { nav, transmitter_model }}); } }, + //{ "Numbers station", ui::Color::purple(),[&nav](){ nav.push(new LoadModuleView { nav, md5_baseband_tx, new NumbersStationView { nav, transmitter_model }}); } }, + { "Setup", ui::Color::white(), [&nav](){ nav.push(new SetupMenuView { nav }); } }, - { "About", ui::Color::white(), [&nav](){ nav.push(new AboutView { nav }); } }, + { "About", ui::Color::white(), [&nav](){ nav.push(new AboutView { nav, transmitter_model }); } }, { "Debug", ui::Color::white(), [&nav](){ nav.push(new DebugMenuView { nav }); } }, { "HackRF", ui::Color::white(), [&nav](){ nav.push(new HackRFFirmwareView { nav }); } }, } }); diff --git a/firmware/application/ui_navigation.hpp b/firmware/application/ui_navigation.hpp index 012cc787a..c5f98855e 100644 --- a/firmware/application/ui_navigation.hpp +++ b/firmware/application/ui_navigation.hpp @@ -79,7 +79,7 @@ public: private: Text text_info { { 5 * 8, 284, 20 * 8, 16 }, - "shrbrnd-sig-ftk 2015" + "shrbrnd-sig-ftk 2016" }; Button button_done { diff --git a/firmware/application/ui_numbers.cpp b/firmware/application/ui_numbers.cpp new file mode 100644 index 000000000..54fe7843c --- /dev/null +++ b/firmware/application/ui_numbers.cpp @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2016 Furrtek + * + * This file is part of PortaPack. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#include "ui_numbers.hpp" + +#include "ch.h" +#include "evtimer.h" + +#include "ff.h" +#include "hackrf_gpio.hpp" +#include "portapack.hpp" +#include "radio.hpp" + +#include "hackrf_hal.hpp" +#include "portapack_shared_memory.hpp" +#include "portapack_persistent_memory.hpp" + +#include +#include + +using namespace hackrf::one; + +namespace ui { + +void NumbersStationView::focus() { + button_exit.focus(); +} + +NumbersStationView::~NumbersStationView() { + transmitter_model.disable(); +} + +void NumbersStationView::paint(Painter& painter) { + (void)painter; +} + +NumbersStationView::NumbersStationView( + NavigationView& nav, + TransmitterModel& transmitter_model +) : transmitter_model(transmitter_model) +{ + uint8_t m, d, dayofweek; + uint16_t y; + + add_children({ { + &text_title, + &button_exit + } }); + + rtc::RTC datetime; + rtcGetTime(&RTCD1, &datetime); + + // Thanks, Sakamoto-sama ! + y = datetime.year(); + m = datetime.month(); + d = datetime.day(); + y -= m < 3; + dayofweek = (y + y/4 - y/100 + y/400 + month_table[m-1] + d) % 7; + + text_title.set(day_of_week[dayofweek]); + + button_exit.on_select = [&nav](Button&){ + nav.pop(); + }; +} + +} /* namespace ui */ diff --git a/firmware/application/ui_numbers.hpp b/firmware/application/ui_numbers.hpp new file mode 100644 index 000000000..e380cac1a --- /dev/null +++ b/firmware/application/ui_numbers.hpp @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2016 Furrtek + * + * This file is part of PortaPack. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#include "ui.hpp" +#include "ui_widget.hpp" +#include "ui_painter.hpp" +#include "ui_menu.hpp" +#include "ui_navigation.hpp" +#include "ui_font_fixed_8x16.hpp" +#include "clock_manager.hpp" +#include "message.hpp" +#include "rf_path.hpp" +#include "max2837.hpp" +#include "volume.hpp" +#include "transmitter_model.hpp" + +namespace ui { + +class NumbersStationView : public View { +public: + NumbersStationView(NavigationView& nav, TransmitterModel& transmitter_model); + ~NumbersStationView(); + + void focus() override; + void paint(Painter& painter) override; + +private: + TransmitterModel& transmitter_model; + const uint8_t month_table[12] = { 0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4 }; + const char * day_of_week[7] = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }; + + // Schedule: save on sd card + // For each day of the week, max 8 messages ? + // For each message: Normal, accent. Can chose accent on first or last digit + // Prelude with number of repeats + // Message 1 with number of repeats + // Interlude ? + // Message 2 with number of repeats + // End + // Frequency list and sequence + + Text text_title { + { 1 * 8, 1 * 16, 11, 16 }, + "Schedule:" + }; + + Button button_exit { + { 21 * 8, 16 * 16, 64, 32 }, + "Exit" + }; +}; + +} /* namespace ui */ diff --git a/firmware/application/ui_rds.cpp b/firmware/application/ui_rds.cpp index 86a659036..c9ea6e2d2 100644 --- a/firmware/application/ui_rds.cpp +++ b/firmware/application/ui_rds.cpp @@ -23,6 +23,7 @@ #include "ch.h" +#include "ui_alphanum.hpp" #include "ff.h" #include "hackrf_gpio.hpp" #include "portapack.hpp" diff --git a/firmware/application/ui_rds.hpp b/firmware/application/ui_rds.hpp index d75217076..e417fcc68 100644 --- a/firmware/application/ui_rds.hpp +++ b/firmware/application/ui_rds.hpp @@ -33,7 +33,7 @@ #include "transmitter_model.hpp" namespace ui { - +/* class AlphanumView : public View { public: std::function on_changed; @@ -83,7 +83,7 @@ private: void update_text(); }; - +*/ class RDSView : public View { public: RDSView(NavigationView& nav, TransmitterModel& transmitter_model); diff --git a/firmware/application/ui_xylos.cpp b/firmware/application/ui_xylos.cpp index ef011df77..c62f11635 100644 --- a/firmware/application/ui_xylos.cpp +++ b/firmware/application/ui_xylos.cpp @@ -23,8 +23,9 @@ #include "ui_xylos.hpp" #include "ch.h" -#include "evtimer.h" +#include "hackrf_hal.hpp" +#include "ui_alphanum.hpp" #include "ff.h" #include "hackrf_gpio.hpp" #include "portapack.hpp" @@ -40,6 +41,83 @@ using namespace hackrf::one; namespace ui { + +void XylosRXView::talk() { + uint8_t c; + + xylos_voice_phrase[0] = XYLOS_VOICE_HEADER; // Header + for (c=0; c<4; c++) + xylos_voice_phrase[c+1] = XYLOS_VOICE_ZERO + ccir_received[c]; + xylos_voice_phrase[5] = XYLOS_VOICE_HEADER + 1; // City + xylos_voice_phrase[6] = XYLOS_VOICE_ZERO + ccir_received[4]; + xylos_voice_phrase[7] = XYLOS_VOICE_ZERO + ccir_received[5]; + xylos_voice_phrase[8] = XYLOS_VOICE_HEADER + 2; // Family + xylos_voice_phrase[9] = XYLOS_VOICE_ZERO + ccir_received[6]; + xylos_voice_phrase[10] = XYLOS_VOICE_HEADER + 3; // Subfamily + xylos_voice_phrase[11] = XYLOS_VOICE_ZERO + ccir_received[7]; + xylos_voice_phrase[12] = XYLOS_VOICE_HEADER + 4; // Address + xylos_voice_phrase[13] = XYLOS_VOICE_ZERO + ccir_received[8]; + xylos_voice_phrase[14] = XYLOS_VOICE_ZERO + ccir_received[9]; + xylos_voice_phrase[15] = XYLOS_VOICE_RELAYS; // Relays + for (c=0; c<4; c++) { + xylos_voice_phrase[(c*2)+16] = XYLOS_VOICE_ZERO + 1 + c; + xylos_voice_phrase[(c*2)+17] = XYLOS_VOICE_RELAYS + 1 + ccir_received[c+11]; + } + xylos_voice_phrase[24] = XYLOS_VOICE_TRAILER; // Trailer + for (c=0; c<4; c++) + xylos_voice_phrase[c+25] = XYLOS_VOICE_ZERO + ccir_received[c+16]; + xylos_voice_phrase[29] = 0xFF; +} + +void XylosRXView::focus() { + button_start.focus(); +} + +XylosRXView::~XylosRXView() { + receiver_model.disable(); +} + +/*VirtualTimer vt; + +void XylosRXView::do_something(void *p) { + //p.set(xylos_voice_filenames[xylos_voice_phrase[p_idx]]); + //p_idx++; + //} while (xylos_voice_phrase[p_idx] != 0xFF); + text_dbg.set("Done :)"); +}*/ + +void XylosRXView::on_show() { + //chVTSet(&vt, MS2ST(1000), do_something, NULL); +} + +XylosRXView::XylosRXView( + NavigationView& nav, + ReceiverModel& receiver_model +) : receiver_model(receiver_model) +{ + char ccirdebug[21] = { 0,0,0,0,1,8,1,10,10,10,11,1,1,2,0,11,0,0,0,0,0xFF }; + + memcpy(ccir_received, ccirdebug, 21); + + add_children({ { + &text_dbg, + &button_start, + &button_exit + } }); + + button_start.on_select = [this](Button&) { + talk(); + p_idx = 0; + }; + + button_exit.on_select = [&nav](Button&){ + nav.pop(); + }; + +} + + + void XylosView::focus() { city_code.focus(); @@ -100,7 +178,7 @@ void XylosView::upd_message() { // Display as text text_debug.set(ccirmessage); - // ASCII to baseband frequency LUT index + // ASCII to frequency LUT index for (c=0; c<20; c++) { if (ccirmessage[c] > '9') ccirmessage[c] -= 0x37; @@ -159,6 +237,7 @@ XylosView::XylosView( add_children({ { &text_title, + &button_txtest, &text_city, &city_code, &text_family, @@ -241,6 +320,41 @@ XylosView::XylosView( button_transmit.set_style(&style_val); + button_txtest.on_select = [this,&transmitter_model](Button&) { + const uint8_t ccirtest[21] = { 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,13,12,11,0xFF }; + if (txing == false) { + auto& message_map = context().message_map(); + + message_map.unregister_handler(Message::ID::TXDone); + + message_map.register_handler(Message::ID::TXDone, + [this,&transmitter_model](Message* const p) { + const auto message = static_cast(p); + if (message->n == 25) { + portapack::audio_codec.set_headphone_volume(volume_t::decibel(0 - 99) + wolfson::wm8731::headphone_gain_range.max); + transmitter_model.disable(); + txing = false; + button_txtest.set_style(&style_val); + button_txtest.set_text("TX TEST"); + } + } + ); + + memcpy(ccirmessage, ccirtest, 21); + shared_memory.xylos_transmit_done = false; + memcpy(shared_memory.xylosdata, ccirmessage, 21); + + transmitter_model.set_tuning_frequency(xylos_freqs[options_freq.selected_index()]); + + portapack::audio_codec.set_headphone_volume(volume_t::decibel(90 - 99) + wolfson::wm8731::headphone_gain_range.max); + + txing = true; + button_txtest.set_style(&style_cancel); + button_txtest.set_text("Wait"); + transmitter_model.enable(); + } + }; + button_transmit.on_select = [this,&transmitter_model](Button&) { if (txing == false) { upd_message(); diff --git a/firmware/application/ui_xylos.hpp b/firmware/application/ui_xylos.hpp index 59525eaec..34e52dcef 100644 --- a/firmware/application/ui_xylos.hpp +++ b/firmware/application/ui_xylos.hpp @@ -32,23 +32,158 @@ #include "max2837.hpp" #include "volume.hpp" #include "transmitter_model.hpp" +#include "receiver_model.hpp" namespace ui { +#define XYLOS_VOICE_ZERO 0 +#define XYLOS_VOICE_HEADER 16 +#define XYLOS_VOICE_RELAYS 21 +#define XYLOS_VOICE_TRAILER 25 + +void do_something(); + +class XylosRXView : public View { +public: + XylosRXView(NavigationView& nav, ReceiverModel& receiver_model); + ~XylosRXView(); + + void talk(); + void on_show() override; + void focus() override; + + Text text_dbg { + { 5 * 8, 14 * 16, 20 * 8, 16 }, + "--------------------" + }; + + void do_something(void *p); + +private: + uint8_t p_idx; + const rf::Frequency xylos_freqs[7] = { 31325000, 31387500, 31437500, 31475000, 31687500, 31975000, 88000000 }; + uint8_t xylos_voice_phrase[32] = { 0xFF }; + const char * xylos_voice_filenames[26] = { "zero.wav", + "one.wav", + "two.wav", + "three.wav", + "four.wav", + "five.wav", + "six.wav", + "seven.wav", + "eight.wav", + "nine.wav", + "a.wav", + "b.wav", + "c.wav", + "d.wav", + "e.wav", + "f.wav", + "header.wav", + "city.wav", + "family.wav", + "subfamily.wav", + "address.wav", + "relays.wav", + "ignored.wav", + "off.wav", + "on.wav", + "trailer.wav" + }; + char ccir_received[21]; + + ReceiverModel& receiver_model; + + Text text_title { + { 1 * 8, 1 * 16, 11, 16 }, + "BH Xylos RX" + }; + + Text text_city { + { 4 * 8, 3 * 16, 11 * 8, 16 }, + "Code ville:" + }; + NumberField city_code { + { 16 * 8, 3 * 16 }, + 2, + { 0, 99 }, + 1, + ' ' + }; + + Text text_freq { + { 5 * 8, 9 * 16, 10 * 8, 16 }, + "Frequence:" + }; + OptionsField options_freq { + { 16 * 8, 9 * 16 }, + 7, + { + { "31.3250", 0 }, + { "31.3875", 1 }, + { "31.4375", 2 }, + { "31.4750", 3 }, + { "31.6875", 4 }, + { "31.9750", 5 }, + { "TEST 88", 6 } + } + }; + + Button button_start { + { 2 * 8, 16 * 16, 64, 32 }, + "START" + }; + + Button button_exit { + { 21 * 8, 16 * 16, 64, 32 }, + "Exit" + }; +}; + class XylosView : public View { public: XylosView(NavigationView& nav, TransmitterModel& transmitter_model); ~XylosView(); void journuit(); + void talk(); void upd_message(); void focus() override; void paint(Painter& painter) override; private: bool txing = false; - const rf::Frequency xylos_freqs[7] = { 31325000, 31387500, 31437500, 31475000, 31687500, 31975000, 87000000 }; + const rf::Frequency xylos_freqs[7] = { 31325000, 31387500, 31437500, 31475000, 31687500, 31975000, 88000000 }; + uint8_t xylos_voice_phrase[32] = { 0xFF }; + const char * xylos_voice_filenames[26] = { "zero.wav", + "one.wav", + "two.wav", + "three.wav", + "four.wav", + "five.wav", + "six.wav", + "seven.wav", + "eight.wav", + "nine.wav", + "a.wav", + "b.wav", + "c.wav", + "d.wav", + "e.wav", + "f.wav", + "header.wav", + "city.wav", + "family.wav", + "subfamily.wav", + "address.wav", + "relays.wav", + "ignored.wav", + "off.wav", + "on.wav", + "trailer.wav" + }; char ccirmessage[21]; + char ccir_received[21]; TransmitterModel& transmitter_model; @@ -57,6 +192,11 @@ private: "BH Xylos TX" }; + Button button_txtest { + { 170, 1 * 16, 40, 24 }, + "TEST" + }; + Text text_city { { 4 * 8, 3 * 16, 11 * 8, 16 }, "Code ville:" @@ -127,7 +267,7 @@ private: { "31.4750", 3 }, { "31.6875", 4 }, { "31.9750", 5 }, - { "TEST 87", 6 } + { "TEST 88", 6 } } }; diff --git a/firmware/application/ymdata.hpp b/firmware/application/ymdata.hpp new file mode 100644 index 000000000..45d69f797 --- /dev/null +++ b/firmware/application/ymdata.hpp @@ -0,0 +1,379 @@ +unsigned char ymdata_bin[] = { + 0x00, 0x03, 0x1e, 0x00, 0xb4, 0x01, 0x3e, 0x02, 0x61, 0x05, 0xf7, 0x06, + 0x6d, 0x08, 0xc2, 0x09, 0x68, 0x0a, 0x8d, 0x0c, 0x43, 0x0d, 0x9e, 0x0f, + 0xef, 0x10, 0x01, 0x11, 0x0f, 0x11, 0x01, 0x64, 0x98, 0x3d, 0x82, 0xc8, + 0x82, 0xa8, 0x82, 0x86, 0x92, 0x3d, 0x82, 0xc8, 0x82, 0xa8, 0x82, 0x86, + 0x92, 0x3d, 0x82, 0xc8, 0x82, 0xa8, 0x82, 0x86, 0x86, 0x3d, 0x82, 0xc8, + 0x82, 0xa8, 0x82, 0x86, 0x82, 0xc8, 0x82, 0xa8, 0x82, 0x86, 0x86, 0x3d, + 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, 0x8c, 0x3d, 0x82, 0xc8, 0x82, 0xb2, + 0x82, 0x86, 0x92, 0x3d, 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, 0x86, 0x3d, + 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, + 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, + 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, + 0x86, 0x3d, 0x82, 0xa8, 0x82, 0x86, 0x82, 0x70, 0x8c, 0x3d, 0x82, 0xa8, + 0x82, 0x86, 0x82, 0x70, 0x92, 0x3d, 0x82, 0xa8, 0x82, 0x86, 0x82, 0x70, + 0x92, 0x3d, 0x82, 0xa8, 0x82, 0x86, 0x82, 0x70, 0x86, 0x3d, 0x82, 0xa8, + 0x82, 0x86, 0x82, 0x70, 0x82, 0xa8, 0x82, 0x86, 0x82, 0x70, 0x86, 0xad, + 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, 0x8c, 0xad, 0x82, 0x96, 0x82, 0x77, + 0x82, 0x64, 0x92, 0xad, 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, 0x8c, 0xad, + 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, + 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, + 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, 0x98, 0x3d, 0x82, 0xc8, 0x82, 0xa8, + 0x82, 0x86, 0x92, 0x3d, 0x82, 0xc8, 0x82, 0xa8, 0x82, 0x86, 0x92, 0x3d, + 0x82, 0xc8, 0x82, 0xa8, 0x82, 0x86, 0x86, 0x3d, 0x82, 0xc8, 0x82, 0xa8, + 0x82, 0x86, 0x82, 0xc8, 0x82, 0xa8, 0x82, 0x86, 0x86, 0x3d, 0x82, 0xc8, + 0x82, 0xb2, 0x82, 0x86, 0x8c, 0x3d, 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, + 0x92, 0x3d, 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, 0x86, 0x3d, 0x82, 0xc8, + 0x82, 0xb2, 0x82, 0x86, 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, 0x82, 0xc8, + 0x82, 0xb2, 0x82, 0x86, 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, 0x82, 0xc8, + 0x82, 0xb2, 0x82, 0x86, 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, 0x86, 0x3d, + 0x82, 0xa8, 0x82, 0x86, 0x82, 0x70, 0x8c, 0x3d, 0x82, 0xa8, 0x82, 0x86, + 0x82, 0x70, 0x92, 0x3d, 0x82, 0xa8, 0x82, 0x86, 0x82, 0x70, 0x92, 0x3d, + 0x82, 0xa8, 0x82, 0x86, 0x82, 0x70, 0x86, 0x3d, 0x82, 0xa8, 0x82, 0x86, + 0x82, 0x70, 0x82, 0xa8, 0x82, 0x86, 0x82, 0x70, 0x86, 0xad, 0x82, 0x96, + 0x82, 0x77, 0x82, 0x64, 0x8c, 0xad, 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, + 0x92, 0xad, 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, 0x8c, 0xad, 0x82, 0x96, + 0x82, 0x77, 0x82, 0x64, 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, 0x82, 0x96, + 0x82, 0x77, 0x82, 0x64, 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, 0x82, 0x96, + 0x82, 0x77, 0x01, 0x64, 0x01, 0x30, 0x98, 0x36, 0x86, 0x30, 0x92, 0x36, + 0x86, 0x30, 0x92, 0x36, 0x86, 0x30, 0x86, 0x36, 0x8c, 0x30, 0x86, 0x36, + 0x86, 0x30, 0x8c, 0x36, 0x86, 0x30, 0x92, 0x36, 0x86, 0x30, 0x86, 0x36, + 0xa4, 0x30, 0x86, 0x35, 0x86, 0x30, 0x8c, 0x35, 0x86, 0x30, 0x92, 0x35, + 0x86, 0x30, 0x92, 0x35, 0x86, 0x30, 0x86, 0x35, 0x8c, 0x30, 0x86, 0x34, + 0x86, 0x30, 0x8c, 0x34, 0x86, 0x30, 0x92, 0x34, 0x86, 0x30, 0x8c, 0x34, + 0x9e, 0x30, 0x98, 0x36, 0x86, 0x30, 0x92, 0x36, 0x86, 0x30, 0x92, 0x36, + 0x86, 0x30, 0x86, 0x36, 0x8c, 0x30, 0x86, 0x36, 0x86, 0x30, 0x8c, 0x36, + 0x86, 0x30, 0x92, 0x36, 0x86, 0x30, 0x86, 0x36, 0xa4, 0x30, 0x86, 0x35, + 0x86, 0x30, 0x8c, 0x35, 0x86, 0x30, 0x92, 0x35, 0x86, 0x30, 0x92, 0x35, + 0x86, 0x30, 0x86, 0x35, 0x8c, 0x30, 0x86, 0x34, 0x86, 0x30, 0x8c, 0x34, + 0x86, 0x30, 0x92, 0x34, 0x86, 0x30, 0x8c, 0x34, 0x9d, 0x30, 0x82, 0xfb, + 0x03, 0x86, 0xf4, 0x70, 0x82, 0xfb, 0x82, 0xc8, 0x82, 0xa8, 0x82, 0x86, + 0x82, 0xc8, 0x82, 0xa8, 0x82, 0x86, 0x82, 0xc8, 0x82, 0xa8, 0x82, 0x86, + 0x06, 0x5a, 0x23, 0x30, 0x97, 0x78, 0xf6, 0x82, 0xc8, 0x82, 0xa8, 0x82, + 0x86, 0x82, 0xc8, 0x82, 0xa8, 0x82, 0x86, 0x82, 0xc8, 0x82, 0xa8, 0x82, + 0x86, 0x04, 0xfb, 0x86, 0xf4, 0x70, 0x82, 0xfb, 0x82, 0xc8, 0x82, 0xa8, + 0x82, 0x86, 0x82, 0xc8, 0x82, 0xa8, 0x82, 0x86, 0x82, 0xc8, 0x82, 0xa8, + 0x82, 0x86, 0x06, 0x5a, 0x23, 0x30, 0x97, 0x78, 0xf6, 0x82, 0xc8, 0x82, + 0xa8, 0x82, 0x86, 0x04, 0xfb, 0x86, 0xf4, 0x70, 0x83, 0xfb, 0x03, 0x86, + 0xf4, 0x70, 0x83, 0xfb, 0x03, 0x86, 0xf4, 0x70, 0x83, 0xfb, 0x03, 0x86, + 0xf4, 0x70, 0x82, 0xfb, 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, 0x82, 0xc8, + 0x82, 0xb2, 0x82, 0x86, 0x06, 0x5a, 0x23, 0x30, 0x97, 0x78, 0xf6, 0x82, + 0xc8, 0x82, 0xb2, 0x82, 0x86, 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, 0x82, + 0xc8, 0x82, 0xb2, 0x82, 0x86, 0x04, 0xfb, 0x86, 0xf4, 0x70, 0x82, 0xfb, + 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, 0x04, 0xfb, 0x86, 0xf4, 0x70, 0x83, + 0xfb, 0x03, 0x86, 0xf4, 0x70, 0x82, 0xfb, 0x0a, 0x5a, 0x23, 0x30, 0x97, + 0x78, 0xf6, 0xfb, 0x86, 0xf4, 0x70, 0x83, 0xfb, 0x03, 0x86, 0xf4, 0x70, + 0x83, 0xfb, 0x03, 0x86, 0xf4, 0x70, 0x83, 0xfb, 0x03, 0x86, 0xf4, 0x70, + 0x83, 0xfb, 0x03, 0x86, 0xf4, 0x70, 0x82, 0xfb, 0x82, 0xa8, 0x82, 0x86, + 0x82, 0x70, 0x82, 0xa8, 0x82, 0x86, 0x82, 0x70, 0x06, 0x5a, 0x23, 0x30, + 0x97, 0x78, 0xf6, 0x82, 0xa8, 0x82, 0x86, 0x82, 0x70, 0x82, 0xa8, 0x82, + 0x86, 0x82, 0x70, 0x82, 0xa8, 0x82, 0x86, 0x82, 0x70, 0x04, 0xfb, 0x86, + 0xf4, 0x70, 0x82, 0xfb, 0x82, 0xa8, 0x82, 0x86, 0x82, 0x70, 0x82, 0xa8, + 0x82, 0x86, 0x82, 0x70, 0x82, 0xa8, 0x82, 0x86, 0x82, 0x70, 0x06, 0x5a, + 0x23, 0x30, 0x97, 0x78, 0xf6, 0x82, 0xa8, 0x82, 0x86, 0x82, 0x70, 0x04, + 0xfb, 0x86, 0xf4, 0x70, 0x83, 0xfb, 0x03, 0x86, 0xf4, 0x70, 0x83, 0xfb, + 0x03, 0x86, 0xf4, 0x70, 0x83, 0xfb, 0x03, 0x86, 0xf4, 0x70, 0x82, 0xfb, + 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, + 0x06, 0x5a, 0x23, 0x30, 0x97, 0x78, 0xf6, 0x82, 0x96, 0x82, 0x77, 0x82, + 0x64, 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, 0x82, 0x96, 0x82, 0x77, 0x82, + 0x64, 0x04, 0xfb, 0x86, 0xf4, 0x70, 0x82, 0xfb, 0x82, 0x96, 0x82, 0x77, + 0x82, 0x64, 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, 0x04, 0xfb, 0x86, 0xf4, + 0x70, 0x82, 0xfb, 0x0a, 0x5a, 0x23, 0x30, 0x97, 0x78, 0xf6, 0xfb, 0x86, + 0xf4, 0x70, 0x82, 0xfb, 0x0a, 0x5a, 0x23, 0x30, 0x97, 0x78, 0xf6, 0xfb, + 0x86, 0xf4, 0x70, 0x83, 0xfb, 0x03, 0x86, 0xf4, 0x70, 0x82, 0xfb, 0x82, + 0xc8, 0x82, 0xa8, 0x82, 0x86, 0x82, 0xc8, 0x82, 0xa8, 0x82, 0x86, 0x82, + 0xc8, 0x82, 0xa8, 0x82, 0x86, 0x06, 0x5a, 0x23, 0x30, 0x97, 0x78, 0xf6, + 0x82, 0xc8, 0x82, 0xa8, 0x82, 0x86, 0x82, 0xc8, 0x82, 0xa8, 0x82, 0x86, + 0x82, 0xc8, 0x82, 0xa8, 0x82, 0x86, 0x04, 0xfb, 0x86, 0xf4, 0x70, 0x82, + 0xfb, 0x82, 0xc8, 0x82, 0xa8, 0x82, 0x86, 0x82, 0xc8, 0x82, 0xa8, 0x82, + 0x86, 0x82, 0xc8, 0x82, 0xa8, 0x82, 0x86, 0x06, 0x5a, 0x23, 0x30, 0x97, + 0x78, 0xf6, 0x82, 0xc8, 0x82, 0xa8, 0x82, 0x86, 0x04, 0xfb, 0x86, 0xf4, + 0x70, 0x83, 0xfb, 0x03, 0x86, 0xf4, 0x70, 0x83, 0xfb, 0x03, 0x86, 0xf4, + 0x70, 0x83, 0xfb, 0x03, 0x86, 0xf4, 0x70, 0x82, 0xfb, 0x82, 0xc8, 0x82, + 0xb2, 0x82, 0x86, 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, 0x06, 0x5a, 0x23, + 0x30, 0x97, 0x78, 0xf6, 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, 0x82, 0xc8, + 0x82, 0xb2, 0x82, 0x86, 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, 0x04, 0xfb, + 0x86, 0xf4, 0x70, 0x82, 0xfb, 0x82, 0xc8, 0x82, 0xb2, 0x82, 0x86, 0x04, + 0xfb, 0x86, 0xf4, 0x70, 0x83, 0xfb, 0x03, 0x86, 0xf4, 0x70, 0x82, 0xfb, + 0x0a, 0x5a, 0x23, 0x30, 0x97, 0x78, 0xf6, 0xfb, 0x86, 0xf4, 0x70, 0x83, + 0xfb, 0x03, 0x86, 0xf4, 0x70, 0x83, 0xfb, 0x03, 0x86, 0xf4, 0x70, 0x83, + 0xfb, 0x03, 0x86, 0xf4, 0x70, 0x83, 0xfb, 0x03, 0x86, 0xf4, 0x70, 0x82, + 0xfb, 0x82, 0xa8, 0x82, 0x86, 0x82, 0x70, 0x82, 0xa8, 0x82, 0x86, 0x82, + 0x70, 0x06, 0x5a, 0x23, 0x30, 0x97, 0x78, 0xf6, 0x82, 0xa8, 0x82, 0x86, + 0x82, 0x70, 0x82, 0xa8, 0x82, 0x86, 0x82, 0x70, 0x82, 0xa8, 0x82, 0x86, + 0x82, 0x70, 0x04, 0xfb, 0x86, 0xf4, 0x70, 0x82, 0xfb, 0x82, 0xa8, 0x82, + 0x86, 0x82, 0x70, 0x82, 0xa8, 0x82, 0x86, 0x82, 0x70, 0x82, 0xa8, 0x82, + 0x86, 0x82, 0x70, 0x06, 0x5a, 0x23, 0x30, 0x97, 0x78, 0xf6, 0x82, 0xa8, + 0x82, 0x86, 0x82, 0x70, 0x04, 0xfb, 0x86, 0xf4, 0x70, 0x83, 0xfb, 0x03, + 0x86, 0xf4, 0x70, 0x83, 0xfb, 0x03, 0x86, 0xf4, 0x70, 0x83, 0xfb, 0x03, + 0x86, 0xf4, 0x70, 0x82, 0xfb, 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, 0x82, + 0x96, 0x82, 0x77, 0x82, 0x64, 0x06, 0x5a, 0x23, 0x30, 0x97, 0x78, 0xf6, + 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, + 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, 0x04, 0xfb, 0x86, 0xf4, 0x70, 0x82, + 0xfb, 0x82, 0x96, 0x82, 0x77, 0x82, 0x64, 0x82, 0x96, 0x82, 0x77, 0x82, + 0x64, 0x04, 0xfb, 0x86, 0xf4, 0x70, 0x82, 0xfb, 0x0a, 0x5a, 0x23, 0x30, + 0x97, 0x78, 0xf6, 0xfb, 0x86, 0xf4, 0x70, 0x82, 0xfb, 0x0b, 0x5a, 0x23, + 0x30, 0x97, 0x78, 0xf6, 0xfb, 0x86, 0xf4, 0x70, 0xfb, 0x82, 0x04, 0x82, + 0x03, 0x83, 0x04, 0x92, 0x00, 0x06, 0x02, 0x03, 0x04, 0x05, 0x07, 0x09, + 0x92, 0x00, 0x01, 0x04, 0x82, 0x03, 0x83, 0x04, 0x92, 0x00, 0x06, 0x02, + 0x03, 0x04, 0x05, 0x07, 0x09, 0x86, 0x00, 0x01, 0x04, 0x82, 0x03, 0x84, + 0x04, 0x82, 0x03, 0x84, 0x04, 0x82, 0x03, 0x84, 0x04, 0x82, 0x03, 0x83, + 0x04, 0x8c, 0x00, 0x06, 0x02, 0x03, 0x04, 0x05, 0x07, 0x09, 0x92, 0x00, + 0x01, 0x04, 0x82, 0x03, 0x83, 0x04, 0x86, 0x00, 0x01, 0x04, 0x82, 0x03, + 0x84, 0x04, 0x82, 0x03, 0x83, 0x04, 0x07, 0x02, 0x03, 0x04, 0x05, 0x07, + 0x09, 0x04, 0x82, 0x03, 0x84, 0x04, 0x82, 0x03, 0x84, 0x04, 0x82, 0x03, + 0x84, 0x04, 0x82, 0x03, 0x84, 0x04, 0x82, 0x03, 0x83, 0x04, 0x8c, 0x00, + 0x06, 0x02, 0x03, 0x04, 0x05, 0x07, 0x09, 0x92, 0x00, 0x01, 0x04, 0x82, + 0x03, 0x83, 0x04, 0x92, 0x00, 0x06, 0x02, 0x03, 0x04, 0x05, 0x07, 0x09, + 0x86, 0x00, 0x01, 0x04, 0x82, 0x03, 0x84, 0x04, 0x82, 0x03, 0x84, 0x04, + 0x82, 0x03, 0x84, 0x04, 0x82, 0x03, 0x83, 0x04, 0x8c, 0x00, 0x06, 0x02, + 0x03, 0x04, 0x05, 0x07, 0x09, 0x92, 0x00, 0x01, 0x04, 0x82, 0x03, 0x83, + 0x04, 0x8c, 0x00, 0x01, 0x04, 0x82, 0x03, 0x83, 0x04, 0x07, 0x02, 0x03, + 0x04, 0x05, 0x07, 0x09, 0x04, 0x82, 0x03, 0x83, 0x04, 0x07, 0x02, 0x03, + 0x04, 0x05, 0x07, 0x09, 0x04, 0x82, 0x03, 0x84, 0x04, 0x82, 0x03, 0x83, + 0x04, 0x92, 0x00, 0x06, 0x02, 0x03, 0x04, 0x05, 0x07, 0x09, 0x92, 0x00, + 0x01, 0x04, 0x82, 0x03, 0x83, 0x04, 0x92, 0x00, 0x06, 0x02, 0x03, 0x04, + 0x05, 0x07, 0x09, 0x86, 0x00, 0x01, 0x04, 0x82, 0x03, 0x84, 0x04, 0x82, + 0x03, 0x84, 0x04, 0x82, 0x03, 0x84, 0x04, 0x82, 0x03, 0x83, 0x04, 0x8c, + 0x00, 0x06, 0x02, 0x03, 0x04, 0x05, 0x07, 0x09, 0x92, 0x00, 0x01, 0x04, + 0x82, 0x03, 0x83, 0x04, 0x86, 0x00, 0x01, 0x04, 0x82, 0x03, 0x84, 0x04, + 0x82, 0x03, 0x83, 0x04, 0x07, 0x02, 0x03, 0x04, 0x05, 0x07, 0x09, 0x04, + 0x82, 0x03, 0x84, 0x04, 0x82, 0x03, 0x84, 0x04, 0x82, 0x03, 0x84, 0x04, + 0x82, 0x03, 0x84, 0x04, 0x82, 0x03, 0x83, 0x04, 0x8c, 0x00, 0x06, 0x02, + 0x03, 0x04, 0x05, 0x07, 0x09, 0x92, 0x00, 0x01, 0x04, 0x82, 0x03, 0x83, + 0x04, 0x92, 0x00, 0x06, 0x02, 0x03, 0x04, 0x05, 0x07, 0x09, 0x86, 0x00, + 0x01, 0x04, 0x82, 0x03, 0x84, 0x04, 0x82, 0x03, 0x84, 0x04, 0x82, 0x03, + 0x84, 0x04, 0x82, 0x03, 0x83, 0x04, 0x8c, 0x00, 0x06, 0x02, 0x03, 0x04, + 0x05, 0x07, 0x09, 0x92, 0x00, 0x01, 0x04, 0x82, 0x03, 0x83, 0x04, 0x8c, + 0x00, 0x01, 0x04, 0x82, 0x03, 0x83, 0x04, 0x07, 0x02, 0x03, 0x04, 0x05, + 0x07, 0x09, 0x04, 0x82, 0x03, 0x83, 0x04, 0x07, 0x02, 0x03, 0x04, 0x05, + 0x07, 0x09, 0x04, 0x82, 0x03, 0x82, 0x04, 0x01, 0xee, 0x86, 0x0c, 0x86, + 0x65, 0x86, 0xc3, 0x86, 0xe1, 0x86, 0x65, 0x86, 0xc3, 0x86, 0xee, 0x86, + 0xc3, 0x86, 0x0c, 0x86, 0x65, 0x86, 0xc3, 0x86, 0xee, 0x86, 0x65, 0x86, + 0xc3, 0x86, 0xe1, 0x86, 0xc3, 0x86, 0x65, 0x86, 0x0c, 0x86, 0x65, 0x86, + 0xc3, 0x86, 0xe1, 0x86, 0x65, 0x86, 0xc3, 0x8c, 0xee, 0x06, 0xec, 0xea, + 0xe8, 0xe6, 0xe4, 0xe2, 0x86, 0xe1, 0x06, 0xe3, 0xe5, 0xe7, 0xe9, 0xeb, + 0xed, 0x8c, 0xee, 0x92, 0x0c, 0x86, 0x65, 0x86, 0xc3, 0x86, 0xe1, 0x86, + 0x65, 0x86, 0xc3, 0x86, 0xee, 0x86, 0x65, 0x86, 0x0c, 0x86, 0x65, 0x86, + 0xc3, 0x86, 0xee, 0x86, 0x65, 0x86, 0xc3, 0x86, 0xe1, 0x86, 0xc3, 0x86, + 0x0c, 0x86, 0x65, 0x86, 0xc3, 0x86, 0xe1, 0x86, 0x65, 0x86, 0xc3, 0x86, + 0xee, 0x86, 0x65, 0x86, 0x3e, 0x06, 0x3b, 0x38, 0x35, 0x32, 0x2f, 0x2c, + 0x8c, 0x2d, 0x07, 0x29, 0x2d, 0x31, 0x35, 0x31, 0x2d, 0x29, 0x82, 0x25, + 0x07, 0x29, 0x2d, 0x31, 0x35, 0x31, 0x2d, 0x29, 0x82, 0x25, 0x06, 0x29, + 0x2d, 0x31, 0x35, 0x31, 0x2d, 0x86, 0x0c, 0x86, 0x65, 0x86, 0xc3, 0x86, + 0xe1, 0x86, 0x65, 0x86, 0xc3, 0x86, 0xee, 0x86, 0x65, 0x86, 0x0c, 0x86, + 0x65, 0x86, 0xc3, 0x86, 0xee, 0x86, 0x65, 0x86, 0xc3, 0x86, 0xe1, 0x86, + 0xc3, 0x86, 0x86, 0x86, 0xb2, 0x86, 0xe1, 0x86, 0x70, 0x86, 0xb2, 0x86, + 0xe1, 0x86, 0x77, 0x86, 0xb2, 0x86, 0x86, 0x86, 0xb2, 0x86, 0xe1, 0x86, + 0x77, 0x86, 0xb2, 0x86, 0xe1, 0x86, 0x70, 0x86, 0xb2, 0x86, 0x96, 0x12, + 0x95, 0x94, 0x93, 0x92, 0x91, 0x90, 0x8f, 0x8e, 0x8d, 0x8c, 0x8b, 0x8a, + 0x89, 0x88, 0x87, 0x86, 0x85, 0x84, 0x8c, 0x86, 0x07, 0x83, 0x86, 0x89, + 0x8c, 0x89, 0x86, 0x83, 0x82, 0x80, 0x07, 0x83, 0x86, 0x89, 0x8c, 0x89, + 0x86, 0x83, 0x82, 0x80, 0x07, 0x83, 0x86, 0x89, 0x8c, 0x89, 0x86, 0x83, + 0x82, 0x80, 0x07, 0x83, 0x86, 0x89, 0x8c, 0x89, 0x86, 0x83, 0x82, 0x80, + 0x8c, 0xe1, 0x0c, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, + 0xeb, 0xec, 0xed, 0x8c, 0xee, 0x07, 0xec, 0xee, 0xf0, 0xf2, 0xf0, 0xee, + 0xec, 0x82, 0xea, 0x08, 0xec, 0xee, 0xf0, 0xf1, 0xf4, 0xf1, 0xee, 0xeb, + 0x82, 0xe8, 0x07, 0xeb, 0xee, 0xf1, 0xf4, 0xf1, 0xee, 0xeb, 0x82, 0xe8, + 0x01, 0xeb, 0x87, 0xee, 0x8c, 0x2d, 0x07, 0x29, 0x2d, 0x31, 0x35, 0x31, + 0x2d, 0x29, 0x82, 0x25, 0x07, 0x29, 0x2d, 0x31, 0x35, 0x31, 0x2d, 0x29, + 0x82, 0x25, 0x07, 0x29, 0x2d, 0x31, 0x35, 0x31, 0x2d, 0x29, 0x82, 0x25, + 0x08, 0x29, 0x2d, 0x31, 0x35, 0x31, 0x2d, 0x29, 0x25, 0x02, 0xe0, 0xf1, + 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf0, + 0x85, 0xe0, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf0, + 0x85, 0xe0, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf1, + 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf1, + 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf1, + 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf1, + 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf1, + 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf0, + 0xa3, 0xe0, 0x8c, 0xe1, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, + 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf1, 0x85, 0xe1, + 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf1, 0x85, 0xe1, + 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, + 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, + 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, + 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf0, 0x85, 0xe0, + 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf0, 0x85, 0xe0, + 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf1, 0xaf, 0xe1, 0x01, 0xf1, 0x85, 0xe1, + 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf0, 0x85, 0xe0, + 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf0, 0x85, 0xe0, + 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf1, 0x85, 0xe1, + 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf1, 0x85, 0xe1, + 0x01, 0xf1, 0x85, 0xe1, 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf1, 0x85, 0xe1, + 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf0, 0x85, 0xe0, + 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf0, 0x85, 0xe0, + 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf0, 0x85, 0xe0, + 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf0, 0x85, 0xe0, + 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf0, 0x85, 0xe0, + 0x01, 0xf0, 0x85, 0xe0, 0x01, 0xf0, 0xc7, 0xe0, 0x01, 0xf0, 0xc7, 0xe0, + 0xaf, 0xe1, 0x01, 0x49, 0x8c, 0x69, 0x86, 0x89, 0x86, 0x49, 0x82, 0x69, + 0x84, 0x6c, 0x86, 0x89, 0x86, 0x49, 0x86, 0x89, 0x8c, 0x69, 0x86, 0x89, + 0x86, 0x49, 0x82, 0x69, 0x84, 0x6c, 0x86, 0x89, 0x86, 0x49, 0x86, 0x89, + 0x92, 0x69, 0x86, 0x89, 0x82, 0x49, 0x84, 0x4c, 0x86, 0x69, 0x86, 0x89, + 0xa0, 0x49, 0x84, 0x4c, 0x86, 0x49, 0x98, 0x69, 0x86, 0x89, 0x86, 0x49, + 0x82, 0x69, 0x84, 0x6c, 0x86, 0x89, 0x86, 0x49, 0x92, 0x69, 0x86, 0x89, + 0x86, 0x49, 0x82, 0x69, 0x84, 0x6c, 0x86, 0x89, 0x86, 0x49, 0x86, 0x89, + 0x8c, 0x69, 0x86, 0x89, 0x86, 0x49, 0x82, 0x69, 0x84, 0x6c, 0x86, 0x89, + 0x86, 0x49, 0xa0, 0x69, 0x84, 0x6c, 0x88, 0x69, 0x84, 0x6c, 0x92, 0x69, + 0x86, 0x89, 0x86, 0x49, 0x82, 0x69, 0x84, 0x6c, 0x86, 0x89, 0x86, 0x49, + 0x92, 0x69, 0x86, 0x89, 0x86, 0x49, 0x82, 0x69, 0x84, 0x6c, 0x86, 0x89, + 0x86, 0x49, 0x86, 0x89, 0x9a, 0x49, 0x84, 0x4c, 0xac, 0x49, 0x84, 0x4c, + 0xac, 0x49, 0x84, 0x4c, 0xac, 0x49, 0x84, 0x4c, 0xac, 0x49, 0x84, 0x4c, + 0x92, 0x49, 0x9a, 0x69, 0x84, 0x6c, 0x88, 0x69, 0x84, 0x6c, 0x85, 0x69, + 0x02, 0xf8, 0xea, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, + 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xf0, 0x83, 0xe8, 0x82, 0xf8, 0x01, + 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, + 0xe2, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, + 0xe8, 0x85, 0xf8, 0x01, 0xf0, 0x83, 0xe8, 0x82, 0xf8, 0x01, 0xe8, 0x85, + 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, 0xea, 0x85, + 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, + 0xf8, 0x01, 0xf0, 0x83, 0xe8, 0x82, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, + 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, + 0xe8, 0x85, 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, + 0xf0, 0x83, 0xe8, 0x82, 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, 0xe2, 0x85, + 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, 0xea, 0x85, 0xf8, 0x01, 0xe2, 0x85, + 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xf0, 0x83, + 0xe8, 0x82, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, + 0xe8, 0x85, 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, + 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xf0, 0x83, 0xe8, 0x82, + 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, 0xe2, 0x85, + 0xf8, 0x01, 0xea, 0x85, 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, 0xe8, 0x85, + 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xf0, 0x83, 0xe8, 0x82, 0xf8, 0x01, + 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, + 0xe2, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, + 0xe2, 0x85, 0xf8, 0x01, 0xf0, 0x83, 0xe8, 0x82, 0xf8, 0x01, 0xe2, 0x85, + 0xf8, 0x01, 0xf0, 0x83, 0xe8, 0x82, 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, + 0xea, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, + 0xe8, 0x85, 0xf8, 0x01, 0xf0, 0x83, 0xe8, 0x82, 0xf8, 0x01, 0xe8, 0x85, + 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe2, 0x85, + 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, + 0xf8, 0x01, 0xf0, 0x83, 0xe8, 0x82, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, + 0xe2, 0x85, 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, 0xea, 0x85, 0xf8, 0x01, + 0xe2, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, + 0xf0, 0x83, 0xe8, 0x82, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, + 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, 0xe8, 0x85, + 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, 0xf0, 0x83, + 0xe8, 0x82, 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, + 0xe2, 0x85, 0xf8, 0x01, 0xea, 0x85, 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, + 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xf0, 0x83, 0xe8, 0x82, + 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, + 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, + 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xf0, 0x83, 0xe8, 0x82, 0xf8, 0x01, + 0xe8, 0x85, 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, + 0xea, 0x85, 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, + 0xe8, 0x85, 0xf8, 0x01, 0xf0, 0x83, 0xe8, 0x82, 0xf8, 0x01, 0xe8, 0x85, + 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe2, 0x85, + 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe8, 0x85, 0xf8, 0x01, 0xe2, 0x85, + 0xf8, 0x01, 0xf0, 0x83, 0xe8, 0x82, 0xf8, 0x01, 0xe2, 0x85, 0xf8, 0x01, + 0xf0, 0x83, 0xe8, 0x82, 0xf8, 0x01, 0xe2, 0x84, 0xf8, 0x01, 0x0d, 0x98, + 0x10, 0x86, 0x0d, 0x92, 0x10, 0x86, 0x0d, 0x92, 0x10, 0x86, 0x0d, 0x86, + 0x10, 0x86, 0x0a, 0x86, 0x0d, 0x86, 0x10, 0x86, 0x0d, 0x8c, 0x10, 0x86, + 0x0d, 0x92, 0x10, 0x86, 0x0d, 0x86, 0x10, 0x86, 0x0a, 0x86, 0x09, 0x86, + 0x0d, 0x86, 0x0b, 0x86, 0x0a, 0x86, 0x0d, 0x86, 0x10, 0x86, 0x0d, 0x8c, + 0x10, 0x86, 0x0d, 0x92, 0x10, 0x86, 0x0d, 0x92, 0x10, 0x86, 0x0b, 0x86, + 0x10, 0x86, 0x09, 0x86, 0x0d, 0x86, 0x10, 0x86, 0x0d, 0x8c, 0x10, 0x86, + 0x0d, 0x92, 0x10, 0x86, 0x0d, 0x8c, 0x10, 0x86, 0x0d, 0x86, 0x0b, 0x86, + 0x0a, 0x86, 0x09, 0x86, 0x0d, 0x98, 0x10, 0x86, 0x0d, 0x92, 0x10, 0x86, + 0x0d, 0x92, 0x10, 0x86, 0x0d, 0x86, 0x10, 0x86, 0x0a, 0x86, 0x0d, 0x86, + 0x10, 0x86, 0x0d, 0x8c, 0x10, 0x86, 0x0d, 0x92, 0x10, 0x86, 0x0d, 0x86, + 0x10, 0x86, 0x0a, 0x86, 0x09, 0x86, 0x0d, 0x86, 0x0b, 0x86, 0x0a, 0x86, + 0x0d, 0x86, 0x10, 0x86, 0x0d, 0x8c, 0x10, 0x86, 0x0d, 0x92, 0x10, 0x86, + 0x0d, 0x92, 0x10, 0x86, 0x0b, 0x86, 0x10, 0x86, 0x09, 0x86, 0x0d, 0x86, + 0x10, 0x86, 0x0d, 0x8c, 0x10, 0x86, 0x0d, 0x92, 0x10, 0x86, 0x0d, 0x8c, + 0x10, 0x86, 0x0d, 0x86, 0x0b, 0x86, 0x0a, 0x86, 0x09, 0x85, 0x0d, 0x02, + 0x00, 0x2c, 0x82, 0x0e, 0x03, 0x0c, 0x09, 0x00, 0x86, 0x0d, 0x86, 0x0b, + 0x86, 0x0a, 0x01, 0x0f, 0x82, 0x0e, 0x03, 0x0d, 0x0c, 0x0a, 0x86, 0x0b, + 0x86, 0x0d, 0x86, 0x0b, 0x01, 0x2c, 0x82, 0x0e, 0x03, 0x0c, 0x09, 0x00, + 0x86, 0x0b, 0x86, 0x0a, 0x86, 0x09, 0x01, 0x0f, 0x82, 0x0e, 0x03, 0x0d, + 0x0c, 0x0a, 0x86, 0x0b, 0x01, 0x2c, 0x82, 0x0e, 0x04, 0x0c, 0x09, 0x00, + 0x2c, 0x82, 0x0e, 0x04, 0x0c, 0x09, 0x00, 0x2c, 0x82, 0x0e, 0x04, 0x0c, + 0x09, 0x00, 0x2c, 0x82, 0x0e, 0x03, 0x0c, 0x09, 0x00, 0x86, 0x0b, 0x86, + 0x0a, 0x01, 0x0f, 0x82, 0x0e, 0x03, 0x0d, 0x0c, 0x0a, 0x86, 0x0b, 0x86, + 0x0d, 0x86, 0x0b, 0x01, 0x2c, 0x82, 0x0e, 0x03, 0x0c, 0x09, 0x00, 0x86, + 0x0b, 0x01, 0x2c, 0x82, 0x0e, 0x04, 0x0c, 0x09, 0x00, 0x2c, 0x82, 0x0e, + 0x04, 0x0c, 0x09, 0x00, 0x0f, 0x82, 0x0e, 0x04, 0x0d, 0x0c, 0x0a, 0x2c, + 0x82, 0x0e, 0x04, 0x0c, 0x09, 0x00, 0x2c, 0x82, 0x0e, 0x04, 0x0c, 0x09, + 0x00, 0x2c, 0x82, 0x0e, 0x04, 0x0c, 0x09, 0x00, 0x2c, 0x82, 0x0e, 0x04, + 0x0c, 0x09, 0x00, 0x2c, 0x82, 0x0e, 0x03, 0x0c, 0x09, 0x00, 0x86, 0x0b, + 0x86, 0x0a, 0x01, 0x0f, 0x82, 0x0e, 0x03, 0x0d, 0x0c, 0x0a, 0x86, 0x0b, + 0x86, 0x0d, 0x86, 0x0b, 0x01, 0x2c, 0x82, 0x0e, 0x03, 0x0c, 0x09, 0x00, + 0x86, 0x0b, 0x86, 0x0a, 0x86, 0x0d, 0x01, 0x0f, 0x82, 0x0e, 0x02, 0x0d, + 0x0c, 0x87, 0x0a, 0x01, 0x2c, 0x82, 0x0e, 0x04, 0x0c, 0x09, 0x00, 0x2c, + 0x82, 0x0e, 0x04, 0x0c, 0x09, 0x00, 0x2c, 0x82, 0x0e, 0x04, 0x0c, 0x09, + 0x00, 0x2c, 0x82, 0x0e, 0x03, 0x0c, 0x09, 0x00, 0x86, 0x0b, 0x86, 0x0a, + 0x01, 0x0f, 0x82, 0x0e, 0x03, 0x0d, 0x0c, 0x0a, 0x86, 0x0b, 0x86, 0x0d, + 0x86, 0x0b, 0x01, 0x2c, 0x82, 0x0e, 0x03, 0x0c, 0x09, 0x00, 0x86, 0x0b, + 0x86, 0x0a, 0x01, 0x2c, 0x82, 0x0e, 0x04, 0x0c, 0x09, 0x00, 0x0f, 0x82, + 0x0e, 0x04, 0x0d, 0x0c, 0x0a, 0x2c, 0x82, 0x0e, 0x04, 0x0c, 0x09, 0x00, + 0x0f, 0x82, 0x0e, 0x04, 0x0d, 0x0c, 0x0a, 0x2c, 0x82, 0x0e, 0x04, 0x0c, + 0x09, 0x00, 0x2c, 0x82, 0x0e, 0x03, 0x0c, 0x09, 0x00, 0x86, 0x0d, 0x86, + 0x0b, 0x86, 0x0a, 0x01, 0x0f, 0x82, 0x0e, 0x03, 0x0d, 0x0c, 0x0a, 0x86, + 0x0b, 0x86, 0x0d, 0x86, 0x0b, 0x01, 0x2c, 0x82, 0x0e, 0x03, 0x0c, 0x09, + 0x00, 0x86, 0x0b, 0x86, 0x0a, 0x86, 0x09, 0x01, 0x0f, 0x82, 0x0e, 0x03, + 0x0d, 0x0c, 0x0a, 0x86, 0x0b, 0x01, 0x2c, 0x82, 0x0e, 0x04, 0x0c, 0x09, + 0x00, 0x2c, 0x82, 0x0e, 0x04, 0x0c, 0x09, 0x00, 0x2c, 0x82, 0x0e, 0x04, + 0x0c, 0x09, 0x00, 0x2c, 0x82, 0x0e, 0x03, 0x0c, 0x09, 0x00, 0x86, 0x0b, + 0x86, 0x0a, 0x01, 0x0f, 0x82, 0x0e, 0x03, 0x0d, 0x0c, 0x0a, 0x86, 0x0b, + 0x86, 0x0d, 0x86, 0x0b, 0x01, 0x2c, 0x82, 0x0e, 0x03, 0x0c, 0x09, 0x00, + 0x86, 0x0b, 0x01, 0x2c, 0x82, 0x0e, 0x04, 0x0c, 0x09, 0x00, 0x2c, 0x82, + 0x0e, 0x04, 0x0c, 0x09, 0x00, 0x0f, 0x82, 0x0e, 0x04, 0x0d, 0x0c, 0x0a, + 0x2c, 0x82, 0x0e, 0x04, 0x0c, 0x09, 0x00, 0x2c, 0x82, 0x0e, 0x04, 0x0c, + 0x09, 0x00, 0x2c, 0x82, 0x0e, 0x04, 0x0c, 0x09, 0x00, 0x2c, 0x82, 0x0e, + 0x04, 0x0c, 0x09, 0x00, 0x2c, 0x82, 0x0e, 0x03, 0x0c, 0x09, 0x00, 0x86, + 0x0b, 0x86, 0x0a, 0x01, 0x0f, 0x82, 0x0e, 0x03, 0x0d, 0x0c, 0x0a, 0x86, + 0x0b, 0x86, 0x0d, 0x86, 0x0b, 0x01, 0x2c, 0x82, 0x0e, 0x03, 0x0c, 0x09, + 0x00, 0x86, 0x0b, 0x86, 0x0a, 0x86, 0x0d, 0x01, 0x0f, 0x82, 0x0e, 0x02, + 0x0d, 0x0c, 0x87, 0x0a, 0x01, 0x2c, 0x82, 0x0e, 0x04, 0x0c, 0x09, 0x00, + 0x2c, 0x82, 0x0e, 0x04, 0x0c, 0x09, 0x00, 0x2c, 0x82, 0x0e, 0x04, 0x0c, + 0x09, 0x00, 0x2c, 0x82, 0x0e, 0x03, 0x0c, 0x09, 0x00, 0x86, 0x0b, 0x86, + 0x0a, 0x01, 0x0f, 0x82, 0x0e, 0x03, 0x0d, 0x0c, 0x0a, 0x86, 0x0b, 0x86, + 0x0d, 0x86, 0x0b, 0x01, 0x2c, 0x82, 0x0e, 0x03, 0x0c, 0x09, 0x00, 0x86, + 0x0b, 0x86, 0x0a, 0x01, 0x2c, 0x82, 0x0e, 0x04, 0x0c, 0x09, 0x00, 0x0f, + 0x82, 0x0e, 0x04, 0x0d, 0x0c, 0x0a, 0x2c, 0x82, 0x0e, 0x04, 0x0c, 0x09, + 0x00, 0x0f, 0x82, 0x0e, 0x04, 0x0d, 0x0c, 0x0a, 0x2c, 0x82, 0x0e, 0x02, + 0x0c, 0x09, 0x02, 0x0e, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0xaf, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0xaf, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, + 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0x85, 0x0e, 0x01, 0x0f, 0xc7, 0x0e, 0x01, + 0x0f, 0xf6, 0x0e, 0x01, 0x4b, 0xff, 0x64, 0xc1, 0x64, 0xe0, 0x54, 0xe0, + 0x4b, 0xff, 0x64, 0xc1, 0x64, 0xe0, 0x54, 0xdf, 0x4b, 0xff, 0x00, 0xff, + 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x86, 0x00, 0x02, + 0xff, 0x0e, 0x9d, 0xff, 0x01, 0x0e, 0x97, 0xff, 0x01, 0x0e, 0x97, 0xff, + 0x01, 0x0e, 0x91, 0xff, 0x01, 0x0e, 0x8b, 0xff, 0x01, 0x0e, 0x91, 0xff, + 0x01, 0x0e, 0x97, 0xff, 0x01, 0x0e, 0xa9, 0xff, 0x01, 0x0e, 0x8b, 0xff, + 0x01, 0x0e, 0x91, 0xff, 0x01, 0x0e, 0x97, 0xff, 0x01, 0x0e, 0x97, 0xff, + 0x01, 0x0e, 0x91, 0xff, 0x01, 0x0e, 0x8b, 0xff, 0x01, 0x0e, 0x91, 0xff, + 0x01, 0x0e, 0x97, 0xff, 0x01, 0x0e, 0xa9, 0xff, 0x01, 0x0e, 0x9d, 0xff, + 0x01, 0x0e, 0x97, 0xff, 0x01, 0x0e, 0x97, 0xff, 0x01, 0x0e, 0x91, 0xff, + 0x01, 0x0e, 0x8b, 0xff, 0x01, 0x0e, 0x91, 0xff, 0x01, 0x0e, 0x97, 0xff, + 0x01, 0x0e, 0xa9, 0xff, 0x01, 0x0e, 0x8b, 0xff, 0x01, 0x0e, 0x91, 0xff, + 0x01, 0x0e, 0x97, 0xff, 0x01, 0x0e, 0x97, 0xff, 0x01, 0x0e, 0x91, 0xff, + 0x01, 0x0e, 0x8b, 0xff, 0x01, 0x0e, 0x91, 0xff, 0x01, 0x0e, 0x97, 0xff, + 0x01, 0x0e, 0xa8, 0xff +}; +unsigned int cut_rle_bin_len = 4504; diff --git a/firmware/baseband-tx.bin b/firmware/baseband-tx.bin index 8b0ee7fc9..62631276c 100644 Binary files a/firmware/baseband-tx.bin and b/firmware/baseband-tx.bin differ diff --git a/firmware/baseband-tx/Makefile b/firmware/baseband-tx/Makefile index 689929915..c95199a1f 100755 --- a/firmware/baseband-tx/Makefile +++ b/firmware/baseband-tx/Makefile @@ -137,6 +137,8 @@ CPPSRC = main.cpp \ proc_jammer.cpp \ proc_fsk_lcr.cpp \ proc_xylos.cpp \ + proc_audiotx.cpp \ + proc_playaudio.cpp \ dsp_squelch.cpp \ clock_recovery.cpp \ packet_builder.cpp \ diff --git a/firmware/baseband-tx/baseband_processor.cpp b/firmware/baseband-tx/baseband_processor.cpp index 83e6d857e..1e9ffaf66 100644 --- a/firmware/baseband-tx/baseband_processor.cpp +++ b/firmware/baseband-tx/baseband_processor.cpp @@ -120,3 +120,7 @@ void BasebandProcessor::post_audio_stats_message(const AudioStatistics statistic audio_stats_message.statistics = statistics; shared_memory.application_queue.push(audio_stats_message); } + +void BasebandProcessor::fill_buffer(int8_t * inptr) { + (void)inptr; +} diff --git a/firmware/baseband-tx/baseband_processor.hpp b/firmware/baseband-tx/baseband_processor.hpp index a1a228897..d7f87e38b 100644 --- a/firmware/baseband-tx/baseband_processor.hpp +++ b/firmware/baseband-tx/baseband_processor.hpp @@ -38,6 +38,7 @@ public: virtual ~BasebandProcessor() = default; virtual void execute(buffer_c8_t buffer) = 0; + virtual void fill_buffer(int8_t * inptr); void update_spectrum(); diff --git a/firmware/baseband-tx/main.cpp b/firmware/baseband-tx/main.cpp index 5ec8e4f97..586f245ce 100755 --- a/firmware/baseband-tx/main.cpp +++ b/firmware/baseband-tx/main.cpp @@ -15,6 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; see the file COPYING. If not, write to + * along with this program; see the file COPYING. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, * Boston, MA 02110-1301, USA. */ @@ -53,6 +54,7 @@ #include "proc_fsk_lcr.hpp" #include "proc_jammer.hpp" #include "proc_xylos.hpp" +#include "proc_playaudio.hpp" #include "clock_recovery.hpp" #include "packet_builder.hpp" @@ -121,7 +123,6 @@ private: WORKING_AREA(wa, 2048); void run() override { - while(true) { if (direction == baseband::Direction::Transmit) { const auto buffer_tmp = baseband::dma::wait_for_tx_buffer(); @@ -497,7 +498,7 @@ int main(void) { auto& message_handlers = event_dispatcher.message_handlers(); message_handlers.register_handler(Message::ID::ModuleID, - [&message_handlers](Message* p) { + [](Message* p) { ModuleIDMessage reply; auto message = static_cast(p); if (message->query == true) { // Shouldn't be needed @@ -549,6 +550,17 @@ int main(void) { baseband_thread.baseband_processor = new XylosProcessor(); break; + case PLAY_AUDIO: + direction = baseband::Direction::Transmit; + baseband_thread.baseband_processor = new PlayAudioProcessor(); + message_handlers.register_handler(Message::ID::FIFOData, + [](Message* p) { + auto message = static_cast(p); + baseband_thread.baseband_processor->fill_buffer(message->data); + } + ); + break; + case SWITCH: wait_for_switch(); diff --git a/firmware/baseband-tx/proc_audiotx.cpp b/firmware/baseband-tx/proc_audiotx.cpp new file mode 100644 index 000000000..8d51287ff --- /dev/null +++ b/firmware/baseband-tx/proc_audiotx.cpp @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2016 Furrtek + * + * This file is part of PortaPack. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#include "proc_audiotx.hpp" +#include "portapack_shared_memory.hpp" +#include "sine_table.hpp" + +#include + +void AudioTXProcessor::execute(buffer_c8_t buffer) { + +} diff --git a/firmware/baseband-tx/proc_audiotx.hpp b/firmware/baseband-tx/proc_audiotx.hpp new file mode 100644 index 000000000..30a1c0301 --- /dev/null +++ b/firmware/baseband-tx/proc_audiotx.hpp @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2016 Furrtek + * + * This file is part of PortaPack. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifndef __PROC_AUDIOTX_H__ +#define __PROC_AUDIOTX_H__ + +#include "baseband_processor.hpp" + +#define SAMPLERATE 44100/4 + +class AudioTXProcessor : public BasebandProcessor { +public: + void execute(buffer_c8_t buffer) override; + +private: + int8_t audio_fifo[SAMPLERATE]; + + int8_t re, im; + uint8_t s, as = 0, ai; + uint8_t byte_pos = 0; + uint8_t digit = 0; + uint32_t aphase, phase, sphase; + int32_t sample, frq; + TXDoneMessage message; +}; + +#endif diff --git a/firmware/baseband-tx/proc_playaudio.cpp b/firmware/baseband-tx/proc_playaudio.cpp new file mode 100644 index 000000000..816c7fd15 --- /dev/null +++ b/firmware/baseband-tx/proc_playaudio.cpp @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2016 Furrtek + * + * This file is part of PortaPack. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#include "proc_playaudio.hpp" +#include "portapack_shared_memory.hpp" +#include "sine_table.hpp" + +#include + +// This is diry :( +void PlayAudioProcessor::fill_buffer(int8_t * inptr) { + memcpy(&audio_fifo[fifo_put], inptr, 1024); + fifo_put = (fifo_put + 1024) & 0x0FFF; + asked = false; +} + +void PlayAudioProcessor::execute(buffer_c8_t buffer) { + + // This is called at 1536000/2048 = 750Hz + + ai = 0; + for (size_t i = 0; i= 31) { + as = 0; + sample = audio_fifo[fifo_get]; + preview_audio_buffer.p[ai++] = sample << 8; + fifo_get = (fifo_get + 1) & 0x0FFF; + if ((((fifo_put - fifo_get) & 0x0FFF) < 3072) && (asked == false)) { + // Ask application to fill up fifo + sigmessage.signaltype = 1; + shared_memory.application_queue.push(sigmessage); + asked = true; + } + } else { + as++; + } + + sample = ((int8_t)audio_fifo[fifo_get] * 4); + + //FM + frq = sample * 2000; + + phase = (phase + frq); + sphase = phase + (256<<16); + + re = (sine_table_f32[(sphase & 0x03FF0000)>>18]*127); + im = (sine_table_f32[(phase & 0x03FF0000)>>18]*127); + + buffer.p[i] = {(int8_t)re,(int8_t)im}; + } + + fill_audio_buffer(preview_audio_buffer); +} diff --git a/firmware/baseband-tx/proc_playaudio.hpp b/firmware/baseband-tx/proc_playaudio.hpp new file mode 100644 index 000000000..07c674127 --- /dev/null +++ b/firmware/baseband-tx/proc_playaudio.hpp @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2016 Furrtek + * + * This file is part of PortaPack. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifndef __PROC_PLAYAUDIO_H__ +#define __PROC_PLAYAUDIO_H__ + +#include "baseband_processor.hpp" + +class PlayAudioProcessor : public BasebandProcessor { +public: + void execute(buffer_c8_t buffer) override; + void fill_buffer(int8_t * inptr); + +private: + int8_t audio_fifo[4096]; // Probably too much (=85ms @ 48000Hz) + uint16_t fifo_put, fifo_get; + uint8_t as = 0, ai; + int8_t re, im; + + int16_t st; + + int16_t audio_data[64]; + + bool asked = false; + + const buffer_s16_t preview_audio_buffer { + audio_data, + sizeof(int16_t)*64 + }; + + FIFOSignalMessage sigmessage; + + uint32_t aphase, phase, sphase; + int32_t sample, frq; +}; + +#endif diff --git a/firmware/baseband-tx/proc_xylos.cpp b/firmware/baseband-tx/proc_xylos.cpp index f0528ddbe..bd3771752 100644 --- a/firmware/baseband-tx/proc_xylos.cpp +++ b/firmware/baseband-tx/proc_xylos.cpp @@ -26,6 +26,11 @@ #include +// 1990 1131 1201 1275 1357 ... + +// 14 13 12 11: +// 2108 989 2259 931 + void XylosProcessor::execute(buffer_c8_t buffer) { // This is called at 1536000/2048 = 750Hz diff --git a/firmware/baseband-tx/proc_xylos.hpp b/firmware/baseband-tx/proc_xylos.hpp index 933d3cb4c..09e322a93 100644 --- a/firmware/baseband-tx/proc_xylos.hpp +++ b/firmware/baseband-tx/proc_xylos.hpp @@ -39,7 +39,7 @@ private: audio_data, sizeof(int16_t)*64 }; - + uint32_t ccir_phases[16] = { (uint32_t)(1981*PHASEV), (uint32_t)(1124*PHASEV), diff --git a/firmware/baseband.bin b/firmware/baseband.bin index 36ce9db2f..6ff2307ae 100644 Binary files a/firmware/baseband.bin and b/firmware/baseband.bin differ diff --git a/firmware/chibios-portapack/os/hal/platforms/LPC43xx_M0/lpc43xx_m0.h b/firmware/chibios-portapack/os/hal/platforms/LPC43xx_M0/lpc43xx_m0.h index c6047fac5..08478f3a2 100644 --- a/firmware/chibios-portapack/os/hal/platforms/LPC43xx_M0/lpc43xx_m0.h +++ b/firmware/chibios-portapack/os/hal/platforms/LPC43xx_M0/lpc43xx_m0.h @@ -88,6 +88,7 @@ typedef enum IRQn { C_CAN0_IRQn = 29, /*!< 45 C_CAN0 */ SPIFI_OR_ADCHS_IRQn = 30, /*!< 46 SPIFI OR ADCHS interrupt */ M0SUB_IRQn = 31, /*!< 47 M0SUB core */ + TIMER1_IRQn = 32 } IRQn_Type; /** diff --git a/firmware/common/lcd_ili9341.cpp b/firmware/common/lcd_ili9341.cpp index e7d8476c3..95995fd2a 100644 --- a/firmware/common/lcd_ili9341.cpp +++ b/firmware/common/lcd_ili9341.cpp @@ -246,6 +246,11 @@ void ILI9341::render_line(const ui::Point p, const uint8_t count, const ui::Colo io.lcd_write_pixels(line_buffer, count); } +void ILI9341::render_box(const ui::Point p, const ui::Size s, const ui::Color* line_buffer) { + lcd_start_ram_write(p, s); + io.lcd_write_pixels(line_buffer, s.w * s.h); +} + void ILI9341::drawBMP(const ui::Point p, const uint8_t * bitmap) { uint32_t pixel_data, pal_data; uint8_t pal, by, c, count; diff --git a/firmware/common/lcd_ili9341.hpp b/firmware/common/lcd_ili9341.hpp index 61eca86cf..b6457a45a 100644 --- a/firmware/common/lcd_ili9341.hpp +++ b/firmware/common/lcd_ili9341.hpp @@ -56,7 +56,8 @@ public: void draw_pixel(const ui::Point p, const ui::Color color); void drawBMP(const ui::Point p, const uint8_t * bitmap); void render_line(const ui::Point p, const uint8_t count, const ui::Color* line_buffer); - + void render_box(const ui::Point p, const ui::Size s, const ui::Color* line_buffer); + template void draw_pixels( const ui::Rect r, diff --git a/firmware/common/message.hpp b/firmware/common/message.hpp index e45512c53..1e714b4a9 100644 --- a/firmware/common/message.hpp +++ b/firmware/common/message.hpp @@ -40,18 +40,21 @@ public: RSSIStatistics = 0, BasebandStatistics = 1, ChannelStatistics = 2, - ChannelSpectrum = 3, - AudioStatistics = 4, - BasebandConfiguration = 5, - TPMSPacket = 6, + DisplayFrameSync = 3, + ChannelSpectrum = 4, + AudioStatistics = 5, + BasebandConfiguration = 6, + TPMSPacket = 7, Shutdown = 8, - AISPacket = 7, - TXDone = 9, - SDCardStatus = 10, - Retune = 11, - ReadyForSwitch = 12, - AFSKData = 13, - ModuleID = 14, + AISPacket = 9, + TXDone = 10, + SDCardStatus = 11, + Retune = 12, + ReadyForSwitch = 13, + AFSKData = 14, + ModuleID = 15, + FIFOSignal = 16, + FIFOData = 17, MAX }; @@ -176,6 +179,8 @@ typedef enum { TX_JAMMER, TX_XYLOS, + PLAY_AUDIO, + NONE, SWITCH = 0xFF } mode_type; @@ -327,6 +332,34 @@ public: int64_t freq = 0; }; +class DisplayFrameSyncMessage : public Message { +public: + constexpr DisplayFrameSyncMessage( + ) : Message { ID::DisplayFrameSync } + { + } +}; + +class FIFOSignalMessage : public Message { +public: + FIFOSignalMessage( + ) : Message { ID::FIFOSignal } + { + } + + char signaltype = 0; +}; + +class FIFODataMessage : public Message { +public: + FIFODataMessage( + ) : Message { ID::FIFOData } + { + } + + int8_t * data; +}; + class MessageHandlerMap { public: using MessageHandler = std::function; diff --git a/firmware/common/modules.h b/firmware/common/modules.h index 36889193f..5fb77addb 100644 --- a/firmware/common/modules.h +++ b/firmware/common/modules.h @@ -1,2 +1,2 @@ -const char md5_baseband[16] = {0xef,0xc2,0x85,0x1d,0x83,0x0d,0x5c,0x18,0x55,0x7b,0x80,0x75,0xc9,0x6a,0x54,0xe1,}; -const char md5_baseband_tx[16] = {0xad,0xc6,0x44,0x4e,0xf4,0xe1,0xb8,0xb2,0x29,0x52,0x1d,0x33,0x1f,0xda,0x5d,0xd6,}; +const char md5_baseband[16] = {0x0f,0xf7,0xa8,0x6f,0x0f,0xb3,0x88,0x4c,0xec,0x45,0xcf,0x8d,0xd5,0xf8,0x11,0x92,}; +const char md5_baseband_tx[16] = {0x77,0xa8,0x27,0xec,0xb4,0xcb,0xe6,0x17,0x06,0x70,0x49,0x01,0xed,0x48,0x1f,0x54,}; diff --git a/firmware/portapack-h1-firmware.bin b/firmware/portapack-h1-firmware.bin index 0b14b8070..a17ff1f54 100644 Binary files a/firmware/portapack-h1-firmware.bin and b/firmware/portapack-h1-firmware.bin differ