[Swfdec] 77 commits - libswfdec/Makefile.am libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_strings.c libswfdec/swfdec_edittext.c libswfdec/swfdec_edittext.h libswfdec/swfdec_edittext_movie.c libswfdec/swfdec_edittext_movie.h libswfdec/swfdec_graphic_movie.c libswfdec/swfdec_html_parser.c libswfdec/swfdec_initialize.as libswfdec/swfdec_initialize.h libswfdec/swfdec_player_internal.h libswfdec/swfdec_tag.c libswfdec/swfdec_text_field.c libswfdec/swfdec_text_field.h libswfdec/swfdec_text_field_movie_as.c libswfdec/swfdec_text_field_movie.c libswfdec/swfdec_text_field_movie.h libswfdec/swfdec_text_format.c libswfdec/swfdec_text_format.h libswfdec/swfdec_text.h libswfdec/swfdec_xml.c libswfdec/swfdec_xml.h test/dump.c test/trace

Pekka Lampila medar at kemper.freedesktop.org
Sat Oct 13 02:29:23 PDT 2007


 libswfdec/Makefile.am                  |    9 
 libswfdec/swfdec_as_interpret.c        |    7 
 libswfdec/swfdec_as_strings.c          |   10 
 libswfdec/swfdec_edittext.c            |  178 ------
 libswfdec/swfdec_edittext.h            |   97 ---
 libswfdec/swfdec_edittext_movie.c      |  164 -----
 libswfdec/swfdec_edittext_movie.h      |   56 --
 libswfdec/swfdec_graphic_movie.c       |    4 
 libswfdec/swfdec_html_parser.c         |  670 ++++++++++++------------
 libswfdec/swfdec_initialize.as         |    7 
 libswfdec/swfdec_initialize.h          |  347 ++++++------
 libswfdec/swfdec_player_internal.h     |    1 
 libswfdec/swfdec_tag.c                 |    2 
 libswfdec/swfdec_text.h                |    1 
 libswfdec/swfdec_text_field.c          |  397 ++++++++++++++
 libswfdec/swfdec_text_field.h          |  138 ++++
 libswfdec/swfdec_text_field_movie.c    |  716 +++++++++++++++++++++++++
 libswfdec/swfdec_text_field_movie.h    |  112 ++++
 libswfdec/swfdec_text_field_movie_as.c |  810 +++++++++++++++++++++++++++++
 libswfdec/swfdec_text_format.c         |  913 +++++++++++++++++++++------------
 libswfdec/swfdec_text_format.h         |   63 +-
 libswfdec/swfdec_xml.c                 |   24 
 libswfdec/swfdec_xml.h                 |    2 
 test/dump.c                            |   10 
 test/trace/textformat-5.swf            |binary
 test/trace/textformat-5.swf.trace      |   76 ++
 test/trace/textformat-6.swf            |binary
 test/trace/textformat-6.swf.trace      |   76 ++
 test/trace/textformat-7.swf            |binary
 test/trace/textformat-7.swf.trace      |   76 ++
 test/trace/textformat-8.swf            |binary
 test/trace/textformat-8.swf.trace      |   76 ++
 test/trace/textformat.as               |    6 
 33 files changed, 3677 insertions(+), 1371 deletions(-)

New commits:
diff-tree 203f8cf3a29b5fd407abf1c93ac139d38a142d1a (from df08f79f1a4f119c646922cecac83fbed966ade1)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Sat Oct 13 12:20:20 2007 +0300

    Fix earlier merge error causing createEmptyMovieClip to be added twice

diff --git a/libswfdec/swfdec_initialize.as b/libswfdec/swfdec_initialize.as
index de5f48f..3b9ad10 100644
--- a/libswfdec/swfdec_initialize.as
+++ b/libswfdec/swfdec_initialize.as
@@ -274,9 +274,8 @@ MovieClip.prototype["duplicateMovieClip"
 MovieClip.prototype["removeMovieClip"] = ASnative (900, 19);
 MovieClip.prototype.startDrag = ASnative (900, 20);
 MovieClip.prototype.stopDrag = ASnative (900, 21);
-MovieClip.prototype.createEmptyMovieClip = ASnative (901, 0);
 MovieClip.prototype.createTextField = ASnative (104, 200);
-ASSetPropFlags (MovieClip.prototype, "getDepth,createEmptyMovieClip", 128);
+ASSetPropFlags (MovieClip.prototype, "getDepth", 128);
 
 ASSetNative (MovieClip.prototype, 901, "6createEmptyMovieClip,6beginFill,6beginGradientFill,6moveTo,6lineTo,6curveTo,6lineStyle,6endFill,6clear");
 ASSetPropFlags (MovieClip.prototype, null, 3);
diff --git a/libswfdec/swfdec_initialize.h b/libswfdec/swfdec_initialize.h
index 0921de8..889393b 100644
--- a/libswfdec/swfdec_initialize.h
+++ b/libswfdec/swfdec_initialize.h
@@ -2,7 +2,7 @@
 
 /* compiled from swfdec_initialize.as */
 const unsigned char swfdec_initialize[] = {
-  0x88, 0x76, 0x07, 0xB8,  0x00, 0x41, 0x53, 0x53,  0x65, 0x74, 0x4E, 0x61,  0x74, 0x69, 0x76, 0x65,
+  0x88, 0x43, 0x07, 0xB6,  0x00, 0x41, 0x53, 0x53,  0x65, 0x74, 0x4E, 0x61,  0x74, 0x69, 0x76, 0x65,
   0x00, 0x41, 0x53, 0x6E,  0x61, 0x74, 0x69, 0x76,  0x65, 0x00, 0x41, 0x53,  0x53, 0x65, 0x74, 0x4E,
   0x61, 0x74, 0x69, 0x76,  0x65, 0x41, 0x63, 0x63,  0x65, 0x73, 0x73, 0x6F,  0x72, 0x00, 0x4F, 0x62,
   0x6A, 0x65, 0x63, 0x74,  0x00, 0x72, 0x65, 0x67,  0x69, 0x73, 0x74, 0x65,  0x72, 0x43, 0x6C, 0x61,
@@ -75,472 +75,466 @@ const unsigned char swfdec_initialize[] 
   0x4D, 0x6F, 0x76, 0x69,  0x65, 0x43, 0x6C, 0x69,  0x70, 0x00, 0x72, 0x65,  0x6D, 0x6F, 0x76, 0x65,
   0x4D, 0x6F, 0x76, 0x69,  0x65, 0x43, 0x6C, 0x69,  0x70, 0x00, 0x73, 0x74,  0x61, 0x72, 0x74, 0x44,
   0x72, 0x61, 0x67, 0x00,  0x73, 0x74, 0x6F, 0x70,  0x44, 0x72, 0x61, 0x67,  0x00, 0x63, 0x72, 0x65,
-  0x61, 0x74, 0x65, 0x45,  0x6D, 0x70, 0x74, 0x79,  0x4D, 0x6F, 0x76, 0x69,  0x65, 0x43, 0x6C, 0x69,
-  0x70, 0x00, 0x63, 0x72,  0x65, 0x61, 0x74, 0x65,  0x54, 0x65, 0x78, 0x74,  0x46, 0x69, 0x65, 0x6C,
-  0x64, 0x00, 0x67, 0x65,  0x74, 0x44, 0x65, 0x70,  0x74, 0x68, 0x2C, 0x63,  0x72, 0x65, 0x61, 0x74,
-  0x65, 0x45, 0x6D, 0x70,  0x74, 0x79, 0x4D, 0x6F,  0x76, 0x69, 0x65, 0x43,  0x6C, 0x69, 0x70, 0x00,
-  0x36, 0x63, 0x72, 0x65,  0x61, 0x74, 0x65, 0x45,  0x6D, 0x70, 0x74, 0x79,  0x4D, 0x6F, 0x76, 0x69,
-  0x65, 0x43, 0x6C, 0x69,  0x70, 0x2C, 0x36, 0x62,  0x65, 0x67, 0x69, 0x6E,  0x46, 0x69, 0x6C, 0x6C,
-  0x2C, 0x36, 0x62, 0x65,  0x67, 0x69, 0x6E, 0x47,  0x72, 0x61, 0x64, 0x69,  0x65, 0x6E, 0x74, 0x46,
-  0x69, 0x6C, 0x6C, 0x2C,  0x36, 0x6D, 0x6F, 0x76,  0x65, 0x54, 0x6F, 0x2C,  0x36, 0x6C, 0x69, 0x6E,
-  0x65, 0x54, 0x6F, 0x2C,  0x36, 0x63, 0x75, 0x72,  0x76, 0x65, 0x54, 0x6F,  0x2C, 0x36, 0x6C, 0x69,
-  0x6E, 0x65, 0x53, 0x74,  0x79, 0x6C, 0x65, 0x2C,  0x36, 0x65, 0x6E, 0x64,  0x46, 0x69, 0x6C, 0x6C,
-  0x2C, 0x36, 0x63, 0x6C,  0x65, 0x61, 0x72, 0x00,  0x54, 0x65, 0x78, 0x74,  0x46, 0x69, 0x65, 0x6C,
-  0x64, 0x00, 0x73, 0x65,  0x74, 0x54, 0x65, 0x78,  0x74, 0x46, 0x6F, 0x72,  0x6D, 0x61, 0x74, 0x00,
-  0x67, 0x65, 0x74, 0x4E,  0x65, 0x77, 0x54, 0x65,  0x78, 0x74, 0x46, 0x6F,  0x72, 0x6D, 0x61, 0x74,
-  0x00, 0x73, 0x65, 0x74,  0x4E, 0x65, 0x77, 0x54,  0x65, 0x78, 0x74, 0x46,  0x6F, 0x72, 0x6D, 0x61,
-  0x74, 0x00, 0x54, 0x65,  0x78, 0x74, 0x46, 0x6F,  0x72, 0x6D, 0x61, 0x74,  0x00, 0x53, 0x74, 0x79,
-  0x6C, 0x65, 0x53, 0x68,  0x65, 0x65, 0x74, 0x00,  0x5F, 0x63, 0x6F, 0x70,  0x79, 0x00, 0x6F, 0x62,
-  0x6A, 0x65, 0x63, 0x74,  0x00, 0x6F, 0x5F, 0x6E,  0x65, 0x77, 0x00, 0x70,  0x72, 0x6F, 0x70, 0x00,
-  0x63, 0x6C, 0x65, 0x61,  0x72, 0x00, 0x5F, 0x63,  0x73, 0x73, 0x00, 0x5F,  0x73, 0x74, 0x79, 0x6C,
-  0x65, 0x73, 0x00, 0x67,  0x65, 0x74, 0x53, 0x74,  0x79, 0x6C, 0x65, 0x00,  0x6E, 0x61, 0x6D, 0x65,
-  0x00, 0x73, 0x65, 0x74,  0x53, 0x74, 0x79, 0x6C,  0x65, 0x00, 0x73, 0x74,  0x79, 0x6C, 0x65, 0x00,
-  0x64, 0x6F, 0x54, 0x72,  0x61, 0x6E, 0x73, 0x66,  0x6F, 0x72, 0x6D, 0x00,  0x67, 0x65, 0x74, 0x53,
-  0x74, 0x79, 0x6C, 0x65,  0x4E, 0x61, 0x6D, 0x65,  0x73, 0x00, 0x74, 0x6D,  0x70, 0x00, 0x6E, 0x61,
-  0x6D, 0x65, 0x73, 0x00,  0x74, 0x72, 0x61, 0x6E,  0x73, 0x66, 0x6F, 0x72,  0x6D, 0x00, 0x66, 0x6F,
-  0x72, 0x6D, 0x61, 0x74,  0x00, 0x74, 0x65, 0x78,  0x74, 0x41, 0x6C, 0x69,  0x67, 0x6E, 0x00, 0x61,
-  0x6C, 0x69, 0x67, 0x6E,  0x00, 0x66, 0x6F, 0x6E,  0x74, 0x57, 0x65, 0x69,  0x67, 0x68, 0x74, 0x00,
-  0x62, 0x6F, 0x6C, 0x64,  0x00, 0x6E, 0x6F, 0x72,  0x6D, 0x61, 0x6C, 0x00,  0x63, 0x6F, 0x6C, 0x6F,
-  0x72, 0x00, 0x70, 0x61,  0x72, 0x73, 0x65, 0x43,  0x6F, 0x6C, 0x6F, 0x72,  0x00, 0x64, 0x69, 0x73,
-  0x70, 0x6C, 0x61, 0x79,  0x00, 0x66, 0x6F, 0x6E,  0x74, 0x46, 0x61, 0x6D,  0x69, 0x6C, 0x79, 0x00,
-  0x66, 0x6F, 0x6E, 0x74,  0x00, 0x70, 0x61, 0x72,  0x73, 0x65, 0x43, 0x53,  0x53, 0x46, 0x6F, 0x6E,
-  0x74, 0x46, 0x61, 0x6D,  0x69, 0x6C, 0x79, 0x00,  0x74, 0x65, 0x78, 0x74,  0x49, 0x6E, 0x64, 0x65,
-  0x6E, 0x74, 0x00, 0x69,  0x6E, 0x64, 0x65, 0x6E,  0x74, 0x00, 0x70, 0x61,  0x72, 0x73, 0x65, 0x49,
-  0x6E, 0x74, 0x00, 0x66,  0x6F, 0x6E, 0x74, 0x53,  0x74, 0x79, 0x6C, 0x65,  0x00, 0x69, 0x74, 0x61,
-  0x6C, 0x69, 0x63, 0x00,  0x6B, 0x65, 0x72, 0x6E,  0x69, 0x6E, 0x67, 0x00,  0x74, 0x72, 0x75, 0x65,
-  0x00, 0x66, 0x61, 0x6C,  0x73, 0x65, 0x00, 0x6C,  0x65, 0x61, 0x64, 0x69,  0x6E, 0x67, 0x00, 0x6D,
-  0x61, 0x72, 0x67, 0x69,  0x6E, 0x4C, 0x65, 0x66,  0x74, 0x00, 0x6C, 0x65,  0x66, 0x74, 0x4D, 0x61,
-  0x72, 0x67, 0x69, 0x6E,  0x00, 0x6C, 0x65, 0x74,  0x74, 0x65, 0x72, 0x53,  0x70, 0x61, 0x63, 0x69,
-  0x6E, 0x67, 0x00, 0x6D,  0x61, 0x72, 0x67, 0x69,  0x6E, 0x52, 0x69, 0x67,  0x68, 0x74, 0x00, 0x72,
-  0x69, 0x67, 0x68, 0x74,  0x4D, 0x61, 0x72, 0x67,  0x69, 0x6E, 0x00, 0x66,  0x6F, 0x6E, 0x74, 0x53,
-  0x69, 0x7A, 0x65, 0x00,  0x73, 0x69, 0x7A, 0x65,  0x00, 0x74, 0x65, 0x78,  0x74, 0x44, 0x65, 0x63,
-  0x6F, 0x72, 0x61, 0x74,  0x69, 0x6F, 0x6E, 0x00,  0x75, 0x6E, 0x64, 0x65,  0x72, 0x6C, 0x69, 0x6E,
-  0x65, 0x00, 0x6E, 0x6F,  0x6E, 0x65, 0x00, 0x70,  0x61, 0x72, 0x73, 0x65,  0x43, 0x53, 0x53, 0x00,
-  0x63, 0x73, 0x73, 0x00,  0x70, 0x61, 0x72, 0x73,  0x65, 0x43, 0x53, 0x53,  0x49, 0x6E, 0x74, 0x65,
-  0x72, 0x6E, 0x61, 0x6C,  0x00, 0x72, 0x65, 0x73,  0x75, 0x6C, 0x74, 0x00,  0x6E, 0x75, 0x6C, 0x6C,
-  0x00, 0x70, 0x61, 0x72,  0x73, 0x65, 0x00, 0x73,  0x65, 0x74, 0x49, 0x6E,  0x74, 0x65, 0x72, 0x76,
-  0x61, 0x6C, 0x00, 0x63,  0x6C, 0x65, 0x61, 0x72,  0x49, 0x6E, 0x74, 0x65,  0x72, 0x76, 0x61, 0x6C,
-  0x00, 0x73, 0x65, 0x74,  0x54, 0x69, 0x6D, 0x65,  0x6F, 0x75, 0x74, 0x00,  0x63, 0x6C, 0x65, 0x61,
-  0x72, 0x54, 0x69, 0x6D,  0x65, 0x6F, 0x75, 0x74,  0x00, 0x9B, 0x12, 0x00,  0x41, 0x73, 0x42, 0x72,
-  0x6F, 0x61, 0x64, 0x63,  0x61, 0x73, 0x74, 0x65,  0x72, 0x00, 0x00, 0x00,  0x00, 0x00, 0x9B, 0x0D,
-  0x00, 0x4C, 0x6F, 0x61,  0x64, 0x56, 0x61, 0x72,  0x73, 0x00, 0x00, 0x00,  0x00, 0x00, 0x96, 0x13,
-  0x00, 0x08, 0x00, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0x04, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
-  0x00, 0x00, 0x08, 0x01,  0x3D, 0x1D, 0x96, 0x13,  0x00, 0x08, 0x02, 0x07,  0x01, 0x00, 0x00, 0x00,
-  0x07, 0x04, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x1D, 0x96, 0x02,
-  0x00, 0x08, 0x03, 0x1C,  0x96, 0x13, 0x00, 0x08,  0x04, 0x07, 0x08, 0x00,  0x00, 0x00, 0x07, 0x65,
-  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x08, 0x00, 0x07,
-  0x07, 0x00, 0x00, 0x00,  0x02, 0x08, 0x03, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,
-  0x08, 0x05, 0x3D, 0x17,  0x96, 0x02, 0x00, 0x08,  0x06, 0x1C, 0x96, 0x13,  0x00, 0x08, 0x07, 0x07,
-  0x0C, 0x00, 0x00, 0x00,  0x07, 0x65, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
-  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x06, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x08, 0x9B, 0x07, 0x00,
-  0x00, 0x01, 0x00, 0x78,  0x00, 0x3C, 0x00, 0x96,  0x02, 0x00, 0x08, 0x0A,  0x1C, 0x96, 0x07, 0x00,
-  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x0B, 0x52, 0x17, 0x96,
-  0x02, 0x00, 0x08, 0x0A,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x0C, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x0D, 0x52,  0x17, 0x96, 0x02, 0x00,
-  0x05, 0x01, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0B, 0x9B,
-  0x07, 0x00, 0x00, 0x01,  0x00, 0x78, 0x00, 0x8F,  0x00, 0x96, 0x04, 0x00,  0x08, 0x0E, 0x08, 0x09,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x0C, 0x4E, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x0F, 0x41, 0x96, 0x07,
-  0x00, 0x08, 0x0F, 0x07,  0x00, 0x00, 0x00, 0x00,  0x3C, 0x99, 0x02, 0x00,  0x09, 0x00, 0x96, 0x02,
-  0x00, 0x08, 0x0F, 0x4C,  0x1C, 0x50, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x0F,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x0E, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x10,  0x4E, 0x48, 0x12, 0x9D,  0x02, 0x00, 0x42, 0x00,
-  0x96, 0x02, 0x00, 0x08,  0x0E, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0F, 0x1C,  0x4E, 0x96, 0x02, 0x00,
-  0x08, 0x0A, 0x1C, 0x49,  0x12, 0x9D, 0x02, 0x00,  0x23, 0x00, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
-  0x00, 0x00, 0x08, 0x0F,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x0E, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x11, 0x52, 0x17, 0x96,  0x02, 0x00, 0x05, 0x01,  0x3E, 0x99, 0x02, 0x00,
-  0x9C, 0xFF, 0x96, 0x02,  0x00, 0x05, 0x00, 0x3E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x06, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x12,  0x9B, 0x07, 0x00, 0x00,  0x01, 0x00, 0x6F, 0x00,  0x73, 0x00, 0x96, 0x02,
-  0x00, 0x08, 0x13, 0x1C,  0x96, 0x13, 0x00, 0x08,  0x07, 0x07, 0x0C, 0x00,  0x00, 0x00, 0x07, 0x65,
+  0x61, 0x74, 0x65, 0x54,  0x65, 0x78, 0x74, 0x46,  0x69, 0x65, 0x6C, 0x64,  0x00, 0x36, 0x63, 0x72,
+  0x65, 0x61, 0x74, 0x65,  0x45, 0x6D, 0x70, 0x74,  0x79, 0x4D, 0x6F, 0x76,  0x69, 0x65, 0x43, 0x6C,
+  0x69, 0x70, 0x2C, 0x36,  0x62, 0x65, 0x67, 0x69,  0x6E, 0x46, 0x69, 0x6C,  0x6C, 0x2C, 0x36, 0x62,
+  0x65, 0x67, 0x69, 0x6E,  0x47, 0x72, 0x61, 0x64,  0x69, 0x65, 0x6E, 0x74,  0x46, 0x69, 0x6C, 0x6C,
+  0x2C, 0x36, 0x6D, 0x6F,  0x76, 0x65, 0x54, 0x6F,  0x2C, 0x36, 0x6C, 0x69,  0x6E, 0x65, 0x54, 0x6F,
+  0x2C, 0x36, 0x63, 0x75,  0x72, 0x76, 0x65, 0x54,  0x6F, 0x2C, 0x36, 0x6C,  0x69, 0x6E, 0x65, 0x53,
+  0x74, 0x79, 0x6C, 0x65,  0x2C, 0x36, 0x65, 0x6E,  0x64, 0x46, 0x69, 0x6C,  0x6C, 0x2C, 0x36, 0x63,
+  0x6C, 0x65, 0x61, 0x72,  0x00, 0x54, 0x65, 0x78,  0x74, 0x46, 0x69, 0x65,  0x6C, 0x64, 0x00, 0x73,
+  0x65, 0x74, 0x54, 0x65,  0x78, 0x74, 0x46, 0x6F,  0x72, 0x6D, 0x61, 0x74,  0x00, 0x67, 0x65, 0x74,
+  0x4E, 0x65, 0x77, 0x54,  0x65, 0x78, 0x74, 0x46,  0x6F, 0x72, 0x6D, 0x61,  0x74, 0x00, 0x73, 0x65,
+  0x74, 0x4E, 0x65, 0x77,  0x54, 0x65, 0x78, 0x74,  0x46, 0x6F, 0x72, 0x6D,  0x61, 0x74, 0x00, 0x54,
+  0x65, 0x78, 0x74, 0x46,  0x6F, 0x72, 0x6D, 0x61,  0x74, 0x00, 0x53, 0x74,  0x79, 0x6C, 0x65, 0x53,
+  0x68, 0x65, 0x65, 0x74,  0x00, 0x5F, 0x63, 0x6F,  0x70, 0x79, 0x00, 0x6F,  0x62, 0x6A, 0x65, 0x63,
+  0x74, 0x00, 0x6F, 0x5F,  0x6E, 0x65, 0x77, 0x00,  0x70, 0x72, 0x6F, 0x70,  0x00, 0x63, 0x6C, 0x65,
+  0x61, 0x72, 0x00, 0x5F,  0x63, 0x73, 0x73, 0x00,  0x5F, 0x73, 0x74, 0x79,  0x6C, 0x65, 0x73, 0x00,
+  0x67, 0x65, 0x74, 0x53,  0x74, 0x79, 0x6C, 0x65,  0x00, 0x6E, 0x61, 0x6D,  0x65, 0x00, 0x73, 0x65,
+  0x74, 0x53, 0x74, 0x79,  0x6C, 0x65, 0x00, 0x73,  0x74, 0x79, 0x6C, 0x65,  0x00, 0x64, 0x6F, 0x54,
+  0x72, 0x61, 0x6E, 0x73,  0x66, 0x6F, 0x72, 0x6D,  0x00, 0x67, 0x65, 0x74,  0x53, 0x74, 0x79, 0x6C,
+  0x65, 0x4E, 0x61, 0x6D,  0x65, 0x73, 0x00, 0x74,  0x6D, 0x70, 0x00, 0x6E,  0x61, 0x6D, 0x65, 0x73,
+  0x00, 0x74, 0x72, 0x61,  0x6E, 0x73, 0x66, 0x6F,  0x72, 0x6D, 0x00, 0x66,  0x6F, 0x72, 0x6D, 0x61,
+  0x74, 0x00, 0x74, 0x65,  0x78, 0x74, 0x41, 0x6C,  0x69, 0x67, 0x6E, 0x00,  0x61, 0x6C, 0x69, 0x67,
+  0x6E, 0x00, 0x66, 0x6F,  0x6E, 0x74, 0x57, 0x65,  0x69, 0x67, 0x68, 0x74,  0x00, 0x62, 0x6F, 0x6C,
+  0x64, 0x00, 0x6E, 0x6F,  0x72, 0x6D, 0x61, 0x6C,  0x00, 0x63, 0x6F, 0x6C,  0x6F, 0x72, 0x00, 0x70,
+  0x61, 0x72, 0x73, 0x65,  0x43, 0x6F, 0x6C, 0x6F,  0x72, 0x00, 0x64, 0x69,  0x73, 0x70, 0x6C, 0x61,
+  0x79, 0x00, 0x66, 0x6F,  0x6E, 0x74, 0x46, 0x61,  0x6D, 0x69, 0x6C, 0x79,  0x00, 0x66, 0x6F, 0x6E,
+  0x74, 0x00, 0x70, 0x61,  0x72, 0x73, 0x65, 0x43,  0x53, 0x53, 0x46, 0x6F,  0x6E, 0x74, 0x46, 0x61,
+  0x6D, 0x69, 0x6C, 0x79,  0x00, 0x74, 0x65, 0x78,  0x74, 0x49, 0x6E, 0x64,  0x65, 0x6E, 0x74, 0x00,
+  0x69, 0x6E, 0x64, 0x65,  0x6E, 0x74, 0x00, 0x70,  0x61, 0x72, 0x73, 0x65,  0x49, 0x6E, 0x74, 0x00,
+  0x66, 0x6F, 0x6E, 0x74,  0x53, 0x74, 0x79, 0x6C,  0x65, 0x00, 0x69, 0x74,  0x61, 0x6C, 0x69, 0x63,
+  0x00, 0x6B, 0x65, 0x72,  0x6E, 0x69, 0x6E, 0x67,  0x00, 0x74, 0x72, 0x75,  0x65, 0x00, 0x66, 0x61,
+  0x6C, 0x73, 0x65, 0x00,  0x6C, 0x65, 0x61, 0x64,  0x69, 0x6E, 0x67, 0x00,  0x6D, 0x61, 0x72, 0x67,
+  0x69, 0x6E, 0x4C, 0x65,  0x66, 0x74, 0x00, 0x6C,  0x65, 0x66, 0x74, 0x4D,  0x61, 0x72, 0x67, 0x69,
+  0x6E, 0x00, 0x6C, 0x65,  0x74, 0x74, 0x65, 0x72,  0x53, 0x70, 0x61, 0x63,  0x69, 0x6E, 0x67, 0x00,
+  0x6D, 0x61, 0x72, 0x67,  0x69, 0x6E, 0x52, 0x69,  0x67, 0x68, 0x74, 0x00,  0x72, 0x69, 0x67, 0x68,
+  0x74, 0x4D, 0x61, 0x72,  0x67, 0x69, 0x6E, 0x00,  0x66, 0x6F, 0x6E, 0x74,  0x53, 0x69, 0x7A, 0x65,
+  0x00, 0x73, 0x69, 0x7A,  0x65, 0x00, 0x74, 0x65,  0x78, 0x74, 0x44, 0x65,  0x63, 0x6F, 0x72, 0x61,
+  0x74, 0x69, 0x6F, 0x6E,  0x00, 0x75, 0x6E, 0x64,  0x65, 0x72, 0x6C, 0x69,  0x6E, 0x65, 0x00, 0x6E,
+  0x6F, 0x6E, 0x65, 0x00,  0x70, 0x61, 0x72, 0x73,  0x65, 0x43, 0x53, 0x53,  0x00, 0x63, 0x73, 0x73,
+  0x00, 0x70, 0x61, 0x72,  0x73, 0x65, 0x43, 0x53,  0x53, 0x49, 0x6E, 0x74,  0x65, 0x72, 0x6E, 0x61,
+  0x6C, 0x00, 0x72, 0x65,  0x73, 0x75, 0x6C, 0x74,  0x00, 0x6E, 0x75, 0x6C,  0x6C, 0x00, 0x70, 0x61,
+  0x72, 0x73, 0x65, 0x00,  0x73, 0x65, 0x74, 0x49,  0x6E, 0x74, 0x65, 0x72,  0x76, 0x61, 0x6C, 0x00,
+  0x63, 0x6C, 0x65, 0x61,  0x72, 0x49, 0x6E, 0x74,  0x65, 0x72, 0x76, 0x61,  0x6C, 0x00, 0x73, 0x65,
+  0x74, 0x54, 0x69, 0x6D,  0x65, 0x6F, 0x75, 0x74,  0x00, 0x63, 0x6C, 0x65,  0x61, 0x72, 0x54, 0x69,
+  0x6D, 0x65, 0x6F, 0x75,  0x74, 0x00, 0x9B, 0x12,  0x00, 0x41, 0x73, 0x42,  0x72, 0x6F, 0x61, 0x64,
+  0x63, 0x61, 0x73, 0x74,  0x65, 0x72, 0x00, 0x00,  0x00, 0x00, 0x00, 0x9B,  0x0D, 0x00, 0x4C, 0x6F,
+  0x61, 0x64, 0x56, 0x61,  0x72, 0x73, 0x00, 0x00,  0x00, 0x00, 0x00, 0x96,  0x13, 0x00, 0x08, 0x00,
+  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x04, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
+  0x01, 0x3D, 0x1D, 0x96,  0x13, 0x00, 0x08, 0x02,  0x07, 0x01, 0x00, 0x00,  0x00, 0x07, 0x04, 0x00,
+  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x03,
+  0x1C, 0x96, 0x13, 0x00,  0x08, 0x04, 0x07, 0x08,  0x00, 0x00, 0x00, 0x07,  0x65, 0x00, 0x00, 0x00,
+  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x08, 0x00,  0x07, 0x07, 0x00, 0x00,
+  0x00, 0x02, 0x08, 0x03,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,
+  0x17, 0x96, 0x02, 0x00,  0x08, 0x06, 0x1C, 0x96,  0x13, 0x00, 0x08, 0x07,  0x07, 0x0C, 0x00, 0x00,
+  0x00, 0x07, 0x65, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0x06,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x08, 0x9B, 0x07,  0x00, 0x00, 0x01, 0x00,
+  0x78, 0x00, 0x3C, 0x00,  0x96, 0x02, 0x00, 0x08,  0x0A, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
+  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x0B, 0x52, 0x17,  0x96, 0x02, 0x00, 0x08,
+  0x0A, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x0C, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x0D,  0x52, 0x17, 0x96, 0x02,  0x00, 0x05, 0x01, 0x3E,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x06, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x0B,  0x9B, 0x07, 0x00, 0x00,
+  0x01, 0x00, 0x78, 0x00,  0x8F, 0x00, 0x96, 0x04,  0x00, 0x08, 0x0E, 0x08,  0x09, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x0C, 0x4E,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x0F, 0x41, 0x96,  0x07, 0x00, 0x08, 0x0F,
+  0x07, 0x00, 0x00, 0x00,  0x00, 0x3C, 0x99, 0x02,  0x00, 0x09, 0x00, 0x96,  0x02, 0x00, 0x08, 0x0F,
+  0x4C, 0x1C, 0x50, 0x1D,  0x96, 0x02, 0x00, 0x08,  0x0F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0E, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x10, 0x4E, 0x48, 0x12,  0x9D, 0x02, 0x00, 0x42,  0x00, 0x96, 0x02, 0x00,
+  0x08, 0x0E, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x0F,  0x1C, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x0A, 0x1C,
+  0x49, 0x12, 0x9D, 0x02,  0x00, 0x23, 0x00, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
+  0x0F, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x0E,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x11, 0x52, 0x17,  0x96, 0x02, 0x00, 0x05,  0x01, 0x3E, 0x99, 0x02,  0x00, 0x9C, 0xFF, 0x96,
+  0x02, 0x00, 0x05, 0x00,  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x06, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x12, 0x9B, 0x07, 0x00,  0x00, 0x01, 0x00, 0x6F,  0x00, 0x73, 0x00, 0x96,  0x02, 0x00, 0x08, 0x13,
+  0x1C, 0x96, 0x13, 0x00,  0x08, 0x07, 0x07, 0x0C,  0x00, 0x00, 0x00, 0x07,  0x65, 0x00, 0x00, 0x00,
+  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x13, 0x1C, 0x96,
+  0x04, 0x00, 0x08, 0x08,  0x08, 0x06, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x08,  0x4E, 0x4F, 0x96, 0x02,
+  0x00, 0x08, 0x13, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x0B, 0x08, 0x06, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x0B, 0x4E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x13,  0x1C, 0x96, 0x07, 0x00,  0x08, 0x0C, 0x07, 0x00,
+  0x00, 0x00, 0x00, 0x42,  0x4F, 0x96, 0x09, 0x00,  0x07, 0x83, 0x00, 0x00,  0x00, 0x08, 0x14, 0x08,
+  0x13, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x4F, 0x96,
+  0x08, 0x00, 0x07, 0x83,  0x00, 0x00, 0x00, 0x02,  0x08, 0x06, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,
+  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,  0x8C, 0x00, 0x08, 0x15,  0x08, 0x16, 0x07, 0x12,
+  0x00, 0x00, 0x00, 0x08,  0x17, 0x07, 0x08, 0x00,  0x00, 0x00, 0x08, 0x18,  0x07, 0x14, 0x00, 0x00,
+  0x00, 0x08, 0x19, 0x07,  0x11, 0x00, 0x00, 0x00,  0x08, 0x1A, 0x07, 0x2E,  0x00, 0x00, 0x00, 0x08,
+  0x1B, 0x07, 0x28, 0x00,  0x00, 0x00, 0x08, 0x1C,  0x07, 0x23, 0x00, 0x00,  0x00, 0x08, 0x1D, 0x07,
+  0x0D, 0x00, 0x00, 0x00,  0x08, 0x1E, 0x07, 0x1B,  0x00, 0x00, 0x00, 0x08,  0x1F, 0x07, 0x24, 0x00,
+  0x00, 0x00, 0x08, 0x20,  0x07, 0x2D, 0x00, 0x00,  0x00, 0x08, 0x21, 0x07,  0x25, 0x00, 0x00, 0x00,
+  0x08, 0x22, 0x07, 0x22,  0x00, 0x00, 0x00, 0x08,  0x23, 0x07, 0x21, 0x00,  0x00, 0x00, 0x08, 0x24,
+  0x07, 0x27, 0x00, 0x00,  0x00, 0x08, 0x25, 0x07,  0x10, 0x00, 0x00, 0x00,  0x08, 0x26, 0x07, 0x20,
+  0x00, 0x00, 0x00, 0x08,  0x27, 0x07, 0x09, 0x00,  0x00, 0x00, 0x08, 0x28,  0x07, 0x26, 0x00, 0x00,
+  0x00, 0x07, 0x13, 0x00,  0x00, 0x00, 0x43, 0x1D,  0x96, 0x09, 0x00, 0x08,  0x29, 0x07, 0x20, 0x03,
+  0x00, 0x00, 0x08, 0x15,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x00, 0x3D,
+  0x17, 0x96, 0x02, 0x00,  0x08, 0x15, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
+  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x12, 0x52,  0x17, 0x96, 0x08, 0x00,  0x07, 0x07, 0x00, 0x00,
+  0x00, 0x02, 0x08, 0x15,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,
+  0x17, 0x96, 0x07, 0x00,  0x08, 0x2A, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,  0x1D, 0x96, 0x02, 0x00,
+  0x08, 0x2A, 0x1C, 0x96,  0x13, 0x00, 0x08, 0x2B,  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x05, 0x00,
+  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2A,
+  0x1C, 0x96, 0x13, 0x00,  0x08, 0x2C, 0x07, 0x01,  0x00, 0x00, 0x00, 0x07,  0x05, 0x00, 0x00, 0x00,
+  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2A, 0x1C, 0x96,
+  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x12, 0x52,
+  0x17, 0x96, 0x08, 0x00,  0x07, 0x07, 0x00, 0x00,  0x00, 0x02, 0x08, 0x2A,  0x1C, 0x96, 0x07, 0x00,
+  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x07, 0x00,  0x08, 0x2D, 0x07, 0x00,
+  0x00, 0x00, 0x00, 0x43,  0x1D, 0x96, 0x02, 0x00,  0x08, 0x2D, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,
+  0x00, 0x00, 0x00, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x12, 0x52,  0x17, 0x96, 0x0E, 0x00,
+  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x2E, 0x07,  0x9A, 0x02, 0x00, 0x00,  0x08, 0x2D, 0x1C, 0x96,
+  0x07, 0x00, 0x07, 0x04,  0x00, 0x00, 0x00, 0x08,  0x02, 0x3D, 0x17, 0x96,  0x02, 0x00, 0x08, 0x2F,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x04, 0x00, 0x08, 0x31,  0x08, 0x32, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x33,
+  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x2D, 0x01,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
+  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
+  0x13, 0x00, 0x08, 0x34,  0x07, 0x03, 0x00, 0x00,  0x00, 0x07, 0x2D, 0x01,  0x00, 0x00, 0x07, 0x02,
+  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x35,  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,
+  0x08, 0x36, 0x9B, 0x09,  0x00, 0x00, 0x01, 0x00,  0x73, 0x72, 0x63, 0x00,  0x64, 0x00, 0x96, 0x02,
+  0x00, 0x08, 0x09, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x37, 0x05, 0x01, 0x4F,  0x96, 0x02, 0x00, 0x08,
+  0x38, 0x1C, 0x96, 0x01,  0x00, 0x02, 0x49, 0x12,  0x9D, 0x02, 0x00, 0x19,  0x00, 0x96, 0x09, 0x00,
+  0x05, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x35, 0x52,
+  0x17, 0x99, 0x02, 0x00,  0x2C, 0x00, 0x96, 0x02,  0x00, 0x08, 0x38, 0x1C,  0x96, 0x07, 0x00, 0x07,
+  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x34,  0x52, 0x17, 0x96, 0x09,
+  0x00, 0x05, 0x01, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x35,
+  0x52, 0x17, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
+  0x02, 0x00, 0x08, 0x39,  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0xB3, 0x00,  0x96, 0x03, 0x00, 0x08,
+  0x3A, 0x02, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x09,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,
+  0x02, 0x49, 0x9D, 0x02,  0x00, 0x91, 0x00, 0x96,  0x04, 0x00, 0x08, 0x0A,  0x04, 0x00, 0x3C, 0x96,
+  0x02, 0x00, 0x08, 0x3A,  0x1C, 0x96, 0x01, 0x00,  0x02, 0x49, 0x9D, 0x02,  0x00, 0x41, 0x00, 0x96,
+  0x02, 0x00, 0x08, 0x3A,  0x4C, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x3D, 0x08,  0x0A, 0x1C, 0x96, 0x07,
+  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x3B,  0x3D, 0x47, 0x96, 0x02,  0x00, 0x08, 0x3C, 0x47,
+  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0A, 0x1C,  0x4E, 0x96, 0x07, 0x00,
+  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x3B, 0x3D,  0x47, 0x47, 0x1D, 0x99,  0x02, 0x00, 0x33, 0x00,
+  0x96, 0x04, 0x00, 0x08,  0x3A, 0x08, 0x0A, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
+  0x08, 0x3B, 0x3D, 0x96,  0x02, 0x00, 0x08, 0x3C,  0x47, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x0A,  0x1C, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x3B,
+  0x3D, 0x47, 0x1D, 0x99,  0x02, 0x00, 0x61, 0xFF,  0x96, 0x02, 0x00, 0x08,  0x3A, 0x1C, 0x3E, 0x4F,
+  0x96, 0x02, 0x00, 0x08,  0x2F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,
+  0x3E, 0x9B, 0x05, 0x00,  0x00, 0x00, 0x00, 0x0D,  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x3F,  0x4E, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x40,  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x0D, 0x00,
+  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x41, 0x4E,  0x3E, 0x4F, 0x96, 0x08,
+  0x00, 0x07, 0x83, 0x00,  0x00, 0x00, 0x02, 0x08,  0x2F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
+  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x13, 0x00, 0x08,
+  0x42, 0x07, 0x10, 0x00,  0x00, 0x00, 0x07, 0xF4,  0x01, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
+  0x08, 0x43, 0x3D, 0x1D,  0x96, 0x0E, 0x00, 0x07,  0x06, 0x00, 0x00, 0x00,  0x08, 0x44, 0x07, 0xF4,
+  0x01, 0x00, 0x00, 0x08,  0x42, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,
+  0x04, 0x00, 0x00, 0x00,  0x08, 0x00, 0x3D, 0x17,  0x96, 0x13, 0x00, 0x08,  0x45, 0x07, 0x00, 0x00,
+  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x1D,
+  0x96, 0x02, 0x00, 0x08,  0x45, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
+  0x46, 0x07, 0x01, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
+  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x45, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
+  0x96, 0x13, 0x00, 0x08,  0x47, 0x07, 0x02, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
+  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x45, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x48, 0x07, 0x03, 0x00,  0x00, 0x00, 0x07, 0xFD,
   0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
-  0x13, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x08, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x08, 0x4E,
-  0x4F, 0x96, 0x02, 0x00,  0x08, 0x13, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x0B,  0x08, 0x06, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x0B,  0x4E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x13, 0x1C,  0x96, 0x07, 0x00, 0x08,
-  0x0C, 0x07, 0x00, 0x00,  0x00, 0x00, 0x42, 0x4F,  0x96, 0x09, 0x00, 0x07,  0x83, 0x00, 0x00, 0x00,
-  0x08, 0x14, 0x08, 0x13,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,
-  0x17, 0x4F, 0x96, 0x08,  0x00, 0x07, 0x83, 0x00,  0x00, 0x00, 0x02, 0x08,  0x06, 0x1C, 0x96, 0x07,
-  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x8C,  0x00, 0x08, 0x15, 0x08,
-  0x16, 0x07, 0x12, 0x00,  0x00, 0x00, 0x08, 0x17,  0x07, 0x08, 0x00, 0x00,  0x00, 0x08, 0x18, 0x07,
-  0x14, 0x00, 0x00, 0x00,  0x08, 0x19, 0x07, 0x11,  0x00, 0x00, 0x00, 0x08,  0x1A, 0x07, 0x2E, 0x00,
-  0x00, 0x00, 0x08, 0x1B,  0x07, 0x28, 0x00, 0x00,  0x00, 0x08, 0x1C, 0x07,  0x23, 0x00, 0x00, 0x00,
-  0x08, 0x1D, 0x07, 0x0D,  0x00, 0x00, 0x00, 0x08,  0x1E, 0x07, 0x1B, 0x00,  0x00, 0x00, 0x08, 0x1F,
-  0x07, 0x24, 0x00, 0x00,  0x00, 0x08, 0x20, 0x07,  0x2D, 0x00, 0x00, 0x00,  0x08, 0x21, 0x07, 0x25,
-  0x00, 0x00, 0x00, 0x08,  0x22, 0x07, 0x22, 0x00,  0x00, 0x00, 0x08, 0x23,  0x07, 0x21, 0x00, 0x00,
-  0x00, 0x08, 0x24, 0x07,  0x27, 0x00, 0x00, 0x00,  0x08, 0x25, 0x07, 0x10,  0x00, 0x00, 0x00, 0x08,
-  0x26, 0x07, 0x20, 0x00,  0x00, 0x00, 0x08, 0x27,  0x07, 0x09, 0x00, 0x00,  0x00, 0x08, 0x28, 0x07,
-  0x26, 0x00, 0x00, 0x00,  0x07, 0x13, 0x00, 0x00,  0x00, 0x43, 0x1D, 0x96,  0x09, 0x00, 0x08, 0x29,
-  0x07, 0x20, 0x03, 0x00,  0x00, 0x08, 0x15, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,
-  0x08, 0x00, 0x3D, 0x17,  0x96, 0x02, 0x00, 0x08,  0x15, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
-  0x00, 0x00, 0x08, 0x06,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x12, 0x52, 0x17,  0x96, 0x08, 0x00, 0x07,
-  0x07, 0x00, 0x00, 0x00,  0x02, 0x08, 0x15, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,
-  0x08, 0x05, 0x3D, 0x17,  0x96, 0x07, 0x00, 0x08,  0x2A, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x1D,
-  0x96, 0x02, 0x00, 0x08,  0x2A, 0x1C, 0x96, 0x13,  0x00, 0x08, 0x2B, 0x07,  0x00, 0x00, 0x00, 0x00,
-  0x07, 0x05, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
-  0x00, 0x08, 0x2A, 0x1C,  0x96, 0x13, 0x00, 0x08,  0x2C, 0x07, 0x01, 0x00,  0x00, 0x00, 0x07, 0x05,
+  0x45, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x49, 0x07, 0x04, 0x00,
+  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
+  0x96, 0x02, 0x00, 0x08,  0x45, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
+  0x4A, 0x07, 0x05, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
+  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x45, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
+  0x96, 0x13, 0x00, 0x08,  0x39, 0x07, 0x06, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
+  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x45, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x4B, 0x07, 0x07, 0x00,  0x00, 0x00, 0x07, 0xFD,
   0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
-  0x2A, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x06,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x12, 0x52, 0x17,  0x96, 0x08, 0x00, 0x07,  0x07, 0x00, 0x00, 0x00,  0x02, 0x08, 0x2A, 0x1C,
-  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x07, 0x00, 0x08,
-  0x2D, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x1D,  0x96, 0x02, 0x00, 0x08,  0x2D, 0x1C, 0x96, 0x07,
-  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x06,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x12, 0x52, 0x17,
-  0x96, 0x0E, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x2E, 0x07, 0x9A,  0x02, 0x00, 0x00, 0x08,
-  0x2D, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x04, 0x00,  0x00, 0x00, 0x08, 0x02,  0x3D, 0x17, 0x96, 0x02,
-  0x00, 0x08, 0x2F, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x04,  0x00, 0x08, 0x31, 0x08,
-  0x32, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x2F, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
-  0x00, 0x08, 0x33, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0x2D, 0x01, 0x00,  0x00, 0x07, 0x02, 0x00,
-  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x2F, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x34, 0x07,  0x03, 0x00, 0x00, 0x00,  0x07, 0x2D, 0x01, 0x00,
-  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x2F, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x35, 0x9B,  0x05, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x2F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
-  0x96, 0x02, 0x00, 0x08,  0x36, 0x9B, 0x09, 0x00,  0x00, 0x01, 0x00, 0x73,  0x72, 0x63, 0x00, 0x64,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x37,  0x05, 0x01, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x38,  0x1C, 0x96, 0x01, 0x00,  0x02, 0x49, 0x12, 0x9D,  0x02, 0x00, 0x19, 0x00,
-  0x96, 0x09, 0x00, 0x05,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x35, 0x52, 0x17,  0x99, 0x02, 0x00, 0x2C,  0x00, 0x96, 0x02, 0x00,  0x08, 0x38, 0x1C, 0x96,
-  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x34, 0x52,
+  0x45, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x4C, 0x07, 0x08, 0x00,
+  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
+  0x96, 0x13, 0x00, 0x08,  0x4D, 0x07, 0x09, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
+  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x1D,  0x96, 0x02, 0x00, 0x08,  0x4D, 0x1C, 0x96, 0x10,
+  0x00, 0x08, 0x30, 0x08,  0x4E, 0x07, 0x01, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
+  0x45, 0x40, 0x4F, 0x96,  0x09, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x30, 0x08, 0x4D, 0x1C,
+  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x02, 0x00, 0x08,
+  0x4D, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x33, 0x07, 0x00, 0x00,
+  0x00, 0x00, 0x07, 0x2D,  0x01, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
+  0x96, 0x02, 0x00, 0x08,  0x4D, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
+  0x4F, 0x07, 0x0A, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
+  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x4D, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
+  0x96, 0x13, 0x00, 0x08,  0x50, 0x07, 0x0B, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
+  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x4D, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x51, 0x07, 0x0C, 0x00,  0x00, 0x00, 0x07, 0xFD,
+  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
+  0x4D, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x35, 0x9B, 0x05, 0x00,
+  0x00, 0x00, 0x00, 0x00,  0x00, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x4D, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x36, 0x9B,  0x09, 0x00, 0x00, 0x01,  0x00, 0x73, 0x72, 0x63,
+  0x00, 0x72, 0x00, 0x96,  0x02, 0x00, 0x08, 0x38,  0x1C, 0x96, 0x01, 0x00,  0x02, 0x49, 0x12, 0x9D,
+  0x02, 0x00, 0x27, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x37, 0x05,
+  0x00, 0x4F, 0x96, 0x09,  0x00, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x35,  0x52, 0x17, 0x99, 0x02,  0x00, 0x3A, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,
+  0x1C, 0x96, 0x04, 0x00,  0x08, 0x37, 0x05, 0x01,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x38, 0x1C, 0x96,
+  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x51, 0x52,
   0x17, 0x96, 0x09, 0x00,  0x05, 0x01, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x35, 0x52,  0x17, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x2F, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x39, 0x9B,  0x05, 0x00, 0x00, 0x00,  0x00, 0xB3, 0x00, 0x96,
-  0x03, 0x00, 0x08, 0x3A,  0x02, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x46,  0x87, 0x01, 0x00, 0x00,
-  0x96, 0x01, 0x00, 0x02,  0x49, 0x9D, 0x02, 0x00,  0x91, 0x00, 0x96, 0x04,  0x00, 0x08, 0x0A, 0x04,
-  0x00, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x3A, 0x1C,  0x96, 0x01, 0x00, 0x02,  0x49, 0x9D, 0x02, 0x00,
-  0x41, 0x00, 0x96, 0x02,  0x00, 0x08, 0x3A, 0x4C,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x3D, 0x08, 0x0A,
-  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x3B, 0x3D,  0x47, 0x96, 0x02, 0x00,
-  0x08, 0x3C, 0x47, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x0A, 0x1C, 0x4E,
-  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x3B, 0x3D, 0x47,  0x47, 0x1D, 0x99, 0x02,
-  0x00, 0x33, 0x00, 0x96,  0x04, 0x00, 0x08, 0x3A,  0x08, 0x0A, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,
-  0x00, 0x00, 0x00, 0x08,  0x3B, 0x3D, 0x96, 0x02,  0x00, 0x08, 0x3C, 0x47,  0x96, 0x02, 0x00, 0x08,
-  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0A, 0x1C,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,
-  0x00, 0x08, 0x3B, 0x3D,  0x47, 0x1D, 0x99, 0x02,  0x00, 0x61, 0xFF, 0x96,  0x02, 0x00, 0x08, 0x3A,
-  0x1C, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
-  0x02, 0x00, 0x08, 0x3E,  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x0D, 0x00,  0x96, 0x02, 0x00, 0x08,
-  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x3F, 0x4E,  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x2F, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x40, 0x9B,  0x05, 0x00, 0x00, 0x00,
-  0x00, 0x0D, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x41, 0x4E, 0x3E,
-  0x4F, 0x96, 0x08, 0x00,  0x07, 0x83, 0x00, 0x00,  0x00, 0x02, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x30, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,
-  0x13, 0x00, 0x08, 0x42,  0x07, 0x10, 0x00, 0x00,  0x00, 0x07, 0xF4, 0x01,  0x00, 0x00, 0x07, 0x02,
-  0x00, 0x00, 0x00, 0x08,  0x43, 0x3D, 0x1D, 0x96,  0x0E, 0x00, 0x07, 0x06,  0x00, 0x00, 0x00, 0x08,
-  0x44, 0x07, 0xF4, 0x01,  0x00, 0x00, 0x08, 0x42,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
-  0x07, 0x00, 0x07, 0x04,  0x00, 0x00, 0x00, 0x08,  0x00, 0x3D, 0x17, 0x96,  0x13, 0x00, 0x08, 0x45,
-  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
-  0x43, 0x3D, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x45,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
-  0x13, 0x00, 0x08, 0x46,  0x07, 0x01, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,
-  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x45,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x47,  0x07, 0x02, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,
-  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x45,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x48,  0x07, 0x03, 0x00, 0x00,
-  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x45,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x49,
-  0x07, 0x04, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
-  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x45,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
-  0x13, 0x00, 0x08, 0x4A,  0x07, 0x05, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,
-  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x45,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x39,  0x07, 0x06, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,
-  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x45,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x4B,  0x07, 0x07, 0x00, 0x00,
-  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x45,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x4C,
-  0x07, 0x08, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
-  0x01, 0x3D, 0x4F, 0x96,  0x13, 0x00, 0x08, 0x4D,  0x07, 0x09, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,
-  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x43, 0x3D, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x4D,
-  0x1C, 0x96, 0x10, 0x00,  0x08, 0x30, 0x08, 0x4E,  0x07, 0x01, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
-  0x00, 0x00, 0x08, 0x45,  0x40, 0x4F, 0x96, 0x09,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x30,
-  0x08, 0x4D, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,
-  0x02, 0x00, 0x08, 0x4D,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x33,
-  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x2D, 0x01,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
-  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x4D,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
-  0x13, 0x00, 0x08, 0x4F,  0x07, 0x0A, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,
-  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x4D,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x50,  0x07, 0x0B, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,
-  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x4D,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x51,  0x07, 0x0C, 0x00, 0x00,
-  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x4D,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x35,
-  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x4D, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x36, 0x9B, 0x09,  0x00, 0x00, 0x01, 0x00,
-  0x73, 0x72, 0x63, 0x00,  0x72, 0x00, 0x96, 0x02,  0x00, 0x08, 0x38, 0x1C,  0x96, 0x01, 0x00, 0x02,
-  0x49, 0x12, 0x9D, 0x02,  0x00, 0x27, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x04, 0x00,
-  0x08, 0x37, 0x05, 0x00,  0x4F, 0x96, 0x09, 0x00,  0x05, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
-  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x35, 0x52,  0x17, 0x99, 0x02, 0x00,  0x3A, 0x00, 0x96, 0x02,
-  0x00, 0x08, 0x09, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x37, 0x05, 0x01, 0x4F,  0x96, 0x02, 0x00, 0x08,
-  0x38, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x51, 0x52, 0x17,  0x96, 0x09, 0x00, 0x05,  0x01, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x35, 0x52, 0x17,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x4D, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x3E, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,
-  0x0D, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x3F, 0x4E, 0x3E, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x4D, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,
-  0x40, 0x9B, 0x05, 0x00,  0x00, 0x00, 0x00, 0x0D,  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x41,  0x4E, 0x3E, 0x4F, 0x96,  0x07, 0x00, 0x08, 0x52,  0x07, 0x00, 0x00, 0x00,
-  0x00, 0x43, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x52,  0x1C, 0x96, 0x07, 0x00,  0x08, 0x53, 0x07, 0x00,
-  0x00, 0x00, 0x00, 0x43,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x52, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x53,
-  0x4E, 0x96, 0x13, 0x00,  0x08, 0x54, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,  0x0B, 0x00, 0x00, 0x00,
-  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x07, 0x00,  0x07, 0x00, 0x00, 0x00,
-  0x00, 0x08, 0x52, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x53, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x54, 0x52,
-  0x17, 0x96, 0x02, 0x00,  0x08, 0x52, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x53,  0x4E, 0x96, 0x02, 0x00,
-  0x08, 0x54, 0x3A, 0x17,  0x96, 0x02, 0x00, 0x08,  0x55, 0x9B, 0x0C, 0x00,  0x00, 0x01, 0x00, 0x74,
-  0x61, 0x72, 0x67, 0x65,  0x74, 0x00, 0x27, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x04,
-  0x00, 0x08, 0x56, 0x08,  0x56, 0x1C, 0x4F, 0x96,  0x08, 0x00, 0x07, 0x07,  0x00, 0x00, 0x00, 0x02,
-  0x08, 0x09, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x1D,
-  0x96, 0x09, 0x00, 0x08,  0x57, 0x07, 0xBC, 0x02,  0x00, 0x00, 0x08, 0x55,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x30, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x00, 0x3D, 0x17, 0x96,
-  0x08, 0x00, 0x07, 0x07,  0x00, 0x00, 0x00, 0x02,  0x08, 0x55, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
-  0x4E, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x02, 0x00,
-  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x59, 0x9B, 0x0C,
-  0x00, 0x00, 0x01, 0x00,  0x6D, 0x65, 0x74, 0x68,  0x6F, 0x64, 0x00, 0x5B,  0x00, 0x96, 0x09, 0x00,
-  0x08, 0x5C, 0x07, 0x00,  0x00, 0x00, 0x00, 0x08,  0x5A, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x5B, 0x52,
-  0x3C, 0x96, 0x02, 0x00,  0x08, 0x5C, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x5D,  0x49, 0x9D, 0x02, 0x00,
-  0x2D, 0x00, 0x96, 0x02,  0x00, 0x08, 0x5C, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x5E, 0x49, 0x9D, 0x02,
-  0x00, 0x0E, 0x00, 0x96,  0x05, 0x00, 0x07, 0x00,  0x00, 0x00, 0x00, 0x3E,  0x99, 0x02, 0x00, 0x09,
-  0x00, 0x96, 0x05, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x3E, 0x99, 0x02,  0x00, 0x09, 0x00, 0x96,
-  0x05, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x3E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x5F, 0x9B, 0x17,  0x00, 0x00, 0x03, 0x00,
-  0x75, 0x72, 0x6C, 0x00,  0x74, 0x61, 0x72, 0x67,  0x65, 0x74, 0x00, 0x6D,  0x65, 0x74, 0x68, 0x6F,
-  0x64, 0x00, 0x97, 0x00,  0x96, 0x02, 0x00, 0x08,  0x56, 0x1C, 0x44, 0x96,  0x02, 0x00, 0x08, 0x60,
-  0x49, 0x12, 0x9D, 0x02,  0x00, 0x08, 0x00, 0x96,  0x04, 0x00, 0x08, 0x56,  0x08, 0x4E, 0x1D, 0x96,
-  0x04, 0x00, 0x08, 0x61,  0x08, 0x5A, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
-  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x59, 0x52,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x61, 0x1C, 0x96,
-  0x05, 0x00, 0x07, 0x00,  0x00, 0x00, 0x00, 0x49,  0x9D, 0x02, 0x00, 0x3E,  0x00, 0x96, 0x02, 0x00,
-  0x08, 0x61, 0x1C, 0x96,  0x05, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x49,  0x9D, 0x02, 0x00, 0x15,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x62, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x9A, 0x01, 0x00,
-  0x02, 0x99, 0x02, 0x00,  0x10, 0x00, 0x96, 0x02,  0x00, 0x08, 0x62, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x56, 0x1C, 0x9A, 0x01,  0x00, 0x01, 0x99, 0x02,  0x00, 0x10, 0x00, 0x96,  0x02, 0x00, 0x08, 0x62,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x9A,  0x01, 0x00, 0x00, 0x4F,  0x96, 0x02, 0x00, 0x08,
-  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x63, 0x9B, 0x10, 0x00,
-  0x00, 0x02, 0x00, 0x75,  0x72, 0x6C, 0x00, 0x6D,  0x65, 0x74, 0x68, 0x6F,  0x64, 0x00, 0x99, 0x00,
-  0x96, 0x04, 0x00, 0x08,  0x61, 0x08, 0x5A, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
-  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x59,  0x52, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
-  0x20, 0x96, 0x02, 0x00,  0x08, 0x61, 0x1C, 0x96,  0x05, 0x00, 0x07, 0x00,  0x00, 0x00, 0x00, 0x49,
-  0x9D, 0x02, 0x00, 0x4A,  0x00, 0x96, 0x02, 0x00,  0x08, 0x61, 0x1C, 0x96,  0x05, 0x00, 0x07, 0x01,
-  0x00, 0x00, 0x00, 0x49,  0x9D, 0x02, 0x00, 0x1B,  0x00, 0x96, 0x02, 0x00,  0x08, 0x62, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x64, 0x4E, 0x9A,  0x01, 0x00, 0xC2, 0x99,
-  0x02, 0x00, 0x16, 0x00,  0x96, 0x02, 0x00, 0x08,  0x62, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x64, 0x4E, 0x9A, 0x01,  0x00, 0xC1, 0x99, 0x02,  0x00, 0x16, 0x00, 0x96,
+  0x00, 0x08, 0x35, 0x52,  0x17, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x4D, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x3E, 0x9B,  0x05, 0x00, 0x00, 0x00,  0x00, 0x0D, 0x00, 0x96,
+  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x3F, 0x4E, 0x3E,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x4D, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x40, 0x9B, 0x05,
+  0x00, 0x00, 0x00, 0x00,  0x0D, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x41, 0x4E, 0x3E, 0x4F,  0x96, 0x07, 0x00, 0x08,  0x52, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x1D,
+  0x96, 0x02, 0x00, 0x08,  0x52, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x53, 0x07,  0x00, 0x00, 0x00, 0x00,
+  0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x52, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x53, 0x4E, 0x96, 0x13,
+  0x00, 0x08, 0x54, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0x0B, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
+  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x07,  0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x08, 0x52,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x53, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x54,  0x52, 0x17, 0x96, 0x02,
+  0x00, 0x08, 0x52, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x53, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x54, 0x3A,
+  0x17, 0x96, 0x02, 0x00,  0x08, 0x55, 0x9B, 0x0C,  0x00, 0x00, 0x01, 0x00,  0x74, 0x61, 0x72, 0x67,
+  0x65, 0x74, 0x00, 0x27,  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x56,
+  0x08, 0x56, 0x1C, 0x4F,  0x96, 0x08, 0x00, 0x07,  0x07, 0x00, 0x00, 0x00,  0x02, 0x08, 0x09, 0x1C,
+  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x1D, 0x96, 0x09, 0x00,
+  0x08, 0x57, 0x07, 0xBC,  0x02, 0x00, 0x00, 0x08,  0x55, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
+  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x00, 0x3D, 0x17,  0x96, 0x08, 0x00, 0x07,
+  0x07, 0x00, 0x00, 0x00,  0x02, 0x08, 0x55, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x07,
+  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x59, 0x9B,  0x0C, 0x00, 0x00, 0x01,
+  0x00, 0x6D, 0x65, 0x74,  0x68, 0x6F, 0x64, 0x00,  0x5B, 0x00, 0x96, 0x09,  0x00, 0x08, 0x5C, 0x07,
+  0x00, 0x00, 0x00, 0x00,  0x08, 0x5A, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x5B,  0x52, 0x3C, 0x96, 0x02,
+  0x00, 0x08, 0x5C, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x5D, 0x49, 0x9D, 0x02,  0x00, 0x2D, 0x00, 0x96,
+  0x02, 0x00, 0x08, 0x5C,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x5E, 0x49, 0x9D,  0x02, 0x00, 0x0E, 0x00,
+  0x96, 0x05, 0x00, 0x07,  0x00, 0x00, 0x00, 0x00,  0x3E, 0x99, 0x02, 0x00,  0x09, 0x00, 0x96, 0x05,
+  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x3E, 0x99,  0x02, 0x00, 0x09, 0x00,  0x96, 0x05, 0x00, 0x07,
+  0x02, 0x00, 0x00, 0x00,  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x5F, 0x9B,  0x17, 0x00, 0x00, 0x03,  0x00, 0x75, 0x72, 0x6C,
+  0x00, 0x74, 0x61, 0x72,  0x67, 0x65, 0x74, 0x00,  0x6D, 0x65, 0x74, 0x68,  0x6F, 0x64, 0x00, 0x97,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x44,  0x96, 0x02, 0x00, 0x08,  0x60, 0x49, 0x12, 0x9D,
+  0x02, 0x00, 0x08, 0x00,  0x96, 0x04, 0x00, 0x08,  0x56, 0x08, 0x4E, 0x1D,  0x96, 0x04, 0x00, 0x08,
+  0x61, 0x08, 0x5A, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x59,  0x52, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x61, 0x1C,  0x96, 0x05, 0x00, 0x07,
+  0x00, 0x00, 0x00, 0x00,  0x49, 0x9D, 0x02, 0x00,  0x3E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x61, 0x1C,
+  0x96, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x49, 0x9D, 0x02, 0x00,  0x15, 0x00, 0x96, 0x02,
+  0x00, 0x08, 0x62, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x56, 0x1C, 0x9A, 0x01,  0x00, 0x02, 0x99, 0x02,
+  0x00, 0x10, 0x00, 0x96,  0x02, 0x00, 0x08, 0x62,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x9A,
+  0x01, 0x00, 0x01, 0x99,  0x02, 0x00, 0x10, 0x00,  0x96, 0x02, 0x00, 0x08,  0x62, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x56, 0x1C,  0x9A, 0x01, 0x00, 0x00,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x63, 0x9B, 0x10,  0x00, 0x00, 0x02, 0x00,
+  0x75, 0x72, 0x6C, 0x00,  0x6D, 0x65, 0x74, 0x68,  0x6F, 0x64, 0x00, 0x99,  0x00, 0x96, 0x04, 0x00,
+  0x08, 0x61, 0x08, 0x5A,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x59, 0x52, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x20, 0x96, 0x02,
+  0x00, 0x08, 0x61, 0x1C,  0x96, 0x05, 0x00, 0x07,  0x00, 0x00, 0x00, 0x00,  0x49, 0x9D, 0x02, 0x00,
+  0x4A, 0x00, 0x96, 0x02,  0x00, 0x08, 0x61, 0x1C,  0x96, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
+  0x49, 0x9D, 0x02, 0x00,  0x1B, 0x00, 0x96, 0x02,  0x00, 0x08, 0x62, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x64, 0x4E,  0x9A, 0x01, 0x00, 0xC2,  0x99, 0x02, 0x00, 0x16,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x62, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x64, 0x4E, 0x9A,  0x01, 0x00, 0xC1, 0x99,  0x02, 0x00, 0x16, 0x00,  0x96, 0x02, 0x00, 0x08,
+  0x62, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x64, 0x4E, 0x9A, 0x01,
+  0x00, 0xC0, 0x8B, 0x01,  0x00, 0x00, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x65,  0x9B, 0x10, 0x00, 0x00,  0x02, 0x00, 0x75, 0x72,
+  0x6C, 0x00, 0x6D, 0x65,  0x74, 0x68, 0x6F, 0x64,  0x00, 0x99, 0x00, 0x96,  0x04, 0x00, 0x08, 0x61,
+  0x08, 0x5A, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x59, 0x52,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x20,  0x96, 0x02, 0x00, 0x08,
+  0x61, 0x1C, 0x96, 0x05,  0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x49, 0x9D,  0x02, 0x00, 0x4A, 0x00,
+  0x96, 0x02, 0x00, 0x08,  0x61, 0x1C, 0x96, 0x05,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x49, 0x9D,
+  0x02, 0x00, 0x1B, 0x00,  0x96, 0x02, 0x00, 0x08,  0x62, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x64, 0x4E, 0x9A, 0x01,  0x00, 0x42, 0x99, 0x02,  0x00, 0x16, 0x00, 0x96,
   0x02, 0x00, 0x08, 0x62,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x64,
-  0x4E, 0x9A, 0x01, 0x00,  0xC0, 0x8B, 0x01, 0x00,  0x00, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x65, 0x9B,  0x10, 0x00, 0x00, 0x02,
-  0x00, 0x75, 0x72, 0x6C,  0x00, 0x6D, 0x65, 0x74,  0x68, 0x6F, 0x64, 0x00,  0x99, 0x00, 0x96, 0x04,
-  0x00, 0x08, 0x61, 0x08,  0x5A, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x59, 0x52, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x20, 0x96,
-  0x02, 0x00, 0x08, 0x61,  0x1C, 0x96, 0x05, 0x00,  0x07, 0x00, 0x00, 0x00,  0x00, 0x49, 0x9D, 0x02,
-  0x00, 0x4A, 0x00, 0x96,  0x02, 0x00, 0x08, 0x61,  0x1C, 0x96, 0x05, 0x00,  0x07, 0x01, 0x00, 0x00,
-  0x00, 0x49, 0x9D, 0x02,  0x00, 0x1B, 0x00, 0x96,  0x02, 0x00, 0x08, 0x62,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x64,  0x4E, 0x9A, 0x01, 0x00,  0x42, 0x99, 0x02, 0x00,
-  0x16, 0x00, 0x96, 0x02,  0x00, 0x08, 0x62, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x64, 0x4E,  0x9A, 0x01, 0x00, 0x41,  0x99, 0x02, 0x00, 0x16,  0x00, 0x96, 0x02, 0x00,
-  0x08, 0x62, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x64, 0x4E, 0x9A,
-  0x01, 0x00, 0x40, 0x8B,  0x01, 0x00, 0x00, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x66, 0x07, 0x00, 0x00,  0x00, 0x00, 0x07, 0x84,
-  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
-  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x67, 0x07, 0x01, 0x00,
-  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
-  0x68, 0x07, 0x04, 0x00,  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
-  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
-  0x96, 0x13, 0x00, 0x08,  0x69, 0x07, 0x05, 0x00,  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,
-  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x40, 0x07, 0x06, 0x00,  0x00, 0x00, 0x07, 0x84,
-  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
-  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x3E, 0x07, 0x07, 0x00,
-  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
-  0x6A, 0x07, 0x0A, 0x00,  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
-  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
-  0x96, 0x13, 0x00, 0x08,  0x6B, 0x07, 0x0C, 0x00,  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,
-  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x6C, 0x07, 0x0D, 0x00,  0x00, 0x00, 0x07, 0x84,
-  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
-  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x6D, 0x07, 0x0E, 0x00,
-  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
-  0x6E, 0x07, 0x0F, 0x00,  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
-  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
-  0x96, 0x13, 0x00, 0x08,  0x6F, 0x07, 0x10, 0x00,  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,
-  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x70, 0x07, 0x11, 0x00,  0x00, 0x00, 0x07, 0x84,
-  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
-  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x71, 0x07, 0x12, 0x00,
-  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
-  0x72, 0x07, 0x13, 0x00,  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
-  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
-  0x96, 0x13, 0x00, 0x08,  0x73, 0x07, 0x14, 0x00,  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,
-  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x74, 0x07, 0x15, 0x00,  0x00, 0x00, 0x07, 0x84,
-  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
-  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x75, 0x07, 0x00, 0x00,
-  0x00, 0x00, 0x07, 0x85,  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
-  0x76, 0x07, 0xC8, 0x00,  0x00, 0x00, 0x07, 0x68,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
-  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x09, 0x00, 0x07,  0x80, 0x00, 0x00, 0x00,  0x08, 0x77, 0x08, 0x58,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,
-  0x05, 0x3D, 0x17, 0x96,  0x09, 0x00, 0x08, 0x78,  0x07, 0x85, 0x03, 0x00,  0x00, 0x08, 0x58, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x00,
-  0x3D, 0x17, 0x96, 0x08,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x02, 0x08,  0x58, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,
-  0x96, 0x13, 0x00, 0x08,  0x79, 0x07, 0x00, 0x00,  0x00, 0x00, 0x07, 0x68,  0x00, 0x00, 0x00, 0x07,
-  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x1D,  0x96, 0x02, 0x00, 0x08,  0x79, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x7A, 0x07, 0x66, 0x00,  0x00, 0x00, 0x07, 0x68,
-  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
-  0x79, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x7B, 0x07, 0x68, 0x00,
-  0x00, 0x00, 0x07, 0x68,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x79, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
-  0x7C, 0x07, 0x69, 0x00,  0x00, 0x00, 0x07, 0x68,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
-  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x13, 0x00, 0x08,  0x7D, 0x07, 0x00, 0x00,  0x00, 0x00, 0x07, 0x6E,
-  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x1D,  0x96, 0x02, 0x00, 0x08,
-  0x79, 0x1C, 0x96, 0x13,  0x00, 0x08, 0x7E, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0x71, 0x00, 0x00,
-  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x79, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,
-  0x7F, 0x9B, 0x07, 0x00,  0x00, 0x01, 0x00, 0x6F,  0x00, 0x67, 0x00, 0x96,  0x02, 0x00, 0x08, 0x13,
-  0x1C, 0x44, 0x96, 0x02,  0x00, 0x08, 0x80, 0x49,  0x12, 0x12, 0x9D, 0x02,  0x00, 0x05, 0x00, 0x96,
-  0x01, 0x00, 0x02, 0x3E,  0x96, 0x07, 0x00, 0x08,  0x81, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x3C,
-  0x96, 0x02, 0x00, 0x08,  0x13, 0x46, 0x87, 0x01,  0x00, 0x00, 0x96, 0x01,  0x00, 0x02, 0x49, 0x9D,
-  0x02, 0x00, 0x27, 0x00,  0x96, 0x04, 0x00, 0x08,  0x82, 0x04, 0x00, 0x3C,  0x96, 0x02, 0x00, 0x08,
-  0x81, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x82, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x13, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x82, 0x1C,  0x4E, 0x4F, 0x99, 0x02,  0x00, 0xCB, 0xFF, 0x96,  0x02, 0x00, 0x08, 0x81,
-  0x1C, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x79,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7E, 0x4E, 0x96,
-  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x83, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,
-  0x24, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x07, 0x00, 0x08,  0x84, 0x07, 0x00, 0x00,
-  0x00, 0x00, 0x43, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x85, 0x07,
-  0x00, 0x00, 0x00, 0x00,  0x43, 0x4F, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x79,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x7E, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x86, 0x9B, 0x0A,
-  0x00, 0x00, 0x01, 0x00,  0x6E, 0x61, 0x6D, 0x65,  0x00, 0x25, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x84, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x87,  0x1C, 0x4E, 0x96, 0x07,
-  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7F, 0x52, 0x3E,
-  0x4F, 0x96, 0x02, 0x00,  0x08, 0x79, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,  0x4E, 0x96, 0x02, 0x00,
-  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x88,  0x9B, 0x10, 0x00, 0x00,  0x02, 0x00, 0x6E, 0x61,
-  0x6D, 0x65, 0x00, 0x73,  0x74, 0x79, 0x6C, 0x65,  0x00, 0x67, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x84, 0x4E, 0x12,  0x12, 0x9D, 0x02, 0x00,  0x12, 0x00, 0x96, 0x02,
-  0x00, 0x08, 0x09, 0x1C,  0x96, 0x07, 0x00, 0x08,  0x84, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x84, 0x4E,  0x96, 0x02, 0x00, 0x08,
-  0x87, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
-  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7F,  0x52, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x87, 0x1C,
-  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x8A,
-  0x52, 0x17, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x79,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7E, 0x4E, 0x96,
-  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x8B, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,
-  0x5B, 0x00, 0x96, 0x04,  0x00, 0x08, 0x8C, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x84, 0x4E,
-  0x3C, 0x96, 0x07, 0x00,  0x08, 0x8D, 0x07, 0x00,  0x00, 0x00, 0x00, 0x42,  0x3C, 0x96, 0x02, 0x00,
-  0x08, 0x8C, 0x46, 0x87,  0x01, 0x00, 0x00, 0x96,  0x01, 0x00, 0x02, 0x49,  0x9D, 0x02, 0x00, 0x25,
-  0x00, 0x96, 0x04, 0x00,  0x08, 0x82, 0x04, 0x00,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x82, 0x1C, 0x96,
-  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x8D, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0D, 0x52,
-  0x17, 0x99, 0x02, 0x00,  0xCD, 0xFF, 0x96, 0x02,  0x00, 0x08, 0x8D, 0x1C,  0x3E, 0x4F, 0x96, 0x02,
-  0x00, 0x08, 0x79, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
-  0x96, 0x02, 0x00, 0x08,  0x8A, 0x9B, 0x0A, 0x00,  0x00, 0x01, 0x00, 0x6E,  0x61, 0x6D, 0x65, 0x00,
-  0x5C, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x85, 0x4E, 0x12, 0x12,
-  0x9D, 0x02, 0x00, 0x12,  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x07, 0x00, 0x08, 0x85,
-  0x07, 0x00, 0x00, 0x00,  0x00, 0x43, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x85, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x87,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x84,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x87, 0x1C, 0x4E,  0x96, 0x07, 0x00, 0x07,
-  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x8E,  0x52, 0x4F, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x79,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7E, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,
-  0x4E, 0x96, 0x02, 0x00,  0x08, 0x8E, 0x9B, 0x0B,  0x00, 0x00, 0x01, 0x00,  0x73, 0x74, 0x79, 0x6C,
-  0x65, 0x00, 0x9D, 0x03,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x01,  0x00, 0x02, 0x49, 0x12,
-  0x9D, 0x02, 0x00, 0x05,  0x00, 0x96, 0x01, 0x00,  0x02, 0x3E, 0x96, 0x09,  0x00, 0x08, 0x8F, 0x07,
-  0x00, 0x00, 0x00, 0x00,  0x08, 0x7D, 0x40, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x90, 0x4E,  0x12, 0x9D, 0x02, 0x00,  0x15, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8F, 0x1C,
-  0x96, 0x04, 0x00, 0x08,  0x91, 0x08, 0x89, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x90, 0x4E, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x92, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x93,
-  0x49, 0x9D, 0x02, 0x00,  0x2B, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x92, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x94, 0x49,  0x12, 0x9D, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,
-  0x00, 0x08, 0x8F, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x93, 0x05, 0x00, 0x4F,  0x99, 0x02, 0x00, 0x0E,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x93,  0x05, 0x01, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x95, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x41,
-  0x00, 0x96, 0x04, 0x00,  0x08, 0x8C, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x95, 0x4E, 0x96,
-  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x96, 0x52,
-  0x3C, 0x96, 0x02, 0x00,  0x08, 0x8C, 0x1C, 0x96,  0x01, 0x00, 0x02, 0x49,  0x12, 0x12, 0x9D, 0x02,
-  0x00, 0x0F, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x95, 0x08, 0x8C,
-  0x1C, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x8F, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x97, 0x08, 0x89, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x97, 0x4E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x98, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x26,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,
-  0x04, 0x00, 0x08, 0x99,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x98,  0x4E, 0x96, 0x07, 0x00,
-  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x9A, 0x52, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x9B, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x9C,  0x08, 0x89, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x9B,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x9D, 0x3D,
-  0x4F, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x9E,  0x4E, 0x96, 0x02, 0x00,
-  0x08, 0x9F, 0x49, 0x9D,  0x02, 0x00, 0x2B, 0x00,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x9E, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x94, 0x49, 0x12, 0x9D,  0x02, 0x00, 0x0E, 0x00,
-  0x96, 0x02, 0x00, 0x08,  0x8F, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x9F, 0x05,  0x00, 0x4F, 0x99, 0x02,
-  0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x9F, 0x05, 0x01,
-  0x4F, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA0,  0x4E, 0x96, 0x02, 0x00,
-  0x08, 0xA1, 0x49, 0x9D,  0x02, 0x00, 0x4F, 0x00,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0xA0, 0x4E,  0x96, 0x02, 0x00, 0x08,  0xA2, 0x49, 0x9D, 0x02,  0x00, 0x25, 0x00, 0x96,
-  0x02, 0x00, 0x08, 0x8F,  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA0, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0xA0, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x9D, 0x3D, 0x4F, 0x99,
-  0x02, 0x00, 0x0E, 0x00,  0x96, 0x02, 0x00, 0x08,  0x8F, 0x1C, 0x96, 0x04,  0x00, 0x08, 0xA0, 0x05,
-  0x00, 0x4F, 0x99, 0x02,  0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,  0x1C, 0x96, 0x04, 0x00,
-  0x08, 0xA0, 0x05, 0x01,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA3,
-  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,  0x1C, 0x96, 0x04, 0x00,
-  0x08, 0xA3, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA3, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,
-  0x00, 0x00, 0x00, 0x08,  0x9D, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0xA4, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,
-  0x04, 0x00, 0x08, 0xA5,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA4,  0x4E, 0x96, 0x07, 0x00,
-  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x9D, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0xA6,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,
-  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA6, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA6, 0x4E, 0x96,
-  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x9D, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x89,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA7, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,  0x00, 0x96, 0x02, 0x00,
-  0x08, 0x8F, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA8,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA7,
-  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x9D, 0x3D,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA9,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x3B, 0x00, 0x96,
-  0x04, 0x00, 0x08, 0x8C,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA9,  0x4E, 0x96, 0x07, 0x00,
-  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x9D, 0x3D,  0x3C, 0x96, 0x07, 0x00,  0x07, 0x00, 0x00, 0x00,
-  0x00, 0x08, 0x8C, 0x1C,  0x48, 0x12, 0x9D, 0x02,  0x00, 0x0F, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,
-  0x1C, 0x96, 0x04, 0x00,  0x08, 0xAA, 0x08, 0x8C,  0x1C, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0xAB, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xAC, 0x49,  0x9D, 0x02, 0x00, 0x2B,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xAB,  0x4E, 0x96, 0x02, 0x00,
-  0x08, 0xAD, 0x49, 0x12,  0x9D, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,
-  0x04, 0x00, 0x08, 0xAC,  0x05, 0x00, 0x4F, 0x99,  0x02, 0x00, 0x0E, 0x00,  0x96, 0x02, 0x00, 0x08,
-  0x8F, 0x1C, 0x96, 0x04,  0x00, 0x08, 0xAC, 0x05,  0x01, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x8F, 0x1C,
-  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x79, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0xAE, 0x9B, 0x09, 0x00,  0x00, 0x01, 0x00, 0x63,
-  0x73, 0x73, 0x00, 0xC8,  0x00, 0x96, 0x04, 0x00,  0x08, 0xB1, 0x08, 0xAF,  0x1C, 0x96, 0x07, 0x00,
-  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0xB0, 0x52, 0x3C, 0x96,
-  0x02, 0x00, 0x08, 0xB1,  0x1C, 0x44, 0x96, 0x02,  0x00, 0x08, 0xB2, 0x49,  0x12, 0x9D, 0x02, 0x00,
-  0x06, 0x00, 0x96, 0x02,  0x00, 0x05, 0x00, 0x3E,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x84, 0x4E,  0x12, 0x12, 0x9D, 0x02,  0x00, 0x12, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,
-  0x1C, 0x96, 0x07, 0x00,  0x08, 0x84, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0xB1, 0x46, 0x87,  0x01, 0x00, 0x00, 0x96,  0x01, 0x00, 0x02, 0x49,  0x9D, 0x02, 0x00, 0x56,
-  0x00, 0x96, 0x04, 0x00,  0x08, 0x82, 0x04, 0x00,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x84,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x82, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xB1,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x82, 0x1C, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
-  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7F,  0x52, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x82, 0x1C,
-  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x8A,
-  0x52, 0x17, 0x99, 0x02,  0x00, 0x9C, 0xFF, 0x96,  0x02, 0x00, 0x05, 0x01,  0x3E, 0x4F, 0x96, 0x02,
-  0x00, 0x08, 0x79, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
-  0x96, 0x04, 0x00, 0x08,  0xB3, 0x08, 0x79, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0xAE, 0x4E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x79,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7E, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
-  0x08, 0x33, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,  0x2D, 0x01, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x79, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,
-  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x35,  0x9B, 0x05, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x79, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,
-  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x36,  0x9B, 0x09, 0x00, 0x00,
-  0x01, 0x00, 0x73, 0x72,  0x63, 0x00, 0x6B, 0x00,  0x96, 0x02, 0x00, 0x08,  0x38, 0x1C, 0x96, 0x01,
-  0x00, 0x02, 0x49, 0x12,  0x9D, 0x02, 0x00, 0x19,  0x00, 0x96, 0x09, 0x00,  0x05, 0x00, 0x07, 0x01,
-  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x35, 0x52,  0x17, 0x99, 0x02, 0x00,
-  0x41, 0x00, 0x96, 0x04,  0x00, 0x08, 0xB1, 0x08,  0x38, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
-  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xB3, 0x52, 0x3C,  0x96, 0x02, 0x00, 0x08,
-  0x09, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x37, 0x08,  0xB1, 0x1C, 0x4F, 0x96,  0x02, 0x00, 0x08, 0xB1,
+  0x4E, 0x9A, 0x01, 0x00,  0x41, 0x99, 0x02, 0x00,  0x16, 0x00, 0x96, 0x02,  0x00, 0x08, 0x62, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x64, 0x4E,  0x9A, 0x01, 0x00, 0x40,
+  0x8B, 0x01, 0x00, 0x00,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
+  0x4E, 0x96, 0x13, 0x00,  0x08, 0x66, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
+  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x67, 0x07, 0x01,  0x00, 0x00, 0x00, 0x07,
+  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x68, 0x07, 0x04,
+  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
+  0x08, 0x69, 0x07, 0x05,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
+  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
+  0x4E, 0x96, 0x13, 0x00,  0x08, 0x40, 0x07, 0x06,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
+  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x3E, 0x07, 0x07,  0x00, 0x00, 0x00, 0x07,
+  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6A, 0x07, 0x0A,
+  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
+  0x08, 0x6B, 0x07, 0x0C,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
+  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
+  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6C, 0x07, 0x0D,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
+  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6D, 0x07, 0x0E,  0x00, 0x00, 0x00, 0x07,
+  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6E, 0x07, 0x0F,
+  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
+  0x08, 0x6F, 0x07, 0x10,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
+  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
+  0x4E, 0x96, 0x13, 0x00,  0x08, 0x70, 0x07, 0x11,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
+  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x71, 0x07, 0x12,  0x00, 0x00, 0x00, 0x07,
+  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x72, 0x07, 0x13,
+  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
+  0x08, 0x73, 0x07, 0x14,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
+  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
+  0x4E, 0x96, 0x13, 0x00,  0x08, 0x74, 0x07, 0x15,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
+  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x75, 0x07, 0xC8,  0x00, 0x00, 0x00, 0x07,
+  0x68, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x09, 0x00,
+  0x07, 0x80, 0x00, 0x00,  0x00, 0x08, 0x6A, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
+  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x09, 0x00, 0x08,
+  0x76, 0x07, 0x85, 0x03,  0x00, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
+  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x00, 0x3D, 0x17, 0x96,  0x08, 0x00, 0x07, 0x03,
+  0x00, 0x00, 0x00, 0x02,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x07, 0x00,
+  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x13, 0x00,  0x08, 0x77, 0x07, 0x00,
+  0x00, 0x00, 0x00, 0x07,  0x68, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x43, 0x3D,
+  0x1D, 0x96, 0x02, 0x00,  0x08, 0x77, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
+  0x08, 0x78, 0x07, 0x66,  0x00, 0x00, 0x00, 0x07,  0x68, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
+  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x77, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
+  0x4E, 0x96, 0x13, 0x00,  0x08, 0x79, 0x07, 0x68,  0x00, 0x00, 0x00, 0x07,  0x68, 0x00, 0x00, 0x00,
+  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x77, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x7A, 0x07, 0x69,  0x00, 0x00, 0x00, 0x07,
+  0x68, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x13, 0x00,
+  0x08, 0x7B, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,  0x6E, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
+  0x00, 0x08, 0x43, 0x3D,  0x1D, 0x96, 0x02, 0x00,  0x08, 0x77, 0x1C, 0x96,  0x13, 0x00, 0x08, 0x7C,
+  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x71, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
+  0x43, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x77,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7C, 0x4E, 0x96,
+  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x7D, 0x9B, 0x07,  0x00, 0x00, 0x01, 0x00,
+  0x6F, 0x00, 0x67, 0x00,  0x96, 0x02, 0x00, 0x08,  0x13, 0x1C, 0x44, 0x96,  0x02, 0x00, 0x08, 0x7E,
+  0x49, 0x12, 0x12, 0x9D,  0x02, 0x00, 0x05, 0x00,  0x96, 0x01, 0x00, 0x02,  0x3E, 0x96, 0x07, 0x00,
+  0x08, 0x7F, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x13, 0x46, 0x87,
+  0x01, 0x00, 0x00, 0x96,  0x01, 0x00, 0x02, 0x49,  0x9D, 0x02, 0x00, 0x27,  0x00, 0x96, 0x04, 0x00,
+  0x08, 0x80, 0x04, 0x00,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x7F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x80,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x13, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x80,  0x1C, 0x4E, 0x4F, 0x99,
+  0x02, 0x00, 0xCB, 0xFF,  0x96, 0x02, 0x00, 0x08,  0x7F, 0x1C, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,
+  0x77, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7C, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,
+  0x00, 0x08, 0x81, 0x9B,  0x05, 0x00, 0x00, 0x00,  0x00, 0x24, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,
+  0x1C, 0x96, 0x07, 0x00,  0x08, 0x82, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x09, 0x1C, 0x96,  0x07, 0x00, 0x08, 0x83,  0x07, 0x00, 0x00, 0x00,  0x00, 0x43, 0x4F, 0x4F,
+  0x96, 0x02, 0x00, 0x08,  0x77, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7C, 0x4E,  0x96, 0x02, 0x00, 0x08,
+  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x84, 0x9B,  0x0A, 0x00, 0x00, 0x01,  0x00, 0x6E, 0x61, 0x6D,
+  0x65, 0x00, 0x25, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x82, 0x4E,
+  0x96, 0x02, 0x00, 0x08,  0x85, 0x1C, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
+  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7D, 0x52,  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x77, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x7C, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,
+  0x86, 0x9B, 0x10, 0x00,  0x00, 0x02, 0x00, 0x6E,  0x61, 0x6D, 0x65, 0x00,  0x73, 0x74, 0x79, 0x6C,
+  0x65, 0x00, 0x67, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x82, 0x4E,
+  0x12, 0x12, 0x9D, 0x02,  0x00, 0x12, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x07, 0x00,
+  0x08, 0x82, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x82,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x85, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x87,
   0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x35, 0x52, 0x17, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x79, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7E, 0x4E,
-  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0xB0, 0x07,  0x65, 0x00, 0x00, 0x00,
-  0x07, 0x71, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
-  0x00, 0x08, 0x79, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
-  0x96, 0x13, 0x00, 0x08,  0x9A, 0x07, 0x66, 0x00,  0x00, 0x00, 0x07, 0x71,  0x00, 0x00, 0x00, 0x07,
-  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x79, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x7E, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x96, 0x07,
-  0x67, 0x00, 0x00, 0x00,  0x07, 0x71, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
-  0x3D, 0x4F, 0x96, 0x08,  0x00, 0x07, 0x03, 0x04,  0x00, 0x00, 0x02, 0x08,  0x79, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x7E, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,
-  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x09,  0x00, 0x07, 0x03, 0x04,  0x00, 0x00, 0x08, 0x7E,
-  0x08, 0x79, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,
-  0x13, 0x00, 0x08, 0xB4,  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0xFA, 0x00,  0x00, 0x00, 0x07, 0x02,
-  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x1D, 0x96,  0x13, 0x00, 0x08, 0xB5,  0x07, 0x01, 0x00, 0x00,
-  0x00, 0x07, 0xFA, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x1D, 0x96,
-  0x13, 0x00, 0x08, 0xB6,  0x07, 0x02, 0x00, 0x00,  0x00, 0x07, 0xFA, 0x00,  0x00, 0x00, 0x07, 0x02,
-  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x1D, 0x96,  0x04, 0x00, 0x08, 0xB7,  0x08, 0xB5, 0x1C, 0x1D,
-  0x96, 0x03, 0x00, 0x08,  0x13, 0x02, 0x1D, 0x96,  0x0D, 0x00, 0x07, 0x06,  0x00, 0x00, 0x00, 0x07,
-  0x01, 0x00, 0x00, 0x00,  0x02, 0x08, 0x09, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x04, 0x00, 0x00, 0x00,
-  0x08, 0x05, 0x3D, 0x17,  0x00
+  0x7D, 0x52, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x85,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,
+  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x88, 0x52, 0x17, 0x4F,  0x96, 0x02, 0x00, 0x08,
+  0x77, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7C, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,
+  0x00, 0x08, 0x89, 0x9B,  0x05, 0x00, 0x00, 0x00,  0x00, 0x5B, 0x00, 0x96,  0x04, 0x00, 0x08, 0x8A,
+  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x82,  0x4E, 0x3C, 0x96, 0x07,  0x00, 0x08, 0x8B, 0x07,
+  0x00, 0x00, 0x00, 0x00,  0x42, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x8A, 0x46,  0x87, 0x01, 0x00, 0x00,
+  0x96, 0x01, 0x00, 0x02,  0x49, 0x9D, 0x02, 0x00,  0x25, 0x00, 0x96, 0x04,  0x00, 0x08, 0x80, 0x04,
+  0x00, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x80, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
+  0x08, 0x8B, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x0D,  0x52, 0x17, 0x99, 0x02,  0x00, 0xCD, 0xFF, 0x96,
+  0x02, 0x00, 0x08, 0x8B,  0x1C, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x77,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x7C, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x88, 0x9B, 0x0A,
+  0x00, 0x00, 0x01, 0x00,  0x6E, 0x61, 0x6D, 0x65,  0x00, 0x5C, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x83, 0x4E, 0x12,  0x12, 0x9D, 0x02, 0x00,  0x12, 0x00, 0x96, 0x02,
+  0x00, 0x08, 0x09, 0x1C,  0x96, 0x07, 0x00, 0x08,  0x83, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x4F,
+  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x83, 0x4E,  0x96, 0x02, 0x00, 0x08,
+  0x85, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x82, 0x4E, 0x96, 0x02,
+  0x00, 0x08, 0x85, 0x1C,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x8C, 0x52, 0x4F, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x77, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x7C, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x8C, 0x9B,
+  0x0B, 0x00, 0x00, 0x01,  0x00, 0x73, 0x74, 0x79,  0x6C, 0x65, 0x00, 0x9D,  0x03, 0x96, 0x02, 0x00,
+  0x08, 0x87, 0x1C, 0x96,  0x01, 0x00, 0x02, 0x49,  0x12, 0x9D, 0x02, 0x00,  0x05, 0x00, 0x96, 0x01,
+  0x00, 0x02, 0x3E, 0x96,  0x09, 0x00, 0x08, 0x8D,  0x07, 0x00, 0x00, 0x00,  0x00, 0x08, 0x7B, 0x40,
+  0x3C, 0x96, 0x02, 0x00,  0x08, 0x87, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x8E,  0x4E, 0x12, 0x9D, 0x02,
+  0x00, 0x15, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8D,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x8F, 0x08, 0x87,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x8E, 0x4E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x87, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x90, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x91, 0x49, 0x9D, 0x02,  0x00, 0x2B, 0x00, 0x96,
+  0x02, 0x00, 0x08, 0x87,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x90, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x92,
+  0x49, 0x12, 0x9D, 0x02,  0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8D,  0x1C, 0x96, 0x04, 0x00,
+  0x08, 0x91, 0x05, 0x00,  0x4F, 0x99, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8D, 0x1C,
+  0x96, 0x04, 0x00, 0x08,  0x91, 0x05, 0x01, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x87, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x93, 0x4E,  0x12, 0x9D, 0x02, 0x00,  0x41, 0x00, 0x96, 0x04,  0x00, 0x08, 0x8A, 0x08,
+  0x87, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x93, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
+  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x94,  0x52, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x8A, 0x1C,
+  0x96, 0x01, 0x00, 0x02,  0x49, 0x12, 0x12, 0x9D,  0x02, 0x00, 0x0F, 0x00,  0x96, 0x02, 0x00, 0x08,
+  0x8D, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x93, 0x08,  0x8A, 0x1C, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x8D,
+  0x1C, 0x96, 0x04, 0x00,  0x08, 0x95, 0x08, 0x87,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x95, 0x4E, 0x4F,
+  0x96, 0x02, 0x00, 0x08,  0x87, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x96, 0x4E,  0x12, 0x9D, 0x02, 0x00,
+  0x26, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8D, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x97, 0x08, 0x87, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x96, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x98, 0x52, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x87, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x99, 0x4E,  0x12, 0x9D, 0x02, 0x00,  0x20, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8D, 0x1C,
+  0x96, 0x04, 0x00, 0x08,  0x9A, 0x08, 0x87, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x99, 0x4E, 0x96, 0x07,
+  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x9B,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x87, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x9C, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x9D, 0x49,  0x9D, 0x02, 0x00, 0x2B,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x87, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x9C,  0x4E, 0x96, 0x02, 0x00,
+  0x08, 0x92, 0x49, 0x12,  0x9D, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8D, 0x1C, 0x96,
+  0x04, 0x00, 0x08, 0x9D,  0x05, 0x00, 0x4F, 0x99,  0x02, 0x00, 0x0E, 0x00,  0x96, 0x02, 0x00, 0x08,
+  0x8D, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x9D, 0x05,  0x01, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x87, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x9E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x9F, 0x49,  0x9D, 0x02, 0x00, 0x4F,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x87, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x9E,  0x4E, 0x96, 0x02, 0x00,
+  0x08, 0xA0, 0x49, 0x9D,  0x02, 0x00, 0x25, 0x00,  0x96, 0x02, 0x00, 0x08,  0x8D, 0x1C, 0x96, 0x04,
+  0x00, 0x08, 0x9E, 0x08,  0x87, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x9E, 0x4E,  0x96, 0x07, 0x00, 0x07,
+  0x01, 0x00, 0x00, 0x00,  0x08, 0x9B, 0x3D, 0x4F,  0x99, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,
+  0x08, 0x8D, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x9E,  0x05, 0x00, 0x4F, 0x99,  0x02, 0x00, 0x0E, 0x00,
+  0x96, 0x02, 0x00, 0x08,  0x8D, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x9E, 0x05,  0x01, 0x4F, 0x96, 0x02,
+  0x00, 0x08, 0x87, 0x1C,  0x96, 0x02, 0x00, 0x08,  0xA1, 0x4E, 0x12, 0x9D,  0x02, 0x00, 0x20, 0x00,
+  0x96, 0x02, 0x00, 0x08,  0x8D, 0x1C, 0x96, 0x04,  0x00, 0x08, 0xA1, 0x08,  0x87, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0xA1, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x9B, 0x3D, 0x4F,
+  0x96, 0x02, 0x00, 0x08,  0x87, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xA2, 0x4E,  0x12, 0x9D, 0x02, 0x00,
+  0x20, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8D, 0x1C,  0x96, 0x04, 0x00, 0x08,  0xA3, 0x08, 0x87, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0xA2, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x9B,
+  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x87, 0x1C,  0x96, 0x02, 0x00, 0x08,  0xA4, 0x4E, 0x12, 0x9D,
+  0x02, 0x00, 0x20, 0x00,  0x96, 0x02, 0x00, 0x08,  0x8D, 0x1C, 0x96, 0x04,  0x00, 0x08, 0xA4, 0x08,
+  0x87, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xA4, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
+  0x08, 0x9B, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x87, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xA5, 0x4E,
+  0x12, 0x9D, 0x02, 0x00,  0x20, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8D, 0x1C,  0x96, 0x04, 0x00, 0x08,
+  0xA6, 0x08, 0x87, 0x1C,  0x96, 0x02, 0x00, 0x08,  0xA5, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
+  0x00, 0x00, 0x08, 0x9B,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x87, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0xA7, 0x4E, 0x12, 0x9D,  0x02, 0x00, 0x3B, 0x00,  0x96, 0x04, 0x00, 0x08,  0x8A, 0x08, 0x87, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0xA7, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x9B,
+  0x3D, 0x3C, 0x96, 0x07,  0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x08, 0x8A,  0x1C, 0x48, 0x12, 0x9D,
+  0x02, 0x00, 0x0F, 0x00,  0x96, 0x02, 0x00, 0x08,  0x8D, 0x1C, 0x96, 0x04,  0x00, 0x08, 0xA8, 0x08,
+  0x8A, 0x1C, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x87,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA9, 0x4E, 0x96,
+  0x02, 0x00, 0x08, 0xAA,  0x49, 0x9D, 0x02, 0x00,  0x2B, 0x00, 0x96, 0x02,  0x00, 0x08, 0x87, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0xA9, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xAB, 0x49,  0x12, 0x9D, 0x02, 0x00,
+  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8D, 0x1C,  0x96, 0x04, 0x00, 0x08,  0xAA, 0x05, 0x00, 0x4F,
+  0x99, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8D, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xAA,
+  0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x8D,  0x1C, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x77,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7C, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,
+  0x08, 0xAC, 0x9B, 0x09,  0x00, 0x00, 0x01, 0x00,  0x63, 0x73, 0x73, 0x00,  0xC8, 0x00, 0x96, 0x04,
+  0x00, 0x08, 0xAF, 0x08,  0xAD, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0xAE, 0x52, 0x3C,  0x96, 0x02, 0x00, 0x08,  0xAF, 0x1C, 0x44, 0x96,
+  0x02, 0x00, 0x08, 0xB0,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x06, 0x00, 0x96,  0x02, 0x00, 0x05, 0x00,
+  0x3E, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x82,  0x4E, 0x12, 0x12, 0x9D,
+  0x02, 0x00, 0x12, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x82, 0x07,
+  0x00, 0x00, 0x00, 0x00,  0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0xAF, 0x46,  0x87, 0x01, 0x00, 0x00,
+  0x96, 0x01, 0x00, 0x02,  0x49, 0x9D, 0x02, 0x00,  0x56, 0x00, 0x96, 0x04,  0x00, 0x08, 0x80, 0x04,
+  0x00, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x82, 0x4E, 0x96, 0x02,
+  0x00, 0x08, 0x80, 0x1C,  0x96, 0x02, 0x00, 0x08,  0xAF, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x80, 0x1C,
+  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x7D, 0x52, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x80,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,
+  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x88, 0x52, 0x17, 0x99,  0x02, 0x00, 0x9C, 0xFF,
+  0x96, 0x02, 0x00, 0x05,  0x01, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x77,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x7C, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x04, 0x00,  0x08, 0xB1, 0x08, 0x77,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7C, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,
+  0x08, 0xAC, 0x4E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x77, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7C, 0x4E,
+  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x33, 0x07,  0x00, 0x00, 0x00, 0x00,
+  0x07, 0x2D, 0x01, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
+  0x00, 0x08, 0x77, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7C, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
+  0x96, 0x02, 0x00, 0x08,  0x35, 0x9B, 0x05, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x4F, 0x96, 0x02,
+  0x00, 0x08, 0x77, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7C, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
+  0x96, 0x02, 0x00, 0x08,  0x36, 0x9B, 0x09, 0x00,  0x00, 0x01, 0x00, 0x73,  0x72, 0x63, 0x00, 0x6B,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x38, 0x1C, 0x96,  0x01, 0x00, 0x02, 0x49,  0x12, 0x9D, 0x02, 0x00,
+  0x19, 0x00, 0x96, 0x09,  0x00, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x35,  0x52, 0x17, 0x99, 0x02,  0x00, 0x41, 0x00, 0x96,  0x04, 0x00, 0x08, 0xAF,
+  0x08, 0x38, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0xB1, 0x52,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x37,
+  0x08, 0xAF, 0x1C, 0x4F,  0x96, 0x02, 0x00, 0x08,  0xAF, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
+  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x35, 0x52, 0x17,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x77, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7C,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
+  0x13, 0x00, 0x08, 0xAE,  0x07, 0x65, 0x00, 0x00,  0x00, 0x07, 0x71, 0x00,  0x00, 0x00, 0x07, 0x02,
+  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x77,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x7C, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x98, 0x07, 0x66,
+  0x00, 0x00, 0x00, 0x07,  0x71, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x77, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7C,  0x4E, 0x96, 0x02, 0x00,
+  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x94,  0x07, 0x67, 0x00, 0x00,  0x00, 0x07, 0x71, 0x00,
+  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x08, 0x00, 0x07, 0x03,
+  0x04, 0x00, 0x00, 0x02,  0x08, 0x77, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7C,  0x4E, 0x96, 0x02, 0x00,
+  0x08, 0x30, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,
+  0x09, 0x00, 0x07, 0x03,  0x04, 0x00, 0x00, 0x08,  0x7C, 0x08, 0x77, 0x1C,  0x96, 0x07, 0x00, 0x07,
+  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x13, 0x00, 0x08,  0xB2, 0x07, 0x00, 0x00,
+  0x00, 0x00, 0x07, 0xFA,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x1D,
+  0x96, 0x13, 0x00, 0x08,  0xB3, 0x07, 0x01, 0x00,  0x00, 0x00, 0x07, 0xFA,  0x00, 0x00, 0x00, 0x07,
+  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x1D,  0x96, 0x13, 0x00, 0x08,  0xB4, 0x07, 0x02, 0x00,
+  0x00, 0x00, 0x07, 0xFA,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x1D,
+  0x96, 0x04, 0x00, 0x08,  0xB5, 0x08, 0xB3, 0x1C,  0x1D, 0x96, 0x03, 0x00,  0x08, 0x13, 0x02, 0x1D,
+  0x96, 0x0D, 0x00, 0x07,  0x06, 0x00, 0x00, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x02, 0x08, 0x09,
+  0x1C, 0x96, 0x07, 0x00,  0x07, 0x04, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,  0x17, 0x00
 };
 
diff-tree df08f79f1a4f119c646922cecac83fbed966ade1 (from f85b0945dfa9e438af6dae91c91ed65d73340986)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Sat Oct 13 12:10:12 2007 +0300

    Format the typeof exception for TextField little better

diff --git a/libswfdec/swfdec_as_interpret.c b/libswfdec/swfdec_as_interpret.c
index 6af0db9..59b6052 100644
--- a/libswfdec/swfdec_as_interpret.c
+++ b/libswfdec/swfdec_as_interpret.c
@@ -2104,10 +2104,12 @@ swfdec_action_type_of (SwfdecAsContext *
     case SWFDEC_AS_TYPE_OBJECT:
       {
 	SwfdecAsObject *obj = SWFDEC_AS_VALUE_GET_OBJECT (val);
-	if (SWFDEC_IS_TEXT_FIELD_MOVIE (obj)) {
-	  type = SWFDEC_AS_STR_object;
-	} else if (SWFDEC_IS_MOVIE (obj)) {
-	  type = SWFDEC_AS_STR_movieclip;
+	if (SWFDEC_IS_MOVIE (obj)) {
+	  if (SWFDEC_IS_TEXT_FIELD_MOVIE (obj)) {
+	    type = SWFDEC_AS_STR_object;
+	  } else {
+	    type = SWFDEC_AS_STR_movieclip;
+	  }
 	} else if (SWFDEC_IS_AS_FUNCTION (obj)) {
 	  type = SWFDEC_AS_STR_function;
 	} else {
diff-tree f85b0945dfa9e438af6dae91c91ed65d73340986 (from 1c59d3490ad6a002dcfebdc67fbcb6b6d20f9744)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Sat Oct 13 12:04:49 2007 +0300

    Fix typo: Was setting TextField's native properties to TextFormat by accident

diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c
index 8e67933..a4ecd5c 100644
--- a/libswfdec/swfdec_text_field_movie_as.c
+++ b/libswfdec/swfdec_text_field_movie_as.c
@@ -749,7 +749,7 @@ swfdec_text_field_movie_init_properties 
 
   g_return_if_fail (SWFDEC_IS_AS_CONTEXT (cx));
 
-  swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextFormat, &val);
+  swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
   if (!SWFDEC_AS_VALUE_IS_OBJECT (&val))
     return;
   object = SWFDEC_AS_VALUE_GET_OBJECT (&val);
diff-tree 1c59d3490ad6a002dcfebdc67fbcb6b6d20f9744 (from f8657b2bf57918cb493944e14e6cbc660c989c6c)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Sat Oct 13 12:02:03 2007 +0300

    Fix an assert when TextField has no text

diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index 3df04b0..2827961 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -297,7 +297,7 @@ swfdec_text_field_movie_generate_paragra
 
   num = 0;
   p = text->text_display;
-  while (p != NULL) {
+  while (p != NULL && *p != '\0') {
     num++;
     p = strchr (p, '\r');
     if (p != NULL) p++;
diff-tree f8657b2bf57918cb493944e14e6cbc660c989c6c (from 7feb2c4407bf21cf65dbc6c2dd77997636e9cda3)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Sat Oct 13 11:28:19 2007 +0300

    Fix reading of some integers values in TextFormat at version 8

diff --git a/libswfdec/swfdec_text_format.c b/libswfdec/swfdec_text_format.c
index 569dfd9..f507b86 100644
--- a/libswfdec/swfdec_text_format.c
+++ b/libswfdec/swfdec_text_format.c
@@ -258,16 +258,25 @@ swfdec_text_format_value_to_integer (Swf
   swfdec_as_value_to_string (cx, val);
 
   if (cx->version >= 8) {
-    if (!isnan (d) && ((!isfinite (d) && d > 0) || (isfinite (d) && d > (int)G_MAXINT32))) {
-      // don't check allow_negative here
-      return -2147483648;
-    } else {
-      if (!allow_negative && (int)d < 0) {
-	return 0;
+    if (isnan (d))
+      return (allow_negative ? G_MININT32 : 0);
+
+    if (!isfinite (d)) {
+      if (d > 0) {
+	return G_MININT32;
       } else {
-	return (int)d;
+	return (allow_negative ? G_MININT32 : 0);
       }
     }
+    if (d > (double)G_MAXINT32)
+      return G_MININT32;
+
+    n = (int)d;
+    if (!allow_negative && n < 0) {
+      return 0;
+    } else {
+      return n;
+    }
   } else {
     if (!allow_negative && n < 0) {
       return 0;
diff-tree 7feb2c4407bf21cf65dbc6c2dd77997636e9cda3 (from parents)
Merge: 2f16ab4da1787dc8e33ac0688197651d362a5dfc 0cf1868898db2da4a74e46c5fe7d3a68d35cf8e7
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Sat Oct 13 10:54:02 2007 +0300

    Merge branch 'master' into textfield

diff-tree 2f16ab4da1787dc8e33ac0688197651d362a5dfc (from e1711c4cde0487d8d5995727cda1a007274cb953)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Sat Oct 13 10:24:00 2007 +0300

    Create TextField's native properties even when TextField is created from a tag
    
    Also changed the property initialization to use _global.TextField.prototype and
    not object.__proto__. Plus don't initialize them only once, but every time a
    TextField is created

diff --git a/libswfdec/swfdec_player_internal.h b/libswfdec/swfdec_player_internal.h
index 7dc105c..182acd0 100644
--- a/libswfdec/swfdec_player_internal.h
+++ b/libswfdec/swfdec_player_internal.h
@@ -74,7 +74,6 @@ struct _SwfdecPlayer
   double		scale_y;		/* cached y scale value */
   int			offset_x;		/* x offset from top left edge after scaling */
   int			offset_y;		/* y offset from top left edge after scaling */
-  gboolean		edittext_movie_properties_initialized; /* whether TextField object's native properties have been initialized */
   gboolean		xml_properties_initialized; /* whether XML object's native properties have been initialized */
   gboolean		xml_node_properties_initialized; /* same for XMLNode */
 
diff --git a/libswfdec/swfdec_text_field_movie.h b/libswfdec/swfdec_text_field_movie.h
index 40ed0a2..2ade6e2 100644
--- a/libswfdec/swfdec_text_field_movie.h
+++ b/libswfdec/swfdec_text_field_movie.h
@@ -101,6 +101,9 @@ void		swfdec_text_field_movie_set_text_f
 							 guint			start_index,
 							 guint			end_index);
 
+/* implemented in swfdec_text_field_movie_as.c */
+void		swfdec_text_field_movie_init_properties	(SwfdecAsContext *	cx);
+
 /* implemented in swfdec_html_parser.c */
 void		swfdec_text_field_movie_html_parse	(SwfdecTextFieldMovie *	text, 
 							 const char *		str);
diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c
index a050545..8e67933 100644
--- a/libswfdec/swfdec_text_field_movie_as.c
+++ b/libswfdec/swfdec_text_field_movie_as.c
@@ -741,6 +741,47 @@ swfdec_text_field_movie_add_variable (Sw
   swfdec_as_object_add_variable (object, variable, get_func, set_func, 0);
 }
 
+void
+swfdec_text_field_movie_init_properties (SwfdecAsContext *cx)
+{
+  SwfdecAsValue val;
+  SwfdecAsObject *object, *proto;
+
+  g_return_if_fail (SWFDEC_IS_AS_CONTEXT (cx));
+
+  swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextFormat, &val);
+  if (!SWFDEC_AS_VALUE_IS_OBJECT (&val))
+    return;
+  object = SWFDEC_AS_VALUE_GET_OBJECT (&val);
+  swfdec_as_object_get_variable (object, SWFDEC_AS_STR_prototype, &val);
+  if (!SWFDEC_AS_VALUE_IS_OBJECT (&val))
+    return;
+  proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
+
+  swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_text,
+      swfdec_text_field_movie_get_text, swfdec_text_field_movie_do_set_text);
+  swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_htmlText,
+      swfdec_text_field_movie_get_htmlText,
+      swfdec_text_field_movie_set_htmlText);
+  swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_html,
+      swfdec_text_field_movie_get_html, swfdec_text_field_movie_set_html);
+  swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_condenseWhite,
+      swfdec_text_field_movie_get_condenseWhite,
+      swfdec_text_field_movie_set_condenseWhite);
+  swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_embedFonts,
+      swfdec_text_field_movie_get_embedFonts,
+      swfdec_text_field_movie_set_embedFonts);
+  swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_length,
+      swfdec_text_field_movie_get_length,
+      swfdec_text_field_movie_set_length);
+  swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
+      swfdec_text_field_movie_get_textColor,
+      swfdec_text_field_movie_set_textColor);
+  swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_autoSize,
+      swfdec_text_field_movie_get_autoSize,
+      swfdec_text_field_movie_set_autoSize);
+}
+
 SWFDEC_AS_CONSTRUCTOR (104, 0, swfdec_text_field_movie_construct, swfdec_text_field_movie_get_type)
 void
 swfdec_text_field_movie_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
@@ -763,39 +804,7 @@ swfdec_text_field_movie_construct (Swfde
 
   g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (object));
 
-  if (!SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized) {
-    SwfdecAsValue val;
-    SwfdecAsObject *proto;
-
-    swfdec_as_object_get_variable (object, SWFDEC_AS_STR___proto__, &val);
-    g_return_if_fail (SWFDEC_AS_VALUE_IS_OBJECT (&val));
-    proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
-
-    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_text,
-	swfdec_text_field_movie_get_text, swfdec_text_field_movie_do_set_text);
-    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_htmlText,
-	swfdec_text_field_movie_get_htmlText,
-	swfdec_text_field_movie_set_htmlText);
-    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_html,
-	swfdec_text_field_movie_get_html, swfdec_text_field_movie_set_html);
-    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_condenseWhite,
-	swfdec_text_field_movie_get_condenseWhite,
-	swfdec_text_field_movie_set_condenseWhite);
-    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_embedFonts,
-	swfdec_text_field_movie_get_embedFonts,
-	swfdec_text_field_movie_set_embedFonts);
-    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_length,
-	swfdec_text_field_movie_get_length,
-	swfdec_text_field_movie_set_length);
-    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
-	swfdec_text_field_movie_get_textColor,
-	swfdec_text_field_movie_set_textColor);
-    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_autoSize,
-	swfdec_text_field_movie_get_autoSize,
-	swfdec_text_field_movie_set_autoSize);
-
-    SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
-  }
+  swfdec_text_field_movie_init_properties (cx);
 
   SWFDEC_AS_VALUE_SET_OBJECT (ret, object);
 }
diff-tree e1711c4cde0487d8d5995727cda1a007274cb953 (from dfdcd5343d04f91b23aa6b31df09bcb50179243a)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 12 22:21:24 2007 +0300

    Set constructor correctly when creating TextField from a tag

diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index ba4d5f3..3df04b0 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -525,11 +525,17 @@ swfdec_text_field_movie_init_movie (Swfd
   SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
   SwfdecAsContext *cx;
   SwfdecAsObject *parent;
-  SwfdecAsValue val = { 0, };
+  SwfdecAsValue val;
   const char *s;
 
   cx = SWFDEC_AS_OBJECT (movie)->context;
 
+  swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
+  if (SWFDEC_AS_VALUE_IS_OBJECT (&val)) {
+    swfdec_as_object_set_constructor (SWFDEC_AS_OBJECT (movie),
+	SWFDEC_AS_VALUE_GET_OBJECT (&val));
+  }
+
   // format
   text->format_new =
     SWFDEC_TEXT_FORMAT (swfdec_text_format_new_no_properties (cx));
diff-tree dfdcd5343d04f91b23aa6b31df09bcb50179243a (from parents)
Merge: 7b361b808b23724fcc70481894757083a1ea81d2 7a7aaf0a197ede39fc90d975139558da438665f4
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 12 14:09:21 2007 +0300

    Merge branch 'master' into textfield
    
    Conflicts:
    
    	libswfdec/swfdec_text_format.c

diff --cc libswfdec/swfdec_text_format.c
index ea5f280,273e611..569dfd9
@@@ -435,33 -381,11 +435,38 @@@
  }
  
  static void
 -swfdec_text_format_set_color (SwfdecAsContext *cx, SwfdecAsObject *object,
 +swfdec_text_format_do_set_color (SwfdecAsContext *cx, SwfdecAsObject *object,
      guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
  {
 -  swfdec_text_format_set_int (object,
 -      G_STRUCT_OFFSET (SwfdecTextFormat, color), argc, argv, FALSE, TRUE);
 +  SwfdecTextFormat *format;
 +
 +  if (!SWFDEC_IS_TEXT_FORMAT (object))
 +    return;
 +  format = SWFDEC_TEXT_FORMAT (object);
 +
 +  if (argc < 1)
 +    return;
 +
 +
 +  if (SWFDEC_AS_VALUE_IS_UNDEFINED (&argv[0]) ||
 +      SWFDEC_AS_VALUE_IS_NULL (&argv[0])) {
 +    swfdec_text_format_mark_unset (format, PROP_COLOR);
 +  } else {
 +    if (cx->version >= 8) {
-       format->color = (unsigned)swfdec_as_value_to_number (cx, &argv[0]);
++      double d = swfdec_as_value_to_number (cx, &argv[0]);
++      if (!isfinite (d)) {
++	format->color = 0;
++      } else {
++	format->color = (unsigned)d;
++      }
 +    } else {
 +      format->color = (unsigned)swfdec_as_value_to_integer (cx, &argv[0]);
 +    }
 +    swfdec_as_value_to_integer (cx, &argv[0]);
 +    swfdec_as_value_to_string (cx, &argv[0]);
 +
 +    swfdec_text_format_mark_set (format, PROP_COLOR);
 +  }
  }
  
  static void
diff-tree 7b361b808b23724fcc70481894757083a1ea81d2 (from f52b751d4dd6680a103a67c714c47b817f361be3)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 12 13:27:54 2007 +0300

    Create TextFormat's native properties at correct times (hopefully)

diff --git a/libswfdec/swfdec_player_internal.h b/libswfdec/swfdec_player_internal.h
index 01a34d3..7dc105c 100644
--- a/libswfdec/swfdec_player_internal.h
+++ b/libswfdec/swfdec_player_internal.h
@@ -74,7 +74,6 @@ struct _SwfdecPlayer
   double		scale_y;		/* cached y scale value */
   int			offset_x;		/* x offset from top left edge after scaling */
   int			offset_y;		/* y offset from top left edge after scaling */
-  gboolean		text_format_properties_initialized; /* whether TextFormat object's native properties have been initialized */
   gboolean		edittext_movie_properties_initialized; /* whether TextField object's native properties have been initialized */
   gboolean		xml_properties_initialized; /* whether XML object's native properties have been initialized */
   gboolean		xml_node_properties_initialized; /* same for XMLNode */
diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index 0f17e86..ba4d5f3 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -531,7 +531,8 @@ swfdec_text_field_movie_init_movie (Swfd
   cx = SWFDEC_AS_OBJECT (movie)->context;
 
   // format
-  text->format_new = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (cx));
+  text->format_new =
+    SWFDEC_TEXT_FORMAT (swfdec_text_format_new_no_properties (cx));
   swfdec_text_format_set_defaults (text->format_new);
   text->format_new->color = text->text->color;
   text->format_new->align = text->text->align;
diff --git a/libswfdec/swfdec_text_format.c b/libswfdec/swfdec_text_format.c
index 55e767f..ea5f280 100644
--- a/libswfdec/swfdec_text_format.c
+++ b/libswfdec/swfdec_text_format.c
@@ -978,6 +978,71 @@ swfdec_text_format_clear (SwfdecTextForm
   swfdec_text_format_mark_set (format, PROP_DISPLAY);
 }
 
+static void
+swfdec_text_format_init_properties (SwfdecAsContext *cx)
+{
+  SwfdecAsValue val;
+  SwfdecAsObject *proto;
+
+  g_return_if_fail (SWFDEC_IS_AS_CONTEXT (cx));
+
+  swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextFormat, &val);
+  if (!SWFDEC_AS_VALUE_IS_OBJECT (&val))
+    return;
+  proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
+  swfdec_as_object_get_variable (proto, SWFDEC_AS_STR_prototype, &val);
+  if (!SWFDEC_AS_VALUE_IS_OBJECT (&val))
+    return;
+  proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
+
+  swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_align,
+      swfdec_text_format_do_get_align, swfdec_text_format_do_set_align);
+  swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_blockIndent,
+      swfdec_text_format_do_get_block_indent,
+      swfdec_text_format_do_set_block_indent);
+  swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_bold,
+      swfdec_text_format_do_get_bold, swfdec_text_format_do_set_bold);
+  swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_bullet,
+      swfdec_text_format_do_get_bullet, swfdec_text_format_do_set_bullet);
+  swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_color,
+      swfdec_text_format_do_get_color, swfdec_text_format_do_set_color);
+  swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_display,
+      swfdec_text_format_do_get_display, swfdec_text_format_do_set_display);
+  swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_font,
+      swfdec_text_format_do_get_font, swfdec_text_format_do_set_font);
+  swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_indent,
+      swfdec_text_format_do_get_indent, swfdec_text_format_do_set_indent);
+  swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_italic,
+      swfdec_text_format_do_get_italic, swfdec_text_format_do_set_italic);
+  if (cx->version >= 8) {
+    swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_kerning,
+	swfdec_text_format_do_get_kerning, swfdec_text_format_do_set_kerning);
+  }
+  swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_leading,
+      swfdec_text_format_do_get_leading, swfdec_text_format_do_set_leading);
+  swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_leftMargin,
+      swfdec_text_format_do_get_left_margin,
+      swfdec_text_format_do_set_left_margin);
+  if (cx->version >= 8) {
+    swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_letterSpacing,
+	swfdec_text_format_do_get_letter_spacing,
+	swfdec_text_format_do_set_letter_spacing);
+  }
+  swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_rightMargin,
+      swfdec_text_format_do_get_right_margin,
+      swfdec_text_format_do_set_right_margin);
+  swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_size,
+      swfdec_text_format_do_get_size, swfdec_text_format_do_set_size);
+  swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_tabStops,
+      swfdec_text_format_do_get_tab_stops, swfdec_text_format_do_set_tab_stops);
+  swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_target,
+      swfdec_text_format_do_get_target, swfdec_text_format_do_set_target);
+  swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_underline,
+      swfdec_text_format_do_get_underline, swfdec_text_format_do_set_underline);
+  swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_url,
+      swfdec_text_format_do_get_url, swfdec_text_format_do_set_url);
+}
+
 SWFDEC_AS_CONSTRUCTOR (110, 0, swfdec_text_format_construct, swfdec_text_format_get_type)
 void
 swfdec_text_format_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
@@ -992,63 +1057,7 @@ swfdec_text_format_construct (SwfdecAsCo
 
   g_assert (SWFDEC_IS_TEXT_FORMAT (object));
 
-  if (!SWFDEC_PLAYER (cx)->text_format_properties_initialized) {
-    SwfdecAsValue val;
-    SwfdecAsObject *proto;
-
-    swfdec_as_object_get_variable (object, SWFDEC_AS_STR___proto__, &val);
-    g_return_if_fail (SWFDEC_AS_VALUE_IS_OBJECT (&val));
-    proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
-
-    swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_align,
-	swfdec_text_format_do_get_align, swfdec_text_format_do_set_align);
-    swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_blockIndent,
-	swfdec_text_format_do_get_block_indent,
-	swfdec_text_format_do_set_block_indent);
-    swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_bold,
-	swfdec_text_format_do_get_bold, swfdec_text_format_do_set_bold);
-    swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_bullet,
-	swfdec_text_format_do_get_bullet, swfdec_text_format_do_set_bullet);
-    swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_color,
-	swfdec_text_format_do_get_color, swfdec_text_format_do_set_color);
-    swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_display,
-	swfdec_text_format_do_get_display, swfdec_text_format_do_set_display);
-    swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_font,
-	swfdec_text_format_do_get_font, swfdec_text_format_do_set_font);
-    swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_indent,
-	swfdec_text_format_do_get_indent, swfdec_text_format_do_set_indent);
-    swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_italic,
-	swfdec_text_format_do_get_italic, swfdec_text_format_do_set_italic);
-    if (cx->version >= 8) {
-      swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_kerning,
-	  swfdec_text_format_do_get_kerning, swfdec_text_format_do_set_kerning);
-    }
-    swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_leading,
-	swfdec_text_format_do_get_leading, swfdec_text_format_do_set_leading);
-    swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_leftMargin,
-	swfdec_text_format_do_get_left_margin,
-	swfdec_text_format_do_set_left_margin);
-    if (cx->version >= 8) {
-      swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_letterSpacing,
-	  swfdec_text_format_do_get_letter_spacing,
-	  swfdec_text_format_do_set_letter_spacing);
-    }
-    swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_rightMargin,
-	swfdec_text_format_do_get_right_margin,
-	swfdec_text_format_do_set_right_margin);
-    swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_size,
-	swfdec_text_format_do_get_size, swfdec_text_format_do_set_size);
-    swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_tabStops,
-	swfdec_text_format_do_get_tab_stops, swfdec_text_format_do_set_tab_stops);
-    swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_target,
-	swfdec_text_format_do_get_target, swfdec_text_format_do_set_target);
-    swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_underline,
-	swfdec_text_format_do_get_underline, swfdec_text_format_do_set_underline);
-    swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_url,
-	swfdec_text_format_do_get_url, swfdec_text_format_do_set_url);
-
-    SWFDEC_PLAYER (cx)->text_format_properties_initialized = TRUE;
-  }
+  swfdec_text_format_init_properties (cx);
 
   swfdec_text_format_clear (SWFDEC_TEXT_FORMAT (object));
 
@@ -1119,7 +1128,7 @@ swfdec_text_format_copy (const SwfdecTex
 }
 
 SwfdecAsObject *
-swfdec_text_format_new (SwfdecAsContext *context)
+swfdec_text_format_new_no_properties (SwfdecAsContext *context)
 {
   SwfdecAsObject *ret;
   SwfdecAsValue val;
@@ -1141,3 +1150,13 @@ swfdec_text_format_new (SwfdecAsContext 
 
   return ret;
 }
+
+SwfdecAsObject *
+swfdec_text_format_new (SwfdecAsContext *context)
+{
+  g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), NULL);
+
+  swfdec_text_format_init_properties (context);
+
+  return swfdec_text_format_new_no_properties (context);
+}
diff --git a/libswfdec/swfdec_text_format.h b/libswfdec/swfdec_text_format.h
index 91d242f..9fc7cee 100644
--- a/libswfdec/swfdec_text_format.h
+++ b/libswfdec/swfdec_text_format.h
@@ -84,6 +84,7 @@ struct _SwfdecTextFormatClass {
 GType		swfdec_text_format_get_type	(void);
 
 SwfdecAsObject * swfdec_text_format_new		(SwfdecAsContext *	context);
+SwfdecAsObject * swfdec_text_format_new_no_properties (SwfdecAsContext *	context);
 void		swfdec_text_format_set_defaults	(SwfdecTextFormat *	format);
 SwfdecTextFormat * swfdec_text_format_copy	(const SwfdecTextFormat *copy_from);
 void		swfdec_text_format_add		(SwfdecTextFormat *	format,
diff-tree f52b751d4dd6680a103a67c714c47b817f361be3 (from 89f229892ce0825a28476872261545f7d37c76dc)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 12 11:35:10 2007 +0300

    Add one more valueOf call. Fix TextField's textColor property setting

diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c
index 3dba443..a050545 100644
--- a/libswfdec/swfdec_text_field_movie_as.c
+++ b/libswfdec/swfdec_text_field_movie_as.c
@@ -434,6 +434,8 @@ swfdec_text_field_movie_set_embedFonts (
 
   SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "b", &value);
 
+  swfdec_as_value_to_number (cx, &argv[0]);
+
   text->text->embed_fonts = value;
 }
 
@@ -473,20 +475,26 @@ swfdec_text_field_movie_get_textColor (S
       SWFDEC_AS_STR_color, ret);
 }
 
+// This doesn't work the same way as TextFormat's color setting
 static void
 swfdec_text_field_movie_set_textColor (SwfdecAsContext *cx,
     SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
     SwfdecAsValue *ret)
 {
   SwfdecTextFieldMovie *text;
+  int value;
+  SwfdecAsValue val;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "i", &value);
 
-  if (argc < 1)
-    return;
+  if (value < 0) {
+    SWFDEC_AS_VALUE_SET_NUMBER (&val, 16777216 + value % 16777216);
+  } else {
+    SWFDEC_AS_VALUE_SET_NUMBER (&val, value);
+  }
 
   swfdec_as_object_set_variable (SWFDEC_AS_OBJECT (text->format_new),
-      SWFDEC_AS_STR_color, &argv[0]);
+      SWFDEC_AS_STR_color, &val);
 }
 
 static void
diff-tree 89f229892ce0825a28476872261545f7d37c76dc (from 534d6408cb0d7cf303d549bca5783fd4067a8120)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 12 11:15:03 2007 +0300

    Add extra calls to valueOf from TextField properties

diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c
index 33690f0..3dba443 100644
--- a/libswfdec/swfdec_text_field_movie_as.c
+++ b/libswfdec/swfdec_text_field_movie_as.c
@@ -380,6 +380,8 @@ swfdec_text_field_movie_set_html (Swfdec
 
   SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "b", &value);
 
+  swfdec_as_value_to_number (cx, &argv[0]);
+
   text->text->html = value;
 }
 
@@ -405,6 +407,8 @@ swfdec_text_field_movie_set_condenseWhit
 
   SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "b", &value);
 
+  swfdec_as_value_to_number (cx, &argv[0]);
+
   text->condense_white = value;
 }
 
@@ -433,6 +437,18 @@ swfdec_text_field_movie_set_embedFonts (
   text->text->embed_fonts = value;
 }
 
+// does nothing but calls valueOf
+static void
+swfdec_text_field_movie_set_length (SwfdecAsContext *cx, SwfdecAsObject *object,
+    guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+  SwfdecTextFieldMovie *text;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
+
+  swfdec_as_value_to_number (cx, &argv[0]);
+}
+
 static void
 swfdec_text_field_movie_get_length (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
@@ -761,7 +777,8 @@ swfdec_text_field_movie_construct (Swfde
 	swfdec_text_field_movie_get_embedFonts,
 	swfdec_text_field_movie_set_embedFonts);
     swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_length,
-	swfdec_text_field_movie_get_length, NULL);
+	swfdec_text_field_movie_get_length,
+	swfdec_text_field_movie_set_length);
     swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
 	swfdec_text_field_movie_get_textColor,
 	swfdec_text_field_movie_set_textColor);
diff-tree 534d6408cb0d7cf303d549bca5783fd4067a8120 (from dcf8696e4950586cb6ec78835898b0618e722972)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 12 11:14:15 2007 +0300

    Fix TextField trying to mark some strings even if they were NULL

diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index 00cd627..0f17e86 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -478,9 +478,11 @@ swfdec_text_field_movie_mark (SwfdecAsOb
 
   text = SWFDEC_TEXT_FIELD_MOVIE (object);
 
-  swfdec_as_string_mark (text->text_input);
+  if (text->text_input != NULL)
+    swfdec_as_string_mark (text->text_input);
   swfdec_as_string_mark (text->text_display);
-  swfdec_as_string_mark (text->variable);
+  if (text->variable != NULL)
+    swfdec_as_string_mark (text->variable);
   swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->format_new));
   for (iter = text->formats; iter != NULL; iter = iter->next) {
     swfdec_as_object_mark (
diff-tree dcf8696e4950586cb6ec78835898b0618e722972 (from b0528b30dcae570de489ccbfa7260b346d3570c6)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 12 11:02:07 2007 +0300

    Drop unneeded gpointer casts from SWFDEC_AS_CHECK calls in TextField

diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c
index 1b2afb5..33690f0 100644
--- a/libswfdec/swfdec_text_field_movie_as.c
+++ b/libswfdec/swfdec_text_field_movie_as.c
@@ -42,7 +42,7 @@ swfdec_text_field_movie_get_text (Swfdec
 {
   SwfdecTextFieldMovie *text;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
 
   SWFDEC_AS_VALUE_SET_STRING (ret, (text->text_display != NULL ?
 	swfdec_as_context_get_string (cx, text->text_display) :
@@ -57,7 +57,7 @@ swfdec_text_field_movie_do_set_text (Swf
   SwfdecTextFieldMovie *text;
   const char *value;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "s", &value);
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "s", &value);
 
   swfdec_text_field_movie_set_text (text, value, FALSE);
 }
@@ -313,7 +313,7 @@ swfdec_text_field_movie_get_htmlText (Sw
   const char *p, *end;
   GString *string;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
 
   if (text->text->html == FALSE) {
     swfdec_text_field_movie_get_text (cx, object, argc, argv, ret);
@@ -355,7 +355,7 @@ swfdec_text_field_movie_set_htmlText (Sw
   SwfdecTextFieldMovie *text;
   const char *value;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "s", &value);
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "s", &value);
 
   swfdec_text_field_movie_set_text (text, value, text->text->html);
 }
@@ -366,7 +366,7 @@ swfdec_text_field_movie_get_html (Swfdec
 {
   SwfdecTextFieldMovie *text;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
 
   SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->html);
 }
@@ -378,7 +378,7 @@ swfdec_text_field_movie_set_html (Swfdec
   SwfdecTextFieldMovie *text;
   gboolean value;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "b", &value);
 
   text->text->html = value;
 }
@@ -390,7 +390,7 @@ swfdec_text_field_movie_get_condenseWhit
 {
   SwfdecTextFieldMovie *text;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
 
   SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->condense_white);
 }
@@ -403,7 +403,7 @@ swfdec_text_field_movie_set_condenseWhit
   SwfdecTextFieldMovie *text;
   gboolean value;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "b", &value);
 
   text->condense_white = value;
 }
@@ -415,7 +415,7 @@ swfdec_text_field_movie_get_embedFonts (
 {
   SwfdecTextFieldMovie *text;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
 
   SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->embed_fonts);
 }
@@ -428,7 +428,7 @@ swfdec_text_field_movie_set_embedFonts (
   SwfdecTextFieldMovie *text;
   gboolean value;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "b", &value);
 
   text->text->embed_fonts = value;
 }
@@ -439,7 +439,7 @@ swfdec_text_field_movie_get_length (Swfd
 {
   SwfdecTextFieldMovie *text;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
 
   SWFDEC_AS_VALUE_SET_INT (ret, strlen (text->text_display));
 }
@@ -451,7 +451,7 @@ swfdec_text_field_movie_get_textColor (S
 {
   SwfdecTextFieldMovie *text;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
 
   swfdec_as_object_get_variable (SWFDEC_AS_OBJECT (text->format_new),
       SWFDEC_AS_STR_color, ret);
@@ -464,7 +464,7 @@ swfdec_text_field_movie_set_textColor (S
 {
   SwfdecTextFieldMovie *text;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
 
   if (argc < 1)
     return;
@@ -549,7 +549,7 @@ swfdec_text_field_movie_getNewTextFormat
 {
   SwfdecTextFieldMovie *text;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
 
   SWFDEC_AS_VALUE_SET_OBJECT (ret,
       SWFDEC_AS_OBJECT (swfdec_text_format_copy (text->format_new)));
@@ -564,7 +564,7 @@ swfdec_text_field_movie_setNewTextFormat
   SwfdecTextFieldMovie *text;
   SwfdecAsObject *obj;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "o", &obj);
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "o", &obj);
 
   if (!SWFDEC_IS_TEXT_FORMAT (obj))
     return;
@@ -583,7 +583,7 @@ swfdec_text_field_movie_setTextFormat (S
   guint start_index, end_index;
   int i;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
 
   if (argc < 1)
     return;
@@ -627,7 +627,7 @@ swfdec_text_field_movie_createTextField 
   SwfdecAsFunction *fun;
   SwfdecAsValue val;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, (gpointer)&parent, "siiiii", &name, &depth, &x, &y, &width, &height);
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, &parent, "siiiii", &name, &depth, &x, &y, &width, &height);
 
   edittext = g_object_new (SWFDEC_TYPE_TEXT_FIELD, NULL);
   edittext->html = FALSE;
diff-tree b0528b30dcae570de489ccbfa7260b346d3570c6 (from 2366848fdba2db7695044b6ca6409eaf973a3059)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 12 10:59:46 2007 +0300

    Add autoSize property for TextField

diff --git a/libswfdec/swfdec_as_strings.c b/libswfdec/swfdec_as_strings.c
index 97b438c..0ff4d4c 100644
--- a/libswfdec/swfdec_as_strings.c
+++ b/libswfdec/swfdec_as_strings.c
@@ -393,6 +393,7 @@ const char swfdec_as_strings[] = 
   SWFDEC_AS_CONSTANT_STRING ("condenseWhite")
   SWFDEC_AS_CONSTANT_STRING ("textColor")
   SWFDEC_AS_CONSTANT_STRING ("embedFonts")
+  SWFDEC_AS_CONSTANT_STRING ("autoSize")
   /* add more here */
 ;
 
diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c
index 534c4e1..1b2afb5 100644
--- a/libswfdec/swfdec_text_field_movie_as.c
+++ b/libswfdec/swfdec_text_field_movie_as.c
@@ -473,6 +473,74 @@ swfdec_text_field_movie_set_textColor (S
       SWFDEC_AS_STR_color, &argv[0]);
 }
 
+static void
+swfdec_text_field_movie_get_autoSize (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecTextFieldMovie *text;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
+
+  switch (text->text->auto_size) {
+    case SWFDEC_AUTO_SIZE_NONE:
+      SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_none);
+      break;
+    case SWFDEC_AUTO_SIZE_LEFT:
+      SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_left);
+      break;
+    case SWFDEC_AUTO_SIZE_RIGHT:
+      SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_right);
+      break;
+    case SWFDEC_AUTO_SIZE_CENTER:
+      SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_center);
+      break;
+    default:
+      g_assert_not_reached ();
+  }
+}
+
+static void
+swfdec_text_field_movie_set_autoSize (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecTextFieldMovie *text;
+  SwfdecAutoSize old;
+  const char *s;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
+
+  if (argc < 1)
+    return;
+
+  if (SWFDEC_AS_VALUE_IS_BOOLEAN (&argv[0])) {
+    if (SWFDEC_AS_VALUE_GET_BOOLEAN (&argv[0])) {
+      text->text->auto_size = SWFDEC_AUTO_SIZE_LEFT;
+    } else {
+      text->text->auto_size = SWFDEC_AUTO_SIZE_NONE;
+    }
+    return;
+  }
+
+  swfdec_as_value_to_number (cx, &argv[0]);
+  s = swfdec_as_value_to_string (cx, &argv[0]);
+
+  old = text->text->auto_size;
+  if (!g_ascii_strcasecmp (s, "none")) {
+    text->text->auto_size = SWFDEC_AUTO_SIZE_NONE;
+  } else if (!g_ascii_strcasecmp (s, "left")) {
+    text->text->auto_size = SWFDEC_AUTO_SIZE_LEFT;
+  } else if (!g_ascii_strcasecmp (s, "right")) {
+    text->text->auto_size = SWFDEC_AUTO_SIZE_RIGHT;
+  } else if (!g_ascii_strcasecmp (s, "center")) {
+    text->text->auto_size = SWFDEC_AUTO_SIZE_CENTER;
+  }
+
+  if (text->text->auto_size != old)
+    swfdec_text_field_movie_format_changed (text);
+}
+
 SWFDEC_AS_NATIVE (104, 104, swfdec_text_field_movie_getNewTextFormat)
 void
 swfdec_text_field_movie_getNewTextFormat (SwfdecAsContext *cx,
@@ -697,6 +765,9 @@ swfdec_text_field_movie_construct (Swfde
     swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
 	swfdec_text_field_movie_get_textColor,
 	swfdec_text_field_movie_set_textColor);
+    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_autoSize,
+	swfdec_text_field_movie_get_autoSize,
+	swfdec_text_field_movie_set_autoSize);
 
     SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
   }
diff-tree 2366848fdba2db7695044b6ca6409eaf973a3059 (from 439b1535e25771b0f068f7b48e540cba5841c599)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 12 10:43:12 2007 +0300

    Fix crash in TextField when there is no font or no text

diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index ed617c1..00cd627 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -533,7 +533,8 @@ swfdec_text_field_movie_init_movie (Swfd
   swfdec_text_format_set_defaults (text->format_new);
   text->format_new->color = text->text->color;
   text->format_new->align = text->text->align;
-  text->format_new->font = text->text->font->name;
+  if (text->text->font != NULL && text->text->font->name != NULL)
+    text->format_new->font = text->text->font->name;
   text->format_new->size = text->text->size / 20;
   text->format_new->left_margin = text->text->left_margin / 20;
   text->format_new->right_margin = text->text->right_margin / 20;
@@ -548,6 +549,9 @@ swfdec_text_field_movie_init_movie (Swfd
     swfdec_text_field_movie_set_text (text,
 	swfdec_as_context_get_string (cx, text->text->text_input),
 	text->text->html);
+  } else {
+    swfdec_text_field_movie_set_text (text, SWFDEC_AS_STR_EMPTY,
+	text->text->html);
   }
 
   // variable
diff-tree 439b1535e25771b0f068f7b48e540cba5841c599 (from 06c4fb7786fc743b578c49dcb7c87e2b30fa9730)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Thu Oct 11 17:07:20 2007 +0300

    Add one pixel top margin and two pixel bottom margin (latter only if autosize)

diff --git a/libswfdec/swfdec_text_field.c b/libswfdec/swfdec_text_field.c
index d8e8837..2788cfc 100644
--- a/libswfdec/swfdec_text_field.c
+++ b/libswfdec/swfdec_text_field.c
@@ -278,7 +278,7 @@ swfdec_text_field_render (SwfdecTextFiel
       inval);
 
   cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
-      SWFDEC_GRAPHIC (text)->extents.y0);
+      SWFDEC_GRAPHIC (text)->extents.y0 + 1);
 
   for (iter = layouts; iter != NULL; iter = iter->next) {
     SwfdecLayout *layout = (SwfdecLayout *)iter->data;
diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index d7093fc..ed617c1 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -382,6 +382,8 @@ swfdec_text_field_movie_auto_size (Swfde
   if (text->paragraphs == NULL)
     swfdec_text_field_movie_generate_paragraphs (text);
 
+  // FIXME: Temporary using image surface, until there is a way to get cairo_t
+  // outside the rendering functions
   surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 1, 1);
   cr = cairo_create (surface);
 
@@ -389,7 +391,7 @@ swfdec_text_field_movie_auto_size (Swfde
       text->paragraphs, NULL, NULL);
 
   width = 0;
-  height = 0;
+  height = 3;
   for (iter = layouts; iter != NULL; iter = iter->next) {
     SwfdecLayout *layout = (SwfdecLayout *)iter->data;
 
diff-tree 06c4fb7786fc743b578c49dcb7c87e2b30fa9730 (from e3ebf0e278ed215549d55b0af7eb1154a7238d08)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Thu Oct 11 16:40:37 2007 +0300

    TextField: Take right margin into account when calculating layout's size

diff --git a/libswfdec/swfdec_text_field.c b/libswfdec/swfdec_text_field.c
index be892af..d8e8837 100644
--- a/libswfdec/swfdec_text_field.c
+++ b/libswfdec/swfdec_text_field.c
@@ -229,7 +229,7 @@ swfdec_text_field_generate_layouts (Swfd
       }
 
       pango_layout_get_pixel_size (playout, &layout->width, &layout->height);
-      layout->width += layout->render_offset_x;
+      layout->width += layout->render_offset_x + block->right_margin;
       layout->height += block->leading / PANGO_SCALE;
 
       if (!text->word_wrap)
diff-tree e3ebf0e278ed215549d55b0af7eb1154a7238d08 (from e98477a12a6f883f0ad4f0ac1e006bdd9a3aa208)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Thu Oct 11 16:30:08 2007 +0300

    Fix moving to the wrong direction after rendering a pango layout

diff --git a/libswfdec/swfdec_text_field.c b/libswfdec/swfdec_text_field.c
index 4df7d1f..be892af 100644
--- a/libswfdec/swfdec_text_field.c
+++ b/libswfdec/swfdec_text_field.c
@@ -289,7 +289,7 @@ swfdec_text_field_render (SwfdecTextFiel
 
     pango_cairo_show_layout (cr, layout->layout);
 
-    cairo_rel_move_to (cr, layout->render_offset_x, layout->height);
+    cairo_rel_move_to (cr, -layout->render_offset_x, layout->height);
 
     g_object_unref (layout->layout);
     g_free (layout);
diff-tree e98477a12a6f883f0ad4f0ac1e006bdd9a3aa208 (from a4422e2a8bf31b28136d2b6cf1c92e31bf1a9e98)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Thu Oct 11 16:25:06 2007 +0300

    Support TextField's auto sizing

diff --git a/libswfdec/swfdec_text_field.c b/libswfdec/swfdec_text_field.c
index 1d57cc7..4df7d1f 100644
--- a/libswfdec/swfdec_text_field.c
+++ b/libswfdec/swfdec_text_field.c
@@ -82,49 +82,22 @@ swfdec_text_field_init (SwfdecTextField 
   text->max_length = G_MAXUINT;
 }
 
-void
-swfdec_text_field_render (SwfdecTextField *text, cairo_t *cr,
-    const SwfdecParagraph *paragraphs, SwfdecColor border_color,
-    SwfdecColor background_color, const SwfdecColorTransform *trans,
+GList *
+swfdec_text_field_generate_layouts (SwfdecTextField *text, cairo_t *cr,
+    const SwfdecParagraph *paragraphs, const SwfdecColorTransform *trans,
     const SwfdecRect *inval)
 {
-  PangoLayout *layout;
-  SwfdecColor color;
+  GList *layouts;
   guint i;
 
-  g_return_if_fail (SWFDEC_IS_TEXT_FIELD (text));
-  g_return_if_fail (cr != NULL);
-  g_return_if_fail (paragraphs != NULL);
-  g_return_if_fail (trans != NULL);
-  g_return_if_fail (inval != NULL);
-
-  if (text->background) {
-    cairo_rectangle (cr, SWFDEC_GRAPHIC (text)->extents.x0,
-	SWFDEC_GRAPHIC (text)->extents.y0, SWFDEC_GRAPHIC (text)->extents.x1,
-	SWFDEC_GRAPHIC (text)->extents.y1);
-    color = swfdec_color_apply_transform (background_color, trans);
-    swfdec_color_set_source (cr, color);
-    cairo_fill (cr);
-  }
-
-  if (text->border) {
-    cairo_rectangle (cr, SWFDEC_GRAPHIC (text)->extents.x0,
-	SWFDEC_GRAPHIC (text)->extents.y0, SWFDEC_GRAPHIC (text)->extents.x1,
-	SWFDEC_GRAPHIC (text)->extents.y1);
-    color = swfdec_color_apply_transform (border_color, trans);
-    swfdec_color_set_source (cr, color);
-    cairo_set_line_width (cr, 20.0); // FIXME: Is this correct?
-    cairo_stroke (cr);
-  }
+  g_return_val_if_fail (SWFDEC_IS_TEXT_FIELD (text), NULL);
+  g_return_val_if_fail (cr != NULL, NULL);
+  g_return_val_if_fail (paragraphs != NULL, NULL);
 
   if (paragraphs[0].text == NULL)
-    return;
-
-  cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
-      SWFDEC_GRAPHIC (text)->extents.y0);
-
-  layout = pango_cairo_create_layout (cr);
+    return NULL;
 
+  layouts = NULL;
   for (i = 0; paragraphs[i].text != NULL; i++)
   {
     GList *iter;
@@ -133,10 +106,11 @@ swfdec_text_field_render (SwfdecTextFiel
     skip = 0;
     for (iter = paragraphs[i].blocks; iter != NULL; iter = iter->next)
     {
-      int height, width;
+      SwfdecLayout *layout;
+      PangoLayout *playout;
+      int width;
       guint length;
       SwfdecBlock *block;
-      PangoAttrList *attr_list;
 
       block = (SwfdecBlock *)iter->data;
       if (iter->next != NULL) {
@@ -151,39 +125,44 @@ swfdec_text_field_render (SwfdecTextFiel
 	continue;
       }
 
-      // update position
-      cairo_rel_move_to (cr, block->left_margin + block->block_indent, 0);
+      // create layout
+      layout = g_new0 (SwfdecLayout, 1);
+      playout = layout->layout = pango_cairo_create_layout (cr);
+      layouts = g_list_append (layouts, layout);
+
+      // set rendering position
+      layout->render_offset_x = block->left_margin + block->block_indent;
       width = SWFDEC_GRAPHIC (text)->extents.x1 -
 	SWFDEC_GRAPHIC (text)->extents.x0 - block->left_margin -
 	block->right_margin - block->block_indent;
 
       if (block->index_ == 0 && paragraphs[i].indent < 0) {
-	cairo_rel_move_to (cr, paragraphs[i].indent / PANGO_SCALE, 0);
+	layout->render_offset_x += paragraphs[i].indent / PANGO_SCALE;
 	width += -paragraphs[i].indent / PANGO_SCALE;
       }
 
-      pango_cairo_update_layout (cr, layout);
-      pango_layout_context_changed (layout);
-      pango_layout_set_width (layout,
+      pango_layout_set_width (playout,
 	  (text->word_wrap ? width * PANGO_SCALE : -1));
 
       // set paragraph styles
       if (block->index_ == 0) {
-	pango_layout_set_indent (layout, paragraphs[i].indent);
+	pango_layout_set_indent (playout, paragraphs[i].indent);
 	// TODO: bullet
       } else {
-	pango_layout_set_indent (layout, 0);
+	pango_layout_set_indent (playout, 0);
       }
 
       // set block styles
-      pango_layout_set_alignment (layout, block->align);
-      pango_layout_set_justify (layout, block->justify);
-      pango_layout_set_spacing (layout, block->leading);
-      pango_layout_set_tabs (layout, block->tab_stops);
+      pango_layout_set_alignment (playout, block->align);
+      pango_layout_set_justify (playout, block->justify);
+      pango_layout_set_spacing (playout, block->leading);
+      pango_layout_set_tabs (playout, block->tab_stops);
 
       // set text attributes
-      if (block->index_ > 0 || !swfdec_color_transform_is_identity (trans))
+      if (block->index_ > 0 ||
+	  (trans != NULL && !swfdec_color_transform_is_identity (trans)))
       {
+	PangoAttrList *attr_list;
 	GList *iter_attrs;
 
 	attr_list = pango_attr_list_new ();
@@ -199,9 +178,10 @@ swfdec_text_field_render (SwfdecTextFiel
 	    continue;
 
 	  attr = pango_attribute_copy (attr);
-	  if (attr->klass->type == PANGO_ATTR_FOREGROUND &&
+	  if (attr->klass->type == PANGO_ATTR_FOREGROUND && trans != NULL &&
 	      !swfdec_color_transform_is_identity (trans))
 	  {
+	    SwfdecColor color;
 	    PangoColor pcolor;
 
 	    pcolor = ((PangoAttrColor *)attr)->color;
@@ -218,14 +198,14 @@ swfdec_text_field_render (SwfdecTextFiel
 	  attr->end_index = attr->end_index - (block->index_ + skip);
 	  pango_attr_list_insert (attr_list, attr);
 	}
+	pango_layout_set_attributes (playout, attr_list);
+	pango_attr_list_unref (attr_list);
       } else {
-	attr_list = pango_attr_list_copy (paragraphs[i].attrs_list);
+	pango_layout_set_attributes (playout, paragraphs[i].attrs_list);
       }
-      pango_layout_set_attributes (layout, attr_list);
-      pango_attr_list_unref (attr_list);
-      attr_list = NULL;
 
-      pango_layout_set_text (layout, paragraphs[i].text + block->index_ + skip,
+      pango_layout_set_text (playout,
+	  paragraphs[i].text + block->index_ + skip,
 	  paragraphs[i].text_length - block->index_ - skip);
 
       if (iter->next != NULL && text->word_wrap)
@@ -234,11 +214,11 @@ swfdec_text_field_render (SwfdecTextFiel
 	int line_num;
 	guint skip_new;
 
-	pango_layout_index_to_line_x (layout, length - skip, FALSE, &line_num,
+	pango_layout_index_to_line_x (playout, length - skip, FALSE, &line_num,
 	    NULL);
-	line = pango_layout_get_line_readonly (layout, line_num);
+	line = pango_layout_get_line_readonly (playout, line_num);
 	skip_new = line->start_index + line->length - (length - skip);
-	pango_layout_set_text (layout,
+	pango_layout_set_text (playout,
 	    paragraphs[i].text + block->index_ + skip,
 	    length - skip + skip_new);
 	skip = skip_new;
@@ -248,22 +228,78 @@ swfdec_text_field_render (SwfdecTextFiel
 	skip = 0;
       }
 
-      pango_cairo_show_layout (cr, layout);
-
-      pango_layout_get_pixel_size (layout, NULL, &height);
-      cairo_rel_move_to (cr, -(block->left_margin + block->block_indent),
-	  height + block->leading / PANGO_SCALE);
-      if (block->index_ == 0 && paragraphs[i].indent < 0)
-	cairo_rel_move_to (cr, -paragraphs[i].indent / PANGO_SCALE, 0);
+      pango_layout_get_pixel_size (playout, &layout->width, &layout->height);
+      layout->width += layout->render_offset_x;
+      layout->height += block->leading / PANGO_SCALE;
 
       if (!text->word_wrap)
 	break;
     }
   }
 
-  g_object_unref (layout);
+  return layouts;
+}
+
+void
+swfdec_text_field_render (SwfdecTextField *text, cairo_t *cr,
+    const SwfdecParagraph *paragraphs, SwfdecColor border_color,
+    SwfdecColor background_color, const SwfdecColorTransform *trans,
+    const SwfdecRect *inval)
+{
+  GList *layouts, *iter;
+  SwfdecColor color;
+
+  g_return_if_fail (SWFDEC_IS_TEXT_FIELD (text));
+  g_return_if_fail (cr != NULL);
+  g_return_if_fail (paragraphs != NULL);
+  g_return_if_fail (trans != NULL);
+  g_return_if_fail (inval != NULL);
+
+  if (text->background) {
+    cairo_rectangle (cr, SWFDEC_GRAPHIC (text)->extents.x0,
+	SWFDEC_GRAPHIC (text)->extents.y0, SWFDEC_GRAPHIC (text)->extents.x1,
+	SWFDEC_GRAPHIC (text)->extents.y1);
+    color = swfdec_color_apply_transform (background_color, trans);
+    swfdec_color_set_source (cr, color);
+    cairo_fill (cr);
+  }
+
+  if (text->border) {
+    cairo_rectangle (cr, SWFDEC_GRAPHIC (text)->extents.x0,
+	SWFDEC_GRAPHIC (text)->extents.y0, SWFDEC_GRAPHIC (text)->extents.x1,
+	SWFDEC_GRAPHIC (text)->extents.y1);
+    color = swfdec_color_apply_transform (border_color, trans);
+    swfdec_color_set_source (cr, color);
+    cairo_set_line_width (cr, 20.0); // FIXME: Is this correct?
+    cairo_stroke (cr);
+  }
+
+  layouts = swfdec_text_field_generate_layouts (text, cr, paragraphs, trans,
+      inval);
+
+  cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
+      SWFDEC_GRAPHIC (text)->extents.y0);
+
+  for (iter = layouts; iter != NULL; iter = iter->next) {
+    SwfdecLayout *layout = (SwfdecLayout *)iter->data;
+
+    cairo_rel_move_to (cr, layout->render_offset_x, 0);
+
+    pango_layout_context_changed (layout->layout);
+
+    pango_cairo_show_layout (cr, layout->layout);
+
+    cairo_rel_move_to (cr, layout->render_offset_x, layout->height);
+
+    g_object_unref (layout->layout);
+    g_free (layout);
+    iter->data = NULL;
+  }
+
+  g_list_free (layouts);
 }
 
+
 int
 tag_func_define_edit_text (SwfdecSwfDecoder * s, guint tag)
 {
diff --git a/libswfdec/swfdec_text_field.h b/libswfdec/swfdec_text_field.h
index 4998cfa..dda2787 100644
--- a/libswfdec/swfdec_text_field.h
+++ b/libswfdec/swfdec_text_field.h
@@ -40,6 +40,13 @@ typedef struct _SwfdecTextFieldClass Swf
 #define SWFDEC_TEXT_FIELD_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_TEXT_FIELD, SwfdecTextFieldClass))
 
 typedef struct {
+  PangoLayout *		layout;
+  int			render_offset_x;
+  int			height;
+  int			width;
+} SwfdecLayout;
+
+typedef struct {
   guint			index_;
 
   PangoAlignment	align;
@@ -67,8 +74,8 @@ typedef struct {
 typedef enum {
   SWFDEC_AUTO_SIZE_NONE,
   SWFDEC_AUTO_SIZE_LEFT,
-  SWFDEC_AUTO_SIZE_CENTER,
-  SWFDEC_AUTO_SIZE_RIGHT
+  SWFDEC_AUTO_SIZE_RIGHT,
+  SWFDEC_AUTO_SIZE_CENTER
 } SwfdecAutoSize;
 
 struct _SwfdecTextField
@@ -114,6 +121,11 @@ GType			swfdec_text_field_get_type	(void
 int			tag_func_define_edit_text	(SwfdecSwfDecoder *	s,
 							 guint			tag);
 
+GList *			swfdec_text_field_generate_layouts	(SwfdecTextField *	text,
+							 cairo_t *			cr,
+							 const SwfdecParagraph *	paragraphs,
+							 const SwfdecColorTransform *	trans,
+							 const SwfdecRect *		inval);
 void			swfdec_text_field_render		(SwfdecTextField *	text,
 							 cairo_t *		cr,
 							 const SwfdecParagraph *	paragraphs,
diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index e76aad6..d7093fc 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -23,6 +23,7 @@
 #endif
 
 #include <string.h>
+#include <math.h>
 
 #include "swfdec_text_field_movie.h"
 #include "swfdec_as_context.h"
@@ -363,10 +364,89 @@ swfdec_text_field_movie_free_paragraphs 
   }
 }
 
+static gboolean
+swfdec_text_field_movie_auto_size (SwfdecTextFieldMovie *text)
+{
+  cairo_surface_t *surface;
+  cairo_t *cr;
+  GList *layouts, *iter;
+  guint height;
+  int width, diff;
+  gboolean changed;
+
+  g_return_val_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text), FALSE);
+
+  if (text->text->auto_size == SWFDEC_AUTO_SIZE_NONE)
+    return FALSE;
+
+  if (text->paragraphs == NULL)
+    swfdec_text_field_movie_generate_paragraphs (text);
+
+  surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 1, 1);
+  cr = cairo_create (surface);
+
+  layouts = swfdec_text_field_generate_layouts (text->text, cr,
+      text->paragraphs, NULL, NULL);
+
+  width = 0;
+  height = 0;
+  for (iter = layouts; iter != NULL; iter = iter->next) {
+    SwfdecLayout *layout = (SwfdecLayout *)iter->data;
+
+    if (!text->text->word_wrap) {
+      if (layout->width > width)
+	width = layout->width;
+    }
+
+    height += layout->height;
+  }
+
+  if (!text->text->word_wrap && SWFDEC_GRAPHIC (text->text)->extents.x1 -
+      SWFDEC_GRAPHIC (text->text)->extents.x0 != width)
+  {
+    switch (text->text->auto_size) {
+      case SWFDEC_AUTO_SIZE_LEFT:
+	SWFDEC_GRAPHIC (text->text)->extents.x1 =
+	  SWFDEC_GRAPHIC (text->text)->extents.x0 + width;
+	break;
+      case SWFDEC_AUTO_SIZE_RIGHT:
+	SWFDEC_GRAPHIC (text->text)->extents.x0 =
+	  SWFDEC_GRAPHIC (text->text)->extents.x1 - width;
+	break;
+      case SWFDEC_AUTO_SIZE_CENTER:
+	diff = width - (SWFDEC_GRAPHIC (text->text)->extents.x1 -
+	  SWFDEC_GRAPHIC (text->text)->extents.x0);
+	SWFDEC_GRAPHIC (text->text)->extents.x0 += floor (width / 2.0);
+	SWFDEC_GRAPHIC (text->text)->extents.x1 += ceil (width / 2.0);
+	break;
+      default:
+	g_assert_not_reached ();
+    }
+    changed = TRUE;
+  }
+
+  if (SWFDEC_GRAPHIC (text->text)->extents.y1 -
+      SWFDEC_GRAPHIC (text->text)->extents.y0 != height)
+  {
+    SWFDEC_GRAPHIC (text->text)->extents.y1 =
+      SWFDEC_GRAPHIC (text->text)->extents.y0 + height;
+    changed = TRUE;
+  }
+
+  return changed;
+}
+
 void
 swfdec_text_field_movie_format_changed (SwfdecTextFieldMovie *text)
 {
   swfdec_text_field_movie_free_paragraphs (text);
+
+  swfdec_movie_invalidate (SWFDEC_MOVIE (text));
+
+  if (swfdec_text_field_movie_auto_size (text)) {
+    swfdec_movie_queue_update (SWFDEC_MOVIE (text),
+	SWFDEC_MOVIE_INVALID_CONTENTS);
+  }
 }
 
 static void
diff-tree a4422e2a8bf31b28136d2b6cf1c92e31bf1a9e98 (from ab6126f4f4cbe7a2656612bd8dd986b7013b3379)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Thu Oct 11 14:16:32 2007 +0300

    Add support for drawing TextField's border and background

diff --git a/libswfdec/swfdec_text_field.c b/libswfdec/swfdec_text_field.c
index 302cd40..1d57cc7 100644
--- a/libswfdec/swfdec_text_field.c
+++ b/libswfdec/swfdec_text_field.c
@@ -84,10 +84,12 @@ swfdec_text_field_init (SwfdecTextField 
 
 void
 swfdec_text_field_render (SwfdecTextField *text, cairo_t *cr,
-    const SwfdecParagraph *paragraphs, const SwfdecColorTransform *trans,
+    const SwfdecParagraph *paragraphs, SwfdecColor border_color,
+    SwfdecColor background_color, const SwfdecColorTransform *trans,
     const SwfdecRect *inval)
 {
   PangoLayout *layout;
+  SwfdecColor color;
   guint i;
 
   g_return_if_fail (SWFDEC_IS_TEXT_FIELD (text));
@@ -96,6 +98,28 @@ swfdec_text_field_render (SwfdecTextFiel
   g_return_if_fail (trans != NULL);
   g_return_if_fail (inval != NULL);
 
+  if (text->background) {
+    cairo_rectangle (cr, SWFDEC_GRAPHIC (text)->extents.x0,
+	SWFDEC_GRAPHIC (text)->extents.y0, SWFDEC_GRAPHIC (text)->extents.x1,
+	SWFDEC_GRAPHIC (text)->extents.y1);
+    color = swfdec_color_apply_transform (background_color, trans);
+    swfdec_color_set_source (cr, color);
+    cairo_fill (cr);
+  }
+
+  if (text->border) {
+    cairo_rectangle (cr, SWFDEC_GRAPHIC (text)->extents.x0,
+	SWFDEC_GRAPHIC (text)->extents.y0, SWFDEC_GRAPHIC (text)->extents.x1,
+	SWFDEC_GRAPHIC (text)->extents.y1);
+    color = swfdec_color_apply_transform (border_color, trans);
+    swfdec_color_set_source (cr, color);
+    cairo_set_line_width (cr, 20.0); // FIXME: Is this correct?
+    cairo_stroke (cr);
+  }
+
+  if (paragraphs[0].text == NULL)
+    return;
+
   cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
       SWFDEC_GRAPHIC (text)->extents.y0);
 
@@ -179,7 +203,6 @@ swfdec_text_field_render (SwfdecTextFiel
 	      !swfdec_color_transform_is_identity (trans))
 	  {
 	    PangoColor pcolor;
-	    SwfdecColor color;
 
 	    pcolor = ((PangoAttrColor *)attr)->color;
 	    color = SWFDEC_COLOR_COMBINE (pcolor.red >> 8, pcolor.green >> 8,
@@ -274,7 +297,7 @@ tag_func_define_edit_text (SwfdecSwfDeco
     (swfdec_bits_getbit (b) ? SWFDEC_AUTO_SIZE_LEFT : SWFDEC_AUTO_SIZE_NONE);
   has_layout = swfdec_bits_getbit (b);
   text->selectable = !swfdec_bits_getbit (b);
-  text->border = swfdec_bits_getbit (b);
+  text->background = text->border = swfdec_bits_getbit (b);
   reserved = swfdec_bits_getbit (b);
   text->html = swfdec_bits_getbit (b);
   text->embed_fonts = swfdec_bits_getbit (b);
diff --git a/libswfdec/swfdec_text_field.h b/libswfdec/swfdec_text_field.h
index b9a0851..4998cfa 100644
--- a/libswfdec/swfdec_text_field.h
+++ b/libswfdec/swfdec_text_field.h
@@ -89,6 +89,7 @@ struct _SwfdecTextField
   SwfdecAutoSize	auto_size;
 
   gboolean		border;
+  gboolean		background;
 
   /* only to be passed to the movie object */
   SwfdecFont *		font;
@@ -116,6 +117,8 @@ int			tag_func_define_edit_text	(SwfdecS
 void			swfdec_text_field_render		(SwfdecTextField *	text,
 							 cairo_t *		cr,
 							 const SwfdecParagraph *	paragraphs,
+							 SwfdecColor		border_color,
+							 SwfdecColor		background_color,
 							 const SwfdecColorTransform *	trans,
 							 const SwfdecRect *		rect);
 
diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index 5e1b302..e76aad6 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -332,9 +332,8 @@ swfdec_text_field_movie_render (SwfdecMo
   if (text->paragraphs == NULL)
     swfdec_text_field_movie_generate_paragraphs (text);
 
-  if (text->paragraphs[0].text == NULL)
-    return;
-  swfdec_text_field_render (text->text, cr, text->paragraphs, trans, inval);
+  swfdec_text_field_render (text->text, cr, text->paragraphs,
+      text->border_color, text->background_color, trans, inval);
 }
 
 static void
@@ -459,6 +458,9 @@ swfdec_text_field_movie_init_movie (Swfd
   text->format_new->indent = text->text->indent / 20;
   text->format_new->leading = text->text->leading / 20;
 
+  text->border_color = SWFDEC_COLOR_COMBINE (0, 0, 0, 255);
+  text->background_color = SWFDEC_COLOR_COMBINE (255, 255, 255, 255);
+
   // text
   if (text->text->text_input != NULL) {
     swfdec_text_field_movie_set_text (text,
diff --git a/libswfdec/swfdec_text_field_movie.h b/libswfdec/swfdec_text_field_movie.h
index 4ba3be8..40ed0a2 100644
--- a/libswfdec/swfdec_text_field_movie.h
+++ b/libswfdec/swfdec_text_field_movie.h
@@ -68,8 +68,6 @@ struct _SwfdecTextFieldMovie {
   GSList *		formats;
 
   SwfdecAntiAliasType	anti_alias_type;
-  gboolean		background_fill;
-  guint			border_color;
   gboolean		condense_white;
   gboolean		embed_fonts;
   SwfdecGridFitType	grid_fit_type;
@@ -81,6 +79,9 @@ struct _SwfdecTextFieldMovie {
   SwfdecStyleSheet *	style_sheet;
   int			thickness;
 
+  SwfdecColor		border_color;
+  SwfdecColor		background_color;
+
   /* for rendering */
   SwfdecParagraph *	paragraphs;
 };
diff-tree ab6126f4f4cbe7a2656612bd8dd986b7013b3379 (from 04dad36967fe0786df6f6adc01211c44c63a4b92)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Thu Oct 11 12:22:49 2007 +0300

    Remove an incorrect FIXME from TextField code

diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index e02c873..5e1b302 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -156,7 +156,7 @@ swfdec_text_field_movie_generate_paragra
   attr_italic->start_index = 0;
 
   attr_letter_spacing = pango_attr_letter_spacing_new (
-      format->letter_spacing * 20 * PANGO_SCALE); // FIXME: correct scaling?
+      format->letter_spacing * 20 * PANGO_SCALE);
   attr_letter_spacing->start_index = 0;
 
   attr_size =
diff-tree 04dad36967fe0786df6f6adc01211c44c63a4b92 (from 54eebc295f6f44db5c9dd76cc556396177e3f268)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Thu Oct 11 12:03:03 2007 +0300

    Support rendering without wordWrap in TextField

diff --git a/libswfdec/swfdec_text_field.c b/libswfdec/swfdec_text_field.c
index d27c3a1..302cd40 100644
--- a/libswfdec/swfdec_text_field.c
+++ b/libswfdec/swfdec_text_field.c
@@ -140,7 +140,8 @@ swfdec_text_field_render (SwfdecTextFiel
 
       pango_cairo_update_layout (cr, layout);
       pango_layout_context_changed (layout);
-      pango_layout_set_width (layout, width * PANGO_SCALE);
+      pango_layout_set_width (layout,
+	  (text->word_wrap ? width * PANGO_SCALE : -1));
 
       // set paragraph styles
       if (block->index_ == 0) {
@@ -204,7 +205,7 @@ swfdec_text_field_render (SwfdecTextFiel
       pango_layout_set_text (layout, paragraphs[i].text + block->index_ + skip,
 	  paragraphs[i].text_length - block->index_ - skip);
 
-      if (iter->next != NULL)
+      if (iter->next != NULL && text->word_wrap)
       {
 	PangoLayoutLine *line;
 	int line_num;
@@ -231,6 +232,9 @@ swfdec_text_field_render (SwfdecTextFiel
 	  height + block->leading / PANGO_SCALE);
       if (block->index_ == 0 && paragraphs[i].indent < 0)
 	cairo_rel_move_to (cr, -paragraphs[i].indent / PANGO_SCALE, 0);
+
+      if (!text->word_wrap)
+	break;
     }
   }
 
@@ -258,7 +262,7 @@ tag_func_define_edit_text (SwfdecSwfDeco
       SWFDEC_GRAPHIC (text)->extents.x1, SWFDEC_GRAPHIC (text)->extents.y1);
   swfdec_bits_syncbits (b);
   has_text = swfdec_bits_getbit (b);
-  text->wrap = swfdec_bits_getbit (b);
+  text->word_wrap = swfdec_bits_getbit (b);
   text->multiline = swfdec_bits_getbit (b);
   text->password = swfdec_bits_getbit (b);
   text->input = !swfdec_bits_getbit (b);
diff --git a/libswfdec/swfdec_text_field.h b/libswfdec/swfdec_text_field.h
index aa84422..b9a0851 100644
--- a/libswfdec/swfdec_text_field.h
+++ b/libswfdec/swfdec_text_field.h
@@ -84,7 +84,7 @@ struct _SwfdecTextField
 
   gboolean		embed_fonts;
 
-  gboolean		wrap;
+  gboolean		word_wrap;
   gboolean		multiline;
   SwfdecAutoSize	auto_size;
 
diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c
index 60d1a29..534c4e1 100644
--- a/libswfdec/swfdec_text_field_movie_as.c
+++ b/libswfdec/swfdec_text_field_movie_as.c
@@ -567,7 +567,7 @@ swfdec_text_field_movie_createTextField 
   edittext->password = FALSE;
   edittext->selectable = TRUE;
   edittext->font = NULL; // FIXME
-  edittext->wrap = FALSE;
+  edittext->word_wrap = FALSE;
   edittext->multiline = FALSE;
   edittext->auto_size = SWFDEC_AUTO_SIZE_NONE;
   edittext->border = FALSE;
diff-tree 54eebc295f6f44db5c9dd76cc556396177e3f268 (from 872e7d0b10de82a11107455ee1c01bb34949f6d1)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Thu Oct 11 11:57:24 2007 +0300

    Update Makefile.am and include statements to use text_field not edittext

diff --git a/libswfdec/Makefile.am b/libswfdec/Makefile.am
index ee669bb..07ca529 100644
--- a/libswfdec/Makefile.am
+++ b/libswfdec/Makefile.am
@@ -62,9 +62,9 @@ libswfdec_ at SWFDEC_MAJORMINOR@_la_SOURCES
 	swfdec_debug.c \
 	swfdec_decoder.c \
 	swfdec_draw.c \
-	swfdec_edittext.c \
-	swfdec_edittext_movie.c \
-	swfdec_edittext_movie_as.c \
+	swfdec_text_field.c \
+	swfdec_text_field_movie.c \
+	swfdec_text_field_movie_as.c \
 	swfdec_enums.c \
 	swfdec_event.c \
 	swfdec_file_loader.c \
@@ -194,8 +194,8 @@ noinst_HEADERS = \
 	swfdec_debug.h \
 	swfdec_decoder.h \
 	swfdec_draw.h \
-	swfdec_edittext.h \
-	swfdec_edittext_movie.h \
+	swfdec_text_field.h \
+	swfdec_text_field_movie.h \
 	swfdec_event.h \
 	swfdec_filter.h \
 	swfdec_flv_decoder.h \
diff --git a/libswfdec/swfdec_as_interpret.c b/libswfdec/swfdec_as_interpret.c
index a8413b7..6af0db9 100644
--- a/libswfdec/swfdec_as_interpret.c
+++ b/libswfdec/swfdec_as_interpret.c
@@ -42,7 +42,7 @@
 #include "swfdec_sprite.h"
 #include "swfdec_sprite_movie.h"
 #include "swfdec_swf_instance.h"
-#include "swfdec_edittext_movie.h" // for typeof
+#include "swfdec_text_field_movie.h" // for typeof
 
 /* Define this to get SWFDEC_WARN'd about missing properties of objects.
  * This can be useful to find out about unimplemented native properties,
diff --git a/libswfdec/swfdec_graphic_movie.c b/libswfdec/swfdec_graphic_movie.c
index a4a86fa..4ffd2ce 100644
--- a/libswfdec/swfdec_graphic_movie.c
+++ b/libswfdec/swfdec_graphic_movie.c
@@ -24,7 +24,7 @@
 #include "swfdec_graphic_movie.h"
 #include "swfdec_button.h"
 #include "swfdec_debug.h"
-#include "swfdec_edittext.h"
+#include "swfdec_text_field.h"
 #include "swfdec_movie.h"
 #include "swfdec_shape.h"
 #include "swfdec_sprite.h"
diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 430eec5..dcd7f1e 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -24,7 +24,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "swfdec_edittext_movie.h"
+#include "swfdec_text_field_movie.h"
 #include "swfdec_as_strings.h"
 #include "swfdec_debug.h"
 
diff --git a/libswfdec/swfdec_tag.c b/libswfdec/swfdec_tag.c
index 35c65cf..c7ef45f 100644
--- a/libswfdec/swfdec_tag.c
+++ b/libswfdec/swfdec_tag.c
@@ -32,7 +32,7 @@
 #include "swfdec_bits.h"
 #include "swfdec_button.h"
 #include "swfdec_debug.h"
-#include "swfdec_edittext.h"
+#include "swfdec_text_field.h"
 #include "swfdec_filter.h"
 #include "swfdec_font.h"
 #include "swfdec_image.h"
diff --git a/libswfdec/swfdec_text_field.c b/libswfdec/swfdec_text_field.c
index 7905673..d27c3a1 100644
--- a/libswfdec/swfdec_text_field.c
+++ b/libswfdec/swfdec_text_field.c
@@ -24,9 +24,9 @@
 
 #include <pango/pangocairo.h>
 #include <string.h>
-#include "swfdec_edittext.h"
+#include "swfdec_text_field.h"
 #include "swfdec_debug.h"
-#include "swfdec_edittext_movie.h"
+#include "swfdec_text_field_movie.h"
 #include "swfdec_font.h"
 #include "swfdec_player_internal.h"
 #include "swfdec_swf_decoder.h"
diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index dd79e9a..e02c873 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -24,7 +24,7 @@
 
 #include <string.h>
 
-#include "swfdec_edittext_movie.h"
+#include "swfdec_text_field_movie.h"
 #include "swfdec_as_context.h"
 #include "swfdec_as_strings.h"
 #include "swfdec_text_format.h"
diff --git a/libswfdec/swfdec_text_field_movie.h b/libswfdec/swfdec_text_field_movie.h
index 8b7999a..4ba3be8 100644
--- a/libswfdec/swfdec_text_field_movie.h
+++ b/libswfdec/swfdec_text_field_movie.h
@@ -22,7 +22,7 @@
 #define _SWFDEC_TEXT_FIELD_MOVIE_H_
 
 #include <libswfdec/swfdec_movie.h>
-#include <libswfdec/swfdec_edittext.h>
+#include <libswfdec/swfdec_text_field.h>
 #include <libswfdec/swfdec_style_sheet.h>
 #include <libswfdec/swfdec_text_format.h>
 
diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c
index c9d4cd0..60d1a29 100644
--- a/libswfdec/swfdec_text_field_movie_as.c
+++ b/libswfdec/swfdec_text_field_movie_as.c
@@ -24,8 +24,8 @@
 
 #include <string.h>
 
-#include "swfdec_edittext.h"
-#include "swfdec_edittext_movie.h"
+#include "swfdec_text_field.h"
+#include "swfdec_text_field_movie.h"
 #include "swfdec_as_strings.h"
 #include "swfdec_debug.h"
 #include "swfdec_as_native_function.h"
diff --git a/test/dump.c b/test/dump.c
index adf0cb1..5b8ecea 100644
--- a/test/dump.c
+++ b/test/dump.c
@@ -32,7 +32,7 @@
 #include <glib-object.h>
 #include <libswfdec/swfdec.h>
 #include <libswfdec/swfdec_button.h>
-#include <libswfdec/swfdec_edittext.h>
+#include <libswfdec/swfdec_text_field.h>
 #include <libswfdec/swfdec_font.h>
 #include <libswfdec/swfdec_image.h>
 #include <libswfdec/swfdec_movie.h>
diff-tree 872e7d0b10de82a11107455ee1c01bb34949f6d1 (from ba72dd43b20c244e1de4a2a5aea7438bdbcc318d)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Thu Oct 11 11:44:57 2007 +0300

    Rename *edittext* files to *text_field*

diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
deleted file mode 100644
index 7905673..0000000
--- a/libswfdec/swfdec_edittext.c
+++ /dev/null
@@ -1,334 +0,0 @@
-/* Swfdec
- * Copyright (C) 2006-2007 Benjamin Otte <otte at gnome.org>
- *                    Pekka Lampila <pekka.lampila at iki.fi>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library 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
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, 
- * Boston, MA  02110-1301  USA
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <pango/pangocairo.h>
-#include <string.h>
-#include "swfdec_edittext.h"
-#include "swfdec_debug.h"
-#include "swfdec_edittext_movie.h"
-#include "swfdec_font.h"
-#include "swfdec_player_internal.h"
-#include "swfdec_swf_decoder.h"
-
-G_DEFINE_TYPE (SwfdecTextField, swfdec_text_field, SWFDEC_TYPE_GRAPHIC)
-
-static gboolean
-swfdec_text_field_mouse_in (SwfdecGraphic *graphic, double x, double y)
-{
-  return swfdec_rect_contains (&graphic->extents, x, y);
-}
-
-static SwfdecMovie *
-swfdec_text_field_create_movie (SwfdecGraphic *graphic, gsize *size)
-{
-  SwfdecTextField *text = SWFDEC_TEXT_FIELD (graphic);
-  SwfdecTextFieldMovie *ret = g_object_new (SWFDEC_TYPE_TEXT_FIELD_MOVIE, NULL);
-
-  ret->text = text;
-
-  *size = sizeof (SwfdecTextFieldMovie);
-
-  return SWFDEC_MOVIE (ret);
-}
-
-static void
-swfdec_text_field_dispose (GObject *object)
-{
-  SwfdecTextField *text = SWFDEC_TEXT_FIELD (object);
-
-  g_free (text->text_input);
-  text->text_input = NULL;
-  g_free (text->variable);
-  text->variable = NULL;
-
-  G_OBJECT_CLASS (swfdec_text_field_parent_class)->dispose (object);
-}
-
-static void
-swfdec_text_field_class_init (SwfdecTextFieldClass * g_class)
-{
-  GObjectClass *object_class = G_OBJECT_CLASS (g_class);
-  SwfdecGraphicClass *graphic_class = SWFDEC_GRAPHIC_CLASS (g_class);
-
-  object_class->dispose = swfdec_text_field_dispose;
-  graphic_class->create_movie = swfdec_text_field_create_movie;
-  graphic_class->mouse_in = swfdec_text_field_mouse_in;
-}
-
-static void
-swfdec_text_field_init (SwfdecTextField * text)
-{
-  text->max_length = G_MAXUINT;
-}
-
-void
-swfdec_text_field_render (SwfdecTextField *text, cairo_t *cr,
-    const SwfdecParagraph *paragraphs, const SwfdecColorTransform *trans,
-    const SwfdecRect *inval)
-{
-  PangoLayout *layout;
-  guint i;
-
-  g_return_if_fail (SWFDEC_IS_TEXT_FIELD (text));
-  g_return_if_fail (cr != NULL);
-  g_return_if_fail (paragraphs != NULL);
-  g_return_if_fail (trans != NULL);
-  g_return_if_fail (inval != NULL);
-
-  cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
-      SWFDEC_GRAPHIC (text)->extents.y0);
-
-  layout = pango_cairo_create_layout (cr);
-
-  for (i = 0; paragraphs[i].text != NULL; i++)
-  {
-    GList *iter;
-    guint skip;
-
-    skip = 0;
-    for (iter = paragraphs[i].blocks; iter != NULL; iter = iter->next)
-    {
-      int height, width;
-      guint length;
-      SwfdecBlock *block;
-      PangoAttrList *attr_list;
-
-      block = (SwfdecBlock *)iter->data;
-      if (iter->next != NULL) {
-	length =
-	  ((SwfdecBlock *)(iter->next->data))->index_ - block->index_;
-      } else {
-	length = paragraphs[i].text_length - block->index_;
-      }
-
-      if (skip > length) {
-	skip -= length;
-	continue;
-      }
-
-      // update position
-      cairo_rel_move_to (cr, block->left_margin + block->block_indent, 0);
-      width = SWFDEC_GRAPHIC (text)->extents.x1 -
-	SWFDEC_GRAPHIC (text)->extents.x0 - block->left_margin -
-	block->right_margin - block->block_indent;
-
-      if (block->index_ == 0 && paragraphs[i].indent < 0) {
-	cairo_rel_move_to (cr, paragraphs[i].indent / PANGO_SCALE, 0);
-	width += -paragraphs[i].indent / PANGO_SCALE;
-      }
-
-      pango_cairo_update_layout (cr, layout);
-      pango_layout_context_changed (layout);
-      pango_layout_set_width (layout, width * PANGO_SCALE);
-
-      // set paragraph styles
-      if (block->index_ == 0) {
-	pango_layout_set_indent (layout, paragraphs[i].indent);
-	// TODO: bullet
-      } else {
-	pango_layout_set_indent (layout, 0);
-      }
-
-      // set block styles
-      pango_layout_set_alignment (layout, block->align);
-      pango_layout_set_justify (layout, block->justify);
-      pango_layout_set_spacing (layout, block->leading);
-      pango_layout_set_tabs (layout, block->tab_stops);
-
-      // set text attributes
-      if (block->index_ > 0 || !swfdec_color_transform_is_identity (trans))
-      {
-	GList *iter_attrs;
-
-	attr_list = pango_attr_list_new ();
-
-	for (iter_attrs = paragraphs[i].attrs; iter_attrs != NULL;
-	    iter_attrs = iter_attrs->next)
-	{
-	  PangoAttribute *attr;
-
-	  attr = (PangoAttribute *)iter_attrs->data;
-
-	  if (attr->end_index <= block->index_ + skip)
-	    continue;
-
-	  attr = pango_attribute_copy (attr);
-	  if (attr->klass->type == PANGO_ATTR_FOREGROUND &&
-	      !swfdec_color_transform_is_identity (trans))
-	  {
-	    PangoColor pcolor;
-	    SwfdecColor color;
-
-	    pcolor = ((PangoAttrColor *)attr)->color;
-	    color = SWFDEC_COLOR_COMBINE (pcolor.red >> 8, pcolor.green >> 8,
-		pcolor.blue >> 8, 255);
-	    color = swfdec_color_apply_transform (color, trans);
-	    pcolor.red = SWFDEC_COLOR_R (color) << 8;
-	    pcolor.green = SWFDEC_COLOR_G (color) << 8;
-	    pcolor.blue = SWFDEC_COLOR_B (color) << 8;
-	    ((PangoAttrColor *)attr)->color = pcolor;
-	  }
-	  attr->start_index = (attr->start_index > block->index_ + skip ?
-	      attr->start_index - (block->index_ + skip) : 0);
-	  attr->end_index = attr->end_index - (block->index_ + skip);
-	  pango_attr_list_insert (attr_list, attr);
-	}
-      } else {
-	attr_list = pango_attr_list_copy (paragraphs[i].attrs_list);
-      }
-      pango_layout_set_attributes (layout, attr_list);
-      pango_attr_list_unref (attr_list);
-      attr_list = NULL;
-
-      pango_layout_set_text (layout, paragraphs[i].text + block->index_ + skip,
-	  paragraphs[i].text_length - block->index_ - skip);
-
-      if (iter->next != NULL)
-      {
-	PangoLayoutLine *line;
-	int line_num;
-	guint skip_new;
-
-	pango_layout_index_to_line_x (layout, length - skip, FALSE, &line_num,
-	    NULL);
-	line = pango_layout_get_line_readonly (layout, line_num);
-	skip_new = line->start_index + line->length - (length - skip);
-	pango_layout_set_text (layout,
-	    paragraphs[i].text + block->index_ + skip,
-	    length - skip + skip_new);
-	skip = skip_new;
-      }
-      else
-      {
-	skip = 0;
-      }
-
-      pango_cairo_show_layout (cr, layout);
-
-      pango_layout_get_pixel_size (layout, NULL, &height);
-      cairo_rel_move_to (cr, -(block->left_margin + block->block_indent),
-	  height + block->leading / PANGO_SCALE);
-      if (block->index_ == 0 && paragraphs[i].indent < 0)
-	cairo_rel_move_to (cr, -paragraphs[i].indent / PANGO_SCALE, 0);
-    }
-  }
-
-  g_object_unref (layout);
-}
-
-int
-tag_func_define_edit_text (SwfdecSwfDecoder * s, guint tag)
-{
-  SwfdecTextField *text;
-  guint id;
-  int reserved;
-  gboolean has_font, has_color, has_max_length, has_layout, has_text;
-  SwfdecBits *b = &s->b;
-
-  id = swfdec_bits_get_u16 (b);
-  SWFDEC_LOG ("  id = %u", id);
-  text = swfdec_swf_decoder_create_character (s, id, SWFDEC_TYPE_TEXT_FIELD);
-  if (text == NULL)
-    return SWFDEC_STATUS_OK;
-
-  swfdec_bits_get_rect (b, &SWFDEC_GRAPHIC (text)->extents);
-  SWFDEC_LOG ("  extents: %g %g  %g %g", 
-      SWFDEC_GRAPHIC (text)->extents.x0, SWFDEC_GRAPHIC (text)->extents.y0,
-      SWFDEC_GRAPHIC (text)->extents.x1, SWFDEC_GRAPHIC (text)->extents.y1);
-  swfdec_bits_syncbits (b);
-  has_text = swfdec_bits_getbit (b);
-  text->wrap = swfdec_bits_getbit (b);
-  text->multiline = swfdec_bits_getbit (b);
-  text->password = swfdec_bits_getbit (b);
-  text->input = !swfdec_bits_getbit (b);
-  has_color = swfdec_bits_getbit (b);
-  has_max_length = swfdec_bits_getbit (b);
-  has_font = swfdec_bits_getbit (b);
-  reserved = swfdec_bits_getbit (b);
-  text->auto_size =
-    (swfdec_bits_getbit (b) ? SWFDEC_AUTO_SIZE_LEFT : SWFDEC_AUTO_SIZE_NONE);
-  has_layout = swfdec_bits_getbit (b);
-  text->selectable = !swfdec_bits_getbit (b);
-  text->border = swfdec_bits_getbit (b);
-  reserved = swfdec_bits_getbit (b);
-  text->html = swfdec_bits_getbit (b);
-  text->embed_fonts = swfdec_bits_getbit (b);
-  if (has_font) {
-    SwfdecCharacter *font;
-
-    id = swfdec_bits_get_u16 (b);
-    font = swfdec_swf_decoder_get_character (s, id);
-    if (SWFDEC_IS_FONT (font)) {
-      SWFDEC_LOG ("  font = %u", id);
-      text->font = SWFDEC_FONT (font);
-    } else {
-      SWFDEC_ERROR ("id %u does not specify a font", id);
-    }
-    text->size = swfdec_bits_get_u16 (b);
-    SWFDEC_LOG ("  size = %u", text->size);
-  }
-  if (has_color) {
-    text->color = swfdec_bits_get_rgba (b);
-    SWFDEC_LOG ("  color = %u", text->color);
-  } else {
-    SWFDEC_WARNING ("FIXME: figure out default color");
-    text->color = SWFDEC_COLOR_COMBINE (255, 255, 255, 255);
-  }
-  if (has_max_length) {
-    text->max_length = swfdec_bits_get_u16 (b);
-  }
-  if (has_layout) {
-    guint align = swfdec_bits_get_u8 (b);
-    switch (align) {
-      case 0:
-	text->align = SWFDEC_TEXT_ALIGN_LEFT;
-	break;
-      case 1:
-	text->align = SWFDEC_TEXT_ALIGN_RIGHT;
-	break;
-      case 2:
-	text->align = SWFDEC_TEXT_ALIGN_CENTER;
-	break;
-      case 3:
-	text->align = SWFDEC_TEXT_ALIGN_JUSTIFY;
-	break;
-      default:
-	SWFDEC_ERROR ("undefined align value %u", align);
-	break;
-    }
-    text->left_margin = swfdec_bits_get_u16 (b);
-    text->right_margin = swfdec_bits_get_u16 (b);
-    text->indent = swfdec_bits_get_u16 (b);
-    text->leading = swfdec_bits_get_s16 (b);
-  }
-  text->variable = swfdec_bits_get_string (b);
-  if (text->variable && *text->variable == 0) {
-    g_free (text->variable);
-    text->variable = NULL;
-  }
-  if (has_text)
-    text->text_input = swfdec_bits_get_string (b);
-
-  return SWFDEC_STATUS_OK;
-}
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
deleted file mode 100644
index aa84422..0000000
--- a/libswfdec/swfdec_edittext.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/* Swfdec
- * Copyright (C) 2006-2007 Benjamin Otte <otte at gnome.org>
- *                    Pekka Lampila <pekka.lampila at iki.fi>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library 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
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, 
- * Boston, MA  02110-1301  USA
- */
-
-#ifndef _SWFDEC_TEXT_FIELD_H_
-#define _SWFDEC_TEXT_FIELD_H_
-
-#include <pango/pango.h>
-#include <libswfdec/swfdec_types.h>
-#include <libswfdec/swfdec_color.h>
-#include <libswfdec/swfdec_graphic.h>
-#include <libswfdec/swfdec_player.h>
-#include <libswfdec/swfdec_text_format.h>
-
-G_BEGIN_DECLS
-
-typedef struct _SwfdecTextField SwfdecTextField;
-typedef struct _SwfdecTextFieldClass SwfdecTextFieldClass;
-
-#define SWFDEC_TYPE_TEXT_FIELD                    (swfdec_text_field_get_type())
-#define SWFDEC_IS_TEXT_FIELD(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_TEXT_FIELD))
-#define SWFDEC_IS_TEXT_FIELD_CLASS(klass)         (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_TEXT_FIELD))
-#define SWFDEC_TEXT_FIELD(obj)                    (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_TEXT_FIELD, SwfdecTextField))
-#define SWFDEC_TEXT_FIELD_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_TEXT_FIELD, SwfdecTextFieldClass))
-
-typedef struct {
-  guint			index_;
-
-  PangoAlignment	align;
-  gboolean		justify;
-  int			leading;
-  int			block_indent;
-  int			left_margin;
-  int			right_margin;
-  PangoTabArray *	tab_stops;
-} SwfdecBlock;
-
-typedef struct {
-  const char		*text;
-  guint			text_length;
-
-  gboolean		bullet;
-  int			indent;
-
-  GList *		blocks;		// SwfdecBlock
-
-  GList *		attrs;	// PangoAttribute
-  PangoAttrList *	attrs_list;
-} SwfdecParagraph;
-
-typedef enum {
-  SWFDEC_AUTO_SIZE_NONE,
-  SWFDEC_AUTO_SIZE_LEFT,
-  SWFDEC_AUTO_SIZE_CENTER,
-  SWFDEC_AUTO_SIZE_RIGHT
-} SwfdecAutoSize;
-
-struct _SwfdecTextField
-{
-  SwfdecGraphic		graphic;
-
-  gboolean		html;
-
-  gboolean		input;
-  gboolean		password;
-  guint			max_length;
-  gboolean		selectable;
-
-  gboolean		embed_fonts;
-
-  gboolean		wrap;
-  gboolean		multiline;
-  SwfdecAutoSize	auto_size;
-
-  gboolean		border;
-
-  /* only to be passed to the movie object */
-  SwfdecFont *		font;
-  char *		text_input;
-  char *		variable;
-  guint			size;
-  SwfdecColor		color;
-  SwfdecTextAlign	align;
-  guint			left_margin;
-  guint			right_margin;
-  guint			indent;
-  int			leading;
-};
-
-struct _SwfdecTextFieldClass
-{
-  SwfdecGraphicClass	graphic_class;
-};
-
-GType			swfdec_text_field_get_type	(void);
-
-int			tag_func_define_edit_text	(SwfdecSwfDecoder *	s,
-							 guint			tag);
-
-void			swfdec_text_field_render		(SwfdecTextField *	text,
-							 cairo_t *		cr,
-							 const SwfdecParagraph *	paragraphs,
-							 const SwfdecColorTransform *	trans,
-							 const SwfdecRect *		rect);
-
-G_END_DECLS
-#endif
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
deleted file mode 100644
index dd79e9a..0000000
--- a/libswfdec/swfdec_edittext_movie.c
+++ /dev/null
@@ -1,619 +0,0 @@
-/* Swfdec
- * Copyright (C) 2006 Benjamin Otte <otte at gnome.org>
- *                    Pekka Lampila <pekka.lampila at iki.fi>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library 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
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, 
- * Boston, MA  02110-1301  USA
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <string.h>
-
-#include "swfdec_edittext_movie.h"
-#include "swfdec_as_context.h"
-#include "swfdec_as_strings.h"
-#include "swfdec_text_format.h"
-#include "swfdec_font.h"
-#include "swfdec_debug.h"
-#include "swfdec_player_internal.h"
-
-G_DEFINE_TYPE (SwfdecTextFieldMovie, swfdec_text_field_movie, SWFDEC_TYPE_MOVIE)
-
-static void
-swfdec_text_field_movie_update_extents (SwfdecMovie *movie,
-    SwfdecRect *extents)
-{
-  swfdec_rect_union (extents, extents, 
-      &SWFDEC_GRAPHIC (SWFDEC_TEXT_FIELD_MOVIE (movie)->text)->extents);
-}
-
-static void
-swfdec_text_paragraph_add_attribute (SwfdecParagraph *paragraph,
-    PangoAttribute *attr)
-{
-  paragraph->attrs = g_list_append (paragraph->attrs,
-      pango_attribute_copy (attr));
-  pango_attr_list_insert (paragraph->attrs_list, attr);
-}
-
-static void
-swfdec_text_paragraph_add_block_attributes (SwfdecParagraph *paragraph,
-    int index_, SwfdecTextFormat *format)
-{
-  gint32 length, i;
-  SwfdecBlock *block;
-  SwfdecAsValue val;
-
-  block = g_new0 (SwfdecBlock, 1);
-
-  block->index_ = index_;
-
-  switch (format->align) {
-    case SWFDEC_TEXT_ALIGN_LEFT:
-      block->align = PANGO_ALIGN_LEFT;
-      block->justify = FALSE;
-      break;
-    case SWFDEC_TEXT_ALIGN_RIGHT:
-      block->align = PANGO_ALIGN_RIGHT;
-      block->justify = FALSE;
-      break;
-    case SWFDEC_TEXT_ALIGN_CENTER:
-      block->align = PANGO_ALIGN_CENTER;
-      block->justify = FALSE;
-      break;
-    case SWFDEC_TEXT_ALIGN_JUSTIFY:
-      block->align = PANGO_ALIGN_LEFT;
-      block->justify = TRUE;
-      break;
-  }
-  block->leading = format->leading * 20 * PANGO_SCALE;
-  block->block_indent = format->block_indent * 20;
-  block->left_margin = format->left_margin * 20;
-  block->right_margin = format->right_margin * 20;
-
-  length = swfdec_as_array_get_length (format->tab_stops);
-  block->tab_stops = pango_tab_array_new (length, TRUE);
-  for (i = 0; i < length; i++) {
-    swfdec_as_array_get_value (format->tab_stops, i, &val);
-    g_assert (SWFDEC_AS_VALUE_IS_NUMBER (&val));
-    pango_tab_array_set_tab (block->tab_stops, i, PANGO_TAB_LEFT,
-	SWFDEC_AS_VALUE_GET_NUMBER (&val) * 20);
-  }
-
-  paragraph->blocks = g_list_append (paragraph->blocks, block);
-}
-
-static void
-swfdec_text_field_movie_generate_paragraph (SwfdecTextFieldMovie *text,
-    SwfdecParagraph *paragraph, guint start_index, guint end_index)
-{
-  SwfdecTextFormat *format, *format_prev;
-  guint index_;
-  GSList *iter;
-  PangoAttribute *attr_bold, *attr_color, *attr_font, *attr_italic,
-		 *attr_letter_spacing, *attr_size, *attr_underline;
-  // TODO: kerning
-
-  g_assert (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
-  g_assert (paragraph != NULL);
-  g_assert (start_index < end_index);
-  g_assert (end_index <= strlen (text->text_display));
-
-  paragraph->text = text->text_display + start_index;
-  paragraph->text_length = end_index - start_index;
-
-  paragraph->blocks = NULL;
-  paragraph->attrs = NULL;
-  paragraph->attrs_list = pango_attr_list_new ();
-
-  g_assert (text->formats != NULL);
-  for (iter = text->formats; iter->next != NULL &&
-      ((SwfdecFormatIndex *)(iter->next->data))->index <= start_index;
-      iter = iter->next);
-
-  index_ = start_index;
-  format = ((SwfdecFormatIndex *)(iter->data))->format;
-
-  // Paragraph formats
-  paragraph->bullet = format->bullet;
-  paragraph->indent = format->indent * 20 * PANGO_SCALE;
-
-  // Add new block
-  swfdec_text_paragraph_add_block_attributes (paragraph, 0, format);
-
-  // Open attributes
-  attr_bold = pango_attr_weight_new (
-      (format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
-  attr_bold->start_index = 0;
-
-  attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color) * 255,
-      SWFDEC_COLOR_G (format->color) * 255,
-      SWFDEC_COLOR_B (format->color) * 255);
-  attr_color->start_index = 0;
-
-  if (text->text->embed_fonts)
-    SWFDEC_FIXME ("Using embed fonts in TextField not supported");
-  attr_font = pango_attr_family_new (format->font);
-  attr_font->start_index = 0;
-
-  attr_italic = pango_attr_style_new (
-      (format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
-  attr_italic->start_index = 0;
-
-  attr_letter_spacing = pango_attr_letter_spacing_new (
-      format->letter_spacing * 20 * PANGO_SCALE); // FIXME: correct scaling?
-  attr_letter_spacing->start_index = 0;
-
-  attr_size =
-    pango_attr_size_new_absolute (MAX (format->size, 1) * 20 * PANGO_SCALE);
-  attr_size->start_index = 0;
-
-  attr_underline = pango_attr_underline_new (
-      (format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
-  attr_underline->start_index = 0;
-
-  for (iter = iter->next;
-      iter != NULL && ((SwfdecFormatIndex *)(iter->data))->index < end_index;
-      iter = iter->next)
-  {
-    format_prev = format;
-    index_ = ((SwfdecFormatIndex *)(iter->data))->index;
-    format = ((SwfdecFormatIndex *)(iter->data))->format;
-
-    // Add new block if necessary
-    if (format_prev->align != format->align ||
-       format_prev->bullet != format->bullet ||
-       format_prev->indent != format->indent ||
-       format_prev->leading != format->leading ||
-       format_prev->block_indent != format->block_indent ||
-       format_prev->left_margin != format->left_margin)
-    {
-      swfdec_text_paragraph_add_block_attributes (paragraph,
-	  index_ - start_index, format);
-    }
-
-    // Change attributes if necessary
-    if (format_prev->bold != format->bold) {
-      attr_bold->end_index = index_ - start_index;
-      swfdec_text_paragraph_add_attribute (paragraph, attr_bold);
-
-      attr_bold = pango_attr_weight_new (
-	  (format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
-      attr_bold->start_index = index_ - start_index;
-    }
-
-    if (format_prev->color != format->color) {
-      attr_color->end_index = index_ - start_index;
-      swfdec_text_paragraph_add_attribute (paragraph, attr_color);
-
-      attr_color = pango_attr_foreground_new (
-	  SWFDEC_COLOR_R (format->color) * 255,
-	  SWFDEC_COLOR_G (format->color) * 255,
-	  SWFDEC_COLOR_B (format->color) * 255);
-      attr_color->start_index = index_ - start_index;
-    }
-
-    if (format_prev->font != format->font) {
-      attr_font->end_index = index_ - start_index;
-      swfdec_text_paragraph_add_attribute (paragraph, attr_font);
-
-      if (text->text->embed_fonts)
-	SWFDEC_FIXME ("Using embed fonts in TextField not supported");
-      attr_font = pango_attr_family_new (format->font);
-      attr_font->start_index = index_ - start_index;
-    }
-
-    if (format_prev->italic != format->italic) {
-      attr_italic->end_index = index_ - start_index;
-      swfdec_text_paragraph_add_attribute (paragraph, attr_italic);
-
-      attr_italic = pango_attr_style_new (
-	  (format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
-      attr_italic->start_index = index_ - start_index;
-    }
-
-    if (format_prev->letter_spacing != format->letter_spacing) {
-      attr_letter_spacing->end_index = index_ - start_index;
-      swfdec_text_paragraph_add_attribute (paragraph, attr_letter_spacing);
-
-      // FIXME: correct scaling?
-      attr_letter_spacing = pango_attr_letter_spacing_new (
-	  format->letter_spacing * 20 * PANGO_SCALE);
-      attr_letter_spacing->start_index = index_ - start_index;
-    }
-
-    if (format_prev->size != format->size) {
-      attr_size->end_index = index_ - start_index;
-      swfdec_text_paragraph_add_attribute (paragraph, attr_size);
-
-      attr_size =
-	pango_attr_size_new_absolute (MAX (1, format->size) * 20 * PANGO_SCALE);
-      attr_size->start_index = index_ - start_index;
-    }
-
-    if (format_prev->underline != format->underline) {
-      attr_underline->end_index = index_ - start_index;
-      swfdec_text_paragraph_add_attribute (paragraph, attr_underline);
-
-      attr_underline = pango_attr_underline_new (
-	  (format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
-      attr_underline->start_index = index_ - start_index;
-    }
-  }
-
-  // Close attributes
-  attr_bold->end_index = end_index - start_index;
-  swfdec_text_paragraph_add_attribute (paragraph, attr_bold);
-  attr_bold = NULL;
-
-  attr_color->end_index = end_index - start_index;
-  swfdec_text_paragraph_add_attribute (paragraph, attr_color);
-  attr_color = NULL;
-
-  attr_font->end_index = end_index - start_index;
-  swfdec_text_paragraph_add_attribute (paragraph, attr_font);
-  attr_font = NULL;
-
-  attr_italic->end_index = end_index - start_index;
-  swfdec_text_paragraph_add_attribute (paragraph, attr_italic);
-  attr_italic = NULL;
-
-  attr_letter_spacing->end_index = end_index - start_index;
-  swfdec_text_paragraph_add_attribute (paragraph, attr_letter_spacing);
-  attr_letter_spacing = NULL;
-
-  attr_size->end_index = end_index - start_index;
-  swfdec_text_paragraph_add_attribute (paragraph, attr_size);
-  attr_size = NULL;
-
-  attr_underline->end_index = end_index - start_index;
-  swfdec_text_paragraph_add_attribute (paragraph, attr_underline);
-  attr_underline = NULL;
-}
-
-static void
-swfdec_text_field_movie_generate_paragraphs (SwfdecTextFieldMovie *text)
-{
-  const char *p, *end;
-  int num, i;
-
-  g_assert (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
-
-  num = 0;
-  p = text->text_display;
-  while (p != NULL) {
-    num++;
-    p = strchr (p, '\r');
-    if (p != NULL) p++;
-  }
-
-  text->paragraphs = g_new0 (SwfdecParagraph, num + 1);
-
-  i = 0;
-  p = text->text_display;
-  while (*p != '\0') {
-    g_assert (i < num);
-    end = strchr (p, '\r');
-    if (end == NULL)
-      end = strchr (p, '\0');
-
-    swfdec_text_field_movie_generate_paragraph (text, &text->paragraphs[i],
-	p - text->text_display, end - text->text_display);
-
-    p = end;
-    if (*p == '\r') p++;
-
-    i++;
-  }
-  g_assert (i == num);
-}
-
-static void
-swfdec_text_field_movie_render (SwfdecMovie *movie, cairo_t *cr,
-    const SwfdecColorTransform *trans, const SwfdecRect *inval)
-{
-  SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
-
-  if (text->paragraphs == NULL)
-    swfdec_text_field_movie_generate_paragraphs (text);
-
-  if (text->paragraphs[0].text == NULL)
-    return;
-  swfdec_text_field_render (text->text, cr, text->paragraphs, trans, inval);
-}
-
-static void
-swfdec_text_field_movie_free_paragraphs (SwfdecTextFieldMovie *text)
-{
-  GList *iter;
-  int i;
-
-  if (text->paragraphs) {
-    for (i = 0; text->paragraphs[i].text != NULL; i++)
-    {
-      for (iter = text->paragraphs[i].blocks; iter != NULL; iter = iter->next) {
-	pango_tab_array_free (((SwfdecBlock *)(iter->data))->tab_stops);
-      }
-      g_list_free (text->paragraphs[i].blocks);
-
-      for (iter = text->paragraphs[i].attrs; iter != NULL; iter = iter->next) {
-	pango_attribute_destroy ((PangoAttribute *)(iter->data));
-      }
-      g_list_free (text->paragraphs[i].attrs);
-
-      if (text->paragraphs[i].attrs_list != NULL)
-	pango_attr_list_unref (text->paragraphs[i].attrs_list);
-    }
-    g_free (text->paragraphs);
-    text->paragraphs = NULL;
-  }
-}
-
-void
-swfdec_text_field_movie_format_changed (SwfdecTextFieldMovie *text)
-{
-  swfdec_text_field_movie_free_paragraphs (text);
-}
-
-static void
-swfdec_text_field_movie_dispose (GObject *object)
-{
-  SwfdecTextFieldMovie *text;
-  GSList *iter;
-
-  text = SWFDEC_TEXT_FIELD_MOVIE (object);
-
-  swfdec_text_field_movie_free_paragraphs (text);
-
-  for (iter = text->formats; iter != NULL; iter = iter->next) {
-    g_free (text->formats->data);
-    text->formats->data = NULL;
-  }
-  g_slist_free (text->formats);
-
-  G_OBJECT_CLASS (swfdec_text_field_movie_parent_class)->dispose (object);
-}
-
-static void
-swfdec_text_field_movie_mark (SwfdecAsObject *object)
-{
-  SwfdecTextFieldMovie *text;
-  GSList *iter;
-
-  text = SWFDEC_TEXT_FIELD_MOVIE (object);
-
-  swfdec_as_string_mark (text->text_input);
-  swfdec_as_string_mark (text->text_display);
-  swfdec_as_string_mark (text->variable);
-  swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->format_new));
-  for (iter = text->formats; iter != NULL; iter = iter->next) {
-    swfdec_as_object_mark (
-	SWFDEC_AS_OBJECT (((SwfdecFormatIndex *)(iter->data))->format));
-  }
-  swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->format_new));
-  if (text->style_sheet != NULL)
-    swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->style_sheet));
-
-  SWFDEC_AS_OBJECT_CLASS (swfdec_text_field_movie_parent_class)->mark (object);
-}
-
-static void
-swfdec_text_field_movie_iterate (SwfdecMovie *movie)
-{
-  SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
-  SwfdecAsObject *parent;
-  const char *s;
-  SwfdecAsValue val = { 0, };
-
-  if (text->text->variable == NULL)
-    return;
-
-  parent = SWFDEC_AS_OBJECT (movie->parent);
-  swfdec_as_context_eval (parent->context, parent, text->text->variable, &val);
-  if (SWFDEC_AS_VALUE_IS_UNDEFINED (&val))
-    return;
-
-  s = swfdec_as_value_to_string (parent->context, &val);
-  g_assert (s);
-  if (text->text_input == s)
-    return;
-
-  swfdec_text_field_movie_set_text (text, s, text->text->html);
-}
-
-static void
-swfdec_text_field_movie_init_movie (SwfdecMovie *movie)
-{
-  SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
-  SwfdecAsContext *cx;
-  SwfdecAsObject *parent;
-  SwfdecAsValue val = { 0, };
-  const char *s;
-
-  cx = SWFDEC_AS_OBJECT (movie)->context;
-
-  // format
-  text->format_new = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (cx));
-  swfdec_text_format_set_defaults (text->format_new);
-  text->format_new->color = text->text->color;
-  text->format_new->align = text->text->align;
-  text->format_new->font = text->text->font->name;
-  text->format_new->size = text->text->size / 20;
-  text->format_new->left_margin = text->text->left_margin / 20;
-  text->format_new->right_margin = text->text->right_margin / 20;
-  text->format_new->indent = text->text->indent / 20;
-  text->format_new->leading = text->text->leading / 20;
-
-  // text
-  if (text->text->text_input != NULL) {
-    swfdec_text_field_movie_set_text (text,
-	swfdec_as_context_get_string (cx, text->text->text_input),
-	text->text->html);
-  }
-
-  // variable
-  if (text->text->variable != NULL)
-  {
-    text->variable = swfdec_as_context_get_string (cx, text->text->variable);
-
-    parent = SWFDEC_AS_OBJECT (movie->parent);
-    swfdec_as_context_eval (parent->context, parent, text->variable, &val);
-    if (!SWFDEC_AS_VALUE_IS_UNDEFINED (&val)) {
-      s = swfdec_as_value_to_string (parent->context, &val);
-      g_assert (s);
-      if (text->text_input != s)
-	swfdec_text_field_movie_set_text (text, s, text->text->html);
-    } else {
-      SWFDEC_LOG ("setting variable %s to \"%s\"", text->variable,
-	  text->text_input ? text->text_input : "");
-      s = text->text_input ? swfdec_as_context_get_string (parent->context,
-	  text->text_input) : SWFDEC_AS_STR_EMPTY;
-      SWFDEC_AS_VALUE_SET_STRING (&val, s);
-      swfdec_as_context_eval_set (parent->context, parent, text->variable,
-	  &val);
-    }
-  }
-}
-
-static void
-swfdec_text_field_movie_class_init (SwfdecTextFieldMovieClass * g_class)
-{
-  GObjectClass *object_class = G_OBJECT_CLASS (g_class);
-  SwfdecAsObjectClass *asobject_class = SWFDEC_AS_OBJECT_CLASS (g_class);
-  SwfdecMovieClass *movie_class = SWFDEC_MOVIE_CLASS (g_class);
-
-  object_class->dispose = swfdec_text_field_movie_dispose;
-
-  asobject_class->mark = swfdec_text_field_movie_mark;
-
-  movie_class->init_movie = swfdec_text_field_movie_init_movie;
-  movie_class->update_extents = swfdec_text_field_movie_update_extents;
-  movie_class->render = swfdec_text_field_movie_render;
-  movie_class->iterate_start = swfdec_text_field_movie_iterate;
-}
-
-static void
-swfdec_text_field_movie_init (SwfdecTextFieldMovie *text)
-{
-}
-
-void
-swfdec_text_field_movie_set_text_format (SwfdecTextFieldMovie *text,
-    SwfdecTextFormat *format, guint start_index, guint end_index)
-{
-  SwfdecFormatIndex *findex, *findex_new;
-  guint findex_end_index;
-  GSList *iter, *next;
-
-  g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
-  g_return_if_fail (SWFDEC_IS_TEXT_FORMAT (format));
-  g_return_if_fail (start_index < end_index);
-  g_return_if_fail (end_index <= strlen (text->text_display));
-
-  g_assert (text->formats != NULL);
-  g_assert (text->formats->data != NULL);
-  g_assert (((SwfdecFormatIndex *)text->formats->data)->index == 0);
-  for (iter = text->formats; iter != NULL &&
-      ((SwfdecFormatIndex *)iter->data)->index < end_index;
-      iter = next)
-  {
-    next = iter->next;
-    findex = iter->data;
-    if (iter->next != NULL) {
-      findex_end_index =
-	((SwfdecFormatIndex *)iter->next->data)->index;
-    } else {
-      findex_end_index = strlen (text->text_display);
-    }
-
-    if (findex_end_index < start_index)
-      continue;
-
-    if (findex_end_index > end_index) {
-      findex_new = g_new (SwfdecFormatIndex, 1);
-      findex_new->index = end_index;
-      findex_new->format = swfdec_text_format_copy (findex->format);
-
-      iter = g_slist_insert (iter, findex_new, 1);
-    }
-
-    if (findex->index < start_index) {
-      findex_new = g_new (SwfdecFormatIndex, 1);
-      findex_new->index = start_index;
-      findex_new->format = swfdec_text_format_copy (findex->format);
-      swfdec_text_format_add (findex_new->format, format);
-
-      iter = g_slist_insert (iter, findex_new, 1);
-    } else {
-      swfdec_text_format_add (findex->format, format);
-    }
-  }
-
-  swfdec_text_field_movie_format_changed (text);
-}
-
-void
-swfdec_text_field_movie_set_text (SwfdecTextFieldMovie *text, const char *str,
-    gboolean html)
-{
-  SwfdecFormatIndex *block;
-  GSList *iter;
-
-  g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
-
-  text->text_input = str;
-
-  // remove old formatting info
-  iter = text->formats;
-  while (iter) {
-    g_free (iter->data);
-    iter = g_slist_next (iter);
-  }
-  g_slist_free (text->formats);
-  text->formats = NULL;
-
-  // add the default style
-  if (html && SWFDEC_AS_OBJECT (text)->context->version < 8)
-    swfdec_text_format_set_defaults (text->format_new);
-  block = g_new (SwfdecFormatIndex, 1);
-  block->index = 0;
-  g_assert (SWFDEC_IS_TEXT_FORMAT (text->format_new));
-  block->format = text->format_new;
-  text->formats = g_slist_prepend (text->formats, block);
-
-  if (html) {
-    swfdec_text_field_movie_html_parse (text, str);
-  } else {
-    // change all \n to \r
-    if (strchr (str, '\n') != NULL) {
-      char *string, *p;
-
-      string = g_strdup (str);
-      p = string;
-      while ((p = strchr (p, '\n')) != NULL) {
-	*p = '\r';
-      }
-      text->text_display = swfdec_as_context_give_string (
-	  SWFDEC_AS_OBJECT (text)->context, string);
-    } else {
-      text->text_display = str;
-    }
-  }
-
-  swfdec_text_field_movie_format_changed (text);
-}
diff --git a/libswfdec/swfdec_edittext_movie.h b/libswfdec/swfdec_edittext_movie.h
deleted file mode 100644
index 8b7999a..0000000
--- a/libswfdec/swfdec_edittext_movie.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/* Swfdec
- * Copyright (C) 2006 Benjamin Otte <otte at gnome.org>
- *                    Pekka Lampila <pekka.lampila at iki.fi>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library 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
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, 
- * Boston, MA  02110-1301  USA
- */
-
-#ifndef _SWFDEC_TEXT_FIELD_MOVIE_H_
-#define _SWFDEC_TEXT_FIELD_MOVIE_H_
-
-#include <libswfdec/swfdec_movie.h>
-#include <libswfdec/swfdec_edittext.h>
-#include <libswfdec/swfdec_style_sheet.h>
-#include <libswfdec/swfdec_text_format.h>
-
-G_BEGIN_DECLS
-
-
-typedef struct _SwfdecTextFieldMovie SwfdecTextFieldMovie;
-typedef struct _SwfdecTextFieldMovieClass SwfdecTextFieldMovieClass;
-
-#define SWFDEC_TYPE_TEXT_FIELD_MOVIE                    (swfdec_text_field_movie_get_type())
-#define SWFDEC_IS_TEXT_FIELD_MOVIE(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_TEXT_FIELD_MOVIE))
-#define SWFDEC_IS_TEXT_FIELD_MOVIE_CLASS(klass)         (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_TEXT_FIELD_MOVIE))
-#define SWFDEC_TEXT_FIELD_MOVIE(obj)                    (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_TEXT_FIELD_MOVIE, SwfdecTextFieldMovie))
-#define SWFDEC_TEXT_FIELD_MOVIE_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_TEXT_FIELD_MOVIE, SwfdecTextFieldMovieClass))
-
-typedef struct {
-  guint			index;
-  SwfdecTextFormat *	format;
-} SwfdecFormatIndex;
-
-typedef enum {
-  SWFDEC_ANTI_ALIAS_TYPE_NORMAL,
-  SWFDEC_ANTI_ALIAS_TYPE_ADVANCED
-} SwfdecAntiAliasType;
-
-typedef enum {
-  SWFDEC_GRID_FIT_TYPE_NONE,
-  SWFDEC_GRID_FIT_TYPE_PIXEL,
-  SWFDEC_GRID_FIT_TYPE_SUBPIXEL
-} SwfdecGridFitType;
-
-struct _SwfdecTextFieldMovie {
-  SwfdecMovie		movie;
-
-  SwfdecTextField *	text;		/* the text_field object we render */
-
-  const char *		text_input;
-  const char *		text_display;
-
-  const char *		variable;
-
-  SwfdecTextFormat *	format_new;
-  GSList *		formats;
-
-  SwfdecAntiAliasType	anti_alias_type;
-  gboolean		background_fill;
-  guint			border_color;
-  gboolean		condense_white;
-  gboolean		embed_fonts;
-  SwfdecGridFitType	grid_fit_type;
-  guint			hscroll;
-  gboolean		mouse_wheel_enabled;
-  const char *		restrict_;
-  guint			scroll;
-  int			sharpness;
-  SwfdecStyleSheet *	style_sheet;
-  int			thickness;
-
-  /* for rendering */
-  SwfdecParagraph *	paragraphs;
-};
-
-struct _SwfdecTextFieldMovieClass {
-  SwfdecMovieClass	movie_class;
-};
-
-GType		swfdec_text_field_movie_get_type		(void);
-
-void		swfdec_text_field_movie_set_text		(SwfdecTextFieldMovie *	movie,
-							 const char *		str,
-							 gboolean		html);
-void		swfdec_text_field_movie_format_changed	(SwfdecTextFieldMovie *	text);
-void		swfdec_text_field_movie_set_text_format	(SwfdecTextFieldMovie *	text,
-							 SwfdecTextFormat *	format,
-							 guint			start_index,
-							 guint			end_index);
-
-/* implemented in swfdec_html_parser.c */
-void		swfdec_text_field_movie_html_parse	(SwfdecTextFieldMovie *	text, 
-							 const char *		str);
-
-G_END_DECLS
-#endif
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
deleted file mode 100644
index c9d4cd0..0000000
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ /dev/null
@@ -1,705 +0,0 @@
-/* Swfdec
- * Copyright (C) 2007 Benjamin Otte <otte at gnome.org>
- *                    Pekka Lampila <pekka.lampila at iki.fi>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library 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
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, 
- * Boston, MA  02110-1301  USA
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <string.h>
-
-#include "swfdec_edittext.h"
-#include "swfdec_edittext_movie.h"
-#include "swfdec_as_strings.h"
-#include "swfdec_debug.h"
-#include "swfdec_as_native_function.h"
-#include "swfdec_as_internal.h"
-#include "swfdec_as_context.h"
-#include "swfdec_as_frame_internal.h"
-#include "swfdec_xml.h"
-#include "swfdec_internal.h"
-#include "swfdec_player_internal.h"
-
-static void
-swfdec_text_field_movie_get_text (SwfdecAsContext *cx, SwfdecAsObject *object,
-    guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
-{
-  SwfdecTextFieldMovie *text;
-
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
-  SWFDEC_AS_VALUE_SET_STRING (ret, (text->text_display != NULL ?
-	swfdec_as_context_get_string (cx, text->text_display) :
-	SWFDEC_AS_STR_EMPTY));
-}
-
-static void
-swfdec_text_field_movie_do_set_text (SwfdecAsContext *cx,
-    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
-    SwfdecAsValue *ret)
-{
-  SwfdecTextFieldMovie *text;
-  const char *value;
-
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "s", &value);
-
-  swfdec_text_field_movie_set_text (text, value, FALSE);
-}
-
-static const char *
-align_to_string (SwfdecTextAlign align)
-{
-  switch (align) {
-    case SWFDEC_TEXT_ALIGN_LEFT:
-      return "LEFT";
-    case SWFDEC_TEXT_ALIGN_RIGHT:
-      return "RIGHT";
-    case SWFDEC_TEXT_ALIGN_CENTER:
-      return "CENTER";
-    case SWFDEC_TEXT_ALIGN_JUSTIFY:
-      return "JUSTIFY";
-    default:
-      g_assert_not_reached ();
-  }
-}
-
-/*
- * Order of tags:
- * TEXTFORMAT / P or LI / FONT / A / B / I / U
- *
- * Order of attributes:
- * TEXTFORMAT:
- * LEFTMARGIN / RIGHTMARGIN / INDENT / LEADING / BLOCKINDENT / TABSTOPS
- * P: ALIGN
- * LI: none
- * FONT: FACE / SIZE / COLOR / LETTERSPACING / KERNING
- * A: HREF / TARGET
- * B: none
- * I: none
- * U: none
- */
-static GString *
-swfdec_text_field_movie_htmlText_append_paragraph (SwfdecTextFieldMovie *text,
-    GString *string, guint start_index, guint end_index)
-{
-  SwfdecTextFormat *format, *format_prev, *format_font;
-  GSList *iter, *fonts, *iter_font;
-  guint index_, index_prev;
-  gboolean textformat, bullet, font;
-  char *escaped;
-
-  g_return_val_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text), string);
-  g_return_val_if_fail (string != NULL, string);
-  g_return_val_if_fail (start_index < end_index, string);
-
-  g_return_val_if_fail (text->formats != NULL, string);
-  for (iter = text->formats; iter->next != NULL &&
-      ((SwfdecFormatIndex *)(iter->next->data))->index <= start_index;
-      iter = iter->next);
-
-  index_ = start_index;
-  format = ((SwfdecFormatIndex *)(iter->data))->format;
-
-  if (format->left_margin != 0 || format->right_margin != 0 ||
-      format->indent != 0 || format->leading != 0 ||
-      format->block_indent != 0 ||
-      swfdec_as_array_get_length (format->tab_stops) > 0)
-  {
-    string = g_string_append (string, "<TEXTFORMAT");
-    if (format->left_margin) {
-      g_string_append_printf (string, " LEFTMARGIN=\"%i\"",
-	  format->left_margin);
-    }
-    if (format->right_margin) {
-      g_string_append_printf (string, " RIGHTMARGIN=\"%i\"",
-	  format->right_margin);
-    }
-    if (format->indent)
-      g_string_append_printf (string, " INDENT=\"%i\"", format->indent);
-    if (format->leading)
-      g_string_append_printf (string, " LEADING=\"%i\"", format->leading);
-    if (format->block_indent) {
-      g_string_append_printf (string, " BLOCKINDENT=\"%i\"",
-	  format->block_indent);
-    }
-    if (swfdec_as_array_get_length (format->tab_stops) > 0) {
-      SwfdecAsValue val;
-      SWFDEC_AS_VALUE_SET_OBJECT (&val, SWFDEC_AS_OBJECT  (format->tab_stops));
-      g_string_append_printf (string, " TABSTOPS=\"%s\"",
-	  swfdec_as_value_to_string (SWFDEC_AS_OBJECT
-	    (format->tab_stops)->context, &val));
-    }
-    string = g_string_append (string, ">");
-
-    textformat = TRUE;
-  }
-  else
-  {
-    textformat = FALSE;
-  }
-
-  if (format->bullet) {
-    string = g_string_append (string, "<LI>");
-    bullet = TRUE;
-  } else {
-    g_string_append_printf (string, "<P ALIGN=\"%s\">",
-	align_to_string (format->align));
-    bullet = FALSE;
-  }
-
-  // note we don't escape format->font, even thought it can have evil chars
-  g_string_append_printf (string, "<FONT FACE=\"%s\" SIZE=\"%i\" COLOR=\"#%06X\" LETTERSPACING=\"%i\" KERNING=\"%i\">",
-      format->font, format->size, format->color, (int)format->letter_spacing,
-      (format->kerning ? 1 : 0));
-  fonts = g_slist_prepend (NULL, format);
-
-  if (format->url != SWFDEC_AS_STR_EMPTY)
-    g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
-	format->url, format->target);
-  if (format->bold)
-    string = g_string_append (string, "<B>");
-  if (format->italic)
-    string = g_string_append (string, "<I>");
-  if (format->underline)
-    string = g_string_append (string, "<U>");
-
-  // special case: use <= instead of < to add some extra markup
-  for (iter = iter->next;
-      iter != NULL && ((SwfdecFormatIndex *)(iter->data))->index <= end_index;
-      iter = iter->next)
-  {
-    index_prev = index_;
-    format_prev = format;
-    index_ = ((SwfdecFormatIndex *)(iter->data))->index;
-    format = ((SwfdecFormatIndex *)(iter->data))->format;
-
-    escaped = swfdec_xml_escape_len (text->text_display + index_prev,
-	index_ - index_prev);
-    string = g_string_append (string, escaped);
-    g_free (escaped);
-    escaped = NULL;
-
-    // Figure out what tags need to be rewritten
-    if (format->font != format_prev->font ||
-	format->size != format_prev->size ||
-	format->color != format_prev->color ||
-	(int)format->letter_spacing != (int)format_prev->letter_spacing ||
-	format->kerning != format_prev->kerning) {
-      font = TRUE;
-    } else if (format->url == format_prev->url &&
-	format->target == format_prev->target &&
-	format->bold == format_prev->bold &&
-	format->italic == format_prev->italic &&
-	format->underline == format_prev->underline) {
-      continue;
-    }
-
-    // Close tags
-    for (iter_font = fonts; iter_font != NULL; iter_font = iter_font->next)
-    {
-      format_font = (SwfdecTextFormat *)iter_font->data;
-      if (format->font == format_font->font &&
-	format->size == format_font->size &&
-	format->color == format_font->color &&
-	(int)format->letter_spacing == (int)format_font->letter_spacing &&
-	format->kerning == format_font->kerning) {
-	break;
-      }
-    }
-    if (iter_font != NULL) {
-      while (fonts != iter_font) {
-	string = g_string_append (string, "</FONT>");
-	fonts = g_slist_remove (fonts, fonts->data);
-      }
-    }
-    if (format_prev->underline)
-      string = g_string_append (string, "</U>");
-    if (format_prev->italic)
-      string = g_string_append (string, "</I>");
-    if (format_prev->bold)
-      string = g_string_append (string, "</B>");
-    if (format_prev->url != SWFDEC_AS_STR_EMPTY)
-      string = g_string_append (string, "</A>");
-
-    // Open tags
-    format_font = (SwfdecTextFormat *)fonts->data;
-    if (font && (format->font != format_font->font ||
-	 format->size != format_font->size ||
-	 format->color != format_font->color ||
-	 (int)format->letter_spacing != (int)format_font->letter_spacing ||
-	 format->kerning != format_font->kerning))
-    {
-      fonts = g_slist_prepend (fonts, format);
-
-      string = g_string_append (string, "<FONT");
-      // note we don't escape format->font, even thought it can have evil chars
-      if (format->font != format_font->font)
-	g_string_append_printf (string, " FACE=\"%s\"", format->font);
-      if (format->size != format_font->size)
-	g_string_append_printf (string, " SIZE=\"%i\"", format->size);
-      if (format->color != format_font->color)
-	g_string_append_printf (string, " COLOR=\"#%06X\"", format->color);
-      if ((int)format->letter_spacing != (int)format_font->letter_spacing) {
-	g_string_append_printf (string, " LETTERSPACING=\"%i\"",
-	    (int)format->letter_spacing);
-      }
-      if (format->kerning != format_font->kerning) {
-	g_string_append_printf (string, " KERNING=\"%i\"",
-	    (format->kerning ? 1 : 0));
-      }
-      string = g_string_append (string, ">");
-    }
-    if (format->url != SWFDEC_AS_STR_EMPTY) {
-      g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
-	  format->url, format->target);
-    }
-    if (format->bold)
-      string = g_string_append (string, "<B>");
-    if (format->italic)
-      string = g_string_append (string, "<I>");
-    if (format->underline)
-      string = g_string_append (string, "<U>");
-  }
-
-  escaped = swfdec_xml_escape_len (text->text_display + index_,
-      end_index - index_);
-  string = g_string_append (string, escaped);
-  g_free (escaped);
-
-  if (format->underline)
-    string = g_string_append (string, "</U>");
-  if (format->italic)
-    string = g_string_append (string, "</I>");
-  if (format->bold)
-    string = g_string_append (string, "</B>");
-  if (format->url != SWFDEC_AS_STR_EMPTY)
-    string = g_string_append (string, "</A>");
-  for (iter = fonts; iter != NULL; iter = iter->next)
-    string = g_string_append (string, "</FONT>");
-  g_slist_free (fonts);
-  if (bullet) {
-    string = g_string_append (string, "</LI>");
-  } else {
-    string = g_string_append (string, "</P>");
-  }
-  if (textformat)
-    string = g_string_append (string, "</TEXTFORMAT>");
-
-  return string;
-}
-
-static void
-swfdec_text_field_movie_get_htmlText (SwfdecAsContext *cx,
-    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
-    SwfdecAsValue *ret)
-{
-  SwfdecTextFieldMovie *text;
-  const char *p, *end;
-  GString *string;
-
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
-  if (text->text->html == FALSE) {
-    swfdec_text_field_movie_get_text (cx, object, argc, argv, ret);
-    return;
-  }
-
-  if (text->text_display == NULL) {
-    SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_EMPTY);
-    return;
-  }
-
-  string = g_string_new ("");
-
-  p = text->text_display;
-  while (*p != '\0') {
-    end = strchr (p, '\r');
-    if (end == NULL)
-      end = strchr (p, '\0');
-
-    string = swfdec_text_field_movie_htmlText_append_paragraph (text, string,
-	p - text->text_display, end - text->text_display);
-
-    if (*end == '\r') {
-      p = end + 1;
-    } else {
-      p = end;
-    }
-  }
-
-  SWFDEC_AS_VALUE_SET_STRING (ret,
-      swfdec_as_context_give_string (cx, g_string_free (string, FALSE)));
-}
-
-static void
-swfdec_text_field_movie_set_htmlText (SwfdecAsContext *cx,
-    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
-    SwfdecAsValue *ret)
-{
-  SwfdecTextFieldMovie *text;
-  const char *value;
-
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "s", &value);
-
-  swfdec_text_field_movie_set_text (text, value, text->text->html);
-}
-
-static void
-swfdec_text_field_movie_get_html (SwfdecAsContext *cx, SwfdecAsObject *object,
-    guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
-{
-  SwfdecTextFieldMovie *text;
-
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
-  SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->html);
-}
-
-static void
-swfdec_text_field_movie_set_html (SwfdecAsContext *cx, SwfdecAsObject *object,
-    guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
-{
-  SwfdecTextFieldMovie *text;
-  gboolean value;
-
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
-
-  text->text->html = value;
-}
-
-static void
-swfdec_text_field_movie_get_condenseWhite (SwfdecAsContext *cx,
-    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
-    SwfdecAsValue *ret)
-{
-  SwfdecTextFieldMovie *text;
-
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
-  SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->condense_white);
-}
-
-static void
-swfdec_text_field_movie_set_condenseWhite (SwfdecAsContext *cx,
-    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
-    SwfdecAsValue *ret)
-{
-  SwfdecTextFieldMovie *text;
-  gboolean value;
-
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
-
-  text->condense_white = value;
-}
-
-static void
-swfdec_text_field_movie_get_embedFonts (SwfdecAsContext *cx,
-    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
-    SwfdecAsValue *ret)
-{
-  SwfdecTextFieldMovie *text;
-
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
-  SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->embed_fonts);
-}
-
-static void
-swfdec_text_field_movie_set_embedFonts (SwfdecAsContext *cx,
-    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
-    SwfdecAsValue *ret)
-{
-  SwfdecTextFieldMovie *text;
-  gboolean value;
-
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
-
-  text->text->embed_fonts = value;
-}
-
-static void
-swfdec_text_field_movie_get_length (SwfdecAsContext *cx, SwfdecAsObject *object,
-    guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
-{
-  SwfdecTextFieldMovie *text;
-
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
-  SWFDEC_AS_VALUE_SET_INT (ret, strlen (text->text_display));
-}
-
-static void
-swfdec_text_field_movie_get_textColor (SwfdecAsContext *cx,
-    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
-    SwfdecAsValue *ret)
-{
-  SwfdecTextFieldMovie *text;
-
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
-  swfdec_as_object_get_variable (SWFDEC_AS_OBJECT (text->format_new),
-      SWFDEC_AS_STR_color, ret);
-}
-
-static void
-swfdec_text_field_movie_set_textColor (SwfdecAsContext *cx,
-    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
-    SwfdecAsValue *ret)
-{
-  SwfdecTextFieldMovie *text;
-
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
-  if (argc < 1)
-    return;
-
-  swfdec_as_object_set_variable (SWFDEC_AS_OBJECT (text->format_new),
-      SWFDEC_AS_STR_color, &argv[0]);
-}
-
-SWFDEC_AS_NATIVE (104, 104, swfdec_text_field_movie_getNewTextFormat)
-void
-swfdec_text_field_movie_getNewTextFormat (SwfdecAsContext *cx,
-    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
-    SwfdecAsValue *ret)
-{
-  SwfdecTextFieldMovie *text;
-
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
-  SWFDEC_AS_VALUE_SET_OBJECT (ret,
-      SWFDEC_AS_OBJECT (swfdec_text_format_copy (text->format_new)));
-}
-
-SWFDEC_AS_NATIVE (104, 105, swfdec_text_field_movie_setNewTextFormat)
-void
-swfdec_text_field_movie_setNewTextFormat (SwfdecAsContext *cx,
-    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
-    SwfdecAsValue *ret)
-{
-  SwfdecTextFieldMovie *text;
-  SwfdecAsObject *obj;
-
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "o", &obj);
-
-  if (!SWFDEC_IS_TEXT_FORMAT (obj))
-    return;
-
-  text->format_new = swfdec_text_format_copy (SWFDEC_TEXT_FORMAT (obj));
-}
-
-SWFDEC_AS_NATIVE (104, 102, swfdec_text_field_movie_setTextFormat)
-void
-swfdec_text_field_movie_setTextFormat (SwfdecAsContext *cx,
-    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
-    SwfdecAsValue *ret)
-{
-  SwfdecTextFieldMovie *text;
-  SwfdecTextFormat *format;
-  guint start_index, end_index;
-  int i;
-
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
-  if (argc < 1)
-    return;
-
-  i = 0;
-  if (argc >= 2) {
-    start_index = swfdec_as_value_to_integer (cx, &argv[i++]);
-    start_index = MIN (start_index, strlen (text->text_display));
-  } else {
-    start_index = 0;
-  }
-  if (argc >= 3) {
-    end_index = swfdec_as_value_to_integer (cx, &argv[i++]);
-    end_index = CLAMP (end_index, start_index, strlen (text->text_display));
-  } else {
-    end_index = strlen (text->text_display);
-  }
-  if (start_index == end_index)
-    return;
-
-  if (!SWFDEC_AS_VALUE_IS_OBJECT (&argv[i]))
-    return;
-  if (!SWFDEC_IS_TEXT_FORMAT (SWFDEC_AS_VALUE_GET_OBJECT (&argv[i])))
-    return;
-
-  format = SWFDEC_TEXT_FORMAT (SWFDEC_AS_VALUE_GET_OBJECT (&argv[i]));
-
-  swfdec_text_field_movie_set_text_format (text, format, start_index, end_index);
-}
-
-SWFDEC_AS_NATIVE (104, 200, swfdec_text_field_movie_createTextField)
-void
-swfdec_text_field_movie_createTextField (SwfdecAsContext *cx,
-    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
-    SwfdecAsValue *rval)
-{
-  SwfdecMovie *movie, *parent;
-  SwfdecTextField *edittext;
-  int depth, x, y, width, height;
-  const char *name;
-  SwfdecAsFunction *fun;
-  SwfdecAsValue val;
-
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, (gpointer)&parent, "siiiii", &name, &depth, &x, &y, &width, &height);
-
-  edittext = g_object_new (SWFDEC_TYPE_TEXT_FIELD, NULL);
-  edittext->html = FALSE;
-  edittext->input = FALSE;
-  edittext->password = FALSE;
-  edittext->selectable = TRUE;
-  edittext->font = NULL; // FIXME
-  edittext->wrap = FALSE;
-  edittext->multiline = FALSE;
-  edittext->auto_size = SWFDEC_AUTO_SIZE_NONE;
-  edittext->border = FALSE;
-  edittext->size = 240; // FIXME: Correct?
-
-  edittext->text_input = NULL;
-  edittext->variable = NULL;
-  edittext->color = 0;
-  edittext->align = SWFDEC_TEXT_ALIGN_LEFT;
-  edittext->left_margin = 0;
-  edittext->right_margin = 0;
-  edittext->indent = 0;
-  edittext->leading = 0;
-
-  edittext->graphic.extents.x0 = x;
-  edittext->graphic.extents.x1 = x + width;
-  edittext->graphic.extents.y0 = y;
-  edittext->graphic.extents.y1 = y + height;
-
-  movie = swfdec_movie_find (parent, depth);
-  if (movie)
-    swfdec_movie_remove (movie);
-
-  movie = swfdec_movie_new (SWFDEC_PLAYER (cx), depth, parent,
-      SWFDEC_GRAPHIC (edittext), name);
-  g_assert (SWFDEC_IS_TEXT_FIELD_MOVIE (movie));
-  swfdec_movie_initialize (movie);
-
-  swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
-  if (!SWFDEC_AS_VALUE_IS_OBJECT (&val))
-    return;
-  fun = (SwfdecAsFunction *) SWFDEC_AS_VALUE_GET_OBJECT (&val);
-  if (!SWFDEC_IS_AS_FUNCTION (fun))
-    return;
-
-  /* set initial variables */
-  if (swfdec_as_object_get_variable (SWFDEC_AS_OBJECT (fun),
-	SWFDEC_AS_STR_prototype, &val)) {
-    swfdec_as_object_set_variable_and_flags (SWFDEC_AS_OBJECT (movie),
-	SWFDEC_AS_STR___proto__, &val,
-	SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_PERMANENT);
-  }
-  SWFDEC_AS_VALUE_SET_OBJECT (&val, SWFDEC_AS_OBJECT (fun));
-  if (cx->version < 7) {
-    swfdec_as_object_set_variable_and_flags (SWFDEC_AS_OBJECT (movie),
-	SWFDEC_AS_STR_constructor, &val, SWFDEC_AS_VARIABLE_HIDDEN);
-  }
-  swfdec_as_object_set_variable_and_flags (SWFDEC_AS_OBJECT (movie),
-      SWFDEC_AS_STR___constructor__, &val,
-      SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_VERSION_6_UP);
-
-  swfdec_as_function_call (fun, SWFDEC_AS_OBJECT (movie), 0, NULL, rval);
-  cx->frame->construct = TRUE;
-  swfdec_as_context_run (cx);
-}
-
-static void
-swfdec_text_field_movie_add_variable (SwfdecAsObject *object,
-    const char *variable, SwfdecAsNative get, SwfdecAsNative set)
-{
-  SwfdecAsFunction *get_func, *set_func;
-
-  g_return_if_fail (SWFDEC_IS_AS_OBJECT (object));
-  g_return_if_fail (variable != NULL);
-  g_return_if_fail (get != NULL);
-
-  get_func =
-    swfdec_as_native_function_new (object->context, variable, get, 0, NULL);
-  if (get_func == NULL)
-    return;
-
-  if (set != NULL) {
-    set_func =
-      swfdec_as_native_function_new (object->context, variable, set, 0, NULL);
-  } else {
-    set_func = NULL;
-  }
-
-  swfdec_as_object_add_variable (object, variable, get_func, set_func, 0);
-}
-
-SWFDEC_AS_CONSTRUCTOR (104, 0, swfdec_text_field_movie_construct, swfdec_text_field_movie_get_type)
-void
-swfdec_text_field_movie_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
-    guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
-{
-  if (!cx->frame->construct) {
-    SwfdecAsValue val;
-    if (!swfdec_as_context_use_mem (cx, sizeof (SwfdecTextFieldMovie)))
-      return;
-    object = g_object_new (SWFDEC_TYPE_TEXT_FIELD_MOVIE, NULL);
-    swfdec_as_object_add (object, cx, sizeof (SwfdecTextFieldMovie));
-    swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
-    if (SWFDEC_AS_VALUE_IS_OBJECT (&val)) {
-      swfdec_as_object_set_constructor (object,
-	  SWFDEC_AS_VALUE_GET_OBJECT (&val));
-    } else {
-      SWFDEC_INFO ("\"TextField\" is not an object");
-    }
-  }
-
-  g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (object));
-
-  if (!SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized) {
-    SwfdecAsValue val;
-    SwfdecAsObject *proto;
-
-    swfdec_as_object_get_variable (object, SWFDEC_AS_STR___proto__, &val);
-    g_return_if_fail (SWFDEC_AS_VALUE_IS_OBJECT (&val));
-    proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
-
-    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_text,
-	swfdec_text_field_movie_get_text, swfdec_text_field_movie_do_set_text);
-    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_htmlText,
-	swfdec_text_field_movie_get_htmlText,
-	swfdec_text_field_movie_set_htmlText);
-    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_html,
-	swfdec_text_field_movie_get_html, swfdec_text_field_movie_set_html);
-    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_condenseWhite,
-	swfdec_text_field_movie_get_condenseWhite,
-	swfdec_text_field_movie_set_condenseWhite);
-    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_embedFonts,
-	swfdec_text_field_movie_get_embedFonts,
-	swfdec_text_field_movie_set_embedFonts);
-    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_length,
-	swfdec_text_field_movie_get_length, NULL);
-    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
-	swfdec_text_field_movie_get_textColor,
-	swfdec_text_field_movie_set_textColor);
-
-    SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
-  }
-
-  SWFDEC_AS_VALUE_SET_OBJECT (ret, object);
-}
diff --git a/libswfdec/swfdec_text_field.c b/libswfdec/swfdec_text_field.c
new file mode 100644
index 0000000..7905673
--- /dev/null
+++ b/libswfdec/swfdec_text_field.c
@@ -0,0 +1,334 @@
+/* Swfdec
+ * Copyright (C) 2006-2007 Benjamin Otte <otte at gnome.org>
+ *                    Pekka Lampila <pekka.lampila at iki.fi>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library 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
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, 
+ * Boston, MA  02110-1301  USA
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <pango/pangocairo.h>
+#include <string.h>
+#include "swfdec_edittext.h"
+#include "swfdec_debug.h"
+#include "swfdec_edittext_movie.h"
+#include "swfdec_font.h"
+#include "swfdec_player_internal.h"
+#include "swfdec_swf_decoder.h"
+
+G_DEFINE_TYPE (SwfdecTextField, swfdec_text_field, SWFDEC_TYPE_GRAPHIC)
+
+static gboolean
+swfdec_text_field_mouse_in (SwfdecGraphic *graphic, double x, double y)
+{
+  return swfdec_rect_contains (&graphic->extents, x, y);
+}
+
+static SwfdecMovie *
+swfdec_text_field_create_movie (SwfdecGraphic *graphic, gsize *size)
+{
+  SwfdecTextField *text = SWFDEC_TEXT_FIELD (graphic);
+  SwfdecTextFieldMovie *ret = g_object_new (SWFDEC_TYPE_TEXT_FIELD_MOVIE, NULL);
+
+  ret->text = text;
+
+  *size = sizeof (SwfdecTextFieldMovie);
+
+  return SWFDEC_MOVIE (ret);
+}
+
+static void
+swfdec_text_field_dispose (GObject *object)
+{
+  SwfdecTextField *text = SWFDEC_TEXT_FIELD (object);
+
+  g_free (text->text_input);
+  text->text_input = NULL;
+  g_free (text->variable);
+  text->variable = NULL;
+
+  G_OBJECT_CLASS (swfdec_text_field_parent_class)->dispose (object);
+}
+
+static void
+swfdec_text_field_class_init (SwfdecTextFieldClass * g_class)
+{
+  GObjectClass *object_class = G_OBJECT_CLASS (g_class);
+  SwfdecGraphicClass *graphic_class = SWFDEC_GRAPHIC_CLASS (g_class);
+
+  object_class->dispose = swfdec_text_field_dispose;
+  graphic_class->create_movie = swfdec_text_field_create_movie;
+  graphic_class->mouse_in = swfdec_text_field_mouse_in;
+}
+
+static void
+swfdec_text_field_init (SwfdecTextField * text)
+{
+  text->max_length = G_MAXUINT;
+}
+
+void
+swfdec_text_field_render (SwfdecTextField *text, cairo_t *cr,
+    const SwfdecParagraph *paragraphs, const SwfdecColorTransform *trans,
+    const SwfdecRect *inval)
+{
+  PangoLayout *layout;
+  guint i;
+
+  g_return_if_fail (SWFDEC_IS_TEXT_FIELD (text));
+  g_return_if_fail (cr != NULL);
+  g_return_if_fail (paragraphs != NULL);
+  g_return_if_fail (trans != NULL);
+  g_return_if_fail (inval != NULL);
+
+  cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
+      SWFDEC_GRAPHIC (text)->extents.y0);
+
+  layout = pango_cairo_create_layout (cr);
+
+  for (i = 0; paragraphs[i].text != NULL; i++)
+  {
+    GList *iter;
+    guint skip;
+
+    skip = 0;
+    for (iter = paragraphs[i].blocks; iter != NULL; iter = iter->next)
+    {
+      int height, width;
+      guint length;
+      SwfdecBlock *block;
+      PangoAttrList *attr_list;
+
+      block = (SwfdecBlock *)iter->data;
+      if (iter->next != NULL) {
+	length =
+	  ((SwfdecBlock *)(iter->next->data))->index_ - block->index_;
+      } else {
+	length = paragraphs[i].text_length - block->index_;
+      }
+
+      if (skip > length) {
+	skip -= length;
+	continue;
+      }
+
+      // update position
+      cairo_rel_move_to (cr, block->left_margin + block->block_indent, 0);
+      width = SWFDEC_GRAPHIC (text)->extents.x1 -
+	SWFDEC_GRAPHIC (text)->extents.x0 - block->left_margin -
+	block->right_margin - block->block_indent;
+
+      if (block->index_ == 0 && paragraphs[i].indent < 0) {
+	cairo_rel_move_to (cr, paragraphs[i].indent / PANGO_SCALE, 0);
+	width += -paragraphs[i].indent / PANGO_SCALE;
+      }
+
+      pango_cairo_update_layout (cr, layout);
+      pango_layout_context_changed (layout);
+      pango_layout_set_width (layout, width * PANGO_SCALE);
+
+      // set paragraph styles
+      if (block->index_ == 0) {
+	pango_layout_set_indent (layout, paragraphs[i].indent);
+	// TODO: bullet
+      } else {
+	pango_layout_set_indent (layout, 0);
+      }
+
+      // set block styles
+      pango_layout_set_alignment (layout, block->align);
+      pango_layout_set_justify (layout, block->justify);
+      pango_layout_set_spacing (layout, block->leading);
+      pango_layout_set_tabs (layout, block->tab_stops);
+
+      // set text attributes
+      if (block->index_ > 0 || !swfdec_color_transform_is_identity (trans))
+      {
+	GList *iter_attrs;
+
+	attr_list = pango_attr_list_new ();
+
+	for (iter_attrs = paragraphs[i].attrs; iter_attrs != NULL;
+	    iter_attrs = iter_attrs->next)
+	{
+	  PangoAttribute *attr;
+
+	  attr = (PangoAttribute *)iter_attrs->data;
+
+	  if (attr->end_index <= block->index_ + skip)
+	    continue;
+
+	  attr = pango_attribute_copy (attr);
+	  if (attr->klass->type == PANGO_ATTR_FOREGROUND &&
+	      !swfdec_color_transform_is_identity (trans))
+	  {
+	    PangoColor pcolor;
+	    SwfdecColor color;
+
+	    pcolor = ((PangoAttrColor *)attr)->color;
+	    color = SWFDEC_COLOR_COMBINE (pcolor.red >> 8, pcolor.green >> 8,
+		pcolor.blue >> 8, 255);
+	    color = swfdec_color_apply_transform (color, trans);
+	    pcolor.red = SWFDEC_COLOR_R (color) << 8;
+	    pcolor.green = SWFDEC_COLOR_G (color) << 8;
+	    pcolor.blue = SWFDEC_COLOR_B (color) << 8;
+	    ((PangoAttrColor *)attr)->color = pcolor;
+	  }
+	  attr->start_index = (attr->start_index > block->index_ + skip ?
+	      attr->start_index - (block->index_ + skip) : 0);
+	  attr->end_index = attr->end_index - (block->index_ + skip);
+	  pango_attr_list_insert (attr_list, attr);
+	}
+      } else {
+	attr_list = pango_attr_list_copy (paragraphs[i].attrs_list);
+      }
+      pango_layout_set_attributes (layout, attr_list);
+      pango_attr_list_unref (attr_list);
+      attr_list = NULL;
+
+      pango_layout_set_text (layout, paragraphs[i].text + block->index_ + skip,
+	  paragraphs[i].text_length - block->index_ - skip);
+
+      if (iter->next != NULL)
+      {
+	PangoLayoutLine *line;
+	int line_num;
+	guint skip_new;
+
+	pango_layout_index_to_line_x (layout, length - skip, FALSE, &line_num,
+	    NULL);
+	line = pango_layout_get_line_readonly (layout, line_num);
+	skip_new = line->start_index + line->length - (length - skip);
+	pango_layout_set_text (layout,
+	    paragraphs[i].text + block->index_ + skip,
+	    length - skip + skip_new);
+	skip = skip_new;
+      }
+      else
+      {
+	skip = 0;
+      }
+
+      pango_cairo_show_layout (cr, layout);
+
+      pango_layout_get_pixel_size (layout, NULL, &height);
+      cairo_rel_move_to (cr, -(block->left_margin + block->block_indent),
+	  height + block->leading / PANGO_SCALE);
+      if (block->index_ == 0 && paragraphs[i].indent < 0)
+	cairo_rel_move_to (cr, -paragraphs[i].indent / PANGO_SCALE, 0);
+    }
+  }
+
+  g_object_unref (layout);
+}
+
+int
+tag_func_define_edit_text (SwfdecSwfDecoder * s, guint tag)
+{
+  SwfdecTextField *text;
+  guint id;
+  int reserved;
+  gboolean has_font, has_color, has_max_length, has_layout, has_text;
+  SwfdecBits *b = &s->b;
+
+  id = swfdec_bits_get_u16 (b);
+  SWFDEC_LOG ("  id = %u", id);
+  text = swfdec_swf_decoder_create_character (s, id, SWFDEC_TYPE_TEXT_FIELD);
+  if (text == NULL)
+    return SWFDEC_STATUS_OK;
+
+  swfdec_bits_get_rect (b, &SWFDEC_GRAPHIC (text)->extents);
+  SWFDEC_LOG ("  extents: %g %g  %g %g", 
+      SWFDEC_GRAPHIC (text)->extents.x0, SWFDEC_GRAPHIC (text)->extents.y0,
+      SWFDEC_GRAPHIC (text)->extents.x1, SWFDEC_GRAPHIC (text)->extents.y1);
+  swfdec_bits_syncbits (b);
+  has_text = swfdec_bits_getbit (b);
+  text->wrap = swfdec_bits_getbit (b);
+  text->multiline = swfdec_bits_getbit (b);
+  text->password = swfdec_bits_getbit (b);
+  text->input = !swfdec_bits_getbit (b);
+  has_color = swfdec_bits_getbit (b);
+  has_max_length = swfdec_bits_getbit (b);
+  has_font = swfdec_bits_getbit (b);
+  reserved = swfdec_bits_getbit (b);
+  text->auto_size =
+    (swfdec_bits_getbit (b) ? SWFDEC_AUTO_SIZE_LEFT : SWFDEC_AUTO_SIZE_NONE);
+  has_layout = swfdec_bits_getbit (b);
+  text->selectable = !swfdec_bits_getbit (b);
+  text->border = swfdec_bits_getbit (b);
+  reserved = swfdec_bits_getbit (b);
+  text->html = swfdec_bits_getbit (b);
+  text->embed_fonts = swfdec_bits_getbit (b);
+  if (has_font) {
+    SwfdecCharacter *font;
+
+    id = swfdec_bits_get_u16 (b);
+    font = swfdec_swf_decoder_get_character (s, id);
+    if (SWFDEC_IS_FONT (font)) {
+      SWFDEC_LOG ("  font = %u", id);
+      text->font = SWFDEC_FONT (font);
+    } else {
+      SWFDEC_ERROR ("id %u does not specify a font", id);
+    }
+    text->size = swfdec_bits_get_u16 (b);
+    SWFDEC_LOG ("  size = %u", text->size);
+  }
+  if (has_color) {
+    text->color = swfdec_bits_get_rgba (b);
+    SWFDEC_LOG ("  color = %u", text->color);
+  } else {
+    SWFDEC_WARNING ("FIXME: figure out default color");
+    text->color = SWFDEC_COLOR_COMBINE (255, 255, 255, 255);
+  }
+  if (has_max_length) {
+    text->max_length = swfdec_bits_get_u16 (b);
+  }
+  if (has_layout) {
+    guint align = swfdec_bits_get_u8 (b);
+    switch (align) {
+      case 0:
+	text->align = SWFDEC_TEXT_ALIGN_LEFT;
+	break;
+      case 1:
+	text->align = SWFDEC_TEXT_ALIGN_RIGHT;
+	break;
+      case 2:
+	text->align = SWFDEC_TEXT_ALIGN_CENTER;
+	break;
+      case 3:
+	text->align = SWFDEC_TEXT_ALIGN_JUSTIFY;
+	break;
+      default:
+	SWFDEC_ERROR ("undefined align value %u", align);
+	break;
+    }
+    text->left_margin = swfdec_bits_get_u16 (b);
+    text->right_margin = swfdec_bits_get_u16 (b);
+    text->indent = swfdec_bits_get_u16 (b);
+    text->leading = swfdec_bits_get_s16 (b);
+  }
+  text->variable = swfdec_bits_get_string (b);
+  if (text->variable && *text->variable == 0) {
+    g_free (text->variable);
+    text->variable = NULL;
+  }
+  if (has_text)
+    text->text_input = swfdec_bits_get_string (b);
+
+  return SWFDEC_STATUS_OK;
+}
diff --git a/libswfdec/swfdec_text_field.h b/libswfdec/swfdec_text_field.h
new file mode 100644
index 0000000..aa84422
--- /dev/null
+++ b/libswfdec/swfdec_text_field.h
@@ -0,0 +1,123 @@
+/* Swfdec
+ * Copyright (C) 2006-2007 Benjamin Otte <otte at gnome.org>
+ *                    Pekka Lampila <pekka.lampila at iki.fi>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library 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
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, 
+ * Boston, MA  02110-1301  USA
+ */
+
+#ifndef _SWFDEC_TEXT_FIELD_H_
+#define _SWFDEC_TEXT_FIELD_H_
+
+#include <pango/pango.h>
+#include <libswfdec/swfdec_types.h>
+#include <libswfdec/swfdec_color.h>
+#include <libswfdec/swfdec_graphic.h>
+#include <libswfdec/swfdec_player.h>
+#include <libswfdec/swfdec_text_format.h>
+
+G_BEGIN_DECLS
+
+typedef struct _SwfdecTextField SwfdecTextField;
+typedef struct _SwfdecTextFieldClass SwfdecTextFieldClass;
+
+#define SWFDEC_TYPE_TEXT_FIELD                    (swfdec_text_field_get_type())
+#define SWFDEC_IS_TEXT_FIELD(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_TEXT_FIELD))
+#define SWFDEC_IS_TEXT_FIELD_CLASS(klass)         (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_TEXT_FIELD))
+#define SWFDEC_TEXT_FIELD(obj)                    (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_TEXT_FIELD, SwfdecTextField))
+#define SWFDEC_TEXT_FIELD_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_TEXT_FIELD, SwfdecTextFieldClass))
+
+typedef struct {
+  guint			index_;
+
+  PangoAlignment	align;
+  gboolean		justify;
+  int			leading;
+  int			block_indent;
+  int			left_margin;
+  int			right_margin;
+  PangoTabArray *	tab_stops;
+} SwfdecBlock;
+
+typedef struct {
+  const char		*text;
+  guint			text_length;
+
+  gboolean		bullet;
+  int			indent;
+
+  GList *		blocks;		// SwfdecBlock
+
+  GList *		attrs;	// PangoAttribute
+  PangoAttrList *	attrs_list;
+} SwfdecParagraph;
+
+typedef enum {
+  SWFDEC_AUTO_SIZE_NONE,
+  SWFDEC_AUTO_SIZE_LEFT,
+  SWFDEC_AUTO_SIZE_CENTER,
+  SWFDEC_AUTO_SIZE_RIGHT
+} SwfdecAutoSize;
+
+struct _SwfdecTextField
+{
+  SwfdecGraphic		graphic;
+
+  gboolean		html;
+
+  gboolean		input;
+  gboolean		password;
+  guint			max_length;
+  gboolean		selectable;
+
+  gboolean		embed_fonts;
+
+  gboolean		wrap;
+  gboolean		multiline;
+  SwfdecAutoSize	auto_size;
+
+  gboolean		border;
+
+  /* only to be passed to the movie object */
+  SwfdecFont *		font;
+  char *		text_input;
+  char *		variable;
+  guint			size;
+  SwfdecColor		color;
+  SwfdecTextAlign	align;
+  guint			left_margin;
+  guint			right_margin;
+  guint			indent;
+  int			leading;
+};
+
+struct _SwfdecTextFieldClass
+{
+  SwfdecGraphicClass	graphic_class;
+};
+
+GType			swfdec_text_field_get_type	(void);
+
+int			tag_func_define_edit_text	(SwfdecSwfDecoder *	s,
+							 guint			tag);
+
+void			swfdec_text_field_render		(SwfdecTextField *	text,
+							 cairo_t *		cr,
+							 const SwfdecParagraph *	paragraphs,
+							 const SwfdecColorTransform *	trans,
+							 const SwfdecRect *		rect);
+
+G_END_DECLS
+#endif
diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
new file mode 100644
index 0000000..dd79e9a
--- /dev/null
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -0,0 +1,619 @@
+/* Swfdec
+ * Copyright (C) 2006 Benjamin Otte <otte at gnome.org>
+ *                    Pekka Lampila <pekka.lampila at iki.fi>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library 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
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, 
+ * Boston, MA  02110-1301  USA
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <string.h>
+
+#include "swfdec_edittext_movie.h"
+#include "swfdec_as_context.h"
+#include "swfdec_as_strings.h"
+#include "swfdec_text_format.h"
+#include "swfdec_font.h"
+#include "swfdec_debug.h"
+#include "swfdec_player_internal.h"
+
+G_DEFINE_TYPE (SwfdecTextFieldMovie, swfdec_text_field_movie, SWFDEC_TYPE_MOVIE)
+
+static void
+swfdec_text_field_movie_update_extents (SwfdecMovie *movie,
+    SwfdecRect *extents)
+{
+  swfdec_rect_union (extents, extents, 
+      &SWFDEC_GRAPHIC (SWFDEC_TEXT_FIELD_MOVIE (movie)->text)->extents);
+}
+
+static void
+swfdec_text_paragraph_add_attribute (SwfdecParagraph *paragraph,
+    PangoAttribute *attr)
+{
+  paragraph->attrs = g_list_append (paragraph->attrs,
+      pango_attribute_copy (attr));
+  pango_attr_list_insert (paragraph->attrs_list, attr);
+}
+
+static void
+swfdec_text_paragraph_add_block_attributes (SwfdecParagraph *paragraph,
+    int index_, SwfdecTextFormat *format)
+{
+  gint32 length, i;
+  SwfdecBlock *block;
+  SwfdecAsValue val;
+
+  block = g_new0 (SwfdecBlock, 1);
+
+  block->index_ = index_;
+
+  switch (format->align) {
+    case SWFDEC_TEXT_ALIGN_LEFT:
+      block->align = PANGO_ALIGN_LEFT;
+      block->justify = FALSE;
+      break;
+    case SWFDEC_TEXT_ALIGN_RIGHT:
+      block->align = PANGO_ALIGN_RIGHT;
+      block->justify = FALSE;
+      break;
+    case SWFDEC_TEXT_ALIGN_CENTER:
+      block->align = PANGO_ALIGN_CENTER;
+      block->justify = FALSE;
+      break;
+    case SWFDEC_TEXT_ALIGN_JUSTIFY:
+      block->align = PANGO_ALIGN_LEFT;
+      block->justify = TRUE;
+      break;
+  }
+  block->leading = format->leading * 20 * PANGO_SCALE;
+  block->block_indent = format->block_indent * 20;
+  block->left_margin = format->left_margin * 20;
+  block->right_margin = format->right_margin * 20;
+
+  length = swfdec_as_array_get_length (format->tab_stops);
+  block->tab_stops = pango_tab_array_new (length, TRUE);
+  for (i = 0; i < length; i++) {
+    swfdec_as_array_get_value (format->tab_stops, i, &val);
+    g_assert (SWFDEC_AS_VALUE_IS_NUMBER (&val));
+    pango_tab_array_set_tab (block->tab_stops, i, PANGO_TAB_LEFT,
+	SWFDEC_AS_VALUE_GET_NUMBER (&val) * 20);
+  }
+
+  paragraph->blocks = g_list_append (paragraph->blocks, block);
+}
+
+static void
+swfdec_text_field_movie_generate_paragraph (SwfdecTextFieldMovie *text,
+    SwfdecParagraph *paragraph, guint start_index, guint end_index)
+{
+  SwfdecTextFormat *format, *format_prev;
+  guint index_;
+  GSList *iter;
+  PangoAttribute *attr_bold, *attr_color, *attr_font, *attr_italic,
+		 *attr_letter_spacing, *attr_size, *attr_underline;
+  // TODO: kerning
+
+  g_assert (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
+  g_assert (paragraph != NULL);
+  g_assert (start_index < end_index);
+  g_assert (end_index <= strlen (text->text_display));
+
+  paragraph->text = text->text_display + start_index;
+  paragraph->text_length = end_index - start_index;
+
+  paragraph->blocks = NULL;
+  paragraph->attrs = NULL;
+  paragraph->attrs_list = pango_attr_list_new ();
+
+  g_assert (text->formats != NULL);
+  for (iter = text->formats; iter->next != NULL &&
+      ((SwfdecFormatIndex *)(iter->next->data))->index <= start_index;
+      iter = iter->next);
+
+  index_ = start_index;
+  format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+  // Paragraph formats
+  paragraph->bullet = format->bullet;
+  paragraph->indent = format->indent * 20 * PANGO_SCALE;
+
+  // Add new block
+  swfdec_text_paragraph_add_block_attributes (paragraph, 0, format);
+
+  // Open attributes
+  attr_bold = pango_attr_weight_new (
+      (format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
+  attr_bold->start_index = 0;
+
+  attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color) * 255,
+      SWFDEC_COLOR_G (format->color) * 255,
+      SWFDEC_COLOR_B (format->color) * 255);
+  attr_color->start_index = 0;
+
+  if (text->text->embed_fonts)
+    SWFDEC_FIXME ("Using embed fonts in TextField not supported");
+  attr_font = pango_attr_family_new (format->font);
+  attr_font->start_index = 0;
+
+  attr_italic = pango_attr_style_new (
+      (format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
+  attr_italic->start_index = 0;
+
+  attr_letter_spacing = pango_attr_letter_spacing_new (
+      format->letter_spacing * 20 * PANGO_SCALE); // FIXME: correct scaling?
+  attr_letter_spacing->start_index = 0;
+
+  attr_size =
+    pango_attr_size_new_absolute (MAX (format->size, 1) * 20 * PANGO_SCALE);
+  attr_size->start_index = 0;
+
+  attr_underline = pango_attr_underline_new (
+      (format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
+  attr_underline->start_index = 0;
+
+  for (iter = iter->next;
+      iter != NULL && ((SwfdecFormatIndex *)(iter->data))->index < end_index;
+      iter = iter->next)
+  {
+    format_prev = format;
+    index_ = ((SwfdecFormatIndex *)(iter->data))->index;
+    format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+    // Add new block if necessary
+    if (format_prev->align != format->align ||
+       format_prev->bullet != format->bullet ||
+       format_prev->indent != format->indent ||
+       format_prev->leading != format->leading ||
+       format_prev->block_indent != format->block_indent ||
+       format_prev->left_margin != format->left_margin)
+    {
+      swfdec_text_paragraph_add_block_attributes (paragraph,
+	  index_ - start_index, format);
+    }
+
+    // Change attributes if necessary
+    if (format_prev->bold != format->bold) {
+      attr_bold->end_index = index_ - start_index;
+      swfdec_text_paragraph_add_attribute (paragraph, attr_bold);
+
+      attr_bold = pango_attr_weight_new (
+	  (format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
+      attr_bold->start_index = index_ - start_index;
+    }
+
+    if (format_prev->color != format->color) {
+      attr_color->end_index = index_ - start_index;
+      swfdec_text_paragraph_add_attribute (paragraph, attr_color);
+
+      attr_color = pango_attr_foreground_new (
+	  SWFDEC_COLOR_R (format->color) * 255,
+	  SWFDEC_COLOR_G (format->color) * 255,
+	  SWFDEC_COLOR_B (format->color) * 255);
+      attr_color->start_index = index_ - start_index;
+    }
+
+    if (format_prev->font != format->font) {
+      attr_font->end_index = index_ - start_index;
+      swfdec_text_paragraph_add_attribute (paragraph, attr_font);
+
+      if (text->text->embed_fonts)
+	SWFDEC_FIXME ("Using embed fonts in TextField not supported");
+      attr_font = pango_attr_family_new (format->font);
+      attr_font->start_index = index_ - start_index;
+    }
+
+    if (format_prev->italic != format->italic) {
+      attr_italic->end_index = index_ - start_index;
+      swfdec_text_paragraph_add_attribute (paragraph, attr_italic);
+
+      attr_italic = pango_attr_style_new (
+	  (format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
+      attr_italic->start_index = index_ - start_index;
+    }
+
+    if (format_prev->letter_spacing != format->letter_spacing) {
+      attr_letter_spacing->end_index = index_ - start_index;
+      swfdec_text_paragraph_add_attribute (paragraph, attr_letter_spacing);
+
+      // FIXME: correct scaling?
+      attr_letter_spacing = pango_attr_letter_spacing_new (
+	  format->letter_spacing * 20 * PANGO_SCALE);
+      attr_letter_spacing->start_index = index_ - start_index;
+    }
+
+    if (format_prev->size != format->size) {
+      attr_size->end_index = index_ - start_index;
+      swfdec_text_paragraph_add_attribute (paragraph, attr_size);
+
+      attr_size =
+	pango_attr_size_new_absolute (MAX (1, format->size) * 20 * PANGO_SCALE);
+      attr_size->start_index = index_ - start_index;
+    }
+
+    if (format_prev->underline != format->underline) {
+      attr_underline->end_index = index_ - start_index;
+      swfdec_text_paragraph_add_attribute (paragraph, attr_underline);
+
+      attr_underline = pango_attr_underline_new (
+	  (format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
+      attr_underline->start_index = index_ - start_index;
+    }
+  }
+
+  // Close attributes
+  attr_bold->end_index = end_index - start_index;
+  swfdec_text_paragraph_add_attribute (paragraph, attr_bold);
+  attr_bold = NULL;
+
+  attr_color->end_index = end_index - start_index;
+  swfdec_text_paragraph_add_attribute (paragraph, attr_color);
+  attr_color = NULL;
+
+  attr_font->end_index = end_index - start_index;
+  swfdec_text_paragraph_add_attribute (paragraph, attr_font);
+  attr_font = NULL;
+
+  attr_italic->end_index = end_index - start_index;
+  swfdec_text_paragraph_add_attribute (paragraph, attr_italic);
+  attr_italic = NULL;
+
+  attr_letter_spacing->end_index = end_index - start_index;
+  swfdec_text_paragraph_add_attribute (paragraph, attr_letter_spacing);
+  attr_letter_spacing = NULL;
+
+  attr_size->end_index = end_index - start_index;
+  swfdec_text_paragraph_add_attribute (paragraph, attr_size);
+  attr_size = NULL;
+
+  attr_underline->end_index = end_index - start_index;
+  swfdec_text_paragraph_add_attribute (paragraph, attr_underline);
+  attr_underline = NULL;
+}
+
+static void
+swfdec_text_field_movie_generate_paragraphs (SwfdecTextFieldMovie *text)
+{
+  const char *p, *end;
+  int num, i;
+
+  g_assert (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
+
+  num = 0;
+  p = text->text_display;
+  while (p != NULL) {
+    num++;
+    p = strchr (p, '\r');
+    if (p != NULL) p++;
+  }
+
+  text->paragraphs = g_new0 (SwfdecParagraph, num + 1);
+
+  i = 0;
+  p = text->text_display;
+  while (*p != '\0') {
+    g_assert (i < num);
+    end = strchr (p, '\r');
+    if (end == NULL)
+      end = strchr (p, '\0');
+
+    swfdec_text_field_movie_generate_paragraph (text, &text->paragraphs[i],
+	p - text->text_display, end - text->text_display);
+
+    p = end;
+    if (*p == '\r') p++;
+
+    i++;
+  }
+  g_assert (i == num);
+}
+
+static void
+swfdec_text_field_movie_render (SwfdecMovie *movie, cairo_t *cr,
+    const SwfdecColorTransform *trans, const SwfdecRect *inval)
+{
+  SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
+
+  if (text->paragraphs == NULL)
+    swfdec_text_field_movie_generate_paragraphs (text);
+
+  if (text->paragraphs[0].text == NULL)
+    return;
+  swfdec_text_field_render (text->text, cr, text->paragraphs, trans, inval);
+}
+
+static void
+swfdec_text_field_movie_free_paragraphs (SwfdecTextFieldMovie *text)
+{
+  GList *iter;
+  int i;
+
+  if (text->paragraphs) {
+    for (i = 0; text->paragraphs[i].text != NULL; i++)
+    {
+      for (iter = text->paragraphs[i].blocks; iter != NULL; iter = iter->next) {
+	pango_tab_array_free (((SwfdecBlock *)(iter->data))->tab_stops);
+      }
+      g_list_free (text->paragraphs[i].blocks);
+
+      for (iter = text->paragraphs[i].attrs; iter != NULL; iter = iter->next) {
+	pango_attribute_destroy ((PangoAttribute *)(iter->data));
+      }
+      g_list_free (text->paragraphs[i].attrs);
+
+      if (text->paragraphs[i].attrs_list != NULL)
+	pango_attr_list_unref (text->paragraphs[i].attrs_list);
+    }
+    g_free (text->paragraphs);
+    text->paragraphs = NULL;
+  }
+}
+
+void
+swfdec_text_field_movie_format_changed (SwfdecTextFieldMovie *text)
+{
+  swfdec_text_field_movie_free_paragraphs (text);
+}
+
+static void
+swfdec_text_field_movie_dispose (GObject *object)
+{
+  SwfdecTextFieldMovie *text;
+  GSList *iter;
+
+  text = SWFDEC_TEXT_FIELD_MOVIE (object);
+
+  swfdec_text_field_movie_free_paragraphs (text);
+
+  for (iter = text->formats; iter != NULL; iter = iter->next) {
+    g_free (text->formats->data);
+    text->formats->data = NULL;
+  }
+  g_slist_free (text->formats);
+
+  G_OBJECT_CLASS (swfdec_text_field_movie_parent_class)->dispose (object);
+}
+
+static void
+swfdec_text_field_movie_mark (SwfdecAsObject *object)
+{
+  SwfdecTextFieldMovie *text;
+  GSList *iter;
+
+  text = SWFDEC_TEXT_FIELD_MOVIE (object);
+
+  swfdec_as_string_mark (text->text_input);
+  swfdec_as_string_mark (text->text_display);
+  swfdec_as_string_mark (text->variable);
+  swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->format_new));
+  for (iter = text->formats; iter != NULL; iter = iter->next) {
+    swfdec_as_object_mark (
+	SWFDEC_AS_OBJECT (((SwfdecFormatIndex *)(iter->data))->format));
+  }
+  swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->format_new));
+  if (text->style_sheet != NULL)
+    swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->style_sheet));
+
+  SWFDEC_AS_OBJECT_CLASS (swfdec_text_field_movie_parent_class)->mark (object);
+}
+
+static void
+swfdec_text_field_movie_iterate (SwfdecMovie *movie)
+{
+  SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
+  SwfdecAsObject *parent;
+  const char *s;
+  SwfdecAsValue val = { 0, };
+
+  if (text->text->variable == NULL)
+    return;
+
+  parent = SWFDEC_AS_OBJECT (movie->parent);
+  swfdec_as_context_eval (parent->context, parent, text->text->variable, &val);
+  if (SWFDEC_AS_VALUE_IS_UNDEFINED (&val))
+    return;
+
+  s = swfdec_as_value_to_string (parent->context, &val);
+  g_assert (s);
+  if (text->text_input == s)
+    return;
+
+  swfdec_text_field_movie_set_text (text, s, text->text->html);
+}
+
+static void
+swfdec_text_field_movie_init_movie (SwfdecMovie *movie)
+{
+  SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
+  SwfdecAsContext *cx;
+  SwfdecAsObject *parent;
+  SwfdecAsValue val = { 0, };
+  const char *s;
+
+  cx = SWFDEC_AS_OBJECT (movie)->context;
+
+  // format
+  text->format_new = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (cx));
+  swfdec_text_format_set_defaults (text->format_new);
+  text->format_new->color = text->text->color;
+  text->format_new->align = text->text->align;
+  text->format_new->font = text->text->font->name;
+  text->format_new->size = text->text->size / 20;
+  text->format_new->left_margin = text->text->left_margin / 20;
+  text->format_new->right_margin = text->text->right_margin / 20;
+  text->format_new->indent = text->text->indent / 20;
+  text->format_new->leading = text->text->leading / 20;
+
+  // text
+  if (text->text->text_input != NULL) {
+    swfdec_text_field_movie_set_text (text,
+	swfdec_as_context_get_string (cx, text->text->text_input),
+	text->text->html);
+  }
+
+  // variable
+  if (text->text->variable != NULL)
+  {
+    text->variable = swfdec_as_context_get_string (cx, text->text->variable);
+
+    parent = SWFDEC_AS_OBJECT (movie->parent);
+    swfdec_as_context_eval (parent->context, parent, text->variable, &val);
+    if (!SWFDEC_AS_VALUE_IS_UNDEFINED (&val)) {
+      s = swfdec_as_value_to_string (parent->context, &val);
+      g_assert (s);
+      if (text->text_input != s)
+	swfdec_text_field_movie_set_text (text, s, text->text->html);
+    } else {
+      SWFDEC_LOG ("setting variable %s to \"%s\"", text->variable,
+	  text->text_input ? text->text_input : "");
+      s = text->text_input ? swfdec_as_context_get_string (parent->context,
+	  text->text_input) : SWFDEC_AS_STR_EMPTY;
+      SWFDEC_AS_VALUE_SET_STRING (&val, s);
+      swfdec_as_context_eval_set (parent->context, parent, text->variable,
+	  &val);
+    }
+  }
+}
+
+static void
+swfdec_text_field_movie_class_init (SwfdecTextFieldMovieClass * g_class)
+{
+  GObjectClass *object_class = G_OBJECT_CLASS (g_class);
+  SwfdecAsObjectClass *asobject_class = SWFDEC_AS_OBJECT_CLASS (g_class);
+  SwfdecMovieClass *movie_class = SWFDEC_MOVIE_CLASS (g_class);
+
+  object_class->dispose = swfdec_text_field_movie_dispose;
+
+  asobject_class->mark = swfdec_text_field_movie_mark;
+
+  movie_class->init_movie = swfdec_text_field_movie_init_movie;
+  movie_class->update_extents = swfdec_text_field_movie_update_extents;
+  movie_class->render = swfdec_text_field_movie_render;
+  movie_class->iterate_start = swfdec_text_field_movie_iterate;
+}
+
+static void
+swfdec_text_field_movie_init (SwfdecTextFieldMovie *text)
+{
+}
+
+void
+swfdec_text_field_movie_set_text_format (SwfdecTextFieldMovie *text,
+    SwfdecTextFormat *format, guint start_index, guint end_index)
+{
+  SwfdecFormatIndex *findex, *findex_new;
+  guint findex_end_index;
+  GSList *iter, *next;
+
+  g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
+  g_return_if_fail (SWFDEC_IS_TEXT_FORMAT (format));
+  g_return_if_fail (start_index < end_index);
+  g_return_if_fail (end_index <= strlen (text->text_display));
+
+  g_assert (text->formats != NULL);
+  g_assert (text->formats->data != NULL);
+  g_assert (((SwfdecFormatIndex *)text->formats->data)->index == 0);
+  for (iter = text->formats; iter != NULL &&
+      ((SwfdecFormatIndex *)iter->data)->index < end_index;
+      iter = next)
+  {
+    next = iter->next;
+    findex = iter->data;
+    if (iter->next != NULL) {
+      findex_end_index =
+	((SwfdecFormatIndex *)iter->next->data)->index;
+    } else {
+      findex_end_index = strlen (text->text_display);
+    }
+
+    if (findex_end_index < start_index)
+      continue;
+
+    if (findex_end_index > end_index) {
+      findex_new = g_new (SwfdecFormatIndex, 1);
+      findex_new->index = end_index;
+      findex_new->format = swfdec_text_format_copy (findex->format);
+
+      iter = g_slist_insert (iter, findex_new, 1);
+    }
+
+    if (findex->index < start_index) {
+      findex_new = g_new (SwfdecFormatIndex, 1);
+      findex_new->index = start_index;
+      findex_new->format = swfdec_text_format_copy (findex->format);
+      swfdec_text_format_add (findex_new->format, format);
+
+      iter = g_slist_insert (iter, findex_new, 1);
+    } else {
+      swfdec_text_format_add (findex->format, format);
+    }
+  }
+
+  swfdec_text_field_movie_format_changed (text);
+}
+
+void
+swfdec_text_field_movie_set_text (SwfdecTextFieldMovie *text, const char *str,
+    gboolean html)
+{
+  SwfdecFormatIndex *block;
+  GSList *iter;
+
+  g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
+
+  text->text_input = str;
+
+  // remove old formatting info
+  iter = text->formats;
+  while (iter) {
+    g_free (iter->data);
+    iter = g_slist_next (iter);
+  }
+  g_slist_free (text->formats);
+  text->formats = NULL;
+
+  // add the default style
+  if (html && SWFDEC_AS_OBJECT (text)->context->version < 8)
+    swfdec_text_format_set_defaults (text->format_new);
+  block = g_new (SwfdecFormatIndex, 1);
+  block->index = 0;
+  g_assert (SWFDEC_IS_TEXT_FORMAT (text->format_new));
+  block->format = text->format_new;
+  text->formats = g_slist_prepend (text->formats, block);
+
+  if (html) {
+    swfdec_text_field_movie_html_parse (text, str);
+  } else {
+    // change all \n to \r
+    if (strchr (str, '\n') != NULL) {
+      char *string, *p;
+
+      string = g_strdup (str);
+      p = string;
+      while ((p = strchr (p, '\n')) != NULL) {
+	*p = '\r';
+      }
+      text->text_display = swfdec_as_context_give_string (
+	  SWFDEC_AS_OBJECT (text)->context, string);
+    } else {
+      text->text_display = str;
+    }
+  }
+
+  swfdec_text_field_movie_format_changed (text);
+}
diff --git a/libswfdec/swfdec_text_field_movie.h b/libswfdec/swfdec_text_field_movie.h
new file mode 100644
index 0000000..8b7999a
--- /dev/null
+++ b/libswfdec/swfdec_text_field_movie.h
@@ -0,0 +1,108 @@
+/* Swfdec
+ * Copyright (C) 2006 Benjamin Otte <otte at gnome.org>
+ *                    Pekka Lampila <pekka.lampila at iki.fi>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library 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
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, 
+ * Boston, MA  02110-1301  USA
+ */
+
+#ifndef _SWFDEC_TEXT_FIELD_MOVIE_H_
+#define _SWFDEC_TEXT_FIELD_MOVIE_H_
+
+#include <libswfdec/swfdec_movie.h>
+#include <libswfdec/swfdec_edittext.h>
+#include <libswfdec/swfdec_style_sheet.h>
+#include <libswfdec/swfdec_text_format.h>
+
+G_BEGIN_DECLS
+
+
+typedef struct _SwfdecTextFieldMovie SwfdecTextFieldMovie;
+typedef struct _SwfdecTextFieldMovieClass SwfdecTextFieldMovieClass;
+
+#define SWFDEC_TYPE_TEXT_FIELD_MOVIE                    (swfdec_text_field_movie_get_type())
+#define SWFDEC_IS_TEXT_FIELD_MOVIE(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_TEXT_FIELD_MOVIE))
+#define SWFDEC_IS_TEXT_FIELD_MOVIE_CLASS(klass)         (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_TEXT_FIELD_MOVIE))
+#define SWFDEC_TEXT_FIELD_MOVIE(obj)                    (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_TEXT_FIELD_MOVIE, SwfdecTextFieldMovie))
+#define SWFDEC_TEXT_FIELD_MOVIE_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_TEXT_FIELD_MOVIE, SwfdecTextFieldMovieClass))
+
+typedef struct {
+  guint			index;
+  SwfdecTextFormat *	format;
+} SwfdecFormatIndex;
+
+typedef enum {
+  SWFDEC_ANTI_ALIAS_TYPE_NORMAL,
+  SWFDEC_ANTI_ALIAS_TYPE_ADVANCED
+} SwfdecAntiAliasType;
+
+typedef enum {
+  SWFDEC_GRID_FIT_TYPE_NONE,
+  SWFDEC_GRID_FIT_TYPE_PIXEL,
+  SWFDEC_GRID_FIT_TYPE_SUBPIXEL
+} SwfdecGridFitType;
+
+struct _SwfdecTextFieldMovie {
+  SwfdecMovie		movie;
+
+  SwfdecTextField *	text;		/* the text_field object we render */
+
+  const char *		text_input;
+  const char *		text_display;
+
+  const char *		variable;
+
+  SwfdecTextFormat *	format_new;
+  GSList *		formats;
+
+  SwfdecAntiAliasType	anti_alias_type;
+  gboolean		background_fill;
+  guint			border_color;
+  gboolean		condense_white;
+  gboolean		embed_fonts;
+  SwfdecGridFitType	grid_fit_type;
+  guint			hscroll;
+  gboolean		mouse_wheel_enabled;
+  const char *		restrict_;
+  guint			scroll;
+  int			sharpness;
+  SwfdecStyleSheet *	style_sheet;
+  int			thickness;
+
+  /* for rendering */
+  SwfdecParagraph *	paragraphs;
+};
+
+struct _SwfdecTextFieldMovieClass {
+  SwfdecMovieClass	movie_class;
+};
+
+GType		swfdec_text_field_movie_get_type		(void);
+
+void		swfdec_text_field_movie_set_text		(SwfdecTextFieldMovie *	movie,
+							 const char *		str,
+							 gboolean		html);
+void		swfdec_text_field_movie_format_changed	(SwfdecTextFieldMovie *	text);
+void		swfdec_text_field_movie_set_text_format	(SwfdecTextFieldMovie *	text,
+							 SwfdecTextFormat *	format,
+							 guint			start_index,
+							 guint			end_index);
+
+/* implemented in swfdec_html_parser.c */
+void		swfdec_text_field_movie_html_parse	(SwfdecTextFieldMovie *	text, 
+							 const char *		str);
+
+G_END_DECLS
+#endif
diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c
new file mode 100644
index 0000000..c9d4cd0
--- /dev/null
+++ b/libswfdec/swfdec_text_field_movie_as.c
@@ -0,0 +1,705 @@
+/* Swfdec
+ * Copyright (C) 2007 Benjamin Otte <otte at gnome.org>
+ *                    Pekka Lampila <pekka.lampila at iki.fi>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library 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
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, 
+ * Boston, MA  02110-1301  USA
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <string.h>
+
+#include "swfdec_edittext.h"
+#include "swfdec_edittext_movie.h"
+#include "swfdec_as_strings.h"
+#include "swfdec_debug.h"
+#include "swfdec_as_native_function.h"
+#include "swfdec_as_internal.h"
+#include "swfdec_as_context.h"
+#include "swfdec_as_frame_internal.h"
+#include "swfdec_xml.h"
+#include "swfdec_internal.h"
+#include "swfdec_player_internal.h"
+
+static void
+swfdec_text_field_movie_get_text (SwfdecAsContext *cx, SwfdecAsObject *object,
+    guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+  SwfdecTextFieldMovie *text;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+  SWFDEC_AS_VALUE_SET_STRING (ret, (text->text_display != NULL ?
+	swfdec_as_context_get_string (cx, text->text_display) :
+	SWFDEC_AS_STR_EMPTY));
+}
+
+static void
+swfdec_text_field_movie_do_set_text (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecTextFieldMovie *text;
+  const char *value;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "s", &value);
+
+  swfdec_text_field_movie_set_text (text, value, FALSE);
+}
+
+static const char *
+align_to_string (SwfdecTextAlign align)
+{
+  switch (align) {
+    case SWFDEC_TEXT_ALIGN_LEFT:
+      return "LEFT";
+    case SWFDEC_TEXT_ALIGN_RIGHT:
+      return "RIGHT";
+    case SWFDEC_TEXT_ALIGN_CENTER:
+      return "CENTER";
+    case SWFDEC_TEXT_ALIGN_JUSTIFY:
+      return "JUSTIFY";
+    default:
+      g_assert_not_reached ();
+  }
+}
+
+/*
+ * Order of tags:
+ * TEXTFORMAT / P or LI / FONT / A / B / I / U
+ *
+ * Order of attributes:
+ * TEXTFORMAT:
+ * LEFTMARGIN / RIGHTMARGIN / INDENT / LEADING / BLOCKINDENT / TABSTOPS
+ * P: ALIGN
+ * LI: none
+ * FONT: FACE / SIZE / COLOR / LETTERSPACING / KERNING
+ * A: HREF / TARGET
+ * B: none
+ * I: none
+ * U: none
+ */
+static GString *
+swfdec_text_field_movie_htmlText_append_paragraph (SwfdecTextFieldMovie *text,
+    GString *string, guint start_index, guint end_index)
+{
+  SwfdecTextFormat *format, *format_prev, *format_font;
+  GSList *iter, *fonts, *iter_font;
+  guint index_, index_prev;
+  gboolean textformat, bullet, font;
+  char *escaped;
+
+  g_return_val_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text), string);
+  g_return_val_if_fail (string != NULL, string);
+  g_return_val_if_fail (start_index < end_index, string);
+
+  g_return_val_if_fail (text->formats != NULL, string);
+  for (iter = text->formats; iter->next != NULL &&
+      ((SwfdecFormatIndex *)(iter->next->data))->index <= start_index;
+      iter = iter->next);
+
+  index_ = start_index;
+  format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+  if (format->left_margin != 0 || format->right_margin != 0 ||
+      format->indent != 0 || format->leading != 0 ||
+      format->block_indent != 0 ||
+      swfdec_as_array_get_length (format->tab_stops) > 0)
+  {
+    string = g_string_append (string, "<TEXTFORMAT");
+    if (format->left_margin) {
+      g_string_append_printf (string, " LEFTMARGIN=\"%i\"",
+	  format->left_margin);
+    }
+    if (format->right_margin) {
+      g_string_append_printf (string, " RIGHTMARGIN=\"%i\"",
+	  format->right_margin);
+    }
+    if (format->indent)
+      g_string_append_printf (string, " INDENT=\"%i\"", format->indent);
+    if (format->leading)
+      g_string_append_printf (string, " LEADING=\"%i\"", format->leading);
+    if (format->block_indent) {
+      g_string_append_printf (string, " BLOCKINDENT=\"%i\"",
+	  format->block_indent);
+    }
+    if (swfdec_as_array_get_length (format->tab_stops) > 0) {
+      SwfdecAsValue val;
+      SWFDEC_AS_VALUE_SET_OBJECT (&val, SWFDEC_AS_OBJECT  (format->tab_stops));
+      g_string_append_printf (string, " TABSTOPS=\"%s\"",
+	  swfdec_as_value_to_string (SWFDEC_AS_OBJECT
+	    (format->tab_stops)->context, &val));
+    }
+    string = g_string_append (string, ">");
+
+    textformat = TRUE;
+  }
+  else
+  {
+    textformat = FALSE;
+  }
+
+  if (format->bullet) {
+    string = g_string_append (string, "<LI>");
+    bullet = TRUE;
+  } else {
+    g_string_append_printf (string, "<P ALIGN=\"%s\">",
+	align_to_string (format->align));
+    bullet = FALSE;
+  }
+
+  // note we don't escape format->font, even thought it can have evil chars
+  g_string_append_printf (string, "<FONT FACE=\"%s\" SIZE=\"%i\" COLOR=\"#%06X\" LETTERSPACING=\"%i\" KERNING=\"%i\">",
+      format->font, format->size, format->color, (int)format->letter_spacing,
+      (format->kerning ? 1 : 0));
+  fonts = g_slist_prepend (NULL, format);
+
+  if (format->url != SWFDEC_AS_STR_EMPTY)
+    g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
+	format->url, format->target);
+  if (format->bold)
+    string = g_string_append (string, "<B>");
+  if (format->italic)
+    string = g_string_append (string, "<I>");
+  if (format->underline)
+    string = g_string_append (string, "<U>");
+
+  // special case: use <= instead of < to add some extra markup
+  for (iter = iter->next;
+      iter != NULL && ((SwfdecFormatIndex *)(iter->data))->index <= end_index;
+      iter = iter->next)
+  {
+    index_prev = index_;
+    format_prev = format;
+    index_ = ((SwfdecFormatIndex *)(iter->data))->index;
+    format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+    escaped = swfdec_xml_escape_len (text->text_display + index_prev,
+	index_ - index_prev);
+    string = g_string_append (string, escaped);
+    g_free (escaped);
+    escaped = NULL;
+
+    // Figure out what tags need to be rewritten
+    if (format->font != format_prev->font ||
+	format->size != format_prev->size ||
+	format->color != format_prev->color ||
+	(int)format->letter_spacing != (int)format_prev->letter_spacing ||
+	format->kerning != format_prev->kerning) {
+      font = TRUE;
+    } else if (format->url == format_prev->url &&
+	format->target == format_prev->target &&
+	format->bold == format_prev->bold &&
+	format->italic == format_prev->italic &&
+	format->underline == format_prev->underline) {
+      continue;
+    }
+
+    // Close tags
+    for (iter_font = fonts; iter_font != NULL; iter_font = iter_font->next)
+    {
+      format_font = (SwfdecTextFormat *)iter_font->data;
+      if (format->font == format_font->font &&
+	format->size == format_font->size &&
+	format->color == format_font->color &&
+	(int)format->letter_spacing == (int)format_font->letter_spacing &&
+	format->kerning == format_font->kerning) {
+	break;
+      }
+    }
+    if (iter_font != NULL) {
+      while (fonts != iter_font) {
+	string = g_string_append (string, "</FONT>");
+	fonts = g_slist_remove (fonts, fonts->data);
+      }
+    }
+    if (format_prev->underline)
+      string = g_string_append (string, "</U>");
+    if (format_prev->italic)
+      string = g_string_append (string, "</I>");
+    if (format_prev->bold)
+      string = g_string_append (string, "</B>");
+    if (format_prev->url != SWFDEC_AS_STR_EMPTY)
+      string = g_string_append (string, "</A>");
+
+    // Open tags
+    format_font = (SwfdecTextFormat *)fonts->data;
+    if (font && (format->font != format_font->font ||
+	 format->size != format_font->size ||
+	 format->color != format_font->color ||
+	 (int)format->letter_spacing != (int)format_font->letter_spacing ||
+	 format->kerning != format_font->kerning))
+    {
+      fonts = g_slist_prepend (fonts, format);
+
+      string = g_string_append (string, "<FONT");
+      // note we don't escape format->font, even thought it can have evil chars
+      if (format->font != format_font->font)
+	g_string_append_printf (string, " FACE=\"%s\"", format->font);
+      if (format->size != format_font->size)
+	g_string_append_printf (string, " SIZE=\"%i\"", format->size);
+      if (format->color != format_font->color)
+	g_string_append_printf (string, " COLOR=\"#%06X\"", format->color);
+      if ((int)format->letter_spacing != (int)format_font->letter_spacing) {
+	g_string_append_printf (string, " LETTERSPACING=\"%i\"",
+	    (int)format->letter_spacing);
+      }
+      if (format->kerning != format_font->kerning) {
+	g_string_append_printf (string, " KERNING=\"%i\"",
+	    (format->kerning ? 1 : 0));
+      }
+      string = g_string_append (string, ">");
+    }
+    if (format->url != SWFDEC_AS_STR_EMPTY) {
+      g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
+	  format->url, format->target);
+    }
+    if (format->bold)
+      string = g_string_append (string, "<B>");
+    if (format->italic)
+      string = g_string_append (string, "<I>");
+    if (format->underline)
+      string = g_string_append (string, "<U>");
+  }
+
+  escaped = swfdec_xml_escape_len (text->text_display + index_,
+      end_index - index_);
+  string = g_string_append (string, escaped);
+  g_free (escaped);
+
+  if (format->underline)
+    string = g_string_append (string, "</U>");
+  if (format->italic)
+    string = g_string_append (string, "</I>");
+  if (format->bold)
+    string = g_string_append (string, "</B>");
+  if (format->url != SWFDEC_AS_STR_EMPTY)
+    string = g_string_append (string, "</A>");
+  for (iter = fonts; iter != NULL; iter = iter->next)
+    string = g_string_append (string, "</FONT>");
+  g_slist_free (fonts);
+  if (bullet) {
+    string = g_string_append (string, "</LI>");
+  } else {
+    string = g_string_append (string, "</P>");
+  }
+  if (textformat)
+    string = g_string_append (string, "</TEXTFORMAT>");
+
+  return string;
+}
+
+static void
+swfdec_text_field_movie_get_htmlText (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecTextFieldMovie *text;
+  const char *p, *end;
+  GString *string;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+  if (text->text->html == FALSE) {
+    swfdec_text_field_movie_get_text (cx, object, argc, argv, ret);
+    return;
+  }
+
+  if (text->text_display == NULL) {
+    SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_EMPTY);
+    return;
+  }
+
+  string = g_string_new ("");
+
+  p = text->text_display;
+  while (*p != '\0') {
+    end = strchr (p, '\r');
+    if (end == NULL)
+      end = strchr (p, '\0');
+
+    string = swfdec_text_field_movie_htmlText_append_paragraph (text, string,
+	p - text->text_display, end - text->text_display);
+
+    if (*end == '\r') {
+      p = end + 1;
+    } else {
+      p = end;
+    }
+  }
+
+  SWFDEC_AS_VALUE_SET_STRING (ret,
+      swfdec_as_context_give_string (cx, g_string_free (string, FALSE)));
+}
+
+static void
+swfdec_text_field_movie_set_htmlText (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecTextFieldMovie *text;
+  const char *value;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "s", &value);
+
+  swfdec_text_field_movie_set_text (text, value, text->text->html);
+}
+
+static void
+swfdec_text_field_movie_get_html (SwfdecAsContext *cx, SwfdecAsObject *object,
+    guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+  SwfdecTextFieldMovie *text;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+  SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->html);
+}
+
+static void
+swfdec_text_field_movie_set_html (SwfdecAsContext *cx, SwfdecAsObject *object,
+    guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+  SwfdecTextFieldMovie *text;
+  gboolean value;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
+
+  text->text->html = value;
+}
+
+static void
+swfdec_text_field_movie_get_condenseWhite (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecTextFieldMovie *text;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+  SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->condense_white);
+}
+
+static void
+swfdec_text_field_movie_set_condenseWhite (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecTextFieldMovie *text;
+  gboolean value;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
+
+  text->condense_white = value;
+}
+
+static void
+swfdec_text_field_movie_get_embedFonts (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecTextFieldMovie *text;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+  SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->embed_fonts);
+}
+
+static void
+swfdec_text_field_movie_set_embedFonts (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecTextFieldMovie *text;
+  gboolean value;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
+
+  text->text->embed_fonts = value;
+}
+
+static void
+swfdec_text_field_movie_get_length (SwfdecAsContext *cx, SwfdecAsObject *object,
+    guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+  SwfdecTextFieldMovie *text;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+  SWFDEC_AS_VALUE_SET_INT (ret, strlen (text->text_display));
+}
+
+static void
+swfdec_text_field_movie_get_textColor (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecTextFieldMovie *text;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+  swfdec_as_object_get_variable (SWFDEC_AS_OBJECT (text->format_new),
+      SWFDEC_AS_STR_color, ret);
+}
+
+static void
+swfdec_text_field_movie_set_textColor (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecTextFieldMovie *text;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+  if (argc < 1)
+    return;
+
+  swfdec_as_object_set_variable (SWFDEC_AS_OBJECT (text->format_new),
+      SWFDEC_AS_STR_color, &argv[0]);
+}
+
+SWFDEC_AS_NATIVE (104, 104, swfdec_text_field_movie_getNewTextFormat)
+void
+swfdec_text_field_movie_getNewTextFormat (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecTextFieldMovie *text;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+  SWFDEC_AS_VALUE_SET_OBJECT (ret,
+      SWFDEC_AS_OBJECT (swfdec_text_format_copy (text->format_new)));
+}
+
+SWFDEC_AS_NATIVE (104, 105, swfdec_text_field_movie_setNewTextFormat)
+void
+swfdec_text_field_movie_setNewTextFormat (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecTextFieldMovie *text;
+  SwfdecAsObject *obj;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "o", &obj);
+
+  if (!SWFDEC_IS_TEXT_FORMAT (obj))
+    return;
+
+  text->format_new = swfdec_text_format_copy (SWFDEC_TEXT_FORMAT (obj));
+}
+
+SWFDEC_AS_NATIVE (104, 102, swfdec_text_field_movie_setTextFormat)
+void
+swfdec_text_field_movie_setTextFormat (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecTextFieldMovie *text;
+  SwfdecTextFormat *format;
+  guint start_index, end_index;
+  int i;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+  if (argc < 1)
+    return;
+
+  i = 0;
+  if (argc >= 2) {
+    start_index = swfdec_as_value_to_integer (cx, &argv[i++]);
+    start_index = MIN (start_index, strlen (text->text_display));
+  } else {
+    start_index = 0;
+  }
+  if (argc >= 3) {
+    end_index = swfdec_as_value_to_integer (cx, &argv[i++]);
+    end_index = CLAMP (end_index, start_index, strlen (text->text_display));
+  } else {
+    end_index = strlen (text->text_display);
+  }
+  if (start_index == end_index)
+    return;
+
+  if (!SWFDEC_AS_VALUE_IS_OBJECT (&argv[i]))
+    return;
+  if (!SWFDEC_IS_TEXT_FORMAT (SWFDEC_AS_VALUE_GET_OBJECT (&argv[i])))
+    return;
+
+  format = SWFDEC_TEXT_FORMAT (SWFDEC_AS_VALUE_GET_OBJECT (&argv[i]));
+
+  swfdec_text_field_movie_set_text_format (text, format, start_index, end_index);
+}
+
+SWFDEC_AS_NATIVE (104, 200, swfdec_text_field_movie_createTextField)
+void
+swfdec_text_field_movie_createTextField (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *rval)
+{
+  SwfdecMovie *movie, *parent;
+  SwfdecTextField *edittext;
+  int depth, x, y, width, height;
+  const char *name;
+  SwfdecAsFunction *fun;
+  SwfdecAsValue val;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, (gpointer)&parent, "siiiii", &name, &depth, &x, &y, &width, &height);
+
+  edittext = g_object_new (SWFDEC_TYPE_TEXT_FIELD, NULL);
+  edittext->html = FALSE;
+  edittext->input = FALSE;
+  edittext->password = FALSE;
+  edittext->selectable = TRUE;
+  edittext->font = NULL; // FIXME
+  edittext->wrap = FALSE;
+  edittext->multiline = FALSE;
+  edittext->auto_size = SWFDEC_AUTO_SIZE_NONE;
+  edittext->border = FALSE;
+  edittext->size = 240; // FIXME: Correct?
+
+  edittext->text_input = NULL;
+  edittext->variable = NULL;
+  edittext->color = 0;
+  edittext->align = SWFDEC_TEXT_ALIGN_LEFT;
+  edittext->left_margin = 0;
+  edittext->right_margin = 0;
+  edittext->indent = 0;
+  edittext->leading = 0;
+
+  edittext->graphic.extents.x0 = x;
+  edittext->graphic.extents.x1 = x + width;
+  edittext->graphic.extents.y0 = y;
+  edittext->graphic.extents.y1 = y + height;
+
+  movie = swfdec_movie_find (parent, depth);
+  if (movie)
+    swfdec_movie_remove (movie);
+
+  movie = swfdec_movie_new (SWFDEC_PLAYER (cx), depth, parent,
+      SWFDEC_GRAPHIC (edittext), name);
+  g_assert (SWFDEC_IS_TEXT_FIELD_MOVIE (movie));
+  swfdec_movie_initialize (movie);
+
+  swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
+  if (!SWFDEC_AS_VALUE_IS_OBJECT (&val))
+    return;
+  fun = (SwfdecAsFunction *) SWFDEC_AS_VALUE_GET_OBJECT (&val);
+  if (!SWFDEC_IS_AS_FUNCTION (fun))
+    return;
+
+  /* set initial variables */
+  if (swfdec_as_object_get_variable (SWFDEC_AS_OBJECT (fun),
+	SWFDEC_AS_STR_prototype, &val)) {
+    swfdec_as_object_set_variable_and_flags (SWFDEC_AS_OBJECT (movie),
+	SWFDEC_AS_STR___proto__, &val,
+	SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_PERMANENT);
+  }
+  SWFDEC_AS_VALUE_SET_OBJECT (&val, SWFDEC_AS_OBJECT (fun));
+  if (cx->version < 7) {
+    swfdec_as_object_set_variable_and_flags (SWFDEC_AS_OBJECT (movie),
+	SWFDEC_AS_STR_constructor, &val, SWFDEC_AS_VARIABLE_HIDDEN);
+  }
+  swfdec_as_object_set_variable_and_flags (SWFDEC_AS_OBJECT (movie),
+      SWFDEC_AS_STR___constructor__, &val,
+      SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_VERSION_6_UP);
+
+  swfdec_as_function_call (fun, SWFDEC_AS_OBJECT (movie), 0, NULL, rval);
+  cx->frame->construct = TRUE;
+  swfdec_as_context_run (cx);
+}
+
+static void
+swfdec_text_field_movie_add_variable (SwfdecAsObject *object,
+    const char *variable, SwfdecAsNative get, SwfdecAsNative set)
+{
+  SwfdecAsFunction *get_func, *set_func;
+
+  g_return_if_fail (SWFDEC_IS_AS_OBJECT (object));
+  g_return_if_fail (variable != NULL);
+  g_return_if_fail (get != NULL);
+
+  get_func =
+    swfdec_as_native_function_new (object->context, variable, get, 0, NULL);
+  if (get_func == NULL)
+    return;
+
+  if (set != NULL) {
+    set_func =
+      swfdec_as_native_function_new (object->context, variable, set, 0, NULL);
+  } else {
+    set_func = NULL;
+  }
+
+  swfdec_as_object_add_variable (object, variable, get_func, set_func, 0);
+}
+
+SWFDEC_AS_CONSTRUCTOR (104, 0, swfdec_text_field_movie_construct, swfdec_text_field_movie_get_type)
+void
+swfdec_text_field_movie_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
+    guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+  if (!cx->frame->construct) {
+    SwfdecAsValue val;
+    if (!swfdec_as_context_use_mem (cx, sizeof (SwfdecTextFieldMovie)))
+      return;
+    object = g_object_new (SWFDEC_TYPE_TEXT_FIELD_MOVIE, NULL);
+    swfdec_as_object_add (object, cx, sizeof (SwfdecTextFieldMovie));
+    swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
+    if (SWFDEC_AS_VALUE_IS_OBJECT (&val)) {
+      swfdec_as_object_set_constructor (object,
+	  SWFDEC_AS_VALUE_GET_OBJECT (&val));
+    } else {
+      SWFDEC_INFO ("\"TextField\" is not an object");
+    }
+  }
+
+  g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (object));
+
+  if (!SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized) {
+    SwfdecAsValue val;
+    SwfdecAsObject *proto;
+
+    swfdec_as_object_get_variable (object, SWFDEC_AS_STR___proto__, &val);
+    g_return_if_fail (SWFDEC_AS_VALUE_IS_OBJECT (&val));
+    proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
+
+    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_text,
+	swfdec_text_field_movie_get_text, swfdec_text_field_movie_do_set_text);
+    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_htmlText,
+	swfdec_text_field_movie_get_htmlText,
+	swfdec_text_field_movie_set_htmlText);
+    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_html,
+	swfdec_text_field_movie_get_html, swfdec_text_field_movie_set_html);
+    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_condenseWhite,
+	swfdec_text_field_movie_get_condenseWhite,
+	swfdec_text_field_movie_set_condenseWhite);
+    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_embedFonts,
+	swfdec_text_field_movie_get_embedFonts,
+	swfdec_text_field_movie_set_embedFonts);
+    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_length,
+	swfdec_text_field_movie_get_length, NULL);
+    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
+	swfdec_text_field_movie_get_textColor,
+	swfdec_text_field_movie_set_textColor);
+
+    SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
+  }
+
+  SWFDEC_AS_VALUE_SET_OBJECT (ret, object);
+}
diff-tree ba72dd43b20c244e1de4a2a5aea7438bdbcc318d (from ef5288e48b9b4cd61e44429dbf5db01598e9d066)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Thu Oct 11 11:42:43 2007 +0300

    Rename everything EditText to TextField

diff --git a/libswfdec/swfdec_as_interpret.c b/libswfdec/swfdec_as_interpret.c
index 8c7eadc..a8413b7 100644
--- a/libswfdec/swfdec_as_interpret.c
+++ b/libswfdec/swfdec_as_interpret.c
@@ -2104,7 +2104,7 @@ swfdec_action_type_of (SwfdecAsContext *
     case SWFDEC_AS_TYPE_OBJECT:
       {
 	SwfdecAsObject *obj = SWFDEC_AS_VALUE_GET_OBJECT (val);
-	if (SWFDEC_IS_EDIT_TEXT_MOVIE (obj)) {
+	if (SWFDEC_IS_TEXT_FIELD_MOVIE (obj)) {
 	  type = SWFDEC_AS_STR_object;
 	} else if (SWFDEC_IS_MOVIE (obj)) {
 	  type = SWFDEC_AS_STR_movieclip;
diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index 8ad6de7..7905673 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -31,66 +31,66 @@
 #include "swfdec_player_internal.h"
 #include "swfdec_swf_decoder.h"
 
-G_DEFINE_TYPE (SwfdecEditText, swfdec_edit_text, SWFDEC_TYPE_GRAPHIC)
+G_DEFINE_TYPE (SwfdecTextField, swfdec_text_field, SWFDEC_TYPE_GRAPHIC)
 
 static gboolean
-swfdec_edit_text_mouse_in (SwfdecGraphic *graphic, double x, double y)
+swfdec_text_field_mouse_in (SwfdecGraphic *graphic, double x, double y)
 {
   return swfdec_rect_contains (&graphic->extents, x, y);
 }
 
 static SwfdecMovie *
-swfdec_edit_text_create_movie (SwfdecGraphic *graphic, gsize *size)
+swfdec_text_field_create_movie (SwfdecGraphic *graphic, gsize *size)
 {
-  SwfdecEditText *text = SWFDEC_EDIT_TEXT (graphic);
-  SwfdecEditTextMovie *ret = g_object_new (SWFDEC_TYPE_EDIT_TEXT_MOVIE, NULL);
+  SwfdecTextField *text = SWFDEC_TEXT_FIELD (graphic);
+  SwfdecTextFieldMovie *ret = g_object_new (SWFDEC_TYPE_TEXT_FIELD_MOVIE, NULL);
 
   ret->text = text;
 
-  *size = sizeof (SwfdecEditTextMovie);
+  *size = sizeof (SwfdecTextFieldMovie);
 
   return SWFDEC_MOVIE (ret);
 }
 
 static void
-swfdec_edit_text_dispose (GObject *object)
+swfdec_text_field_dispose (GObject *object)
 {
-  SwfdecEditText *text = SWFDEC_EDIT_TEXT (object);
+  SwfdecTextField *text = SWFDEC_TEXT_FIELD (object);
 
   g_free (text->text_input);
   text->text_input = NULL;
   g_free (text->variable);
   text->variable = NULL;
 
-  G_OBJECT_CLASS (swfdec_edit_text_parent_class)->dispose (object);
+  G_OBJECT_CLASS (swfdec_text_field_parent_class)->dispose (object);
 }
 
 static void
-swfdec_edit_text_class_init (SwfdecEditTextClass * g_class)
+swfdec_text_field_class_init (SwfdecTextFieldClass * g_class)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (g_class);
   SwfdecGraphicClass *graphic_class = SWFDEC_GRAPHIC_CLASS (g_class);
 
-  object_class->dispose = swfdec_edit_text_dispose;
-  graphic_class->create_movie = swfdec_edit_text_create_movie;
-  graphic_class->mouse_in = swfdec_edit_text_mouse_in;
+  object_class->dispose = swfdec_text_field_dispose;
+  graphic_class->create_movie = swfdec_text_field_create_movie;
+  graphic_class->mouse_in = swfdec_text_field_mouse_in;
 }
 
 static void
-swfdec_edit_text_init (SwfdecEditText * text)
+swfdec_text_field_init (SwfdecTextField * text)
 {
   text->max_length = G_MAXUINT;
 }
 
 void
-swfdec_edit_text_render (SwfdecEditText *text, cairo_t *cr,
+swfdec_text_field_render (SwfdecTextField *text, cairo_t *cr,
     const SwfdecParagraph *paragraphs, const SwfdecColorTransform *trans,
     const SwfdecRect *inval)
 {
   PangoLayout *layout;
   guint i;
 
-  g_return_if_fail (SWFDEC_IS_EDIT_TEXT (text));
+  g_return_if_fail (SWFDEC_IS_TEXT_FIELD (text));
   g_return_if_fail (cr != NULL);
   g_return_if_fail (paragraphs != NULL);
   g_return_if_fail (trans != NULL);
@@ -240,7 +240,7 @@ swfdec_edit_text_render (SwfdecEditText 
 int
 tag_func_define_edit_text (SwfdecSwfDecoder * s, guint tag)
 {
-  SwfdecEditText *text;
+  SwfdecTextField *text;
   guint id;
   int reserved;
   gboolean has_font, has_color, has_max_length, has_layout, has_text;
@@ -248,7 +248,7 @@ tag_func_define_edit_text (SwfdecSwfDeco
 
   id = swfdec_bits_get_u16 (b);
   SWFDEC_LOG ("  id = %u", id);
-  text = swfdec_swf_decoder_create_character (s, id, SWFDEC_TYPE_EDIT_TEXT);
+  text = swfdec_swf_decoder_create_character (s, id, SWFDEC_TYPE_TEXT_FIELD);
   if (text == NULL)
     return SWFDEC_STATUS_OK;
 
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index f7c6e22..aa84422 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -18,8 +18,8 @@
  * Boston, MA  02110-1301  USA
  */
 
-#ifndef _SWFDEC_EDIT_TEXT_H_
-#define _SWFDEC_EDIT_TEXT_H_
+#ifndef _SWFDEC_TEXT_FIELD_H_
+#define _SWFDEC_TEXT_FIELD_H_
 
 #include <pango/pango.h>
 #include <libswfdec/swfdec_types.h>
@@ -30,14 +30,14 @@
 
 G_BEGIN_DECLS
 
-typedef struct _SwfdecEditText SwfdecEditText;
-typedef struct _SwfdecEditTextClass SwfdecEditTextClass;
+typedef struct _SwfdecTextField SwfdecTextField;
+typedef struct _SwfdecTextFieldClass SwfdecTextFieldClass;
 
-#define SWFDEC_TYPE_EDIT_TEXT                    (swfdec_edit_text_get_type())
-#define SWFDEC_IS_EDIT_TEXT(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_EDIT_TEXT))
-#define SWFDEC_IS_EDIT_TEXT_CLASS(klass)         (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_EDIT_TEXT))
-#define SWFDEC_EDIT_TEXT(obj)                    (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_EDIT_TEXT, SwfdecEditText))
-#define SWFDEC_EDIT_TEXT_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_EDIT_TEXT, SwfdecEditTextClass))
+#define SWFDEC_TYPE_TEXT_FIELD                    (swfdec_text_field_get_type())
+#define SWFDEC_IS_TEXT_FIELD(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_TEXT_FIELD))
+#define SWFDEC_IS_TEXT_FIELD_CLASS(klass)         (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_TEXT_FIELD))
+#define SWFDEC_TEXT_FIELD(obj)                    (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_TEXT_FIELD, SwfdecTextField))
+#define SWFDEC_TEXT_FIELD_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_TEXT_FIELD, SwfdecTextFieldClass))
 
 typedef struct {
   guint			index_;
@@ -71,7 +71,7 @@ typedef enum {
   SWFDEC_AUTO_SIZE_RIGHT
 } SwfdecAutoSize;
 
-struct _SwfdecEditText
+struct _SwfdecTextField
 {
   SwfdecGraphic		graphic;
 
@@ -103,17 +103,17 @@ struct _SwfdecEditText
   int			leading;
 };
 
-struct _SwfdecEditTextClass
+struct _SwfdecTextFieldClass
 {
   SwfdecGraphicClass	graphic_class;
 };
 
-GType			swfdec_edit_text_get_type	(void);
+GType			swfdec_text_field_get_type	(void);
 
 int			tag_func_define_edit_text	(SwfdecSwfDecoder *	s,
 							 guint			tag);
 
-void			swfdec_edit_text_render		(SwfdecEditText *	text,
+void			swfdec_text_field_render		(SwfdecTextField *	text,
 							 cairo_t *		cr,
 							 const SwfdecParagraph *	paragraphs,
 							 const SwfdecColorTransform *	trans,
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 4f68687..dd79e9a 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -32,14 +32,14 @@
 #include "swfdec_debug.h"
 #include "swfdec_player_internal.h"
 
-G_DEFINE_TYPE (SwfdecEditTextMovie, swfdec_edit_text_movie, SWFDEC_TYPE_MOVIE)
+G_DEFINE_TYPE (SwfdecTextFieldMovie, swfdec_text_field_movie, SWFDEC_TYPE_MOVIE)
 
 static void
-swfdec_edit_text_movie_update_extents (SwfdecMovie *movie,
+swfdec_text_field_movie_update_extents (SwfdecMovie *movie,
     SwfdecRect *extents)
 {
   swfdec_rect_union (extents, extents, 
-      &SWFDEC_GRAPHIC (SWFDEC_EDIT_TEXT_MOVIE (movie)->text)->extents);
+      &SWFDEC_GRAPHIC (SWFDEC_TEXT_FIELD_MOVIE (movie)->text)->extents);
 }
 
 static void
@@ -99,7 +99,7 @@ swfdec_text_paragraph_add_block_attribut
 }
 
 static void
-swfdec_edit_text_movie_generate_paragraph (SwfdecEditTextMovie *text,
+swfdec_text_field_movie_generate_paragraph (SwfdecTextFieldMovie *text,
     SwfdecParagraph *paragraph, guint start_index, guint end_index)
 {
   SwfdecTextFormat *format, *format_prev;
@@ -109,7 +109,7 @@ swfdec_edit_text_movie_generate_paragrap
 		 *attr_letter_spacing, *attr_size, *attr_underline;
   // TODO: kerning
 
-  g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+  g_assert (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
   g_assert (paragraph != NULL);
   g_assert (start_index < end_index);
   g_assert (end_index <= strlen (text->text_display));
@@ -287,12 +287,12 @@ swfdec_edit_text_movie_generate_paragrap
 }
 
 static void
-swfdec_edit_text_movie_generate_paragraphs (SwfdecEditTextMovie *text)
+swfdec_text_field_movie_generate_paragraphs (SwfdecTextFieldMovie *text)
 {
   const char *p, *end;
   int num, i;
 
-  g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+  g_assert (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
 
   num = 0;
   p = text->text_display;
@@ -312,7 +312,7 @@ swfdec_edit_text_movie_generate_paragrap
     if (end == NULL)
       end = strchr (p, '\0');
 
-    swfdec_edit_text_movie_generate_paragraph (text, &text->paragraphs[i],
+    swfdec_text_field_movie_generate_paragraph (text, &text->paragraphs[i],
 	p - text->text_display, end - text->text_display);
 
     p = end;
@@ -324,21 +324,21 @@ swfdec_edit_text_movie_generate_paragrap
 }
 
 static void
-swfdec_edit_text_movie_render (SwfdecMovie *movie, cairo_t *cr,
+swfdec_text_field_movie_render (SwfdecMovie *movie, cairo_t *cr,
     const SwfdecColorTransform *trans, const SwfdecRect *inval)
 {
-  SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (movie);
+  SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
 
   if (text->paragraphs == NULL)
-    swfdec_edit_text_movie_generate_paragraphs (text);
+    swfdec_text_field_movie_generate_paragraphs (text);
 
   if (text->paragraphs[0].text == NULL)
     return;
-  swfdec_edit_text_render (text->text, cr, text->paragraphs, trans, inval);
+  swfdec_text_field_render (text->text, cr, text->paragraphs, trans, inval);
 }
 
 static void
-swfdec_edit_text_movie_free_paragraphs (SwfdecEditTextMovie *text)
+swfdec_text_field_movie_free_paragraphs (SwfdecTextFieldMovie *text)
 {
   GList *iter;
   int i;
@@ -365,20 +365,20 @@ swfdec_edit_text_movie_free_paragraphs (
 }
 
 void
-swfdec_edit_text_movie_format_changed (SwfdecEditTextMovie *text)
+swfdec_text_field_movie_format_changed (SwfdecTextFieldMovie *text)
 {
-  swfdec_edit_text_movie_free_paragraphs (text);
+  swfdec_text_field_movie_free_paragraphs (text);
 }
 
 static void
-swfdec_edit_text_movie_dispose (GObject *object)
+swfdec_text_field_movie_dispose (GObject *object)
 {
-  SwfdecEditTextMovie *text;
+  SwfdecTextFieldMovie *text;
   GSList *iter;
 
-  text = SWFDEC_EDIT_TEXT_MOVIE (object);
+  text = SWFDEC_TEXT_FIELD_MOVIE (object);
 
-  swfdec_edit_text_movie_free_paragraphs (text);
+  swfdec_text_field_movie_free_paragraphs (text);
 
   for (iter = text->formats; iter != NULL; iter = iter->next) {
     g_free (text->formats->data);
@@ -386,16 +386,16 @@ swfdec_edit_text_movie_dispose (GObject 
   }
   g_slist_free (text->formats);
 
-  G_OBJECT_CLASS (swfdec_edit_text_movie_parent_class)->dispose (object);
+  G_OBJECT_CLASS (swfdec_text_field_movie_parent_class)->dispose (object);
 }
 
 static void
-swfdec_edit_text_movie_mark (SwfdecAsObject *object)
+swfdec_text_field_movie_mark (SwfdecAsObject *object)
 {
-  SwfdecEditTextMovie *text;
+  SwfdecTextFieldMovie *text;
   GSList *iter;
 
-  text = SWFDEC_EDIT_TEXT_MOVIE (object);
+  text = SWFDEC_TEXT_FIELD_MOVIE (object);
 
   swfdec_as_string_mark (text->text_input);
   swfdec_as_string_mark (text->text_display);
@@ -409,13 +409,13 @@ swfdec_edit_text_movie_mark (SwfdecAsObj
   if (text->style_sheet != NULL)
     swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->style_sheet));
 
-  SWFDEC_AS_OBJECT_CLASS (swfdec_edit_text_movie_parent_class)->mark (object);
+  SWFDEC_AS_OBJECT_CLASS (swfdec_text_field_movie_parent_class)->mark (object);
 }
 
 static void
-swfdec_edit_text_movie_iterate (SwfdecMovie *movie)
+swfdec_text_field_movie_iterate (SwfdecMovie *movie)
 {
-  SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (movie);
+  SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
   SwfdecAsObject *parent;
   const char *s;
   SwfdecAsValue val = { 0, };
@@ -433,13 +433,13 @@ swfdec_edit_text_movie_iterate (SwfdecMo
   if (text->text_input == s)
     return;
 
-  swfdec_edit_text_movie_set_text (text, s, text->text->html);
+  swfdec_text_field_movie_set_text (text, s, text->text->html);
 }
 
 static void
-swfdec_edit_text_movie_init_movie (SwfdecMovie *movie)
+swfdec_text_field_movie_init_movie (SwfdecMovie *movie)
 {
-  SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (movie);
+  SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
   SwfdecAsContext *cx;
   SwfdecAsObject *parent;
   SwfdecAsValue val = { 0, };
@@ -461,7 +461,7 @@ swfdec_edit_text_movie_init_movie (Swfde
 
   // text
   if (text->text->text_input != NULL) {
-    swfdec_edit_text_movie_set_text (text,
+    swfdec_text_field_movie_set_text (text,
 	swfdec_as_context_get_string (cx, text->text->text_input),
 	text->text->html);
   }
@@ -477,7 +477,7 @@ swfdec_edit_text_movie_init_movie (Swfde
       s = swfdec_as_value_to_string (parent->context, &val);
       g_assert (s);
       if (text->text_input != s)
-	swfdec_edit_text_movie_set_text (text, s, text->text->html);
+	swfdec_text_field_movie_set_text (text, s, text->text->html);
     } else {
       SWFDEC_LOG ("setting variable %s to \"%s\"", text->variable,
 	  text->text_input ? text->text_input : "");
@@ -491,36 +491,36 @@ swfdec_edit_text_movie_init_movie (Swfde
 }
 
 static void
-swfdec_edit_text_movie_class_init (SwfdecEditTextMovieClass * g_class)
+swfdec_text_field_movie_class_init (SwfdecTextFieldMovieClass * g_class)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (g_class);
   SwfdecAsObjectClass *asobject_class = SWFDEC_AS_OBJECT_CLASS (g_class);
   SwfdecMovieClass *movie_class = SWFDEC_MOVIE_CLASS (g_class);
 
-  object_class->dispose = swfdec_edit_text_movie_dispose;
+  object_class->dispose = swfdec_text_field_movie_dispose;
 
-  asobject_class->mark = swfdec_edit_text_movie_mark;
+  asobject_class->mark = swfdec_text_field_movie_mark;
 
-  movie_class->init_movie = swfdec_edit_text_movie_init_movie;
-  movie_class->update_extents = swfdec_edit_text_movie_update_extents;
-  movie_class->render = swfdec_edit_text_movie_render;
-  movie_class->iterate_start = swfdec_edit_text_movie_iterate;
+  movie_class->init_movie = swfdec_text_field_movie_init_movie;
+  movie_class->update_extents = swfdec_text_field_movie_update_extents;
+  movie_class->render = swfdec_text_field_movie_render;
+  movie_class->iterate_start = swfdec_text_field_movie_iterate;
 }
 
 static void
-swfdec_edit_text_movie_init (SwfdecEditTextMovie *text)
+swfdec_text_field_movie_init (SwfdecTextFieldMovie *text)
 {
 }
 
 void
-swfdec_edit_text_movie_set_text_format (SwfdecEditTextMovie *text,
+swfdec_text_field_movie_set_text_format (SwfdecTextFieldMovie *text,
     SwfdecTextFormat *format, guint start_index, guint end_index)
 {
   SwfdecFormatIndex *findex, *findex_new;
   guint findex_end_index;
   GSList *iter, *next;
 
-  g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+  g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
   g_return_if_fail (SWFDEC_IS_TEXT_FORMAT (format));
   g_return_if_fail (start_index < end_index);
   g_return_if_fail (end_index <= strlen (text->text_display));
@@ -564,17 +564,17 @@ swfdec_edit_text_movie_set_text_format (
     }
   }
 
-  swfdec_edit_text_movie_format_changed (text);
+  swfdec_text_field_movie_format_changed (text);
 }
 
 void
-swfdec_edit_text_movie_set_text (SwfdecEditTextMovie *text, const char *str,
+swfdec_text_field_movie_set_text (SwfdecTextFieldMovie *text, const char *str,
     gboolean html)
 {
   SwfdecFormatIndex *block;
   GSList *iter;
 
-  g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+  g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
 
   text->text_input = str;
 
@@ -597,7 +597,7 @@ swfdec_edit_text_movie_set_text (SwfdecE
   text->formats = g_slist_prepend (text->formats, block);
 
   if (html) {
-    swfdec_edit_text_movie_html_parse (text, str);
+    swfdec_text_field_movie_html_parse (text, str);
   } else {
     // change all \n to \r
     if (strchr (str, '\n') != NULL) {
@@ -615,5 +615,5 @@ swfdec_edit_text_movie_set_text (SwfdecE
     }
   }
 
-  swfdec_edit_text_movie_format_changed (text);
+  swfdec_text_field_movie_format_changed (text);
 }
diff --git a/libswfdec/swfdec_edittext_movie.h b/libswfdec/swfdec_edittext_movie.h
index 103942b..8b7999a 100644
--- a/libswfdec/swfdec_edittext_movie.h
+++ b/libswfdec/swfdec_edittext_movie.h
@@ -18,8 +18,8 @@
  * Boston, MA  02110-1301  USA
  */
 
-#ifndef _SWFDEC_EDIT_TEXT_MOVIE_H_
-#define _SWFDEC_EDIT_TEXT_MOVIE_H_
+#ifndef _SWFDEC_TEXT_FIELD_MOVIE_H_
+#define _SWFDEC_TEXT_FIELD_MOVIE_H_
 
 #include <libswfdec/swfdec_movie.h>
 #include <libswfdec/swfdec_edittext.h>
@@ -29,14 +29,14 @@
 G_BEGIN_DECLS
 
 
-typedef struct _SwfdecEditTextMovie SwfdecEditTextMovie;
-typedef struct _SwfdecEditTextMovieClass SwfdecEditTextMovieClass;
+typedef struct _SwfdecTextFieldMovie SwfdecTextFieldMovie;
+typedef struct _SwfdecTextFieldMovieClass SwfdecTextFieldMovieClass;
 
-#define SWFDEC_TYPE_EDIT_TEXT_MOVIE                    (swfdec_edit_text_movie_get_type())
-#define SWFDEC_IS_EDIT_TEXT_MOVIE(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_EDIT_TEXT_MOVIE))
-#define SWFDEC_IS_EDIT_TEXT_MOVIE_CLASS(klass)         (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_EDIT_TEXT_MOVIE))
-#define SWFDEC_EDIT_TEXT_MOVIE(obj)                    (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_EDIT_TEXT_MOVIE, SwfdecEditTextMovie))
-#define SWFDEC_EDIT_TEXT_MOVIE_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_EDIT_TEXT_MOVIE, SwfdecEditTextMovieClass))
+#define SWFDEC_TYPE_TEXT_FIELD_MOVIE                    (swfdec_text_field_movie_get_type())
+#define SWFDEC_IS_TEXT_FIELD_MOVIE(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_TEXT_FIELD_MOVIE))
+#define SWFDEC_IS_TEXT_FIELD_MOVIE_CLASS(klass)         (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_TEXT_FIELD_MOVIE))
+#define SWFDEC_TEXT_FIELD_MOVIE(obj)                    (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_TEXT_FIELD_MOVIE, SwfdecTextFieldMovie))
+#define SWFDEC_TEXT_FIELD_MOVIE_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_TEXT_FIELD_MOVIE, SwfdecTextFieldMovieClass))
 
 typedef struct {
   guint			index;
@@ -54,10 +54,10 @@ typedef enum {
   SWFDEC_GRID_FIT_TYPE_SUBPIXEL
 } SwfdecGridFitType;
 
-struct _SwfdecEditTextMovie {
+struct _SwfdecTextFieldMovie {
   SwfdecMovie		movie;
 
-  SwfdecEditText *	text;		/* the edit_text object we render */
+  SwfdecTextField *	text;		/* the text_field object we render */
 
   const char *		text_input;
   const char *		text_display;
@@ -85,23 +85,23 @@ struct _SwfdecEditTextMovie {
   SwfdecParagraph *	paragraphs;
 };
 
-struct _SwfdecEditTextMovieClass {
+struct _SwfdecTextFieldMovieClass {
   SwfdecMovieClass	movie_class;
 };
 
-GType		swfdec_edit_text_movie_get_type		(void);
+GType		swfdec_text_field_movie_get_type		(void);
 
-void		swfdec_edit_text_movie_set_text		(SwfdecEditTextMovie *	movie,
+void		swfdec_text_field_movie_set_text		(SwfdecTextFieldMovie *	movie,
 							 const char *		str,
 							 gboolean		html);
-void		swfdec_edit_text_movie_format_changed	(SwfdecEditTextMovie *	text);
-void		swfdec_edit_text_movie_set_text_format	(SwfdecEditTextMovie *	text,
+void		swfdec_text_field_movie_format_changed	(SwfdecTextFieldMovie *	text);
+void		swfdec_text_field_movie_set_text_format	(SwfdecTextFieldMovie *	text,
 							 SwfdecTextFormat *	format,
 							 guint			start_index,
 							 guint			end_index);
 
 /* implemented in swfdec_html_parser.c */
-void		swfdec_edit_text_movie_html_parse	(SwfdecEditTextMovie *	text, 
+void		swfdec_text_field_movie_html_parse	(SwfdecTextFieldMovie *	text, 
 							 const char *		str);
 
 G_END_DECLS
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index bb58e9b..c9d4cd0 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -37,12 +37,12 @@
 #include "swfdec_player_internal.h"
 
 static void
-swfdec_edit_text_movie_get_text (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_field_movie_get_text (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  SwfdecEditTextMovie *text;
+  SwfdecTextFieldMovie *text;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
 
   SWFDEC_AS_VALUE_SET_STRING (ret, (text->text_display != NULL ?
 	swfdec_as_context_get_string (cx, text->text_display) :
@@ -50,16 +50,16 @@ swfdec_edit_text_movie_get_text (SwfdecA
 }
 
 static void
-swfdec_edit_text_movie_do_set_text (SwfdecAsContext *cx,
+swfdec_text_field_movie_do_set_text (SwfdecAsContext *cx,
     SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
     SwfdecAsValue *ret)
 {
-  SwfdecEditTextMovie *text;
+  SwfdecTextFieldMovie *text;
   const char *value;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "s", &value);
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "s", &value);
 
-  swfdec_edit_text_movie_set_text (text, value, FALSE);
+  swfdec_text_field_movie_set_text (text, value, FALSE);
 }
 
 static const char *
@@ -95,7 +95,7 @@ align_to_string (SwfdecTextAlign align)
  * U: none
  */
 static GString *
-swfdec_edit_text_movie_htmlText_append_paragraph (SwfdecEditTextMovie *text,
+swfdec_text_field_movie_htmlText_append_paragraph (SwfdecTextFieldMovie *text,
     GString *string, guint start_index, guint end_index)
 {
   SwfdecTextFormat *format, *format_prev, *format_font;
@@ -104,7 +104,7 @@ swfdec_edit_text_movie_htmlText_append_p
   gboolean textformat, bullet, font;
   char *escaped;
 
-  g_return_val_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text), string);
+  g_return_val_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text), string);
   g_return_val_if_fail (string != NULL, string);
   g_return_val_if_fail (start_index < end_index, string);
 
@@ -305,18 +305,18 @@ swfdec_edit_text_movie_htmlText_append_p
 }
 
 static void
-swfdec_edit_text_movie_get_htmlText (SwfdecAsContext *cx,
+swfdec_text_field_movie_get_htmlText (SwfdecAsContext *cx,
     SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
     SwfdecAsValue *ret)
 {
-  SwfdecEditTextMovie *text;
+  SwfdecTextFieldMovie *text;
   const char *p, *end;
   GString *string;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
 
   if (text->text->html == FALSE) {
-    swfdec_edit_text_movie_get_text (cx, object, argc, argv, ret);
+    swfdec_text_field_movie_get_text (cx, object, argc, argv, ret);
     return;
   }
 
@@ -333,7 +333,7 @@ swfdec_edit_text_movie_get_htmlText (Swf
     if (end == NULL)
       end = strchr (p, '\0');
 
-    string = swfdec_edit_text_movie_htmlText_append_paragraph (text, string,
+    string = swfdec_text_field_movie_htmlText_append_paragraph (text, string,
 	p - text->text_display, end - text->text_display);
 
     if (*end == '\r') {
@@ -348,123 +348,123 @@ swfdec_edit_text_movie_get_htmlText (Swf
 }
 
 static void
-swfdec_edit_text_movie_set_htmlText (SwfdecAsContext *cx,
+swfdec_text_field_movie_set_htmlText (SwfdecAsContext *cx,
     SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
     SwfdecAsValue *ret)
 {
-  SwfdecEditTextMovie *text;
+  SwfdecTextFieldMovie *text;
   const char *value;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "s", &value);
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "s", &value);
 
-  swfdec_edit_text_movie_set_text (text, value, text->text->html);
+  swfdec_text_field_movie_set_text (text, value, text->text->html);
 }
 
 static void
-swfdec_edit_text_movie_get_html (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_field_movie_get_html (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  SwfdecEditTextMovie *text;
+  SwfdecTextFieldMovie *text;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
 
   SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->html);
 }
 
 static void
-swfdec_edit_text_movie_set_html (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_field_movie_set_html (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  SwfdecEditTextMovie *text;
+  SwfdecTextFieldMovie *text;
   gboolean value;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "b", &value);
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
 
   text->text->html = value;
 }
 
 static void
-swfdec_edit_text_movie_get_condenseWhite (SwfdecAsContext *cx,
+swfdec_text_field_movie_get_condenseWhite (SwfdecAsContext *cx,
     SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
     SwfdecAsValue *ret)
 {
-  SwfdecEditTextMovie *text;
+  SwfdecTextFieldMovie *text;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
 
   SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->condense_white);
 }
 
 static void
-swfdec_edit_text_movie_set_condenseWhite (SwfdecAsContext *cx,
+swfdec_text_field_movie_set_condenseWhite (SwfdecAsContext *cx,
     SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
     SwfdecAsValue *ret)
 {
-  SwfdecEditTextMovie *text;
+  SwfdecTextFieldMovie *text;
   gboolean value;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "b", &value);
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
 
   text->condense_white = value;
 }
 
 static void
-swfdec_edit_text_movie_get_embedFonts (SwfdecAsContext *cx,
+swfdec_text_field_movie_get_embedFonts (SwfdecAsContext *cx,
     SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
     SwfdecAsValue *ret)
 {
-  SwfdecEditTextMovie *text;
+  SwfdecTextFieldMovie *text;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
 
   SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->embed_fonts);
 }
 
 static void
-swfdec_edit_text_movie_set_embedFonts (SwfdecAsContext *cx,
+swfdec_text_field_movie_set_embedFonts (SwfdecAsContext *cx,
     SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
     SwfdecAsValue *ret)
 {
-  SwfdecEditTextMovie *text;
+  SwfdecTextFieldMovie *text;
   gboolean value;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "b", &value);
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
 
   text->text->embed_fonts = value;
 }
 
 static void
-swfdec_edit_text_movie_get_length (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_field_movie_get_length (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  SwfdecEditTextMovie *text;
+  SwfdecTextFieldMovie *text;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
 
   SWFDEC_AS_VALUE_SET_INT (ret, strlen (text->text_display));
 }
 
 static void
-swfdec_edit_text_movie_get_textColor (SwfdecAsContext *cx,
+swfdec_text_field_movie_get_textColor (SwfdecAsContext *cx,
     SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
     SwfdecAsValue *ret)
 {
-  SwfdecEditTextMovie *text;
+  SwfdecTextFieldMovie *text;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
 
   swfdec_as_object_get_variable (SWFDEC_AS_OBJECT (text->format_new),
       SWFDEC_AS_STR_color, ret);
 }
 
 static void
-swfdec_edit_text_movie_set_textColor (SwfdecAsContext *cx,
+swfdec_text_field_movie_set_textColor (SwfdecAsContext *cx,
     SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
     SwfdecAsValue *ret)
 {
-  SwfdecEditTextMovie *text;
+  SwfdecTextFieldMovie *text;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
 
   if (argc < 1)
     return;
@@ -473,30 +473,30 @@ swfdec_edit_text_movie_set_textColor (Sw
       SWFDEC_AS_STR_color, &argv[0]);
 }
 
-SWFDEC_AS_NATIVE (104, 104, swfdec_edit_text_movie_getNewTextFormat)
+SWFDEC_AS_NATIVE (104, 104, swfdec_text_field_movie_getNewTextFormat)
 void
-swfdec_edit_text_movie_getNewTextFormat (SwfdecAsContext *cx,
+swfdec_text_field_movie_getNewTextFormat (SwfdecAsContext *cx,
     SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
     SwfdecAsValue *ret)
 {
-  SwfdecEditTextMovie *text;
+  SwfdecTextFieldMovie *text;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
 
   SWFDEC_AS_VALUE_SET_OBJECT (ret,
       SWFDEC_AS_OBJECT (swfdec_text_format_copy (text->format_new)));
 }
 
-SWFDEC_AS_NATIVE (104, 105, swfdec_edit_text_movie_setNewTextFormat)
+SWFDEC_AS_NATIVE (104, 105, swfdec_text_field_movie_setNewTextFormat)
 void
-swfdec_edit_text_movie_setNewTextFormat (SwfdecAsContext *cx,
+swfdec_text_field_movie_setNewTextFormat (SwfdecAsContext *cx,
     SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
     SwfdecAsValue *ret)
 {
-  SwfdecEditTextMovie *text;
+  SwfdecTextFieldMovie *text;
   SwfdecAsObject *obj;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "o", &obj);
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "o", &obj);
 
   if (!SWFDEC_IS_TEXT_FORMAT (obj))
     return;
@@ -504,18 +504,18 @@ swfdec_edit_text_movie_setNewTextFormat 
   text->format_new = swfdec_text_format_copy (SWFDEC_TEXT_FORMAT (obj));
 }
 
-SWFDEC_AS_NATIVE (104, 102, swfdec_edit_text_movie_setTextFormat)
+SWFDEC_AS_NATIVE (104, 102, swfdec_text_field_movie_setTextFormat)
 void
-swfdec_edit_text_movie_setTextFormat (SwfdecAsContext *cx,
+swfdec_text_field_movie_setTextFormat (SwfdecAsContext *cx,
     SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
     SwfdecAsValue *ret)
 {
-  SwfdecEditTextMovie *text;
+  SwfdecTextFieldMovie *text;
   SwfdecTextFormat *format;
   guint start_index, end_index;
   int i;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
 
   if (argc < 1)
     return;
@@ -543,17 +543,17 @@ swfdec_edit_text_movie_setTextFormat (Sw
 
   format = SWFDEC_TEXT_FORMAT (SWFDEC_AS_VALUE_GET_OBJECT (&argv[i]));
 
-  swfdec_edit_text_movie_set_text_format (text, format, start_index, end_index);
+  swfdec_text_field_movie_set_text_format (text, format, start_index, end_index);
 }
 
-SWFDEC_AS_NATIVE (104, 200, swfdec_edit_text_movie_createTextField)
+SWFDEC_AS_NATIVE (104, 200, swfdec_text_field_movie_createTextField)
 void
-swfdec_edit_text_movie_createTextField (SwfdecAsContext *cx,
+swfdec_text_field_movie_createTextField (SwfdecAsContext *cx,
     SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
     SwfdecAsValue *rval)
 {
   SwfdecMovie *movie, *parent;
-  SwfdecEditText *edittext;
+  SwfdecTextField *edittext;
   int depth, x, y, width, height;
   const char *name;
   SwfdecAsFunction *fun;
@@ -561,7 +561,7 @@ swfdec_edit_text_movie_createTextField (
 
   SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, (gpointer)&parent, "siiiii", &name, &depth, &x, &y, &width, &height);
 
-  edittext = g_object_new (SWFDEC_TYPE_EDIT_TEXT, NULL);
+  edittext = g_object_new (SWFDEC_TYPE_TEXT_FIELD, NULL);
   edittext->html = FALSE;
   edittext->input = FALSE;
   edittext->password = FALSE;
@@ -593,7 +593,7 @@ swfdec_edit_text_movie_createTextField (
 
   movie = swfdec_movie_new (SWFDEC_PLAYER (cx), depth, parent,
       SWFDEC_GRAPHIC (edittext), name);
-  g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (movie));
+  g_assert (SWFDEC_IS_TEXT_FIELD_MOVIE (movie));
   swfdec_movie_initialize (movie);
 
   swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
@@ -625,7 +625,7 @@ swfdec_edit_text_movie_createTextField (
 }
 
 static void
-swfdec_edit_text_movie_add_variable (SwfdecAsObject *object,
+swfdec_text_field_movie_add_variable (SwfdecAsObject *object,
     const char *variable, SwfdecAsNative get, SwfdecAsNative set)
 {
   SwfdecAsFunction *get_func, *set_func;
@@ -649,17 +649,17 @@ swfdec_edit_text_movie_add_variable (Swf
   swfdec_as_object_add_variable (object, variable, get_func, set_func, 0);
 }
 
-SWFDEC_AS_CONSTRUCTOR (104, 0, swfdec_edit_text_movie_construct, swfdec_edit_text_movie_get_type)
+SWFDEC_AS_CONSTRUCTOR (104, 0, swfdec_text_field_movie_construct, swfdec_text_field_movie_get_type)
 void
-swfdec_edit_text_movie_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_field_movie_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   if (!cx->frame->construct) {
     SwfdecAsValue val;
-    if (!swfdec_as_context_use_mem (cx, sizeof (SwfdecEditTextMovie)))
+    if (!swfdec_as_context_use_mem (cx, sizeof (SwfdecTextFieldMovie)))
       return;
-    object = g_object_new (SWFDEC_TYPE_EDIT_TEXT_MOVIE, NULL);
-    swfdec_as_object_add (object, cx, sizeof (SwfdecEditTextMovie));
+    object = g_object_new (SWFDEC_TYPE_TEXT_FIELD_MOVIE, NULL);
+    swfdec_as_object_add (object, cx, sizeof (SwfdecTextFieldMovie));
     swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
     if (SWFDEC_AS_VALUE_IS_OBJECT (&val)) {
       swfdec_as_object_set_constructor (object,
@@ -669,7 +669,7 @@ swfdec_edit_text_movie_construct (Swfdec
     }
   }
 
-  g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (object));
+  g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (object));
 
   if (!SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized) {
     SwfdecAsValue val;
@@ -679,24 +679,24 @@ swfdec_edit_text_movie_construct (Swfdec
     g_return_if_fail (SWFDEC_AS_VALUE_IS_OBJECT (&val));
     proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
 
-    swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_text,
-	swfdec_edit_text_movie_get_text, swfdec_edit_text_movie_do_set_text);
-    swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_htmlText,
-	swfdec_edit_text_movie_get_htmlText,
-	swfdec_edit_text_movie_set_htmlText);
-    swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_html,
-	swfdec_edit_text_movie_get_html, swfdec_edit_text_movie_set_html);
-    swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_condenseWhite,
-	swfdec_edit_text_movie_get_condenseWhite,
-	swfdec_edit_text_movie_set_condenseWhite);
-    swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_embedFonts,
-	swfdec_edit_text_movie_get_embedFonts,
-	swfdec_edit_text_movie_set_embedFonts);
-    swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_length,
-	swfdec_edit_text_movie_get_length, NULL);
-    swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
-	swfdec_edit_text_movie_get_textColor,
-	swfdec_edit_text_movie_set_textColor);
+    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_text,
+	swfdec_text_field_movie_get_text, swfdec_text_field_movie_do_set_text);
+    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_htmlText,
+	swfdec_text_field_movie_get_htmlText,
+	swfdec_text_field_movie_set_htmlText);
+    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_html,
+	swfdec_text_field_movie_get_html, swfdec_text_field_movie_set_html);
+    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_condenseWhite,
+	swfdec_text_field_movie_get_condenseWhite,
+	swfdec_text_field_movie_set_condenseWhite);
+    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_embedFonts,
+	swfdec_text_field_movie_get_embedFonts,
+	swfdec_text_field_movie_set_embedFonts);
+    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_length,
+	swfdec_text_field_movie_get_length, NULL);
+    swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
+	swfdec_text_field_movie_get_textColor,
+	swfdec_text_field_movie_set_textColor);
 
     SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
   }
diff --git a/libswfdec/swfdec_graphic_movie.c b/libswfdec/swfdec_graphic_movie.c
index 9552ee3..a4a86fa 100644
--- a/libswfdec/swfdec_graphic_movie.c
+++ b/libswfdec/swfdec_graphic_movie.c
@@ -63,7 +63,7 @@ swfdec_graphic_movie_replace (SwfdecMovi
     /* nothing to do here, please move along */
   } else if (SWFDEC_IS_SPRITE (graphic) ||
       SWFDEC_IS_BUTTON (graphic) ||
-      SWFDEC_IS_EDIT_TEXT (graphic)) {
+      SWFDEC_IS_TEXT_FIELD (graphic)) {
     SWFDEC_INFO ("can't replace with scriptable objects");
     return;
   } else {
diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 60fb4e4..430eec5 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -44,7 +44,7 @@ typedef struct {
 } ParserData;
 
 static const char *
-swfdec_edit_text_movie_html_parse_comment (ParserData *data, const char *p)
+swfdec_text_field_movie_html_parse_comment (ParserData *data, const char *p)
 {
   const char *end;
 
@@ -61,7 +61,7 @@ swfdec_edit_text_movie_html_parse_commen
 }
 
 static void
-swfdec_edit_text_movie_html_tag_set_attribute (ParserTag *tag,
+swfdec_text_field_movie_html_tag_set_attribute (ParserTag *tag,
     const char *name, int name_length, const char *value, int value_length)
 {
   SwfdecAsValue val;
@@ -136,7 +136,7 @@ swfdec_edit_text_movie_html_tag_set_attr
 }
 
 static const char *
-swfdec_edit_text_movie_html_parse_attribute (ParserTag *tag, const char *p)
+swfdec_text_field_movie_html_parse_attribute (ParserTag *tag, const char *p)
 {
   const char *end, *name, *value;
   int name_length, value_length;
@@ -171,7 +171,7 @@ swfdec_edit_text_movie_html_parse_attrib
   value_length = end - (p + 1);
 
   if (tag != NULL) {
-    swfdec_edit_text_movie_html_tag_set_attribute (tag, name, name_length,
+    swfdec_text_field_movie_html_tag_set_attribute (tag, name, name_length,
 	value, value_length);
   }
 
@@ -181,7 +181,7 @@ swfdec_edit_text_movie_html_parse_attrib
 }
 
 static const char *
-swfdec_edit_text_movie_html_parse_tag (ParserData *data, const char *p)
+swfdec_text_field_movie_html_parse_tag (ParserData *data, const char *p)
 {
   ParserTag *tag;
   const char *name, *end;
@@ -283,7 +283,7 @@ swfdec_edit_text_movie_html_parse_tag (P
     // parse attributes
     end = end + strspn (end, " \r\n\t");
     while (*end != '\0' && *end != '>' && (*end != '/' || *(end + 1) != '>')) {
-      end = swfdec_edit_text_movie_html_parse_attribute (tag, end);
+      end = swfdec_text_field_movie_html_parse_attribute (tag, end);
       if (end == NULL)
 	break;
       end = end + strspn (end, " \r\n\t");
@@ -300,7 +300,7 @@ swfdec_edit_text_movie_html_parse_tag (P
 }
 
 static const char *
-swfdec_edit_text_movie_html_parse_text (ParserData *data, const char *p,
+swfdec_text_field_movie_html_parse_text (ParserData *data, const char *p,
     gboolean condense_white)
 {
   const char *end;
@@ -338,12 +338,12 @@ swfdec_edit_text_movie_html_parse_text (
 }
 
 void
-swfdec_edit_text_movie_html_parse (SwfdecEditTextMovie *text, const char *str)
+swfdec_text_field_movie_html_parse (SwfdecTextFieldMovie *text, const char *str)
 {
   ParserData data;
   const char *p;
 
-  g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+  g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
   g_return_if_fail (str != NULL);
 
   data.cx = SWFDEC_AS_OBJECT (text)->context;
@@ -355,12 +355,12 @@ swfdec_edit_text_movie_html_parse (Swfde
   while (p != NULL && *p != '\0') {
     if (*p == '<') {
       if (strncmp (p + 1, "!--", strlen ("!--")) == 0) {
-	p = swfdec_edit_text_movie_html_parse_comment (&data, p);
+	p = swfdec_text_field_movie_html_parse_comment (&data, p);
       } else {
-	p = swfdec_edit_text_movie_html_parse_tag (&data, p);
+	p = swfdec_text_field_movie_html_parse_tag (&data, p);
       }
     } else {
-      p = swfdec_edit_text_movie_html_parse_text (&data, p,
+      p = swfdec_text_field_movie_html_parse_text (&data, p,
 	  text->condense_white);
     }
   }
@@ -391,7 +391,7 @@ swfdec_edit_text_movie_html_parse (Swfde
     ParserTag *tag = (ParserTag *)data.tags_closed->data;
 
     if (tag->index != tag->end_index) {
-      swfdec_edit_text_movie_set_text_format (text, tag->format, tag->index,
+      swfdec_text_field_movie_set_text_format (text, tag->format, tag->index,
 	  tag->end_index);
     }
 
diff --git a/test/dump.c b/test/dump.c
index e0c3c63..adf0cb1 100644
--- a/test/dump.c
+++ b/test/dump.c
@@ -223,7 +223,7 @@ dump_shape (SwfdecShape *shape)
 }
 
 static void
-dump_edit_text (SwfdecEditText *text)
+dump_text_field (SwfdecTextField *text)
 {
   g_print ("  %s\n", text->text_input ? text->text_input : "");
   if (verbose) {
@@ -353,8 +353,8 @@ dump_object (gpointer value, gpointer de
   if (SWFDEC_IS_TEXT (c)) {
     dump_text (SWFDEC_TEXT (c));
   }
-  if (SWFDEC_IS_EDIT_TEXT (c)) {
-    dump_edit_text (SWFDEC_EDIT_TEXT (c));
+  if (SWFDEC_IS_TEXT_FIELD (c)) {
+    dump_text_field (SWFDEC_TEXT_FIELD (c));
   }
   if (SWFDEC_IS_FONT (c)) {
     dump_font (SWFDEC_FONT (c));
diff-tree ef5288e48b9b4cd61e44429dbf5db01598e9d066 (from parents)
Merge: ca558329498eba55d3b8b9f97d9714a1d33636a9 0dda3049b019a5a04045f6bdc36e80cd407b5f19
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Thu Oct 11 11:13:15 2007 +0300

    Merge branch 'master' into textfield

diff-tree ca558329498eba55d3b8b9f97d9714a1d33636a9 (from 35f353b7f4ae6c7a69aa307832eb6ef164468207)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Thu Oct 11 10:51:51 2007 +0300

    Add my name to bunch of edittext files' copyright headers

diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index 7950cfc..8ad6de7 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -1,5 +1,6 @@
 /* Swfdec
  * Copyright (C) 2006-2007 Benjamin Otte <otte at gnome.org>
+ *                    Pekka Lampila <pekka.lampila at iki.fi>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index 1d8f7e5..f7c6e22 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -1,5 +1,6 @@
 /* Swfdec
  * Copyright (C) 2006-2007 Benjamin Otte <otte at gnome.org>
+ *                    Pekka Lampila <pekka.lampila at iki.fi>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 48f981e..4f68687 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -1,5 +1,6 @@
 /* Swfdec
  * Copyright (C) 2006 Benjamin Otte <otte at gnome.org>
+ *                    Pekka Lampila <pekka.lampila at iki.fi>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
diff --git a/libswfdec/swfdec_edittext_movie.h b/libswfdec/swfdec_edittext_movie.h
index 9f0b6a9..103942b 100644
--- a/libswfdec/swfdec_edittext_movie.h
+++ b/libswfdec/swfdec_edittext_movie.h
@@ -1,5 +1,6 @@
 /* Swfdec
  * Copyright (C) 2006 Benjamin Otte <otte at gnome.org>
+ *                    Pekka Lampila <pekka.lampila at iki.fi>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 6fdafeb..bb58e9b 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -1,5 +1,6 @@
 /* Swfdec
  * Copyright (C) 2007 Benjamin Otte <otte at gnome.org>
+ *                    Pekka Lampila <pekka.lampila at iki.fi>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
diff-tree 35f353b7f4ae6c7a69aa307832eb6ef164468207 (from 4046fdb9a8b482579848e9ce282667fe89025298)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Thu Oct 11 10:42:36 2007 +0300

    Add copyright header to swfdec_html_parser.c and remove an extra include

diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 3bfb688..60fb4e4 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -1,3 +1,22 @@
+/* Swfdec
+ * Copyright (C) 2007 Pekka Lampila <pekka.lampila at iki.fi>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library 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
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, 
+ * Boston, MA  02110-1301  USA
+ */
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -7,7 +26,6 @@
 
 #include "swfdec_edittext_movie.h"
 #include "swfdec_as_strings.h"
-#include "swfdec_font.h"
 #include "swfdec_debug.h"
 
 typedef struct {
diff-tree 4046fdb9a8b482579848e9ce282667fe89025298 (from 06751dc79e85534b6d8dd5f9316e149bf63ca203)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Thu Oct 11 10:33:42 2007 +0300

    Mark garbage collected variables in EditTextMovie

diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 8e4c2f0..48f981e 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -373,7 +373,7 @@ static void
 swfdec_edit_text_movie_dispose (GObject *object)
 {
   SwfdecEditTextMovie *text;
-  GList *iter;
+  GSList *iter;
 
   text = SWFDEC_EDIT_TEXT_MOVIE (object);
 
@@ -389,6 +389,29 @@ swfdec_edit_text_movie_dispose (GObject 
 }
 
 static void
+swfdec_edit_text_movie_mark (SwfdecAsObject *object)
+{
+  SwfdecEditTextMovie *text;
+  GSList *iter;
+
+  text = SWFDEC_EDIT_TEXT_MOVIE (object);
+
+  swfdec_as_string_mark (text->text_input);
+  swfdec_as_string_mark (text->text_display);
+  swfdec_as_string_mark (text->variable);
+  swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->format_new));
+  for (iter = text->formats; iter != NULL; iter = iter->next) {
+    swfdec_as_object_mark (
+	SWFDEC_AS_OBJECT (((SwfdecFormatIndex *)(iter->data))->format));
+  }
+  swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->format_new));
+  if (text->style_sheet != NULL)
+    swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->style_sheet));
+
+  SWFDEC_AS_OBJECT_CLASS (swfdec_edit_text_movie_parent_class)->mark (object);
+}
+
+static void
 swfdec_edit_text_movie_iterate (SwfdecMovie *movie)
 {
   SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (movie);
@@ -470,10 +493,13 @@ static void
 swfdec_edit_text_movie_class_init (SwfdecEditTextMovieClass * g_class)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (g_class);
+  SwfdecAsObjectClass *asobject_class = SWFDEC_AS_OBJECT_CLASS (g_class);
   SwfdecMovieClass *movie_class = SWFDEC_MOVIE_CLASS (g_class);
 
   object_class->dispose = swfdec_edit_text_movie_dispose;
 
+  asobject_class->mark = swfdec_edit_text_movie_mark;
+
   movie_class->init_movie = swfdec_edit_text_movie_init_movie;
   movie_class->update_extents = swfdec_edit_text_movie_update_extents;
   movie_class->render = swfdec_edit_text_movie_render;
diff-tree 06751dc79e85534b6d8dd5f9316e149bf63ca203 (from 17d7b4d7dd4685ec24d441ff07d31a22299916e3)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Thu Oct 11 10:24:14 2007 +0300

    Free memory in SwfdecEdittextMovie

diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 6276167..8e4c2f0 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -339,13 +339,22 @@ swfdec_edit_text_movie_render (SwfdecMov
 static void
 swfdec_edit_text_movie_free_paragraphs (SwfdecEditTextMovie *text)
 {
+  GList *iter;
   int i;
 
   if (text->paragraphs) {
-    for (i = 0; text->paragraphs[i].text != NULL; i++) {
-      // FIXME
-      /*if (text->paragraphs[i].tab_stops != NULL)
-	pango_tab_array_free (text->paragraphs[i].tab_stops);*/
+    for (i = 0; text->paragraphs[i].text != NULL; i++)
+    {
+      for (iter = text->paragraphs[i].blocks; iter != NULL; iter = iter->next) {
+	pango_tab_array_free (((SwfdecBlock *)(iter->data))->tab_stops);
+      }
+      g_list_free (text->paragraphs[i].blocks);
+
+      for (iter = text->paragraphs[i].attrs; iter != NULL; iter = iter->next) {
+	pango_attribute_destroy ((PangoAttribute *)(iter->data));
+      }
+      g_list_free (text->paragraphs[i].attrs);
+
       if (text->paragraphs[i].attrs_list != NULL)
 	pango_attr_list_unref (text->paragraphs[i].attrs_list);
     }
@@ -363,10 +372,19 @@ swfdec_edit_text_movie_format_changed (S
 static void
 swfdec_edit_text_movie_dispose (GObject *object)
 {
-  SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (object);
+  SwfdecEditTextMovie *text;
+  GList *iter;
+
+  text = SWFDEC_EDIT_TEXT_MOVIE (object);
 
   swfdec_edit_text_movie_free_paragraphs (text);
 
+  for (iter = text->formats; iter != NULL; iter = iter->next) {
+    g_free (text->formats->data);
+    text->formats->data = NULL;
+  }
+  g_slist_free (text->formats);
+
   G_OBJECT_CLASS (swfdec_edit_text_movie_parent_class)->dispose (object);
 }
 
diff-tree 17d7b4d7dd4685ec24d441ff07d31a22299916e3 (from parents)
Merge: 5bd4a248279cf4d905d39d66b985477939ad7859 d5d06f45e7c5a64725dd1c6fe061ff1e0fd15110
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Thu Oct 11 09:58:25 2007 +0300

    Merge branch 'master' into textfield
    
    Conflicts:
    
    	libswfdec/swfdec_initialize.h

diff --cc libswfdec/swfdec_initialize.h
index 7970384,6420e24..0921de8
@@@ -74,473 -74,454 +74,473 @@@
    0x6E, 0x64, 0x53, 0x74,  0x6F, 0x70, 0x00, 0x64,  0x75, 0x70, 0x6C, 0x69,  0x63, 0x61, 0x74, 0x65,
    0x4D, 0x6F, 0x76, 0x69,  0x65, 0x43, 0x6C, 0x69,  0x70, 0x00, 0x72, 0x65,  0x6D, 0x6F, 0x76, 0x65,
    0x4D, 0x6F, 0x76, 0x69,  0x65, 0x43, 0x6C, 0x69,  0x70, 0x00, 0x73, 0x74,  0x61, 0x72, 0x74, 0x44,
 -  0x72, 0x61, 0x67, 0x00,  0x73, 0x74, 0x6F, 0x70,  0x44, 0x72, 0x61, 0x67,  0x00, 0x36, 0x63, 0x72,
 -  0x65, 0x61, 0x74, 0x65,  0x45, 0x6D, 0x70, 0x74,  0x79, 0x4D, 0x6F, 0x76,  0x69, 0x65, 0x43, 0x6C,
 -  0x69, 0x70, 0x2C, 0x36,  0x62, 0x65, 0x67, 0x69,  0x6E, 0x46, 0x69, 0x6C,  0x6C, 0x2C, 0x36, 0x62,
 -  0x65, 0x67, 0x69, 0x6E,  0x47, 0x72, 0x61, 0x64,  0x69, 0x65, 0x6E, 0x74,  0x46, 0x69, 0x6C, 0x6C,
 -  0x2C, 0x36, 0x6D, 0x6F,  0x76, 0x65, 0x54, 0x6F,  0x2C, 0x36, 0x6C, 0x69,  0x6E, 0x65, 0x54, 0x6F,
 -  0x2C, 0x36, 0x63, 0x75,  0x72, 0x76, 0x65, 0x54,  0x6F, 0x2C, 0x36, 0x6C,  0x69, 0x6E, 0x65, 0x53,
 -  0x74, 0x79, 0x6C, 0x65,  0x2C, 0x36, 0x65, 0x6E,  0x64, 0x46, 0x69, 0x6C,  0x6C, 0x2C, 0x36, 0x63,
 -  0x6C, 0x65, 0x61, 0x72,  0x00, 0x54, 0x65, 0x78,  0x74, 0x46, 0x69, 0x65,  0x6C, 0x64, 0x00, 0x54,
 -  0x65, 0x78, 0x74, 0x46,  0x6F, 0x72, 0x6D, 0x61,  0x74, 0x00, 0x53, 0x74,  0x79, 0x6C, 0x65, 0x53,
 -  0x68, 0x65, 0x65, 0x74,  0x00, 0x5F, 0x63, 0x6F,  0x70, 0x79, 0x00, 0x6F,  0x62, 0x6A, 0x65, 0x63,
 -  0x74, 0x00, 0x6F, 0x5F,  0x6E, 0x65, 0x77, 0x00,  0x70, 0x72, 0x6F, 0x70,  0x00, 0x63, 0x6C, 0x65,
 -  0x61, 0x72, 0x00, 0x5F,  0x63, 0x73, 0x73, 0x00,  0x5F, 0x73, 0x74, 0x79,  0x6C, 0x65, 0x73, 0x00,
 -  0x67, 0x65, 0x74, 0x53,  0x74, 0x79, 0x6C, 0x65,  0x00, 0x6E, 0x61, 0x6D,  0x65, 0x00, 0x73, 0x65,
 -  0x74, 0x53, 0x74, 0x79,  0x6C, 0x65, 0x00, 0x73,  0x74, 0x79, 0x6C, 0x65,  0x00, 0x64, 0x6F, 0x54,
 -  0x72, 0x61, 0x6E, 0x73,  0x66, 0x6F, 0x72, 0x6D,  0x00, 0x67, 0x65, 0x74,  0x53, 0x74, 0x79, 0x6C,
 -  0x65, 0x4E, 0x61, 0x6D,  0x65, 0x73, 0x00, 0x74,  0x6D, 0x70, 0x00, 0x6E,  0x61, 0x6D, 0x65, 0x73,
 -  0x00, 0x74, 0x72, 0x61,  0x6E, 0x73, 0x66, 0x6F,  0x72, 0x6D, 0x00, 0x66,  0x6F, 0x72, 0x6D, 0x61,
 -  0x74, 0x00, 0x74, 0x65,  0x78, 0x74, 0x41, 0x6C,  0x69, 0x67, 0x6E, 0x00,  0x61, 0x6C, 0x69, 0x67,
 -  0x6E, 0x00, 0x66, 0x6F,  0x6E, 0x74, 0x57, 0x65,  0x69, 0x67, 0x68, 0x74,  0x00, 0x62, 0x6F, 0x6C,
 -  0x64, 0x00, 0x6E, 0x6F,  0x72, 0x6D, 0x61, 0x6C,  0x00, 0x63, 0x6F, 0x6C,  0x6F, 0x72, 0x00, 0x70,
 -  0x61, 0x72, 0x73, 0x65,  0x43, 0x6F, 0x6C, 0x6F,  0x72, 0x00, 0x64, 0x69,  0x73, 0x70, 0x6C, 0x61,
 -  0x79, 0x00, 0x66, 0x6F,  0x6E, 0x74, 0x46, 0x61,  0x6D, 0x69, 0x6C, 0x79,  0x00, 0x66, 0x6F, 0x6E,
 -  0x74, 0x00, 0x70, 0x61,  0x72, 0x73, 0x65, 0x43,  0x53, 0x53, 0x46, 0x6F,  0x6E, 0x74, 0x46, 0x61,
 -  0x6D, 0x69, 0x6C, 0x79,  0x00, 0x74, 0x65, 0x78,  0x74, 0x49, 0x6E, 0x64,  0x65, 0x6E, 0x74, 0x00,
 -  0x69, 0x6E, 0x64, 0x65,  0x6E, 0x74, 0x00, 0x70,  0x61, 0x72, 0x73, 0x65,  0x49, 0x6E, 0x74, 0x00,
 -  0x66, 0x6F, 0x6E, 0x74,  0x53, 0x74, 0x79, 0x6C,  0x65, 0x00, 0x69, 0x74,  0x61, 0x6C, 0x69, 0x63,
 -  0x00, 0x6B, 0x65, 0x72,  0x6E, 0x69, 0x6E, 0x67,  0x00, 0x74, 0x72, 0x75,  0x65, 0x00, 0x66, 0x61,
 -  0x6C, 0x73, 0x65, 0x00,  0x6C, 0x65, 0x61, 0x64,  0x69, 0x6E, 0x67, 0x00,  0x6D, 0x61, 0x72, 0x67,
 -  0x69, 0x6E, 0x4C, 0x65,  0x66, 0x74, 0x00, 0x6C,  0x65, 0x66, 0x74, 0x4D,  0x61, 0x72, 0x67, 0x69,
 -  0x6E, 0x00, 0x6C, 0x65,  0x74, 0x74, 0x65, 0x72,  0x53, 0x70, 0x61, 0x63,  0x69, 0x6E, 0x67, 0x00,
 -  0x6D, 0x61, 0x72, 0x67,  0x69, 0x6E, 0x52, 0x69,  0x67, 0x68, 0x74, 0x00,  0x72, 0x69, 0x67, 0x68,
 -  0x74, 0x4D, 0x61, 0x72,  0x67, 0x69, 0x6E, 0x00,  0x66, 0x6F, 0x6E, 0x74,  0x53, 0x69, 0x7A, 0x65,
 -  0x00, 0x73, 0x69, 0x7A,  0x65, 0x00, 0x74, 0x65,  0x78, 0x74, 0x44, 0x65,  0x63, 0x6F, 0x72, 0x61,
 -  0x74, 0x69, 0x6F, 0x6E,  0x00, 0x75, 0x6E, 0x64,  0x65, 0x72, 0x6C, 0x69,  0x6E, 0x65, 0x00, 0x6E,
 -  0x6F, 0x6E, 0x65, 0x00,  0x70, 0x61, 0x72, 0x73,  0x65, 0x43, 0x53, 0x53,  0x00, 0x63, 0x73, 0x73,
 -  0x00, 0x70, 0x61, 0x72,  0x73, 0x65, 0x43, 0x53,  0x53, 0x49, 0x6E, 0x74,  0x65, 0x72, 0x6E, 0x61,
 -  0x6C, 0x00, 0x72, 0x65,  0x73, 0x75, 0x6C, 0x74,  0x00, 0x6E, 0x75, 0x6C,  0x6C, 0x00, 0x70, 0x61,
 -  0x72, 0x73, 0x65, 0x00,  0x73, 0x65, 0x74, 0x49,  0x6E, 0x74, 0x65, 0x72,  0x76, 0x61, 0x6C, 0x00,
 -  0x63, 0x6C, 0x65, 0x61,  0x72, 0x49, 0x6E, 0x74,  0x65, 0x72, 0x76, 0x61,  0x6C, 0x00, 0x73, 0x65,
 -  0x74, 0x54, 0x69, 0x6D,  0x65, 0x6F, 0x75, 0x74,  0x00, 0x63, 0x6C, 0x65,  0x61, 0x72, 0x54, 0x69,
 -  0x6D, 0x65, 0x6F, 0x75,  0x74, 0x00, 0x9B, 0x12,  0x00, 0x41, 0x73, 0x42,  0x72, 0x6F, 0x61, 0x64,
 -  0x63, 0x61, 0x73, 0x74,  0x65, 0x72, 0x00, 0x00,  0x00, 0x00, 0x00, 0x9B,  0x0D, 0x00, 0x4C, 0x6F,
 -  0x61, 0x64, 0x56, 0x61,  0x72, 0x73, 0x00, 0x00,  0x00, 0x00, 0x00, 0x96,  0x13, 0x00, 0x08, 0x00,
 -  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x04, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
 -  0x01, 0x3D, 0x1D, 0x96,  0x13, 0x00, 0x08, 0x02,  0x07, 0x01, 0x00, 0x00,  0x00, 0x07, 0x04, 0x00,
 -  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x03,
 -  0x1C, 0x96, 0x13, 0x00,  0x08, 0x04, 0x07, 0x08,  0x00, 0x00, 0x00, 0x07,  0x65, 0x00, 0x00, 0x00,
 -  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x08, 0x00,  0x07, 0x07, 0x00, 0x00,
 -  0x00, 0x02, 0x08, 0x03,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,
 -  0x17, 0x96, 0x02, 0x00,  0x08, 0x06, 0x1C, 0x96,  0x13, 0x00, 0x08, 0x07,  0x07, 0x0C, 0x00, 0x00,
 -  0x00, 0x07, 0x65, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
 -  0x02, 0x00, 0x08, 0x06,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x08, 0x9B, 0x07,  0x00, 0x00, 0x01, 0x00,
 -  0x78, 0x00, 0x3C, 0x00,  0x96, 0x02, 0x00, 0x08,  0x0A, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
 -  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x0B, 0x52, 0x17,  0x96, 0x02, 0x00, 0x08,
 -  0x0A, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x0C, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x0D,  0x52, 0x17, 0x96, 0x02,  0x00, 0x05, 0x01, 0x3E,
 -  0x4F, 0x96, 0x02, 0x00,  0x08, 0x06, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x0B,  0x9B, 0x07, 0x00, 0x00,
 -  0x01, 0x00, 0x78, 0x00,  0x8F, 0x00, 0x96, 0x04,  0x00, 0x08, 0x0E, 0x08,  0x09, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x0C, 0x4E,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x0F, 0x41, 0x96,  0x07, 0x00, 0x08, 0x0F,
 -  0x07, 0x00, 0x00, 0x00,  0x00, 0x3C, 0x99, 0x02,  0x00, 0x09, 0x00, 0x96,  0x02, 0x00, 0x08, 0x0F,
 -  0x4C, 0x1C, 0x50, 0x1D,  0x96, 0x02, 0x00, 0x08,  0x0F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0E, 0x1C,
 -  0x96, 0x02, 0x00, 0x08,  0x10, 0x4E, 0x48, 0x12,  0x9D, 0x02, 0x00, 0x42,  0x00, 0x96, 0x02, 0x00,
 -  0x08, 0x0E, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x0F,  0x1C, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x0A, 0x1C,
 -  0x49, 0x12, 0x9D, 0x02,  0x00, 0x23, 0x00, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
 -  0x0F, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x0E,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x11, 0x52, 0x17,  0x96, 0x02, 0x00, 0x05,  0x01, 0x3E, 0x99, 0x02,  0x00, 0x9C, 0xFF, 0x96,
 -  0x02, 0x00, 0x05, 0x00,  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x06, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x12, 0x9B, 0x07, 0x00,  0x00, 0x01, 0x00, 0x6F,  0x00, 0x73, 0x00, 0x96,  0x02, 0x00, 0x08, 0x13,
 -  0x1C, 0x96, 0x13, 0x00,  0x08, 0x07, 0x07, 0x0C,  0x00, 0x00, 0x00, 0x07,  0x65, 0x00, 0x00, 0x00,
 -  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x13, 0x1C, 0x96,
 -  0x04, 0x00, 0x08, 0x08,  0x08, 0x06, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x08,  0x4E, 0x4F, 0x96, 0x02,
 -  0x00, 0x08, 0x13, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x0B, 0x08, 0x06, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x0B, 0x4E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x13,  0x1C, 0x96, 0x07, 0x00,  0x08, 0x0C, 0x07, 0x00,
 -  0x00, 0x00, 0x00, 0x42,  0x4F, 0x96, 0x09, 0x00,  0x07, 0x83, 0x00, 0x00,  0x00, 0x08, 0x14, 0x08,
 -  0x13, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x4F, 0x96,
 -  0x08, 0x00, 0x07, 0x83,  0x00, 0x00, 0x00, 0x02,  0x08, 0x06, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,
 -  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,  0x8C, 0x00, 0x08, 0x15,  0x08, 0x16, 0x07, 0x12,
 -  0x00, 0x00, 0x00, 0x08,  0x17, 0x07, 0x08, 0x00,  0x00, 0x00, 0x08, 0x18,  0x07, 0x14, 0x00, 0x00,
 -  0x00, 0x08, 0x19, 0x07,  0x11, 0x00, 0x00, 0x00,  0x08, 0x1A, 0x07, 0x2E,  0x00, 0x00, 0x00, 0x08,
 -  0x1B, 0x07, 0x28, 0x00,  0x00, 0x00, 0x08, 0x1C,  0x07, 0x23, 0x00, 0x00,  0x00, 0x08, 0x1D, 0x07,
 -  0x0D, 0x00, 0x00, 0x00,  0x08, 0x1E, 0x07, 0x1B,  0x00, 0x00, 0x00, 0x08,  0x1F, 0x07, 0x24, 0x00,
 -  0x00, 0x00, 0x08, 0x20,  0x07, 0x2D, 0x00, 0x00,  0x00, 0x08, 0x21, 0x07,  0x25, 0x00, 0x00, 0x00,
 -  0x08, 0x22, 0x07, 0x22,  0x00, 0x00, 0x00, 0x08,  0x23, 0x07, 0x21, 0x00,  0x00, 0x00, 0x08, 0x24,
 -  0x07, 0x27, 0x00, 0x00,  0x00, 0x08, 0x25, 0x07,  0x10, 0x00, 0x00, 0x00,  0x08, 0x26, 0x07, 0x20,
 -  0x00, 0x00, 0x00, 0x08,  0x27, 0x07, 0x09, 0x00,  0x00, 0x00, 0x08, 0x28,  0x07, 0x26, 0x00, 0x00,
 -  0x00, 0x07, 0x13, 0x00,  0x00, 0x00, 0x43, 0x1D,  0x96, 0x09, 0x00, 0x08,  0x29, 0x07, 0x20, 0x03,
 -  0x00, 0x00, 0x08, 0x15,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x00, 0x3D,
 -  0x17, 0x96, 0x02, 0x00,  0x08, 0x15, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
 -  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x12, 0x52,  0x17, 0x96, 0x08, 0x00,  0x07, 0x07, 0x00, 0x00,
 -  0x00, 0x02, 0x08, 0x15,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,
 -  0x17, 0x96, 0x07, 0x00,  0x08, 0x2A, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,  0x1D, 0x96, 0x02, 0x00,
 -  0x08, 0x2A, 0x1C, 0x96,  0x13, 0x00, 0x08, 0x2B,  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x05, 0x00,
 -  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2A,
 -  0x1C, 0x96, 0x13, 0x00,  0x08, 0x2C, 0x07, 0x01,  0x00, 0x00, 0x00, 0x07,  0x05, 0x00, 0x00, 0x00,
 -  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2A, 0x1C, 0x96,
 -  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x12, 0x52,
 -  0x17, 0x96, 0x08, 0x00,  0x07, 0x07, 0x00, 0x00,  0x00, 0x02, 0x08, 0x2A,  0x1C, 0x96, 0x07, 0x00,
 -  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x07, 0x00,  0x08, 0x2D, 0x07, 0x00,
 -  0x00, 0x00, 0x00, 0x43,  0x1D, 0x96, 0x02, 0x00,  0x08, 0x2D, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,
 -  0x00, 0x00, 0x00, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x12, 0x52,  0x17, 0x96, 0x0E, 0x00,
 -  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x2E, 0x07,  0x9A, 0x02, 0x00, 0x00,  0x08, 0x2D, 0x1C, 0x96,
 -  0x07, 0x00, 0x07, 0x04,  0x00, 0x00, 0x00, 0x08,  0x02, 0x3D, 0x17, 0x96,  0x02, 0x00, 0x08, 0x2F,
 -  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x04, 0x00, 0x08, 0x31,  0x08, 0x32, 0x4F, 0x96,
 -  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x33,
 -  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x2D, 0x01,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
 -  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
 -  0x13, 0x00, 0x08, 0x34,  0x07, 0x03, 0x00, 0x00,  0x00, 0x07, 0x2D, 0x01,  0x00, 0x00, 0x07, 0x02,
 -  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x35,  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,
 -  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,
 -  0x08, 0x36, 0x9B, 0x09,  0x00, 0x00, 0x01, 0x00,  0x73, 0x72, 0x63, 0x00,  0x64, 0x00, 0x96, 0x02,
 -  0x00, 0x08, 0x09, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x37, 0x05, 0x01, 0x4F,  0x96, 0x02, 0x00, 0x08,
 -  0x38, 0x1C, 0x96, 0x01,  0x00, 0x02, 0x49, 0x12,  0x9D, 0x02, 0x00, 0x19,  0x00, 0x96, 0x09, 0x00,
 -  0x05, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x35, 0x52,
 -  0x17, 0x99, 0x02, 0x00,  0x2C, 0x00, 0x96, 0x02,  0x00, 0x08, 0x38, 0x1C,  0x96, 0x07, 0x00, 0x07,
 -  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x34,  0x52, 0x17, 0x96, 0x09,
 -  0x00, 0x05, 0x01, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x35,
 -  0x52, 0x17, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
 -  0x02, 0x00, 0x08, 0x39,  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0xB3, 0x00,  0x96, 0x03, 0x00, 0x08,
 -  0x3A, 0x02, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x09,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,
 -  0x02, 0x49, 0x9D, 0x02,  0x00, 0x91, 0x00, 0x96,  0x04, 0x00, 0x08, 0x0A,  0x04, 0x00, 0x3C, 0x96,
 -  0x02, 0x00, 0x08, 0x3A,  0x1C, 0x96, 0x01, 0x00,  0x02, 0x49, 0x9D, 0x02,  0x00, 0x41, 0x00, 0x96,
 -  0x02, 0x00, 0x08, 0x3A,  0x4C, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x3D, 0x08,  0x0A, 0x1C, 0x96, 0x07,
 -  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x3B,  0x3D, 0x47, 0x96, 0x02,  0x00, 0x08, 0x3C, 0x47,
 -  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0A, 0x1C,  0x4E, 0x96, 0x07, 0x00,
 -  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x3B, 0x3D,  0x47, 0x47, 0x1D, 0x99,  0x02, 0x00, 0x33, 0x00,
 -  0x96, 0x04, 0x00, 0x08,  0x3A, 0x08, 0x0A, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
 -  0x08, 0x3B, 0x3D, 0x96,  0x02, 0x00, 0x08, 0x3C,  0x47, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0x0A,  0x1C, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x3B,
 -  0x3D, 0x47, 0x1D, 0x99,  0x02, 0x00, 0x61, 0xFF,  0x96, 0x02, 0x00, 0x08,  0x3A, 0x1C, 0x3E, 0x4F,
 -  0x96, 0x02, 0x00, 0x08,  0x2F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,
 -  0x3E, 0x9B, 0x05, 0x00,  0x00, 0x00, 0x00, 0x0D,  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0x3F,  0x4E, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x40,  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x0D, 0x00,
 -  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x41, 0x4E,  0x3E, 0x4F, 0x96, 0x08,
 -  0x00, 0x07, 0x83, 0x00,  0x00, 0x00, 0x02, 0x08,  0x2F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
 -  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x13, 0x00, 0x08,
 -  0x42, 0x07, 0x10, 0x00,  0x00, 0x00, 0x07, 0xF4,  0x01, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
 -  0x08, 0x43, 0x3D, 0x1D,  0x96, 0x0E, 0x00, 0x07,  0x06, 0x00, 0x00, 0x00,  0x08, 0x44, 0x07, 0xF4,
 -  0x01, 0x00, 0x00, 0x08,  0x42, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,
 -  0x04, 0x00, 0x00, 0x00,  0x08, 0x00, 0x3D, 0x17,  0x96, 0x13, 0x00, 0x08,  0x45, 0x07, 0x00, 0x00,
 -  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x1D,
 -  0x96, 0x02, 0x00, 0x08,  0x45, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
 -  0x46, 0x07, 0x01, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
 -  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x45, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
 -  0x96, 0x13, 0x00, 0x08,  0x47, 0x07, 0x02, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
 -  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x45, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x48, 0x07, 0x03, 0x00,  0x00, 0x00, 0x07, 0xFD,
 -  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
 -  0x45, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x49, 0x07, 0x04, 0x00,
 -  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
 -  0x96, 0x02, 0x00, 0x08,  0x45, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
 -  0x4A, 0x07, 0x05, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
 -  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x45, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
 -  0x96, 0x13, 0x00, 0x08,  0x39, 0x07, 0x06, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
 -  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x45, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x4B, 0x07, 0x07, 0x00,  0x00, 0x00, 0x07, 0xFD,
 +  0x72, 0x61, 0x67, 0x00,  0x73, 0x74, 0x6F, 0x70,  0x44, 0x72, 0x61, 0x67,  0x00, 0x63, 0x72, 0x65,
 +  0x61, 0x74, 0x65, 0x45,  0x6D, 0x70, 0x74, 0x79,  0x4D, 0x6F, 0x76, 0x69,  0x65, 0x43, 0x6C, 0x69,
 +  0x70, 0x00, 0x63, 0x72,  0x65, 0x61, 0x74, 0x65,  0x54, 0x65, 0x78, 0x74,  0x46, 0x69, 0x65, 0x6C,
 +  0x64, 0x00, 0x67, 0x65,  0x74, 0x44, 0x65, 0x70,  0x74, 0x68, 0x2C, 0x63,  0x72, 0x65, 0x61, 0x74,
 +  0x65, 0x45, 0x6D, 0x70,  0x74, 0x79, 0x4D, 0x6F,  0x76, 0x69, 0x65, 0x43,  0x6C, 0x69, 0x70, 0x00,
 +  0x36, 0x63, 0x72, 0x65,  0x61, 0x74, 0x65, 0x45,  0x6D, 0x70, 0x74, 0x79,  0x4D, 0x6F, 0x76, 0x69,
 +  0x65, 0x43, 0x6C, 0x69,  0x70, 0x2C, 0x36, 0x62,  0x65, 0x67, 0x69, 0x6E,  0x46, 0x69, 0x6C, 0x6C,
 +  0x2C, 0x36, 0x62, 0x65,  0x67, 0x69, 0x6E, 0x47,  0x72, 0x61, 0x64, 0x69,  0x65, 0x6E, 0x74, 0x46,
 +  0x69, 0x6C, 0x6C, 0x2C,  0x36, 0x6D, 0x6F, 0x76,  0x65, 0x54, 0x6F, 0x2C,  0x36, 0x6C, 0x69, 0x6E,
 +  0x65, 0x54, 0x6F, 0x2C,  0x36, 0x63, 0x75, 0x72,  0x76, 0x65, 0x54, 0x6F,  0x2C, 0x36, 0x6C, 0x69,
 +  0x6E, 0x65, 0x53, 0x74,  0x79, 0x6C, 0x65, 0x2C,  0x36, 0x65, 0x6E, 0x64,  0x46, 0x69, 0x6C, 0x6C,
 +  0x2C, 0x36, 0x63, 0x6C,  0x65, 0x61, 0x72, 0x00,  0x54, 0x65, 0x78, 0x74,  0x46, 0x69, 0x65, 0x6C,
 +  0x64, 0x00, 0x73, 0x65,  0x74, 0x54, 0x65, 0x78,  0x74, 0x46, 0x6F, 0x72,  0x6D, 0x61, 0x74, 0x00,
 +  0x67, 0x65, 0x74, 0x4E,  0x65, 0x77, 0x54, 0x65,  0x78, 0x74, 0x46, 0x6F,  0x72, 0x6D, 0x61, 0x74,
 +  0x00, 0x73, 0x65, 0x74,  0x4E, 0x65, 0x77, 0x54,  0x65, 0x78, 0x74, 0x46,  0x6F, 0x72, 0x6D, 0x61,
 +  0x74, 0x00, 0x54, 0x65,  0x78, 0x74, 0x46, 0x6F,  0x72, 0x6D, 0x61, 0x74,  0x00, 0x53, 0x74, 0x79,
 +  0x6C, 0x65, 0x53, 0x68,  0x65, 0x65, 0x74, 0x00,  0x5F, 0x63, 0x6F, 0x70,  0x79, 0x00, 0x6F, 0x62,
 +  0x6A, 0x65, 0x63, 0x74,  0x00, 0x6F, 0x5F, 0x6E,  0x65, 0x77, 0x00, 0x70,  0x72, 0x6F, 0x70, 0x00,
 +  0x63, 0x6C, 0x65, 0x61,  0x72, 0x00, 0x5F, 0x63,  0x73, 0x73, 0x00, 0x5F,  0x73, 0x74, 0x79, 0x6C,
 +  0x65, 0x73, 0x00, 0x67,  0x65, 0x74, 0x53, 0x74,  0x79, 0x6C, 0x65, 0x00,  0x6E, 0x61, 0x6D, 0x65,
 +  0x00, 0x73, 0x65, 0x74,  0x53, 0x74, 0x79, 0x6C,  0x65, 0x00, 0x73, 0x74,  0x79, 0x6C, 0x65, 0x00,
 +  0x64, 0x6F, 0x54, 0x72,  0x61, 0x6E, 0x73, 0x66,  0x6F, 0x72, 0x6D, 0x00,  0x67, 0x65, 0x74, 0x53,
 +  0x74, 0x79, 0x6C, 0x65,  0x4E, 0x61, 0x6D, 0x65,  0x73, 0x00, 0x74, 0x6D,  0x70, 0x00, 0x6E, 0x61,
 +  0x6D, 0x65, 0x73, 0x00,  0x74, 0x72, 0x61, 0x6E,  0x73, 0x66, 0x6F, 0x72,  0x6D, 0x00, 0x66, 0x6F,
 +  0x72, 0x6D, 0x61, 0x74,  0x00, 0x74, 0x65, 0x78,  0x74, 0x41, 0x6C, 0x69,  0x67, 0x6E, 0x00, 0x61,
 +  0x6C, 0x69, 0x67, 0x6E,  0x00, 0x66, 0x6F, 0x6E,  0x74, 0x57, 0x65, 0x69,  0x67, 0x68, 0x74, 0x00,
 +  0x62, 0x6F, 0x6C, 0x64,  0x00, 0x6E, 0x6F, 0x72,  0x6D, 0x61, 0x6C, 0x00,  0x63, 0x6F, 0x6C, 0x6F,
 +  0x72, 0x00, 0x70, 0x61,  0x72, 0x73, 0x65, 0x43,  0x6F, 0x6C, 0x6F, 0x72,  0x00, 0x64, 0x69, 0x73,
 +  0x70, 0x6C, 0x61, 0x79,  0x00, 0x66, 0x6F, 0x6E,  0x74, 0x46, 0x61, 0x6D,  0x69, 0x6C, 0x79, 0x00,
 +  0x66, 0x6F, 0x6E, 0x74,  0x00, 0x70, 0x61, 0x72,  0x73, 0x65, 0x43, 0x53,  0x53, 0x46, 0x6F, 0x6E,
 +  0x74, 0x46, 0x61, 0x6D,  0x69, 0x6C, 0x79, 0x00,  0x74, 0x65, 0x78, 0x74,  0x49, 0x6E, 0x64, 0x65,
 +  0x6E, 0x74, 0x00, 0x69,  0x6E, 0x64, 0x65, 0x6E,  0x74, 0x00, 0x70, 0x61,  0x72, 0x73, 0x65, 0x49,
 +  0x6E, 0x74, 0x00, 0x66,  0x6F, 0x6E, 0x74, 0x53,  0x74, 0x79, 0x6C, 0x65,  0x00, 0x69, 0x74, 0x61,
 +  0x6C, 0x69, 0x63, 0x00,  0x6B, 0x65, 0x72, 0x6E,  0x69, 0x6E, 0x67, 0x00,  0x74, 0x72, 0x75, 0x65,
 +  0x00, 0x66, 0x61, 0x6C,  0x73, 0x65, 0x00, 0x6C,  0x65, 0x61, 0x64, 0x69,  0x6E, 0x67, 0x00, 0x6D,
 +  0x61, 0x72, 0x67, 0x69,  0x6E, 0x4C, 0x65, 0x66,  0x74, 0x00, 0x6C, 0x65,  0x66, 0x74, 0x4D, 0x61,
 +  0x72, 0x67, 0x69, 0x6E,  0x00, 0x6C, 0x65, 0x74,  0x74, 0x65, 0x72, 0x53,  0x70, 0x61, 0x63, 0x69,
 +  0x6E, 0x67, 0x00, 0x6D,  0x61, 0x72, 0x67, 0x69,  0x6E, 0x52, 0x69, 0x67,  0x68, 0x74, 0x00, 0x72,
 +  0x69, 0x67, 0x68, 0x74,  0x4D, 0x61, 0x72, 0x67,  0x69, 0x6E, 0x00, 0x66,  0x6F, 0x6E, 0x74, 0x53,
 +  0x69, 0x7A, 0x65, 0x00,  0x73, 0x69, 0x7A, 0x65,  0x00, 0x74, 0x65, 0x78,  0x74, 0x44, 0x65, 0x63,
 +  0x6F, 0x72, 0x61, 0x74,  0x69, 0x6F, 0x6E, 0x00,  0x75, 0x6E, 0x64, 0x65,  0x72, 0x6C, 0x69, 0x6E,
 +  0x65, 0x00, 0x6E, 0x6F,  0x6E, 0x65, 0x00, 0x70,  0x61, 0x72, 0x73, 0x65,  0x43, 0x53, 0x53, 0x00,
 +  0x63, 0x73, 0x73, 0x00,  0x70, 0x61, 0x72, 0x73,  0x65, 0x43, 0x53, 0x53,  0x49, 0x6E, 0x74, 0x65,
 +  0x72, 0x6E, 0x61, 0x6C,  0x00, 0x72, 0x65, 0x73,  0x75, 0x6C, 0x74, 0x00,  0x6E, 0x75, 0x6C, 0x6C,
 +  0x00, 0x70, 0x61, 0x72,  0x73, 0x65, 0x00, 0x73,  0x65, 0x74, 0x49, 0x6E,  0x74, 0x65, 0x72, 0x76,
 +  0x61, 0x6C, 0x00, 0x63,  0x6C, 0x65, 0x61, 0x72,  0x49, 0x6E, 0x74, 0x65,  0x72, 0x76, 0x61, 0x6C,
 +  0x00, 0x73, 0x65, 0x74,  0x54, 0x69, 0x6D, 0x65,  0x6F, 0x75, 0x74, 0x00,  0x63, 0x6C, 0x65, 0x61,
 +  0x72, 0x54, 0x69, 0x6D,  0x65, 0x6F, 0x75, 0x74,  0x00, 0x9B, 0x12, 0x00,  0x41, 0x73, 0x42, 0x72,
 +  0x6F, 0x61, 0x64, 0x63,  0x61, 0x73, 0x74, 0x65,  0x72, 0x00, 0x00, 0x00,  0x00, 0x00, 0x9B, 0x0D,
 +  0x00, 0x4C, 0x6F, 0x61,  0x64, 0x56, 0x61, 0x72,  0x73, 0x00, 0x00, 0x00,  0x00, 0x00, 0x96, 0x13,
 +  0x00, 0x08, 0x00, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0x04, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
 +  0x00, 0x00, 0x08, 0x01,  0x3D, 0x1D, 0x96, 0x13,  0x00, 0x08, 0x02, 0x07,  0x01, 0x00, 0x00, 0x00,
 +  0x07, 0x04, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x1D, 0x96, 0x02,
 +  0x00, 0x08, 0x03, 0x1C,  0x96, 0x13, 0x00, 0x08,  0x04, 0x07, 0x08, 0x00,  0x00, 0x00, 0x07, 0x65,
 +  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x08, 0x00, 0x07,
 +  0x07, 0x00, 0x00, 0x00,  0x02, 0x08, 0x03, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,
 +  0x08, 0x05, 0x3D, 0x17,  0x96, 0x02, 0x00, 0x08,  0x06, 0x1C, 0x96, 0x13,  0x00, 0x08, 0x07, 0x07,
 +  0x0C, 0x00, 0x00, 0x00,  0x07, 0x65, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
 +  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x06, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x08, 0x9B, 0x07, 0x00,
 +  0x00, 0x01, 0x00, 0x78,  0x00, 0x3C, 0x00, 0x96,  0x02, 0x00, 0x08, 0x0A,  0x1C, 0x96, 0x07, 0x00,
 +  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x0B, 0x52, 0x17, 0x96,
 +  0x02, 0x00, 0x08, 0x0A,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
 +  0x96, 0x02, 0x00, 0x08,  0x0C, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x0D, 0x52,  0x17, 0x96, 0x02, 0x00,
 +  0x05, 0x01, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0B, 0x9B,
 +  0x07, 0x00, 0x00, 0x01,  0x00, 0x78, 0x00, 0x8F,  0x00, 0x96, 0x04, 0x00,  0x08, 0x0E, 0x08, 0x09,
 +  0x1C, 0x96, 0x02, 0x00,  0x08, 0x0C, 0x4E, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x0F, 0x41, 0x96, 0x07,
 +  0x00, 0x08, 0x0F, 0x07,  0x00, 0x00, 0x00, 0x00,  0x3C, 0x99, 0x02, 0x00,  0x09, 0x00, 0x96, 0x02,
 +  0x00, 0x08, 0x0F, 0x4C,  0x1C, 0x50, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x0F,  0x1C, 0x96, 0x02, 0x00,
 +  0x08, 0x0E, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x10,  0x4E, 0x48, 0x12, 0x9D,  0x02, 0x00, 0x42, 0x00,
 +  0x96, 0x02, 0x00, 0x08,  0x0E, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0F, 0x1C,  0x4E, 0x96, 0x02, 0x00,
 +  0x08, 0x0A, 0x1C, 0x49,  0x12, 0x9D, 0x02, 0x00,  0x23, 0x00, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
 +  0x00, 0x00, 0x08, 0x0F,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x0E, 0x1C,
 +  0x96, 0x02, 0x00, 0x08,  0x11, 0x52, 0x17, 0x96,  0x02, 0x00, 0x05, 0x01,  0x3E, 0x99, 0x02, 0x00,
 +  0x9C, 0xFF, 0x96, 0x02,  0x00, 0x05, 0x00, 0x3E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x06, 0x1C, 0x96,
 +  0x02, 0x00, 0x08, 0x12,  0x9B, 0x07, 0x00, 0x00,  0x01, 0x00, 0x6F, 0x00,  0x73, 0x00, 0x96, 0x02,
 +  0x00, 0x08, 0x13, 0x1C,  0x96, 0x13, 0x00, 0x08,  0x07, 0x07, 0x0C, 0x00,  0x00, 0x00, 0x07, 0x65,
    0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
 -  0x45, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x4C, 0x07, 0x08, 0x00,
 -  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
 -  0x96, 0x13, 0x00, 0x08,  0x4D, 0x07, 0x09, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
 -  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x1D,  0x96, 0x02, 0x00, 0x08,  0x4D, 0x1C, 0x96, 0x10,
 -  0x00, 0x08, 0x30, 0x08,  0x4E, 0x07, 0x01, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
 -  0x45, 0x40, 0x4F, 0x96,  0x09, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x30, 0x08, 0x4D, 0x1C,
 -  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x02, 0x00, 0x08,
 -  0x4D, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x33, 0x07, 0x00, 0x00,
 -  0x00, 0x00, 0x07, 0x2D,  0x01, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
 -  0x96, 0x02, 0x00, 0x08,  0x4D, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
 -  0x4F, 0x07, 0x0A, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
 -  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x4D, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
 -  0x96, 0x13, 0x00, 0x08,  0x50, 0x07, 0x0B, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
 -  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x4D, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x51, 0x07, 0x0C, 0x00,  0x00, 0x00, 0x07, 0xFD,
 +  0x13, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x08, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x08, 0x4E,
 +  0x4F, 0x96, 0x02, 0x00,  0x08, 0x13, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x0B,  0x08, 0x06, 0x1C, 0x96,
 +  0x02, 0x00, 0x08, 0x0B,  0x4E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x13, 0x1C,  0x96, 0x07, 0x00, 0x08,
 +  0x0C, 0x07, 0x00, 0x00,  0x00, 0x00, 0x42, 0x4F,  0x96, 0x09, 0x00, 0x07,  0x83, 0x00, 0x00, 0x00,
 +  0x08, 0x14, 0x08, 0x13,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,
 +  0x17, 0x4F, 0x96, 0x08,  0x00, 0x07, 0x83, 0x00,  0x00, 0x00, 0x02, 0x08,  0x06, 0x1C, 0x96, 0x07,
 +  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x8C,  0x00, 0x08, 0x15, 0x08,
 +  0x16, 0x07, 0x12, 0x00,  0x00, 0x00, 0x08, 0x17,  0x07, 0x08, 0x00, 0x00,  0x00, 0x08, 0x18, 0x07,
 +  0x14, 0x00, 0x00, 0x00,  0x08, 0x19, 0x07, 0x11,  0x00, 0x00, 0x00, 0x08,  0x1A, 0x07, 0x2E, 0x00,
 +  0x00, 0x00, 0x08, 0x1B,  0x07, 0x28, 0x00, 0x00,  0x00, 0x08, 0x1C, 0x07,  0x23, 0x00, 0x00, 0x00,
 +  0x08, 0x1D, 0x07, 0x0D,  0x00, 0x00, 0x00, 0x08,  0x1E, 0x07, 0x1B, 0x00,  0x00, 0x00, 0x08, 0x1F,
 +  0x07, 0x24, 0x00, 0x00,  0x00, 0x08, 0x20, 0x07,  0x2D, 0x00, 0x00, 0x00,  0x08, 0x21, 0x07, 0x25,
 +  0x00, 0x00, 0x00, 0x08,  0x22, 0x07, 0x22, 0x00,  0x00, 0x00, 0x08, 0x23,  0x07, 0x21, 0x00, 0x00,
 +  0x00, 0x08, 0x24, 0x07,  0x27, 0x00, 0x00, 0x00,  0x08, 0x25, 0x07, 0x10,  0x00, 0x00, 0x00, 0x08,
 +  0x26, 0x07, 0x20, 0x00,  0x00, 0x00, 0x08, 0x27,  0x07, 0x09, 0x00, 0x00,  0x00, 0x08, 0x28, 0x07,
 +  0x26, 0x00, 0x00, 0x00,  0x07, 0x13, 0x00, 0x00,  0x00, 0x43, 0x1D, 0x96,  0x09, 0x00, 0x08, 0x29,
 +  0x07, 0x20, 0x03, 0x00,  0x00, 0x08, 0x15, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,
 +  0x08, 0x00, 0x3D, 0x17,  0x96, 0x02, 0x00, 0x08,  0x15, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
 +  0x00, 0x00, 0x08, 0x06,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x12, 0x52, 0x17,  0x96, 0x08, 0x00, 0x07,
 +  0x07, 0x00, 0x00, 0x00,  0x02, 0x08, 0x15, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,
 +  0x08, 0x05, 0x3D, 0x17,  0x96, 0x07, 0x00, 0x08,  0x2A, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x1D,
 +  0x96, 0x02, 0x00, 0x08,  0x2A, 0x1C, 0x96, 0x13,  0x00, 0x08, 0x2B, 0x07,  0x00, 0x00, 0x00, 0x00,
 +  0x07, 0x05, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
 +  0x00, 0x08, 0x2A, 0x1C,  0x96, 0x13, 0x00, 0x08,  0x2C, 0x07, 0x01, 0x00,  0x00, 0x00, 0x07, 0x05,
    0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
 -  0x4D, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x35, 0x9B, 0x05, 0x00,
 -  0x00, 0x00, 0x00, 0x00,  0x00, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x4D, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x36, 0x9B,  0x09, 0x00, 0x00, 0x01,  0x00, 0x73, 0x72, 0x63,
 -  0x00, 0x72, 0x00, 0x96,  0x02, 0x00, 0x08, 0x38,  0x1C, 0x96, 0x01, 0x00,  0x02, 0x49, 0x12, 0x9D,
 -  0x02, 0x00, 0x27, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x37, 0x05,
 -  0x00, 0x4F, 0x96, 0x09,  0x00, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0x35,  0x52, 0x17, 0x99, 0x02,  0x00, 0x3A, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,
 -  0x1C, 0x96, 0x04, 0x00,  0x08, 0x37, 0x05, 0x01,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x38, 0x1C, 0x96,
 -  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x51, 0x52,
 +  0x2A, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x06,  0x1C, 0x96, 0x02, 0x00,
 +  0x08, 0x12, 0x52, 0x17,  0x96, 0x08, 0x00, 0x07,  0x07, 0x00, 0x00, 0x00,  0x02, 0x08, 0x2A, 0x1C,
 +  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x07, 0x00, 0x08,
 +  0x2D, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x1D,  0x96, 0x02, 0x00, 0x08,  0x2D, 0x1C, 0x96, 0x07,
 +  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x06,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x12, 0x52, 0x17,
 +  0x96, 0x0E, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x2E, 0x07, 0x9A,  0x02, 0x00, 0x00, 0x08,
 +  0x2D, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x04, 0x00,  0x00, 0x00, 0x08, 0x02,  0x3D, 0x17, 0x96, 0x02,
 +  0x00, 0x08, 0x2F, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x04,  0x00, 0x08, 0x31, 0x08,
 +  0x32, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x2F, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
 +  0x00, 0x08, 0x33, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0x2D, 0x01, 0x00,  0x00, 0x07, 0x02, 0x00,
 +  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x2F, 0x1C,  0x96, 0x02, 0x00, 0x08,
 +  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x34, 0x07,  0x03, 0x00, 0x00, 0x00,  0x07, 0x2D, 0x01, 0x00,
 +  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x2F, 0x1C,
 +  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x35, 0x9B,  0x05, 0x00, 0x00, 0x00,
 +  0x00, 0x00, 0x00, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x2F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
 +  0x96, 0x02, 0x00, 0x08,  0x36, 0x9B, 0x09, 0x00,  0x00, 0x01, 0x00, 0x73,  0x72, 0x63, 0x00, 0x64,
 +  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x37,  0x05, 0x01, 0x4F, 0x96,
 +  0x02, 0x00, 0x08, 0x38,  0x1C, 0x96, 0x01, 0x00,  0x02, 0x49, 0x12, 0x9D,  0x02, 0x00, 0x19, 0x00,
 +  0x96, 0x09, 0x00, 0x05,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
 +  0x08, 0x35, 0x52, 0x17,  0x99, 0x02, 0x00, 0x2C,  0x00, 0x96, 0x02, 0x00,  0x08, 0x38, 0x1C, 0x96,
 +  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x34, 0x52,
    0x17, 0x96, 0x09, 0x00,  0x05, 0x01, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x35, 0x52,  0x17, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x4D, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x3E, 0x9B,  0x05, 0x00, 0x00, 0x00,  0x00, 0x0D, 0x00, 0x96,
 -  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x3F, 0x4E, 0x3E,  0x4F, 0x96, 0x02, 0x00,
 -  0x08, 0x4D, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x40, 0x9B, 0x05,
 -  0x00, 0x00, 0x00, 0x00,  0x0D, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x41, 0x4E, 0x3E, 0x4F,  0x96, 0x07, 0x00, 0x08,  0x52, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x1D,
 -  0x96, 0x02, 0x00, 0x08,  0x52, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x53, 0x07,  0x00, 0x00, 0x00, 0x00,
 -  0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x52, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x53, 0x4E, 0x96, 0x13,
 -  0x00, 0x08, 0x54, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0x0B, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
 -  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x07,  0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x08, 0x52,
 -  0x1C, 0x96, 0x02, 0x00,  0x08, 0x53, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x54,  0x52, 0x17, 0x96, 0x02,
 -  0x00, 0x08, 0x52, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x53, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x54, 0x3A,
 -  0x17, 0x96, 0x02, 0x00,  0x08, 0x55, 0x9B, 0x0C,  0x00, 0x00, 0x01, 0x00,  0x74, 0x61, 0x72, 0x67,
 -  0x65, 0x74, 0x00, 0x27,  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x56,
 -  0x08, 0x56, 0x1C, 0x4F,  0x96, 0x08, 0x00, 0x07,  0x07, 0x00, 0x00, 0x00,  0x02, 0x08, 0x09, 0x1C,
 -  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x1D, 0x96, 0x09, 0x00,
 -  0x08, 0x57, 0x07, 0xBC,  0x02, 0x00, 0x00, 0x08,  0x55, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
 -  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x00, 0x3D, 0x17,  0x96, 0x08, 0x00, 0x07,
 -  0x07, 0x00, 0x00, 0x00,  0x02, 0x08, 0x55, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x07,
 -  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,
 -  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x59, 0x9B,  0x0C, 0x00, 0x00, 0x01,
 -  0x00, 0x6D, 0x65, 0x74,  0x68, 0x6F, 0x64, 0x00,  0x5B, 0x00, 0x96, 0x09,  0x00, 0x08, 0x5C, 0x07,
 -  0x00, 0x00, 0x00, 0x00,  0x08, 0x5A, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x5B,  0x52, 0x3C, 0x96, 0x02,
 -  0x00, 0x08, 0x5C, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x5D, 0x49, 0x9D, 0x02,  0x00, 0x2D, 0x00, 0x96,
 -  0x02, 0x00, 0x08, 0x5C,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x5E, 0x49, 0x9D,  0x02, 0x00, 0x0E, 0x00,
 -  0x96, 0x05, 0x00, 0x07,  0x00, 0x00, 0x00, 0x00,  0x3E, 0x99, 0x02, 0x00,  0x09, 0x00, 0x96, 0x05,
 -  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x3E, 0x99,  0x02, 0x00, 0x09, 0x00,  0x96, 0x05, 0x00, 0x07,
 -  0x02, 0x00, 0x00, 0x00,  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x5F, 0x9B,  0x17, 0x00, 0x00, 0x03,  0x00, 0x75, 0x72, 0x6C,
 -  0x00, 0x74, 0x61, 0x72,  0x67, 0x65, 0x74, 0x00,  0x6D, 0x65, 0x74, 0x68,  0x6F, 0x64, 0x00, 0x97,
 -  0x00, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x44,  0x96, 0x02, 0x00, 0x08,  0x60, 0x49, 0x12, 0x9D,
 -  0x02, 0x00, 0x08, 0x00,  0x96, 0x04, 0x00, 0x08,  0x56, 0x08, 0x4E, 0x1D,  0x96, 0x04, 0x00, 0x08,
 -  0x61, 0x08, 0x5A, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0x59,  0x52, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x61, 0x1C,  0x96, 0x05, 0x00, 0x07,
 -  0x00, 0x00, 0x00, 0x00,  0x49, 0x9D, 0x02, 0x00,  0x3E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x61, 0x1C,
 -  0x96, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x49, 0x9D, 0x02, 0x00,  0x15, 0x00, 0x96, 0x02,
 -  0x00, 0x08, 0x62, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x56, 0x1C, 0x9A, 0x01,  0x00, 0x02, 0x99, 0x02,
 -  0x00, 0x10, 0x00, 0x96,  0x02, 0x00, 0x08, 0x62,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x9A,
 -  0x01, 0x00, 0x01, 0x99,  0x02, 0x00, 0x10, 0x00,  0x96, 0x02, 0x00, 0x08,  0x62, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x56, 0x1C,  0x9A, 0x01, 0x00, 0x00,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x63, 0x9B, 0x10,  0x00, 0x00, 0x02, 0x00,
 -  0x75, 0x72, 0x6C, 0x00,  0x6D, 0x65, 0x74, 0x68,  0x6F, 0x64, 0x00, 0x99,  0x00, 0x96, 0x04, 0x00,
 -  0x08, 0x61, 0x08, 0x5A,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
 -  0x96, 0x02, 0x00, 0x08,  0x59, 0x52, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x20, 0x96, 0x02,
 -  0x00, 0x08, 0x61, 0x1C,  0x96, 0x05, 0x00, 0x07,  0x00, 0x00, 0x00, 0x00,  0x49, 0x9D, 0x02, 0x00,
 -  0x4A, 0x00, 0x96, 0x02,  0x00, 0x08, 0x61, 0x1C,  0x96, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
 -  0x49, 0x9D, 0x02, 0x00,  0x1B, 0x00, 0x96, 0x02,  0x00, 0x08, 0x62, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x64, 0x4E,  0x9A, 0x01, 0x00, 0xC2,  0x99, 0x02, 0x00, 0x16,
 -  0x00, 0x96, 0x02, 0x00,  0x08, 0x62, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x64, 0x4E, 0x9A,  0x01, 0x00, 0xC1, 0x99,  0x02, 0x00, 0x16, 0x00,  0x96, 0x02, 0x00, 0x08,
 -  0x62, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x64, 0x4E, 0x9A, 0x01,
 -  0x00, 0xC0, 0x8B, 0x01,  0x00, 0x00, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x65,  0x9B, 0x10, 0x00, 0x00,  0x02, 0x00, 0x75, 0x72,
 -  0x6C, 0x00, 0x6D, 0x65,  0x74, 0x68, 0x6F, 0x64,  0x00, 0x99, 0x00, 0x96,  0x04, 0x00, 0x08, 0x61,
 -  0x08, 0x5A, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x59, 0x52,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x20,  0x96, 0x02, 0x00, 0x08,
 -  0x61, 0x1C, 0x96, 0x05,  0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x49, 0x9D,  0x02, 0x00, 0x4A, 0x00,
 -  0x96, 0x02, 0x00, 0x08,  0x61, 0x1C, 0x96, 0x05,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x49, 0x9D,
 -  0x02, 0x00, 0x1B, 0x00,  0x96, 0x02, 0x00, 0x08,  0x62, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
 -  0x96, 0x02, 0x00, 0x08,  0x64, 0x4E, 0x9A, 0x01,  0x00, 0x42, 0x99, 0x02,  0x00, 0x16, 0x00, 0x96,
 +  0x00, 0x08, 0x35, 0x52,  0x17, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x2F, 0x1C,  0x96, 0x02, 0x00, 0x08,
 +  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x39, 0x9B,  0x05, 0x00, 0x00, 0x00,  0x00, 0xB3, 0x00, 0x96,
 +  0x03, 0x00, 0x08, 0x3A,  0x02, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x46,  0x87, 0x01, 0x00, 0x00,
 +  0x96, 0x01, 0x00, 0x02,  0x49, 0x9D, 0x02, 0x00,  0x91, 0x00, 0x96, 0x04,  0x00, 0x08, 0x0A, 0x04,
 +  0x00, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x3A, 0x1C,  0x96, 0x01, 0x00, 0x02,  0x49, 0x9D, 0x02, 0x00,
 +  0x41, 0x00, 0x96, 0x02,  0x00, 0x08, 0x3A, 0x4C,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x3D, 0x08, 0x0A,
 +  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x3B, 0x3D,  0x47, 0x96, 0x02, 0x00,
 +  0x08, 0x3C, 0x47, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x0A, 0x1C, 0x4E,
 +  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x3B, 0x3D, 0x47,  0x47, 0x1D, 0x99, 0x02,
 +  0x00, 0x33, 0x00, 0x96,  0x04, 0x00, 0x08, 0x3A,  0x08, 0x0A, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,
 +  0x00, 0x00, 0x00, 0x08,  0x3B, 0x3D, 0x96, 0x02,  0x00, 0x08, 0x3C, 0x47,  0x96, 0x02, 0x00, 0x08,
 +  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0A, 0x1C,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,
 +  0x00, 0x08, 0x3B, 0x3D,  0x47, 0x1D, 0x99, 0x02,  0x00, 0x61, 0xFF, 0x96,  0x02, 0x00, 0x08, 0x3A,
 +  0x1C, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
 +  0x02, 0x00, 0x08, 0x3E,  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x0D, 0x00,  0x96, 0x02, 0x00, 0x08,
 +  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x3F, 0x4E,  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x2F, 0x1C,
 +  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x40, 0x9B,  0x05, 0x00, 0x00, 0x00,
 +  0x00, 0x0D, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x41, 0x4E, 0x3E,
 +  0x4F, 0x96, 0x08, 0x00,  0x07, 0x83, 0x00, 0x00,  0x00, 0x02, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,
 +  0x08, 0x30, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,
 +  0x13, 0x00, 0x08, 0x42,  0x07, 0x10, 0x00, 0x00,  0x00, 0x07, 0xF4, 0x01,  0x00, 0x00, 0x07, 0x02,
 +  0x00, 0x00, 0x00, 0x08,  0x43, 0x3D, 0x1D, 0x96,  0x0E, 0x00, 0x07, 0x06,  0x00, 0x00, 0x00, 0x08,
 +  0x44, 0x07, 0xF4, 0x01,  0x00, 0x00, 0x08, 0x42,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
 +  0x07, 0x00, 0x07, 0x04,  0x00, 0x00, 0x00, 0x08,  0x00, 0x3D, 0x17, 0x96,  0x13, 0x00, 0x08, 0x45,
 +  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
 +  0x43, 0x3D, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x45,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
 +  0x13, 0x00, 0x08, 0x46,  0x07, 0x01, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,
 +  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x45,  0x1C, 0x96, 0x02, 0x00,
 +  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x47,  0x07, 0x02, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,
 +  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x45,
 +  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x48,  0x07, 0x03, 0x00, 0x00,
 +  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
 +  0x02, 0x00, 0x08, 0x45,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x49,
 +  0x07, 0x04, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
 +  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x45,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
 +  0x13, 0x00, 0x08, 0x4A,  0x07, 0x05, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,
 +  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x45,  0x1C, 0x96, 0x02, 0x00,
 +  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x39,  0x07, 0x06, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,
 +  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x45,
 +  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x4B,  0x07, 0x07, 0x00, 0x00,
 +  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
 +  0x02, 0x00, 0x08, 0x45,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x4C,
 +  0x07, 0x08, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
 +  0x01, 0x3D, 0x4F, 0x96,  0x13, 0x00, 0x08, 0x4D,  0x07, 0x09, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,
 +  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x43, 0x3D, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x4D,
 +  0x1C, 0x96, 0x10, 0x00,  0x08, 0x30, 0x08, 0x4E,  0x07, 0x01, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
 +  0x00, 0x00, 0x08, 0x45,  0x40, 0x4F, 0x96, 0x09,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x30,
 +  0x08, 0x4D, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,
 +  0x02, 0x00, 0x08, 0x4D,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x33,
 +  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x2D, 0x01,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
 +  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x4D,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
 +  0x13, 0x00, 0x08, 0x4F,  0x07, 0x0A, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,
 +  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x4D,  0x1C, 0x96, 0x02, 0x00,
 +  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x50,  0x07, 0x0B, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,
 +  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x4D,
 +  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x51,  0x07, 0x0C, 0x00, 0x00,
 +  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
 +  0x02, 0x00, 0x08, 0x4D,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x35,
 +  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x4D, 0x1C, 0x96,
 +  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x36, 0x9B, 0x09,  0x00, 0x00, 0x01, 0x00,
 +  0x73, 0x72, 0x63, 0x00,  0x72, 0x00, 0x96, 0x02,  0x00, 0x08, 0x38, 0x1C,  0x96, 0x01, 0x00, 0x02,
 +  0x49, 0x12, 0x9D, 0x02,  0x00, 0x27, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x04, 0x00,
 +  0x08, 0x37, 0x05, 0x00,  0x4F, 0x96, 0x09, 0x00,  0x05, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
 +  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x35, 0x52,  0x17, 0x99, 0x02, 0x00,  0x3A, 0x00, 0x96, 0x02,
 +  0x00, 0x08, 0x09, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x37, 0x05, 0x01, 0x4F,  0x96, 0x02, 0x00, 0x08,
 +  0x38, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
 +  0x08, 0x51, 0x52, 0x17,  0x96, 0x09, 0x00, 0x05,  0x01, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
 +  0x1C, 0x96, 0x02, 0x00,  0x08, 0x35, 0x52, 0x17,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x4D, 0x1C, 0x96,
 +  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x3E, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,
 +  0x0D, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x3F, 0x4E, 0x3E, 0x4F,
 +  0x96, 0x02, 0x00, 0x08,  0x4D, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,
 +  0x40, 0x9B, 0x05, 0x00,  0x00, 0x00, 0x00, 0x0D,  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
 +  0x02, 0x00, 0x08, 0x41,  0x4E, 0x3E, 0x4F, 0x96,  0x07, 0x00, 0x08, 0x52,  0x07, 0x00, 0x00, 0x00,
 +  0x00, 0x43, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x52,  0x1C, 0x96, 0x07, 0x00,  0x08, 0x53, 0x07, 0x00,
 +  0x00, 0x00, 0x00, 0x43,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x52, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x53,
 +  0x4E, 0x96, 0x13, 0x00,  0x08, 0x54, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,  0x0B, 0x00, 0x00, 0x00,
 +  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x07, 0x00,  0x07, 0x00, 0x00, 0x00,
 +  0x00, 0x08, 0x52, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x53, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x54, 0x52,
 +  0x17, 0x96, 0x02, 0x00,  0x08, 0x52, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x53,  0x4E, 0x96, 0x02, 0x00,
 +  0x08, 0x54, 0x3A, 0x17,  0x96, 0x02, 0x00, 0x08,  0x55, 0x9B, 0x0C, 0x00,  0x00, 0x01, 0x00, 0x74,
 +  0x61, 0x72, 0x67, 0x65,  0x74, 0x00, 0x27, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x04,
 +  0x00, 0x08, 0x56, 0x08,  0x56, 0x1C, 0x4F, 0x96,  0x08, 0x00, 0x07, 0x07,  0x00, 0x00, 0x00, 0x02,
 +  0x08, 0x09, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x1D,
 +  0x96, 0x09, 0x00, 0x08,  0x57, 0x07, 0xBC, 0x02,  0x00, 0x00, 0x08, 0x55,  0x1C, 0x96, 0x02, 0x00,
 +  0x08, 0x30, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x00, 0x3D, 0x17, 0x96,
 +  0x08, 0x00, 0x07, 0x07,  0x00, 0x00, 0x00, 0x02,  0x08, 0x55, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
 +  0x4E, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x02, 0x00,
 +  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x59, 0x9B, 0x0C,
 +  0x00, 0x00, 0x01, 0x00,  0x6D, 0x65, 0x74, 0x68,  0x6F, 0x64, 0x00, 0x5B,  0x00, 0x96, 0x09, 0x00,
 +  0x08, 0x5C, 0x07, 0x00,  0x00, 0x00, 0x00, 0x08,  0x5A, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x5B, 0x52,
 +  0x3C, 0x96, 0x02, 0x00,  0x08, 0x5C, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x5D,  0x49, 0x9D, 0x02, 0x00,
 +  0x2D, 0x00, 0x96, 0x02,  0x00, 0x08, 0x5C, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x5E, 0x49, 0x9D, 0x02,
 +  0x00, 0x0E, 0x00, 0x96,  0x05, 0x00, 0x07, 0x00,  0x00, 0x00, 0x00, 0x3E,  0x99, 0x02, 0x00, 0x09,
 +  0x00, 0x96, 0x05, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x3E, 0x99, 0x02,  0x00, 0x09, 0x00, 0x96,
 +  0x05, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x3E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,
 +  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x5F, 0x9B, 0x17,  0x00, 0x00, 0x03, 0x00,
 +  0x75, 0x72, 0x6C, 0x00,  0x74, 0x61, 0x72, 0x67,  0x65, 0x74, 0x00, 0x6D,  0x65, 0x74, 0x68, 0x6F,
 +  0x64, 0x00, 0x97, 0x00,  0x96, 0x02, 0x00, 0x08,  0x56, 0x1C, 0x44, 0x96,  0x02, 0x00, 0x08, 0x60,
 +  0x49, 0x12, 0x9D, 0x02,  0x00, 0x08, 0x00, 0x96,  0x04, 0x00, 0x08, 0x56,  0x08, 0x4E, 0x1D, 0x96,
 +  0x04, 0x00, 0x08, 0x61,  0x08, 0x5A, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
 +  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x59, 0x52,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x61, 0x1C, 0x96,
 +  0x05, 0x00, 0x07, 0x00,  0x00, 0x00, 0x00, 0x49,  0x9D, 0x02, 0x00, 0x3E,  0x00, 0x96, 0x02, 0x00,
 +  0x08, 0x61, 0x1C, 0x96,  0x05, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x49,  0x9D, 0x02, 0x00, 0x15,
 +  0x00, 0x96, 0x02, 0x00,  0x08, 0x62, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x9A, 0x01, 0x00,
 +  0x02, 0x99, 0x02, 0x00,  0x10, 0x00, 0x96, 0x02,  0x00, 0x08, 0x62, 0x1C,  0x96, 0x02, 0x00, 0x08,
 +  0x56, 0x1C, 0x9A, 0x01,  0x00, 0x01, 0x99, 0x02,  0x00, 0x10, 0x00, 0x96,  0x02, 0x00, 0x08, 0x62,
 +  0x1C, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x9A,  0x01, 0x00, 0x00, 0x4F,  0x96, 0x02, 0x00, 0x08,
 +  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x63, 0x9B, 0x10, 0x00,
-   0x00, 0x02, 0x00, 0x75,  0x72, 0x6C, 0x00, 0x6D,  0x65, 0x74, 0x68, 0x6F,  0x64, 0x00, 0x9A, 0x00,
++  0x00, 0x02, 0x00, 0x75,  0x72, 0x6C, 0x00, 0x6D,  0x65, 0x74, 0x68, 0x6F,  0x64, 0x00, 0x99, 0x00,
 +  0x96, 0x04, 0x00, 0x08,  0x61, 0x08, 0x5A, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
 +  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x59,  0x52, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
 +  0x20, 0x96, 0x02, 0x00,  0x08, 0x61, 0x1C, 0x96,  0x05, 0x00, 0x07, 0x00,  0x00, 0x00, 0x00, 0x49,
 +  0x9D, 0x02, 0x00, 0x4A,  0x00, 0x96, 0x02, 0x00,  0x08, 0x61, 0x1C, 0x96,  0x05, 0x00, 0x07, 0x01,
 +  0x00, 0x00, 0x00, 0x49,  0x9D, 0x02, 0x00, 0x1B,  0x00, 0x96, 0x02, 0x00,  0x08, 0x62, 0x1C, 0x96,
 +  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x64, 0x4E, 0x9A,  0x01, 0x00, 0xC2, 0x99,
 +  0x02, 0x00, 0x16, 0x00,  0x96, 0x02, 0x00, 0x08,  0x62, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
 +  0x96, 0x02, 0x00, 0x08,  0x64, 0x4E, 0x9A, 0x01,  0x00, 0xC1, 0x99, 0x02,  0x00, 0x16, 0x00, 0x96,
    0x02, 0x00, 0x08, 0x62,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x64,
-   0x4E, 0x9A, 0x01, 0x00,  0xC0, 0x96, 0x01, 0x00,  0x02, 0x20, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x58,
-   0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x65,  0x9B, 0x10, 0x00, 0x00,
-   0x02, 0x00, 0x75, 0x72,  0x6C, 0x00, 0x6D, 0x65,  0x74, 0x68, 0x6F, 0x64,  0x00, 0x9A, 0x00, 0x96,
-   0x04, 0x00, 0x08, 0x61,  0x08, 0x5A, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
-   0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x59, 0x52,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x20,
-   0x96, 0x02, 0x00, 0x08,  0x61, 0x1C, 0x96, 0x05,  0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x49, 0x9D,
-   0x02, 0x00, 0x4A, 0x00,  0x96, 0x02, 0x00, 0x08,  0x61, 0x1C, 0x96, 0x05,  0x00, 0x07, 0x01, 0x00,
-   0x00, 0x00, 0x49, 0x9D,  0x02, 0x00, 0x1B, 0x00,  0x96, 0x02, 0x00, 0x08,  0x62, 0x1C, 0x96, 0x02,
-   0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x64, 0x4E, 0x9A, 0x01,  0x00, 0x42, 0x99, 0x02,
-   0x00, 0x16, 0x00, 0x96,  0x02, 0x00, 0x08, 0x62,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
-   0x02, 0x00, 0x08, 0x64,  0x4E, 0x9A, 0x01, 0x00,  0x41, 0x99, 0x02, 0x00,  0x16, 0x00, 0x96, 0x02,
-   0x00, 0x08, 0x62, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x64, 0x4E,
-   0x9A, 0x01, 0x00, 0x40,  0x96, 0x01, 0x00, 0x02,  0x20, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x66, 0x07,  0x00, 0x00, 0x00, 0x00,
-   0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
-   0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x67, 0x07,
-   0x01, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
-   0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
-   0x00, 0x08, 0x68, 0x07,  0x04, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,
-   0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,
-   0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x69, 0x07,  0x05, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,
-   0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x40, 0x07,  0x06, 0x00, 0x00, 0x00,
-   0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
-   0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x3E, 0x07,
-   0x07, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
-   0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
-   0x00, 0x08, 0x6A, 0x07,  0x0A, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,
-   0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,
-   0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x6B, 0x07,  0x0C, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,
-   0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x6C, 0x07,  0x0D, 0x00, 0x00, 0x00,
-   0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
-   0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x6D, 0x07,
-   0x0E, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
-   0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
-   0x00, 0x08, 0x6E, 0x07,  0x0F, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,
-   0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,
-   0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x6F, 0x07,  0x10, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,
-   0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x70, 0x07,  0x11, 0x00, 0x00, 0x00,
-   0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
-   0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x71, 0x07,
-   0x12, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
-   0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
-   0x00, 0x08, 0x72, 0x07,  0x13, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,
-   0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,
-   0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x73, 0x07,  0x14, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,
-   0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x74, 0x07,  0x15, 0x00, 0x00, 0x00,
-   0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
-   0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x75, 0x07,
-   0x00, 0x00, 0x00, 0x00,  0x07, 0x85, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
-   0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
-   0x00, 0x08, 0x76, 0x07,  0xC8, 0x00, 0x00, 0x00,  0x07, 0x68, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
-   0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x09,  0x00, 0x07, 0x80, 0x00,  0x00, 0x00, 0x08, 0x77,
-   0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,
-   0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x09, 0x00,  0x08, 0x78, 0x07, 0x85,  0x03, 0x00, 0x00, 0x08,
-   0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,
-   0x08, 0x00, 0x3D, 0x17,  0x96, 0x08, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x02, 0x08, 0x58, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,
-   0x3D, 0x17, 0x96, 0x13,  0x00, 0x08, 0x79, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0x68, 0x00, 0x00,
-   0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,  0x3D, 0x1D, 0x96, 0x02,  0x00, 0x08, 0x79, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x7A, 0x07,  0x66, 0x00, 0x00, 0x00,
-   0x07, 0x68, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
-   0x00, 0x08, 0x79, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x7B, 0x07,
-   0x68, 0x00, 0x00, 0x00,  0x07, 0x68, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
-   0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x79, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
-   0x00, 0x08, 0x7C, 0x07,  0x69, 0x00, 0x00, 0x00,  0x07, 0x68, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
-   0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x13,  0x00, 0x08, 0x7D, 0x07,  0x00, 0x00, 0x00, 0x00,
-   0x07, 0x6E, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,  0x3D, 0x1D, 0x96, 0x02,
-   0x00, 0x08, 0x79, 0x1C,  0x96, 0x13, 0x00, 0x08,  0x7E, 0x07, 0x00, 0x00,  0x00, 0x00, 0x07, 0x71,
-   0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
-   0x79, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7E, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,
-   0x00, 0x08, 0x7F, 0x9B,  0x07, 0x00, 0x00, 0x01,  0x00, 0x6F, 0x00, 0x67,  0x00, 0x96, 0x02, 0x00,
-   0x08, 0x13, 0x1C, 0x44,  0x96, 0x02, 0x00, 0x08,  0x80, 0x49, 0x12, 0x12,  0x9D, 0x02, 0x00, 0x05,
-   0x00, 0x96, 0x01, 0x00,  0x02, 0x3E, 0x96, 0x07,  0x00, 0x08, 0x81, 0x07,  0x00, 0x00, 0x00, 0x00,
-   0x43, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x13, 0x46,  0x87, 0x01, 0x00, 0x00,  0x96, 0x01, 0x00, 0x02,
-   0x49, 0x9D, 0x02, 0x00,  0x27, 0x00, 0x96, 0x04,  0x00, 0x08, 0x82, 0x04,  0x00, 0x3C, 0x96, 0x02,
-   0x00, 0x08, 0x81, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x82, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x13, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x82, 0x1C, 0x4E, 0x4F,  0x99, 0x02, 0x00, 0xCB,  0xFF, 0x96, 0x02, 0x00,
-   0x08, 0x81, 0x1C, 0x3E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x79, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,
-   0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x83,  0x9B, 0x05, 0x00, 0x00,
-   0x00, 0x00, 0x24, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x84, 0x07,
-   0x00, 0x00, 0x00, 0x00,  0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x07, 0x00, 0x08,
-   0x85, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x4F,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x79, 0x1C, 0x96,
-   0x02, 0x00, 0x08, 0x7E,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x86,
-   0x9B, 0x0A, 0x00, 0x00,  0x01, 0x00, 0x6E, 0x61,  0x6D, 0x65, 0x00, 0x25,  0x00, 0x96, 0x02, 0x00,
-   0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x84,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x87, 0x1C, 0x4E,
-   0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7F,
-   0x52, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x79,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7E, 0x4E, 0x96,
-   0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x88, 0x9B, 0x10,  0x00, 0x00, 0x02, 0x00,
-   0x6E, 0x61, 0x6D, 0x65,  0x00, 0x73, 0x74, 0x79,  0x6C, 0x65, 0x00, 0x67,  0x00, 0x96, 0x02, 0x00,
-   0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x84,  0x4E, 0x12, 0x12, 0x9D,  0x02, 0x00, 0x12, 0x00,
-   0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x84, 0x07,  0x00, 0x00, 0x00, 0x00,
-   0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x84, 0x4E, 0x96, 0x02,
-   0x00, 0x08, 0x87, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
-   0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7F, 0x52, 0x4F,  0x96, 0x02, 0x00, 0x08,
-   0x87, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
-   0x08, 0x8A, 0x52, 0x17,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x79, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,
-   0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x8B,  0x9B, 0x05, 0x00, 0x00,
-   0x00, 0x00, 0x5B, 0x00,  0x96, 0x04, 0x00, 0x08,  0x8C, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
-   0x84, 0x4E, 0x3C, 0x96,  0x07, 0x00, 0x08, 0x8D,  0x07, 0x00, 0x00, 0x00,  0x00, 0x42, 0x3C, 0x96,
-   0x02, 0x00, 0x08, 0x8C,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,  0x02, 0x49, 0x9D, 0x02,
-   0x00, 0x25, 0x00, 0x96,  0x04, 0x00, 0x08, 0x82,  0x04, 0x00, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x82,
-   0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x8D, 0x1C,  0x96, 0x02, 0x00, 0x08,
-   0x0D, 0x52, 0x17, 0x99,  0x02, 0x00, 0xCD, 0xFF,  0x96, 0x02, 0x00, 0x08,  0x8D, 0x1C, 0x3E, 0x4F,
-   0x96, 0x02, 0x00, 0x08,  0x79, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7E, 0x4E,  0x96, 0x02, 0x00, 0x08,
-   0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x8A, 0x9B,  0x0A, 0x00, 0x00, 0x01,  0x00, 0x6E, 0x61, 0x6D,
-   0x65, 0x00, 0x5C, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x85, 0x4E,
-   0x12, 0x12, 0x9D, 0x02,  0x00, 0x12, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x07, 0x00,
-   0x08, 0x85, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
-   0x02, 0x00, 0x08, 0x85,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x87, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x09,
 -  0x4E, 0x9A, 0x01, 0x00,  0x41, 0x99, 0x02, 0x00,  0x16, 0x00, 0x96, 0x02,  0x00, 0x08, 0x62, 0x1C,
 -  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x64, 0x4E,  0x9A, 0x01, 0x00, 0x40,
 -  0x8B, 0x01, 0x00, 0x00,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
 -  0x4E, 0x96, 0x13, 0x00,  0x08, 0x66, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
 -  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x67, 0x07, 0x01,  0x00, 0x00, 0x00, 0x07,
 -  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
 -  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x68, 0x07, 0x04,
 -  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
 -  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
 -  0x08, 0x69, 0x07, 0x05,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
 -  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
 -  0x4E, 0x96, 0x13, 0x00,  0x08, 0x40, 0x07, 0x06,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
 -  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x3E, 0x07, 0x07,  0x00, 0x00, 0x00, 0x07,
 -  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
 -  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6A, 0x07, 0x0A,
 -  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
 -  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
 -  0x08, 0x6B, 0x07, 0x0C,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
 -  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
 -  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6C, 0x07, 0x0D,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
 -  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6D, 0x07, 0x0E,  0x00, 0x00, 0x00, 0x07,
 -  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
 -  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6E, 0x07, 0x0F,
 -  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
 -  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
 -  0x08, 0x6F, 0x07, 0x10,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
 -  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
 -  0x4E, 0x96, 0x13, 0x00,  0x08, 0x70, 0x07, 0x11,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
 -  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x71, 0x07, 0x12,  0x00, 0x00, 0x00, 0x07,
 -  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
 -  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x72, 0x07, 0x13,
 -  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
 -  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
 -  0x08, 0x73, 0x07, 0x14,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
 -  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
 -  0x4E, 0x96, 0x13, 0x00,  0x08, 0x74, 0x07, 0x15,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
 -  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x09, 0x00,  0x07, 0x80, 0x00, 0x00,
 -  0x00, 0x08, 0x6A, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,
 -  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x09, 0x00, 0x08,  0x75, 0x07, 0x85, 0x03,
 -  0x00, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x03,
 -  0x00, 0x00, 0x00, 0x08,  0x00, 0x3D, 0x17, 0x96,  0x08, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x02,
 -  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,
 -  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x07, 0x00,  0x08, 0x76, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,
 -  0x1D, 0x96, 0x13, 0x00,  0x08, 0x77, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,  0x6E, 0x00, 0x00, 0x00,
 -  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x43, 0x3D,  0x1D, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,
 -  0x13, 0x00, 0x08, 0x78,  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x71, 0x00,  0x00, 0x00, 0x07, 0x02,
 -  0x00, 0x00, 0x00, 0x08,  0x43, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x78, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x79, 0x9B, 0x07,
 -  0x00, 0x00, 0x01, 0x00,  0x6F, 0x00, 0x67, 0x00,  0x96, 0x02, 0x00, 0x08,  0x13, 0x1C, 0x44, 0x96,
 -  0x02, 0x00, 0x08, 0x7A,  0x49, 0x12, 0x12, 0x9D,  0x02, 0x00, 0x05, 0x00,  0x96, 0x01, 0x00, 0x02,
 -  0x3E, 0x96, 0x07, 0x00,  0x08, 0x7B, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,  0x3C, 0x96, 0x02, 0x00,
 -  0x08, 0x13, 0x46, 0x87,  0x01, 0x00, 0x00, 0x96,  0x01, 0x00, 0x02, 0x49,  0x9D, 0x02, 0x00, 0x27,
 -  0x00, 0x96, 0x04, 0x00,  0x08, 0x7C, 0x04, 0x00,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x7B, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0x7C,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x13, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7C,
 -  0x1C, 0x4E, 0x4F, 0x99,  0x02, 0x00, 0xCB, 0xFF,  0x96, 0x02, 0x00, 0x08,  0x7B, 0x1C, 0x3E, 0x4F,
 -  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x78, 0x4E,  0x96, 0x02, 0x00, 0x08,
 -  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x7D, 0x9B,  0x05, 0x00, 0x00, 0x00,  0x00, 0x24, 0x00, 0x96,
 -  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x07, 0x00,  0x08, 0x7E, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,
 -  0x4F, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x07, 0x00, 0x08, 0x7F,  0x07, 0x00, 0x00, 0x00,
 -  0x00, 0x43, 0x4F, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x78, 0x4E,
 -  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x80, 0x9B,  0x0A, 0x00, 0x00, 0x01,
 -  0x00, 0x6E, 0x61, 0x6D,  0x65, 0x00, 0x25, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x7E, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x81, 0x1C, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,
 -  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x79, 0x52,  0x3E, 0x4F, 0x96, 0x02,
 -  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x78, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
 -  0x96, 0x02, 0x00, 0x08,  0x82, 0x9B, 0x10, 0x00,  0x00, 0x02, 0x00, 0x6E,  0x61, 0x6D, 0x65, 0x00,
 -  0x73, 0x74, 0x79, 0x6C,  0x65, 0x00, 0x67, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x7E, 0x4E,  0x12, 0x12, 0x9D, 0x02,  0x00, 0x12, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,
 -  0x1C, 0x96, 0x07, 0x00,  0x08, 0x7E, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,  0x4F, 0x96, 0x02, 0x00,
 -  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x81, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0x83,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
 -  0x96, 0x02, 0x00, 0x08,  0x79, 0x52, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x81,  0x1C, 0x96, 0x07, 0x00,
 -  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x84, 0x52, 0x17, 0x4F,
 -  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x78, 0x4E,  0x96, 0x02, 0x00, 0x08,
 -  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x85, 0x9B,  0x05, 0x00, 0x00, 0x00,  0x00, 0x5B, 0x00, 0x96,
 -  0x04, 0x00, 0x08, 0x86,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,  0x4E, 0x3C, 0x96, 0x07,
 -  0x00, 0x08, 0x87, 0x07,  0x00, 0x00, 0x00, 0x00,  0x42, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x86, 0x46,
 -  0x87, 0x01, 0x00, 0x00,  0x96, 0x01, 0x00, 0x02,  0x49, 0x9D, 0x02, 0x00,  0x25, 0x00, 0x96, 0x04,
 -  0x00, 0x08, 0x7C, 0x04,  0x00, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x7C, 0x1C,  0x96, 0x07, 0x00, 0x07,
 -  0x01, 0x00, 0x00, 0x00,  0x08, 0x87, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x0D,  0x52, 0x17, 0x99, 0x02,
 -  0x00, 0xCD, 0xFF, 0x96,  0x02, 0x00, 0x08, 0x87,  0x1C, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,
 -  0x1C, 0x96, 0x02, 0x00,  0x08, 0x78, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,
 -  0x08, 0x84, 0x9B, 0x0A,  0x00, 0x00, 0x01, 0x00,  0x6E, 0x61, 0x6D, 0x65,  0x00, 0x5C, 0x00, 0x96,
 -  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7F, 0x4E, 0x12,  0x12, 0x9D, 0x02, 0x00,
 -  0x12, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x07, 0x00, 0x08,  0x7F, 0x07, 0x00, 0x00,
 -  0x00, 0x00, 0x43, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7F, 0x4E,
 -  0x96, 0x02, 0x00, 0x08,  0x81, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x7E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x81, 0x1C,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,
 -  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x88, 0x52, 0x4F, 0x4F,  0x96, 0x02, 0x00, 0x08,
 -  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x78, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,
 -  0x00, 0x08, 0x88, 0x9B,  0x0B, 0x00, 0x00, 0x01,  0x00, 0x73, 0x74, 0x79,  0x6C, 0x65, 0x00, 0x9D,
 -  0x03, 0x96, 0x02, 0x00,  0x08, 0x83, 0x1C, 0x96,  0x01, 0x00, 0x02, 0x49,  0x12, 0x9D, 0x02, 0x00,
 -  0x05, 0x00, 0x96, 0x01,  0x00, 0x02, 0x3E, 0x96,  0x09, 0x00, 0x08, 0x89,  0x07, 0x00, 0x00, 0x00,
 -  0x00, 0x08, 0x77, 0x40,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x8A,
 -  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x15, 0x00, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x04, 0x00,
 -  0x08, 0x8B, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x8A, 0x4E, 0x4F,  0x96, 0x02, 0x00, 0x08,
 -  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x8C, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x8D, 0x49, 0x9D, 0x02,
 -  0x00, 0x2B, 0x00, 0x96,  0x02, 0x00, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x8C, 0x4E, 0x96,
 -  0x02, 0x00, 0x08, 0x8E,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x89,
 -  0x1C, 0x96, 0x04, 0x00,  0x08, 0x8D, 0x05, 0x00,  0x4F, 0x99, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,
 -  0x00, 0x08, 0x89, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x8D, 0x05, 0x01, 0x4F,  0x96, 0x02, 0x00, 0x08,
 -  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x8F, 0x4E,  0x12, 0x9D, 0x02, 0x00,  0x41, 0x00, 0x96, 0x04,
 -  0x00, 0x08, 0x86, 0x08,  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x8F, 0x4E,  0x96, 0x07, 0x00, 0x07,
 -  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x90,  0x52, 0x3C, 0x96, 0x02,
 -  0x00, 0x08, 0x86, 0x1C,  0x96, 0x01, 0x00, 0x02,  0x49, 0x12, 0x12, 0x9D,  0x02, 0x00, 0x0F, 0x00,
 -  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x8F, 0x08,  0x86, 0x1C, 0x4F, 0x96,
 -  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x91, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x91, 0x4E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x92, 0x4E,
 -  0x12, 0x9D, 0x02, 0x00,  0x26, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,  0x96, 0x04, 0x00, 0x08,
 -  0x93, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x92, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
 -  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x94, 0x52, 0x4F,  0x96, 0x02, 0x00, 0x08,
 -  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x95, 0x4E,  0x12, 0x9D, 0x02, 0x00,  0x20, 0x00, 0x96, 0x02,
 -  0x00, 0x08, 0x89, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x96, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x95, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x97,  0x3D, 0x4F, 0x96, 0x02,
 -  0x00, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x98, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x99, 0x49,
 -  0x9D, 0x02, 0x00, 0x2B,  0x00, 0x96, 0x02, 0x00,  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x98,
 -  0x4E, 0x96, 0x02, 0x00,  0x08, 0x8E, 0x49, 0x12,  0x9D, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,
 -  0x08, 0x89, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x99,  0x05, 0x00, 0x4F, 0x99,  0x02, 0x00, 0x0E, 0x00,
 -  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x99, 0x05,  0x01, 0x4F, 0x96, 0x02,
 -  0x00, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x9A, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x9B, 0x49,
 -  0x9D, 0x02, 0x00, 0x4F,  0x00, 0x96, 0x02, 0x00,  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x9A,
 -  0x4E, 0x96, 0x02, 0x00,  0x08, 0x9C, 0x49, 0x9D,  0x02, 0x00, 0x25, 0x00,  0x96, 0x02, 0x00, 0x08,
 -  0x89, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x9A, 0x08,  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x9A, 0x4E,
 -  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x97, 0x3D, 0x4F,  0x99, 0x02, 0x00, 0x0E,
 -  0x00, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x9A,  0x05, 0x00, 0x4F, 0x99,
 -  0x02, 0x00, 0x0E, 0x00,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x9A, 0x05,
 -  0x01, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x9D, 0x4E, 0x12, 0x9D,
 -  0x02, 0x00, 0x20, 0x00,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x9D, 0x08,
 -  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x9D, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
 -  0x08, 0x97, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x9E, 0x4E,
 -  0x12, 0x9D, 0x02, 0x00,  0x20, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,  0x96, 0x04, 0x00, 0x08,
 -  0x9F, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x9E, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
 -  0x00, 0x00, 0x08, 0x97,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0xA0, 0x4E, 0x12, 0x9D,  0x02, 0x00, 0x20, 0x00,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x04,
 -  0x00, 0x08, 0xA0, 0x08,  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xA0, 0x4E,  0x96, 0x07, 0x00, 0x07,
 -  0x01, 0x00, 0x00, 0x00,  0x08, 0x97, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x83, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0xA1, 0x4E,  0x12, 0x9D, 0x02, 0x00,  0x20, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,
 -  0x96, 0x04, 0x00, 0x08,  0xA2, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0xA1, 0x4E, 0x96, 0x07,
 -  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x97,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x83, 0x1C,
 -  0x96, 0x02, 0x00, 0x08,  0xA3, 0x4E, 0x12, 0x9D,  0x02, 0x00, 0x3B, 0x00,  0x96, 0x04, 0x00, 0x08,
 -  0x86, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0xA3, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
 -  0x00, 0x00, 0x08, 0x97,  0x3D, 0x3C, 0x96, 0x07,  0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x08, 0x86,
 -  0x1C, 0x48, 0x12, 0x9D,  0x02, 0x00, 0x0F, 0x00,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x04,
 -  0x00, 0x08, 0xA4, 0x08,  0x86, 0x1C, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0xA5, 0x4E, 0x96,  0x02, 0x00, 0x08, 0xA6,  0x49, 0x9D, 0x02, 0x00,  0x2B, 0x00, 0x96, 0x02,
 -  0x00, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0xA5, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xA7, 0x49,
 -  0x12, 0x9D, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,  0x96, 0x04, 0x00, 0x08,
 -  0xA6, 0x05, 0x00, 0x4F,  0x99, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,
 -  0x04, 0x00, 0x08, 0xA6,  0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x3E, 0x4F, 0x96,
 -  0x02, 0x00, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x78, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,
 -  0x4E, 0x96, 0x02, 0x00,  0x08, 0xA8, 0x9B, 0x09,  0x00, 0x00, 0x01, 0x00,  0x63, 0x73, 0x73, 0x00,
 -  0xC8, 0x00, 0x96, 0x04,  0x00, 0x08, 0xAB, 0x08,  0xA9, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
 -  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xAA, 0x52, 0x3C,  0x96, 0x02, 0x00, 0x08,
 -  0xAB, 0x1C, 0x44, 0x96,  0x02, 0x00, 0x08, 0xAC,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x06, 0x00, 0x96,
 -  0x02, 0x00, 0x05, 0x00,  0x3E, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,
 -  0x4E, 0x12, 0x12, 0x9D,  0x02, 0x00, 0x12, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x07,
 -  0x00, 0x08, 0x7E, 0x07,  0x00, 0x00, 0x00, 0x00,  0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0xAB, 0x46,
 -  0x87, 0x01, 0x00, 0x00,  0x96, 0x01, 0x00, 0x02,  0x49, 0x9D, 0x02, 0x00,  0x56, 0x00, 0x96, 0x04,
 -  0x00, 0x08, 0x7C, 0x04,  0x00, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x7E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x7C, 0x1C,  0x96, 0x02, 0x00, 0x08,  0xAB, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x7C, 0x1C,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
 -  0x96, 0x02, 0x00, 0x08,  0x79, 0x52, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x7C,  0x1C, 0x96, 0x07, 0x00,
 -  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x84, 0x52, 0x17, 0x99,
 -  0x02, 0x00, 0x9C, 0xFF,  0x96, 0x02, 0x00, 0x05,  0x01, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,
 -  0x1C, 0x96, 0x02, 0x00,  0x08, 0x78, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x04, 0x00,
 -  0x08, 0xAD, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x78, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,
 -  0x4E, 0x96, 0x02, 0x00,  0x08, 0xA8, 0x4E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x78, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x33, 0x07,
 -  0x00, 0x00, 0x00, 0x00,  0x07, 0x2D, 0x01, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
 -  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x78, 0x4E, 0x96, 0x02,
 -  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x35, 0x9B, 0x05, 0x00,  0x00, 0x00, 0x00, 0x00,
 -  0x00, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x78, 0x4E, 0x96, 0x02,
 -  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x36, 0x9B, 0x09, 0x00,  0x00, 0x01, 0x00, 0x73,
 -  0x72, 0x63, 0x00, 0x6B,  0x00, 0x96, 0x02, 0x00,  0x08, 0x38, 0x1C, 0x96,  0x01, 0x00, 0x02, 0x49,
 -  0x12, 0x9D, 0x02, 0x00,  0x19, 0x00, 0x96, 0x09,  0x00, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
 -  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x35,  0x52, 0x17, 0x99, 0x02,  0x00, 0x41, 0x00, 0x96,
 -  0x04, 0x00, 0x08, 0xAB,  0x08, 0x38, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
 -  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xAD, 0x52,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
 -  0x04, 0x00, 0x08, 0x37,  0x08, 0xAB, 0x1C, 0x4F,  0x96, 0x02, 0x00, 0x08,  0xAB, 0x1C, 0x96, 0x07,
 -  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x35, 0x52, 0x17,
 -  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x78,  0x4E, 0x96, 0x02, 0x00,
 -  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0xAA,  0x07, 0x65, 0x00, 0x00,  0x00, 0x07, 0x71, 0x00,
 -  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,
 -  0x1C, 0x96, 0x02, 0x00,  0x08, 0x78, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
 -  0x08, 0x94, 0x07, 0x66,  0x00, 0x00, 0x00, 0x07,  0x71, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
 -  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x78,
 -  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x90,  0x07, 0x67, 0x00, 0x00,
 -  0x00, 0x07, 0x71, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
 -  0x08, 0x00, 0x07, 0x03,  0x04, 0x00, 0x00, 0x02,  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x78,
 -  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,
 -  0x05, 0x3D, 0x17, 0x96,  0x09, 0x00, 0x07, 0x03,  0x04, 0x00, 0x00, 0x08,  0x78, 0x08, 0x76, 0x1C,
 -  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x13, 0x00, 0x08,
 -  0xAE, 0x07, 0x00, 0x00,  0x00, 0x00, 0x07, 0xFA,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
 -  0x08, 0x01, 0x3D, 0x1D,  0x96, 0x13, 0x00, 0x08,  0xAF, 0x07, 0x01, 0x00,  0x00, 0x00, 0x07, 0xFA,
 -  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x1D,  0x96, 0x13, 0x00, 0x08,
 -  0xB0, 0x07, 0x02, 0x00,  0x00, 0x00, 0x07, 0xFA,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
 -  0x08, 0x01, 0x3D, 0x1D,  0x96, 0x04, 0x00, 0x08,  0xB1, 0x08, 0xAF, 0x1C,  0x1D, 0x96, 0x03, 0x00,
 -  0x08, 0x13, 0x02, 0x1D,  0x96, 0x0D, 0x00, 0x07,  0x06, 0x00, 0x00, 0x00,  0x07, 0x01, 0x00, 0x00,
 -  0x00, 0x02, 0x08, 0x09,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x04, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,
 -  0x17, 0x00
++  0x4E, 0x9A, 0x01, 0x00,  0xC0, 0x8B, 0x01, 0x00,  0x00, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x65, 0x9B,  0x10, 0x00, 0x00, 0x02,
++  0x00, 0x75, 0x72, 0x6C,  0x00, 0x6D, 0x65, 0x74,  0x68, 0x6F, 0x64, 0x00,  0x99, 0x00, 0x96, 0x04,
++  0x00, 0x08, 0x61, 0x08,  0x5A, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
++  0x1C, 0x96, 0x02, 0x00,  0x08, 0x59, 0x52, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x20, 0x96,
++  0x02, 0x00, 0x08, 0x61,  0x1C, 0x96, 0x05, 0x00,  0x07, 0x00, 0x00, 0x00,  0x00, 0x49, 0x9D, 0x02,
++  0x00, 0x4A, 0x00, 0x96,  0x02, 0x00, 0x08, 0x61,  0x1C, 0x96, 0x05, 0x00,  0x07, 0x01, 0x00, 0x00,
++  0x00, 0x49, 0x9D, 0x02,  0x00, 0x1B, 0x00, 0x96,  0x02, 0x00, 0x08, 0x62,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x64,  0x4E, 0x9A, 0x01, 0x00,  0x42, 0x99, 0x02, 0x00,
++  0x16, 0x00, 0x96, 0x02,  0x00, 0x08, 0x62, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
++  0x00, 0x08, 0x64, 0x4E,  0x9A, 0x01, 0x00, 0x41,  0x99, 0x02, 0x00, 0x16,  0x00, 0x96, 0x02, 0x00,
++  0x08, 0x62, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x64, 0x4E, 0x9A,
++  0x01, 0x00, 0x40, 0x8B,  0x01, 0x00, 0x00, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,
++  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x66, 0x07, 0x00, 0x00,  0x00, 0x00, 0x07, 0x84,
++  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
++  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x67, 0x07, 0x01, 0x00,
++  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
++  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
++  0x68, 0x07, 0x04, 0x00,  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
++  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
++  0x96, 0x13, 0x00, 0x08,  0x69, 0x07, 0x05, 0x00,  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,
++  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,
++  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x40, 0x07, 0x06, 0x00,  0x00, 0x00, 0x07, 0x84,
++  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
++  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x3E, 0x07, 0x07, 0x00,
++  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
++  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
++  0x6A, 0x07, 0x0A, 0x00,  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
++  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
++  0x96, 0x13, 0x00, 0x08,  0x6B, 0x07, 0x0C, 0x00,  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,
++  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,
++  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x6C, 0x07, 0x0D, 0x00,  0x00, 0x00, 0x07, 0x84,
++  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
++  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x6D, 0x07, 0x0E, 0x00,
++  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
++  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
++  0x6E, 0x07, 0x0F, 0x00,  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
++  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
++  0x96, 0x13, 0x00, 0x08,  0x6F, 0x07, 0x10, 0x00,  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,
++  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,
++  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x70, 0x07, 0x11, 0x00,  0x00, 0x00, 0x07, 0x84,
++  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
++  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x71, 0x07, 0x12, 0x00,
++  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
++  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
++  0x72, 0x07, 0x13, 0x00,  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
++  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
++  0x96, 0x13, 0x00, 0x08,  0x73, 0x07, 0x14, 0x00,  0x00, 0x00, 0x07, 0x84,  0x03, 0x00, 0x00, 0x07,
++  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,
++  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x74, 0x07, 0x15, 0x00,  0x00, 0x00, 0x07, 0x84,
++  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
++  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x75, 0x07, 0x00, 0x00,
++  0x00, 0x00, 0x07, 0x85,  0x03, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
++  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
++  0x76, 0x07, 0xC8, 0x00,  0x00, 0x00, 0x07, 0x68,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
++  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x09, 0x00, 0x07,  0x80, 0x00, 0x00, 0x00,  0x08, 0x77, 0x08, 0x58,
++  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,
++  0x05, 0x3D, 0x17, 0x96,  0x09, 0x00, 0x08, 0x78,  0x07, 0x85, 0x03, 0x00,  0x00, 0x08, 0x58, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x00,
++  0x3D, 0x17, 0x96, 0x08,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x02, 0x08,  0x58, 0x1C, 0x96, 0x02,
++  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,
++  0x96, 0x13, 0x00, 0x08,  0x79, 0x07, 0x00, 0x00,  0x00, 0x00, 0x07, 0x68,  0x00, 0x00, 0x00, 0x07,
++  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x1D,  0x96, 0x02, 0x00, 0x08,  0x79, 0x1C, 0x96, 0x02,
++  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x7A, 0x07, 0x66, 0x00,  0x00, 0x00, 0x07, 0x68,
++  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
++  0x79, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x7B, 0x07, 0x68, 0x00,
++  0x00, 0x00, 0x07, 0x68,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
++  0x96, 0x02, 0x00, 0x08,  0x79, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
++  0x7C, 0x07, 0x69, 0x00,  0x00, 0x00, 0x07, 0x68,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
++  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x13, 0x00, 0x08,  0x7D, 0x07, 0x00, 0x00,  0x00, 0x00, 0x07, 0x6E,
++  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x1D,  0x96, 0x02, 0x00, 0x08,
++  0x79, 0x1C, 0x96, 0x13,  0x00, 0x08, 0x7E, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0x71, 0x00, 0x00,
++  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x79, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,
++  0x7F, 0x9B, 0x07, 0x00,  0x00, 0x01, 0x00, 0x6F,  0x00, 0x67, 0x00, 0x96,  0x02, 0x00, 0x08, 0x13,
++  0x1C, 0x44, 0x96, 0x02,  0x00, 0x08, 0x80, 0x49,  0x12, 0x12, 0x9D, 0x02,  0x00, 0x05, 0x00, 0x96,
++  0x01, 0x00, 0x02, 0x3E,  0x96, 0x07, 0x00, 0x08,  0x81, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x3C,
++  0x96, 0x02, 0x00, 0x08,  0x13, 0x46, 0x87, 0x01,  0x00, 0x00, 0x96, 0x01,  0x00, 0x02, 0x49, 0x9D,
++  0x02, 0x00, 0x27, 0x00,  0x96, 0x04, 0x00, 0x08,  0x82, 0x04, 0x00, 0x3C,  0x96, 0x02, 0x00, 0x08,
++  0x81, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x82, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x13, 0x1C, 0x96, 0x02,
++  0x00, 0x08, 0x82, 0x1C,  0x4E, 0x4F, 0x99, 0x02,  0x00, 0xCB, 0xFF, 0x96,  0x02, 0x00, 0x08, 0x81,
++  0x1C, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x79,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7E, 0x4E, 0x96,
++  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x83, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,
++  0x24, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x07, 0x00, 0x08,  0x84, 0x07, 0x00, 0x00,
++  0x00, 0x00, 0x43, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x85, 0x07,
++  0x00, 0x00, 0x00, 0x00,  0x43, 0x4F, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x79,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0x7E, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x86, 0x9B, 0x0A,
++  0x00, 0x00, 0x01, 0x00,  0x6E, 0x61, 0x6D, 0x65,  0x00, 0x25, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,
 +  0x1C, 0x96, 0x02, 0x00,  0x08, 0x84, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x87,  0x1C, 0x4E, 0x96, 0x07,
-   0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x8E, 0x52, 0x4F,
++  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7F, 0x52, 0x3E,
 +  0x4F, 0x96, 0x02, 0x00,  0x08, 0x79, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,  0x4E, 0x96, 0x02, 0x00,
-   0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x8E,  0x9B, 0x0B, 0x00, 0x00,  0x01, 0x00, 0x73, 0x74,
-   0x79, 0x6C, 0x65, 0x00,  0x9D, 0x03, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,  0x96, 0x01, 0x00, 0x02,
-   0x49, 0x12, 0x9D, 0x02,  0x00, 0x05, 0x00, 0x96,  0x01, 0x00, 0x02, 0x3E,  0x96, 0x09, 0x00, 0x08,
-   0x8F, 0x07, 0x00, 0x00,  0x00, 0x00, 0x08, 0x7D,  0x40, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x90, 0x4E, 0x12, 0x9D,  0x02, 0x00, 0x15, 0x00,  0x96, 0x02, 0x00, 0x08,
-   0x8F, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x91, 0x08,  0x89, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x90, 0x4E,
-   0x4F, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x92,  0x4E, 0x96, 0x02, 0x00,
-   0x08, 0x93, 0x49, 0x9D,  0x02, 0x00, 0x2B, 0x00,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x02,
-   0x00, 0x08, 0x92, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x94, 0x49, 0x12, 0x9D,  0x02, 0x00, 0x0E, 0x00,
-   0x96, 0x02, 0x00, 0x08,  0x8F, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x93, 0x05,  0x00, 0x4F, 0x99, 0x02,
-   0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x93, 0x05, 0x01,
-   0x4F, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x95,  0x4E, 0x12, 0x9D, 0x02,
-   0x00, 0x41, 0x00, 0x96,  0x04, 0x00, 0x08, 0x8C,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x95,
-   0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
-   0x96, 0x52, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x8C,  0x1C, 0x96, 0x01, 0x00,  0x02, 0x49, 0x12, 0x12,
-   0x9D, 0x02, 0x00, 0x0F,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x95,
-   0x08, 0x8C, 0x1C, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x8F, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x97, 0x08,
-   0x89, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x97, 0x4E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,
-   0x02, 0x00, 0x08, 0x98,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x26, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,
-   0x1C, 0x96, 0x04, 0x00,  0x08, 0x99, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x98, 0x4E, 0x96,
-   0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x9A, 0x52,
-   0x4F, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x9B,  0x4E, 0x12, 0x9D, 0x02,
-   0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x9C, 0x08, 0x89,
-   0x1C, 0x96, 0x02, 0x00,  0x08, 0x9B, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
-   0x9D, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x9E, 0x4E, 0x96,
-   0x02, 0x00, 0x08, 0x9F,  0x49, 0x9D, 0x02, 0x00,  0x2B, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x9E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x94, 0x49,  0x12, 0x9D, 0x02, 0x00,
-   0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8F, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x9F, 0x05, 0x00, 0x4F,
-   0x99, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x9F,
-   0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA0, 0x4E, 0x96,
-   0x02, 0x00, 0x08, 0xA1,  0x49, 0x9D, 0x02, 0x00,  0x4F, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0xA0, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xA2, 0x49,  0x9D, 0x02, 0x00, 0x25,
-   0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA0,  0x08, 0x89, 0x1C, 0x96,
-   0x02, 0x00, 0x08, 0xA0,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x9D, 0x3D,
-   0x4F, 0x99, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8F, 0x1C,  0x96, 0x04, 0x00, 0x08,
-   0xA0, 0x05, 0x00, 0x4F,  0x99, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,
-   0x04, 0x00, 0x08, 0xA0,  0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,
-   0x08, 0xA3, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,
-   0x04, 0x00, 0x08, 0xA3,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA3,  0x4E, 0x96, 0x07, 0x00,
++  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x88,  0x9B, 0x10, 0x00, 0x00,  0x02, 0x00, 0x6E, 0x61,
++  0x6D, 0x65, 0x00, 0x73,  0x74, 0x79, 0x6C, 0x65,  0x00, 0x67, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,
++  0x1C, 0x96, 0x02, 0x00,  0x08, 0x84, 0x4E, 0x12,  0x12, 0x9D, 0x02, 0x00,  0x12, 0x00, 0x96, 0x02,
++  0x00, 0x08, 0x09, 0x1C,  0x96, 0x07, 0x00, 0x08,  0x84, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x4F,
++  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x84, 0x4E,  0x96, 0x02, 0x00, 0x08,
++  0x87, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
++  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7F,  0x52, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x87, 0x1C,
++  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x8A,
++  0x52, 0x17, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x79,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7E, 0x4E, 0x96,
++  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x8B, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,
++  0x5B, 0x00, 0x96, 0x04,  0x00, 0x08, 0x8C, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x84, 0x4E,
++  0x3C, 0x96, 0x07, 0x00,  0x08, 0x8D, 0x07, 0x00,  0x00, 0x00, 0x00, 0x42,  0x3C, 0x96, 0x02, 0x00,
++  0x08, 0x8C, 0x46, 0x87,  0x01, 0x00, 0x00, 0x96,  0x01, 0x00, 0x02, 0x49,  0x9D, 0x02, 0x00, 0x25,
++  0x00, 0x96, 0x04, 0x00,  0x08, 0x82, 0x04, 0x00,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x82, 0x1C, 0x96,
++  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x8D, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0D, 0x52,
++  0x17, 0x99, 0x02, 0x00,  0xCD, 0xFF, 0x96, 0x02,  0x00, 0x08, 0x8D, 0x1C,  0x3E, 0x4F, 0x96, 0x02,
++  0x00, 0x08, 0x79, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
++  0x96, 0x02, 0x00, 0x08,  0x8A, 0x9B, 0x0A, 0x00,  0x00, 0x01, 0x00, 0x6E,  0x61, 0x6D, 0x65, 0x00,
++  0x5C, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x85, 0x4E, 0x12, 0x12,
++  0x9D, 0x02, 0x00, 0x12,  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x07, 0x00, 0x08, 0x85,
++  0x07, 0x00, 0x00, 0x00,  0x00, 0x43, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0x85, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x87,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
++  0x02, 0x00, 0x08, 0x84,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x87, 0x1C, 0x4E,  0x96, 0x07, 0x00, 0x07,
++  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x8E,  0x52, 0x4F, 0x4F, 0x96,
++  0x02, 0x00, 0x08, 0x79,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7E, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,
++  0x4E, 0x96, 0x02, 0x00,  0x08, 0x8E, 0x9B, 0x0B,  0x00, 0x00, 0x01, 0x00,  0x73, 0x74, 0x79, 0x6C,
++  0x65, 0x00, 0x9D, 0x03,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x01,  0x00, 0x02, 0x49, 0x12,
++  0x9D, 0x02, 0x00, 0x05,  0x00, 0x96, 0x01, 0x00,  0x02, 0x3E, 0x96, 0x09,  0x00, 0x08, 0x8F, 0x07,
++  0x00, 0x00, 0x00, 0x00,  0x08, 0x7D, 0x40, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x02,
++  0x00, 0x08, 0x90, 0x4E,  0x12, 0x9D, 0x02, 0x00,  0x15, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8F, 0x1C,
++  0x96, 0x04, 0x00, 0x08,  0x91, 0x08, 0x89, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x90, 0x4E, 0x4F, 0x96,
++  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x92, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x93,
++  0x49, 0x9D, 0x02, 0x00,  0x2B, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,  0x96, 0x02, 0x00, 0x08,
++  0x92, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x94, 0x49,  0x12, 0x9D, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,
++  0x00, 0x08, 0x8F, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x93, 0x05, 0x00, 0x4F,  0x99, 0x02, 0x00, 0x0E,
++  0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x93,  0x05, 0x01, 0x4F, 0x96,
++  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x95, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x41,
++  0x00, 0x96, 0x04, 0x00,  0x08, 0x8C, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x95, 0x4E, 0x96,
++  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x96, 0x52,
++  0x3C, 0x96, 0x02, 0x00,  0x08, 0x8C, 0x1C, 0x96,  0x01, 0x00, 0x02, 0x49,  0x12, 0x12, 0x9D, 0x02,
++  0x00, 0x0F, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x95, 0x08, 0x8C,
++  0x1C, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x8F, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x97, 0x08, 0x89, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0x97, 0x4E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0x98, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x26,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,
++  0x04, 0x00, 0x08, 0x99,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x98,  0x4E, 0x96, 0x07, 0x00,
++  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x9A, 0x52, 0x4F, 0x96,
++  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x9B, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,
++  0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x9C,  0x08, 0x89, 0x1C, 0x96,
++  0x02, 0x00, 0x08, 0x9B,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x9D, 0x3D,
++  0x4F, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x9E,  0x4E, 0x96, 0x02, 0x00,
++  0x08, 0x9F, 0x49, 0x9D,  0x02, 0x00, 0x2B, 0x00,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x02,
++  0x00, 0x08, 0x9E, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x94, 0x49, 0x12, 0x9D,  0x02, 0x00, 0x0E, 0x00,
++  0x96, 0x02, 0x00, 0x08,  0x8F, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x9F, 0x05,  0x00, 0x4F, 0x99, 0x02,
++  0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x9F, 0x05, 0x01,
++  0x4F, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA0,  0x4E, 0x96, 0x02, 0x00,
++  0x08, 0xA1, 0x49, 0x9D,  0x02, 0x00, 0x4F, 0x00,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x02,
++  0x00, 0x08, 0xA0, 0x4E,  0x96, 0x02, 0x00, 0x08,  0xA2, 0x49, 0x9D, 0x02,  0x00, 0x25, 0x00, 0x96,
++  0x02, 0x00, 0x08, 0x8F,  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA0, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0xA0, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x9D, 0x3D, 0x4F, 0x99,
++  0x02, 0x00, 0x0E, 0x00,  0x96, 0x02, 0x00, 0x08,  0x8F, 0x1C, 0x96, 0x04,  0x00, 0x08, 0xA0, 0x05,
++  0x00, 0x4F, 0x99, 0x02,  0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,  0x1C, 0x96, 0x04, 0x00,
++  0x08, 0xA0, 0x05, 0x01,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA3,
++  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,  0x1C, 0x96, 0x04, 0x00,
++  0x08, 0xA3, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA3, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,
++  0x00, 0x00, 0x00, 0x08,  0x9D, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0xA4, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,
++  0x04, 0x00, 0x08, 0xA5,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA4,  0x4E, 0x96, 0x07, 0x00,
 +  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x9D, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,
-   0x02, 0x00, 0x08, 0xA4,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,
-   0x1C, 0x96, 0x04, 0x00,  0x08, 0xA5, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA4, 0x4E, 0x96,
++  0x02, 0x00, 0x08, 0xA6,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,
++  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA6, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA6, 0x4E, 0x96,
 +  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x9D, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x89,
-   0x1C, 0x96, 0x02, 0x00,  0x08, 0xA6, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,  0x00, 0x96, 0x02, 0x00,
-   0x08, 0x8F, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA6,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA6,
++  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA7, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,  0x00, 0x96, 0x02, 0x00,
++  0x08, 0x8F, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA8,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA7,
 +  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x9D, 0x3D,  0x4F, 0x96, 0x02, 0x00,
-   0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA7,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,
-   0x02, 0x00, 0x08, 0x8F,  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA8, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,
-   0x08, 0xA7, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x9D, 0x3D, 0x4F, 0x96,
-   0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA9, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x3B,
-   0x00, 0x96, 0x04, 0x00,  0x08, 0x8C, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA9, 0x4E, 0x96,
-   0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x9D, 0x3D, 0x3C, 0x96,  0x07, 0x00, 0x07, 0x00,
-   0x00, 0x00, 0x00, 0x08,  0x8C, 0x1C, 0x48, 0x12,  0x9D, 0x02, 0x00, 0x0F,  0x00, 0x96, 0x02, 0x00,
-   0x08, 0x8F, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xAA,  0x08, 0x8C, 0x1C, 0x4F,  0x96, 0x02, 0x00, 0x08,
-   0x89, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xAB, 0x4E,  0x96, 0x02, 0x00, 0x08,  0xAC, 0x49, 0x9D, 0x02,
-   0x00, 0x2B, 0x00, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xAB, 0x4E, 0x96,
-   0x02, 0x00, 0x08, 0xAD,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,
-   0x1C, 0x96, 0x04, 0x00,  0x08, 0xAC, 0x05, 0x00,  0x4F, 0x99, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,
-   0x00, 0x08, 0x8F, 0x1C,  0x96, 0x04, 0x00, 0x08,  0xAC, 0x05, 0x01, 0x4F,  0x96, 0x02, 0x00, 0x08,
-   0x8F, 0x1C, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x79, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7E, 0x4E,
-   0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xAE, 0x9B,  0x09, 0x00, 0x00, 0x01,
-   0x00, 0x63, 0x73, 0x73,  0x00, 0xC8, 0x00, 0x96,  0x04, 0x00, 0x08, 0xB1,  0x08, 0xAF, 0x1C, 0x96,
-   0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xB0, 0x52,
-   0x3C, 0x96, 0x02, 0x00,  0x08, 0xB1, 0x1C, 0x44,  0x96, 0x02, 0x00, 0x08,  0xB2, 0x49, 0x12, 0x9D,
-   0x02, 0x00, 0x06, 0x00,  0x96, 0x02, 0x00, 0x05,  0x00, 0x3E, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x84, 0x4E, 0x12, 0x12,  0x9D, 0x02, 0x00, 0x12,  0x00, 0x96, 0x02, 0x00,
-   0x08, 0x09, 0x1C, 0x96,  0x07, 0x00, 0x08, 0x84,  0x07, 0x00, 0x00, 0x00,  0x00, 0x43, 0x4F, 0x96,
-   0x02, 0x00, 0x08, 0xB1,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,  0x02, 0x49, 0x9D, 0x02,
-   0x00, 0x56, 0x00, 0x96,  0x04, 0x00, 0x08, 0x82,  0x04, 0x00, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x09,
-   0x1C, 0x96, 0x02, 0x00,  0x08, 0x84, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x82,  0x1C, 0x96, 0x02, 0x00,
-   0x08, 0xB1, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x82,  0x1C, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
-   0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7F, 0x52, 0x4F,  0x96, 0x02, 0x00, 0x08,
-   0x82, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
-   0x08, 0x8A, 0x52, 0x17,  0x99, 0x02, 0x00, 0x9C,  0xFF, 0x96, 0x02, 0x00,  0x05, 0x01, 0x3E, 0x4F,
-   0x96, 0x02, 0x00, 0x08,  0x79, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7E, 0x4E,  0x96, 0x02, 0x00, 0x08,
-   0x30, 0x4E, 0x96, 0x04,  0x00, 0x08, 0xB3, 0x08,  0x79, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7E, 0x4E,
-   0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xAE, 0x4E,  0x4F, 0x96, 0x02, 0x00,
-   0x08, 0x79, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
-   0x13, 0x00, 0x08, 0x33,  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x2D, 0x01,  0x00, 0x00, 0x07, 0x02,
-   0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x79,  0x1C, 0x96, 0x02, 0x00,
-   0x08, 0x7E, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x35, 0x9B, 0x05,
-   0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x79,  0x1C, 0x96, 0x02, 0x00,
-   0x08, 0x7E, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x36, 0x9B, 0x09,
-   0x00, 0x00, 0x01, 0x00,  0x73, 0x72, 0x63, 0x00,  0x6B, 0x00, 0x96, 0x02,  0x00, 0x08, 0x38, 0x1C,
-   0x96, 0x01, 0x00, 0x02,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x19, 0x00, 0x96,  0x09, 0x00, 0x05, 0x00,
-   0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x35, 0x52, 0x17, 0x99,
-   0x02, 0x00, 0x41, 0x00,  0x96, 0x04, 0x00, 0x08,  0xB1, 0x08, 0x38, 0x1C,  0x96, 0x07, 0x00, 0x07,
-   0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xB3,  0x52, 0x3C, 0x96, 0x02,
-   0x00, 0x08, 0x09, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x37, 0x08, 0xB1, 0x1C,  0x4F, 0x96, 0x02, 0x00,
-   0x08, 0xB1, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
-   0x00, 0x08, 0x35, 0x52,  0x17, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x79, 0x1C,  0x96, 0x02, 0x00, 0x08,
-   0x7E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0xB0, 0x07, 0x65, 0x00,
-   0x00, 0x00, 0x07, 0x71,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
-   0x96, 0x02, 0x00, 0x08,  0x79, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7E, 0x4E,  0x96, 0x02, 0x00, 0x08,
-   0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x9A, 0x07,  0x66, 0x00, 0x00, 0x00,  0x07, 0x71, 0x00, 0x00,
-   0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x79, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
-   0x96, 0x07, 0x67, 0x00,  0x00, 0x00, 0x07, 0x71,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
-   0x08, 0x01, 0x3D, 0x4F,  0x96, 0x08, 0x00, 0x07,  0x03, 0x04, 0x00, 0x00,  0x02, 0x08, 0x79, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,
-   0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x09, 0x00, 0x07,  0x03, 0x04, 0x00, 0x00,
-   0x08, 0x7E, 0x08, 0x79,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,
-   0x17, 0x96, 0x13, 0x00,  0x08, 0xB4, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,  0xFA, 0x00, 0x00, 0x00,
-   0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x1D, 0x96, 0x13, 0x00,  0x08, 0xB5, 0x07, 0x01,
-   0x00, 0x00, 0x00, 0x07,  0xFA, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
-   0x1D, 0x96, 0x13, 0x00,  0x08, 0xB6, 0x07, 0x02,  0x00, 0x00, 0x00, 0x07,  0xFA, 0x00, 0x00, 0x00,
-   0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x1D, 0x96, 0x04, 0x00,  0x08, 0xB7, 0x08, 0xB5,
-   0x1C, 0x1D, 0x96, 0x03,  0x00, 0x08, 0x13, 0x02,  0x1D, 0x96, 0x0D, 0x00,  0x07, 0x06, 0x00, 0x00,
-   0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x02, 0x08,  0x09, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x04, 0x00,
-   0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x00
++  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA9,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x3B, 0x00, 0x96,
++  0x04, 0x00, 0x08, 0x8C,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA9,  0x4E, 0x96, 0x07, 0x00,
++  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x9D, 0x3D,  0x3C, 0x96, 0x07, 0x00,  0x07, 0x00, 0x00, 0x00,
++  0x00, 0x08, 0x8C, 0x1C,  0x48, 0x12, 0x9D, 0x02,  0x00, 0x0F, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,
++  0x1C, 0x96, 0x04, 0x00,  0x08, 0xAA, 0x08, 0x8C,  0x1C, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0xAB, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xAC, 0x49,  0x9D, 0x02, 0x00, 0x2B,
++  0x00, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xAB,  0x4E, 0x96, 0x02, 0x00,
++  0x08, 0xAD, 0x49, 0x12,  0x9D, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,
++  0x04, 0x00, 0x08, 0xAC,  0x05, 0x00, 0x4F, 0x99,  0x02, 0x00, 0x0E, 0x00,  0x96, 0x02, 0x00, 0x08,
++  0x8F, 0x1C, 0x96, 0x04,  0x00, 0x08, 0xAC, 0x05,  0x01, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x8F, 0x1C,
++  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x79, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x96, 0x02,
++  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0xAE, 0x9B, 0x09, 0x00,  0x00, 0x01, 0x00, 0x63,
++  0x73, 0x73, 0x00, 0xC8,  0x00, 0x96, 0x04, 0x00,  0x08, 0xB1, 0x08, 0xAF,  0x1C, 0x96, 0x07, 0x00,
++  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0xB0, 0x52, 0x3C, 0x96,
++  0x02, 0x00, 0x08, 0xB1,  0x1C, 0x44, 0x96, 0x02,  0x00, 0x08, 0xB2, 0x49,  0x12, 0x9D, 0x02, 0x00,
++  0x06, 0x00, 0x96, 0x02,  0x00, 0x05, 0x00, 0x3E,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
++  0x00, 0x08, 0x84, 0x4E,  0x12, 0x12, 0x9D, 0x02,  0x00, 0x12, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,
++  0x1C, 0x96, 0x07, 0x00,  0x08, 0x84, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,  0x4F, 0x96, 0x02, 0x00,
++  0x08, 0xB1, 0x46, 0x87,  0x01, 0x00, 0x00, 0x96,  0x01, 0x00, 0x02, 0x49,  0x9D, 0x02, 0x00, 0x56,
++  0x00, 0x96, 0x04, 0x00,  0x08, 0x82, 0x04, 0x00,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
++  0x02, 0x00, 0x08, 0x84,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x82, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xB1,
++  0x1C, 0x96, 0x02, 0x00,  0x08, 0x82, 0x1C, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
++  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7F,  0x52, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x82, 0x1C,
++  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x8A,
++  0x52, 0x17, 0x99, 0x02,  0x00, 0x9C, 0xFF, 0x96,  0x02, 0x00, 0x05, 0x01,  0x3E, 0x4F, 0x96, 0x02,
++  0x00, 0x08, 0x79, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
++  0x96, 0x04, 0x00, 0x08,  0xB3, 0x08, 0x79, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x96, 0x02,
++  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0xAE, 0x4E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x79,
++  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7E, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
++  0x08, 0x33, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,  0x2D, 0x01, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
++  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x79, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,
++  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x35,  0x9B, 0x05, 0x00, 0x00,
++  0x00, 0x00, 0x00, 0x00,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x79, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,
++  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x36,  0x9B, 0x09, 0x00, 0x00,
++  0x01, 0x00, 0x73, 0x72,  0x63, 0x00, 0x6B, 0x00,  0x96, 0x02, 0x00, 0x08,  0x38, 0x1C, 0x96, 0x01,
++  0x00, 0x02, 0x49, 0x12,  0x9D, 0x02, 0x00, 0x19,  0x00, 0x96, 0x09, 0x00,  0x05, 0x00, 0x07, 0x01,
++  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x35, 0x52,  0x17, 0x99, 0x02, 0x00,
++  0x41, 0x00, 0x96, 0x04,  0x00, 0x08, 0xB1, 0x08,  0x38, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
++  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xB3, 0x52, 0x3C,  0x96, 0x02, 0x00, 0x08,
++  0x09, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x37, 0x08,  0xB1, 0x1C, 0x4F, 0x96,  0x02, 0x00, 0x08, 0xB1,
++  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
++  0x35, 0x52, 0x17, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x79, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7E, 0x4E,
++  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0xB0, 0x07,  0x65, 0x00, 0x00, 0x00,
++  0x07, 0x71, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
++  0x00, 0x08, 0x79, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
++  0x96, 0x13, 0x00, 0x08,  0x9A, 0x07, 0x66, 0x00,  0x00, 0x00, 0x07, 0x71,  0x00, 0x00, 0x00, 0x07,
++  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x79, 0x1C, 0x96, 0x02,
++  0x00, 0x08, 0x7E, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x96, 0x07,
++  0x67, 0x00, 0x00, 0x00,  0x07, 0x71, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
++  0x3D, 0x4F, 0x96, 0x08,  0x00, 0x07, 0x03, 0x04,  0x00, 0x00, 0x02, 0x08,  0x79, 0x1C, 0x96, 0x02,
++  0x00, 0x08, 0x7E, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,
++  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x09,  0x00, 0x07, 0x03, 0x04,  0x00, 0x00, 0x08, 0x7E,
++  0x08, 0x79, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,
++  0x13, 0x00, 0x08, 0xB4,  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0xFA, 0x00,  0x00, 0x00, 0x07, 0x02,
++  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x1D, 0x96,  0x13, 0x00, 0x08, 0xB5,  0x07, 0x01, 0x00, 0x00,
++  0x00, 0x07, 0xFA, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x1D, 0x96,
++  0x13, 0x00, 0x08, 0xB6,  0x07, 0x02, 0x00, 0x00,  0x00, 0x07, 0xFA, 0x00,  0x00, 0x00, 0x07, 0x02,
++  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x1D, 0x96,  0x04, 0x00, 0x08, 0xB7,  0x08, 0xB5, 0x1C, 0x1D,
++  0x96, 0x03, 0x00, 0x08,  0x13, 0x02, 0x1D, 0x96,  0x0D, 0x00, 0x07, 0x06,  0x00, 0x00, 0x00, 0x07,
++  0x01, 0x00, 0x00, 0x00,  0x02, 0x08, 0x09, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x04, 0x00, 0x00, 0x00,
++  0x08, 0x05, 0x3D, 0x17,  0x00
  };
  
diff-tree 5bd4a248279cf4d905d39d66b985477939ad7859 (from 9542a905aae401da5667b41fe9dd1c72093b961c)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Thu Oct 11 02:33:13 2007 +0300

    Fix scaling of tabStops units in TextField

diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 241829f..6276167 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -91,7 +91,7 @@ swfdec_text_paragraph_add_block_attribut
     swfdec_as_array_get_value (format->tab_stops, i, &val);
     g_assert (SWFDEC_AS_VALUE_IS_NUMBER (&val));
     pango_tab_array_set_tab (block->tab_stops, i, PANGO_TAB_LEFT,
-	SWFDEC_AS_VALUE_GET_NUMBER (&val));
+	SWFDEC_AS_VALUE_GET_NUMBER (&val) * 20);
   }
 
   paragraph->blocks = g_list_append (paragraph->blocks, block);
diff-tree 9542a905aae401da5667b41fe9dd1c72093b961c (from afd138a8056f50c386060bc011c24db4264b7110)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Thu Oct 11 00:00:27 2007 +0300

    Remove the removing of trailing spaces in TextField since it didn't work right

diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index 03b015b..7950cfc 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -109,7 +109,7 @@ swfdec_edit_text_render (SwfdecEditText 
     for (iter = paragraphs[i].blocks; iter != NULL; iter = iter->next)
     {
       int height, width;
-      guint length, trailing_space;
+      guint length;
       SwfdecBlock *block;
       PangoAttrList *attr_list;
 
@@ -200,13 +200,8 @@ swfdec_edit_text_render (SwfdecEditText 
       pango_attr_list_unref (attr_list);
       attr_list = NULL;
 
-      trailing_space = 0;
-      while (g_ascii_isspace (*(paragraphs[i].text +
-	      paragraphs[i].text_length - trailing_space - 1))) {
-	  trailing_space++;
-      }
       pango_layout_set_text (layout, paragraphs[i].text + block->index_ + skip,
-	  paragraphs[i].text_length - block->index_ - skip - trailing_space);
+	  paragraphs[i].text_length - block->index_ - skip);
 
       if (iter->next != NULL)
       {
@@ -218,19 +213,9 @@ swfdec_edit_text_render (SwfdecEditText 
 	    NULL);
 	line = pango_layout_get_line_readonly (layout, line_num);
 	skip_new = line->start_index + line->length - (length - skip);
-	if ((guint)(line->start_index + line->length) ==
-	    paragraphs[i].text_length - block->index_ - skip) {
-	  skip_new += trailing_space;
-	} else {
-	  trailing_space = 0;
-	  while (g_ascii_isspace (*(paragraphs[i].text + block->index_ + skip +
-		  (length - skip + skip_new) - trailing_space - 1))) {
-	      trailing_space++;
-	  }
-	}
 	pango_layout_set_text (layout,
 	    paragraphs[i].text + block->index_ + skip,
-	    length - skip + skip_new - trailing_space);
+	    length - skip + skip_new);
 	skip = skip_new;
       }
       else
diff-tree afd138a8056f50c386060bc011c24db4264b7110 (from db84d1ca8f7e91c6cacefd8a5ec821a76bdb90be)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Wed Oct 10 23:57:11 2007 +0300

    Don't allow smaller fontsizes than 1 in TextField

diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index d124972..241829f 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -158,7 +158,8 @@ swfdec_edit_text_movie_generate_paragrap
       format->letter_spacing * 20 * PANGO_SCALE); // FIXME: correct scaling?
   attr_letter_spacing->start_index = 0;
 
-  attr_size = pango_attr_size_new_absolute (format->size * 20 * PANGO_SCALE);
+  attr_size =
+    pango_attr_size_new_absolute (MAX (format->size, 1) * 20 * PANGO_SCALE);
   attr_size->start_index = 0;
 
   attr_underline = pango_attr_underline_new (
@@ -240,7 +241,7 @@ swfdec_edit_text_movie_generate_paragrap
       swfdec_text_paragraph_add_attribute (paragraph, attr_size);
 
       attr_size =
-	pango_attr_size_new_absolute (format->size * 20 * PANGO_SCALE);
+	pango_attr_size_new_absolute (MAX (1, format->size) * 20 * PANGO_SCALE);
       attr_size->start_index = index_ - start_index;
     }
 
diff-tree db84d1ca8f7e91c6cacefd8a5ec821a76bdb90be (from f60d68fe3354e7686d2cfb781d10137bdc9299ee)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Wed Oct 10 23:50:09 2007 +0300

    Support indent and leading correctly in TextField

diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index 0946292..03b015b 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -132,21 +132,31 @@ swfdec_edit_text_render (SwfdecEditText 
 	SWFDEC_GRAPHIC (text)->extents.x0 - block->left_margin -
 	block->right_margin - block->block_indent;
 
+      if (block->index_ == 0 && paragraphs[i].indent < 0) {
+	cairo_rel_move_to (cr, paragraphs[i].indent / PANGO_SCALE, 0);
+	width += -paragraphs[i].indent / PANGO_SCALE;
+      }
+
       pango_cairo_update_layout (cr, layout);
       pango_layout_context_changed (layout);
       pango_layout_set_width (layout, width * PANGO_SCALE);
 
       // set paragraph styles
+      if (block->index_ == 0) {
+	pango_layout_set_indent (layout, paragraphs[i].indent);
+	// TODO: bullet
+      } else {
+	pango_layout_set_indent (layout, 0);
+      }
+
+      // set block styles
       pango_layout_set_alignment (layout, block->align);
       pango_layout_set_justify (layout, block->justify);
-      pango_layout_set_indent (layout, block->indent);
       pango_layout_set_spacing (layout, block->leading);
       pango_layout_set_tabs (layout, block->tab_stops);
-      // TODO: bullet
 
       // set text attributes
-      if (block->index_ + skip > 0 ||
-	  !swfdec_color_transform_is_identity (trans))
+      if (block->index_ > 0 || !swfdec_color_transform_is_identity (trans))
       {
 	GList *iter_attrs;
 
@@ -208,7 +218,7 @@ swfdec_edit_text_render (SwfdecEditText 
 	    NULL);
 	line = pango_layout_get_line_readonly (layout, line_num);
 	skip_new = line->start_index + line->length - (length - skip);
-	if (line->start_index + line->length ==
+	if ((guint)(line->start_index + line->length) ==
 	    paragraphs[i].text_length - block->index_ - skip) {
 	  skip_new += trailing_space;
 	} else {
@@ -232,7 +242,9 @@ swfdec_edit_text_render (SwfdecEditText 
 
       pango_layout_get_pixel_size (layout, NULL, &height);
       cairo_rel_move_to (cr, -(block->left_margin + block->block_indent),
-	  height);
+	  height + block->leading / PANGO_SCALE);
+      if (block->index_ == 0 && paragraphs[i].indent < 0)
+	cairo_rel_move_to (cr, -paragraphs[i].indent / PANGO_SCALE, 0);
     }
   }
 
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index 3b21d10..1d8f7e5 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -43,8 +43,6 @@ typedef struct {
 
   PangoAlignment	align;
   gboolean		justify;
-  gboolean		bullet;
-  int			indent;
   int			leading;
   int			block_indent;
   int			left_margin;
@@ -56,6 +54,9 @@ typedef struct {
   const char		*text;
   guint			text_length;
 
+  gboolean		bullet;
+  int			indent;
+
   GList *		blocks;		// SwfdecBlock
 
   GList *		attrs;	// PangoAttribute
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 4eaaa76..d124972 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -80,8 +80,6 @@ swfdec_text_paragraph_add_block_attribut
       block->justify = TRUE;
       break;
   }
-  block->bullet = format->bullet;
-  block->indent = format->indent * 20;
   block->leading = format->leading * 20 * PANGO_SCALE;
   block->block_indent = format->block_indent * 20;
   block->left_margin = format->left_margin * 20;
@@ -130,6 +128,10 @@ swfdec_edit_text_movie_generate_paragrap
   index_ = start_index;
   format = ((SwfdecFormatIndex *)(iter->data))->format;
 
+  // Paragraph formats
+  paragraph->bullet = format->bullet;
+  paragraph->indent = format->indent * 20 * PANGO_SCALE;
+
   // Add new block
   swfdec_text_paragraph_add_block_attributes (paragraph, 0, format);
 
diff-tree f60d68fe3354e7686d2cfb781d10137bdc9299ee (from 70f2d6114399d0ef3cad61f25a334e869c67ac98)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Wed Oct 10 23:24:53 2007 +0300

    Don't render trailing space in TextField

diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index c150b4a..0946292 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -109,7 +109,7 @@ swfdec_edit_text_render (SwfdecEditText 
     for (iter = paragraphs[i].blocks; iter != NULL; iter = iter->next)
     {
       int height, width;
-      guint length;
+      guint length, trailing_space;
       SwfdecBlock *block;
       PangoAttrList *attr_list;
 
@@ -190,8 +190,13 @@ swfdec_edit_text_render (SwfdecEditText 
       pango_attr_list_unref (attr_list);
       attr_list = NULL;
 
+      trailing_space = 0;
+      while (g_ascii_isspace (*(paragraphs[i].text +
+	      paragraphs[i].text_length - trailing_space - 1))) {
+	  trailing_space++;
+      }
       pango_layout_set_text (layout, paragraphs[i].text + block->index_ + skip,
-	  paragraphs[i].text_length - block->index_ - skip);
+	  paragraphs[i].text_length - block->index_ - skip - trailing_space);
 
       if (iter->next != NULL)
       {
@@ -203,9 +208,19 @@ swfdec_edit_text_render (SwfdecEditText 
 	    NULL);
 	line = pango_layout_get_line_readonly (layout, line_num);
 	skip_new = line->start_index + line->length - (length - skip);
+	if (line->start_index + line->length ==
+	    paragraphs[i].text_length - block->index_ - skip) {
+	  skip_new += trailing_space;
+	} else {
+	  trailing_space = 0;
+	  while (g_ascii_isspace (*(paragraphs[i].text + block->index_ + skip +
+		  (length - skip + skip_new) - trailing_space - 1))) {
+	      trailing_space++;
+	  }
+	}
 	pango_layout_set_text (layout,
 	    paragraphs[i].text + block->index_ + skip,
-	    length - skip + skip_new);
+	    length - skip + skip_new - trailing_space);
 	skip = skip_new;
       }
       else
diff-tree 70f2d6114399d0ef3cad61f25a334e869c67ac98 (from 63c5d9d5f171aee080d1c3600f4b0e802c3a4d0f)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Wed Oct 10 22:53:12 2007 +0300

    Fix setting of colors in TextField and apply color transforms

diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index 77de576..c150b4a 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -88,7 +88,6 @@ swfdec_edit_text_render (SwfdecEditText 
 {
   PangoLayout *layout;
   guint i;
-  //SwfdecColor color;
 
   g_return_if_fail (SWFDEC_IS_EDIT_TEXT (text));
   g_return_if_fail (cr != NULL);
@@ -99,16 +98,12 @@ swfdec_edit_text_render (SwfdecEditText 
   cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
       SWFDEC_GRAPHIC (text)->extents.y0);
 
-  /*color = swfdec_color_apply_transform (text->color, trans);
-  swfdec_color_set_source (cr, color);*/
-
   layout = pango_cairo_create_layout (cr);
 
   for (i = 0; paragraphs[i].text != NULL; i++)
   {
     GList *iter;
     guint skip;
-    int block_num = 0;
 
     skip = 0;
     for (iter = paragraphs[i].blocks; iter != NULL; iter = iter->next)
@@ -150,7 +145,9 @@ swfdec_edit_text_render (SwfdecEditText 
       // TODO: bullet
 
       // set text attributes
-      if (block->index_ + skip > 0) {
+      if (block->index_ + skip > 0 ||
+	  !swfdec_color_transform_is_identity (trans))
+      {
 	GList *iter_attrs;
 
 	attr_list = pango_attr_list_new ();
@@ -166,9 +163,24 @@ swfdec_edit_text_render (SwfdecEditText 
 	    continue;
 
 	  attr = pango_attribute_copy (attr);
+	  if (attr->klass->type == PANGO_ATTR_FOREGROUND &&
+	      !swfdec_color_transform_is_identity (trans))
+	  {
+	    PangoColor pcolor;
+	    SwfdecColor color;
+
+	    pcolor = ((PangoAttrColor *)attr)->color;
+	    color = SWFDEC_COLOR_COMBINE (pcolor.red >> 8, pcolor.green >> 8,
+		pcolor.blue >> 8, 255);
+	    color = swfdec_color_apply_transform (color, trans);
+	    pcolor.red = SWFDEC_COLOR_R (color) << 8;
+	    pcolor.green = SWFDEC_COLOR_G (color) << 8;
+	    pcolor.blue = SWFDEC_COLOR_B (color) << 8;
+	    ((PangoAttrColor *)attr)->color = pcolor;
+	  }
 	  attr->start_index = (attr->start_index > block->index_ + skip ?
-	      attr->start_index - block->index_ + skip : 0);
-	  attr->end_index = attr->end_index - block->index_ + skip;
+	      attr->start_index - (block->index_ + skip) : 0);
+	  attr->end_index = attr->end_index - (block->index_ + skip);
 	  pango_attr_list_insert (attr_list, attr);
 	}
       } else {
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index dd9484a..4eaaa76 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -138,8 +138,9 @@ swfdec_edit_text_movie_generate_paragrap
       (format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
   attr_bold->start_index = 0;
 
-  attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color),
-      SWFDEC_COLOR_G (format->color), SWFDEC_COLOR_B (format->color));
+  attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color) * 255,
+      SWFDEC_COLOR_G (format->color) * 255,
+      SWFDEC_COLOR_B (format->color) * 255);
   attr_color->start_index = 0;
 
   if (text->text->embed_fonts)
@@ -196,8 +197,10 @@ swfdec_edit_text_movie_generate_paragrap
       attr_color->end_index = index_ - start_index;
       swfdec_text_paragraph_add_attribute (paragraph, attr_color);
 
-      attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color),
-	  SWFDEC_COLOR_G (format->color), SWFDEC_COLOR_B (format->color));
+      attr_color = pango_attr_foreground_new (
+	  SWFDEC_COLOR_R (format->color) * 255,
+	  SWFDEC_COLOR_G (format->color) * 255,
+	  SWFDEC_COLOR_B (format->color) * 255);
       attr_color->start_index = index_ - start_index;
     }
 
diff-tree 63c5d9d5f171aee080d1c3600f4b0e802c3a4d0f (from ab9704c5e59616aefc727d7e1bb91104b5e93375)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Wed Oct 10 21:21:54 2007 +0300

    Rewrite some of TextField's rendering code again

diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index f8527d5..77de576 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -83,20 +83,16 @@ swfdec_edit_text_init (SwfdecEditText * 
 
 void
 swfdec_edit_text_render (SwfdecEditText *text, cairo_t *cr,
-    const SwfdecTextRenderBlock *blocks, const SwfdecColorTransform *trans,
+    const SwfdecParagraph *paragraphs, const SwfdecColorTransform *trans,
     const SwfdecRect *inval)
 {
-  guint i, j;
   PangoLayout *layout;
-  PangoAttrList *attrs;
-  guint width;
-  int height, extra_chars, line_num;
-  PangoLayoutLine *line;
+  guint i;
   //SwfdecColor color;
 
   g_return_if_fail (SWFDEC_IS_EDIT_TEXT (text));
   g_return_if_fail (cr != NULL);
-  g_return_if_fail (blocks != NULL);
+  g_return_if_fail (paragraphs != NULL);
   g_return_if_fail (trans != NULL);
   g_return_if_fail (inval != NULL);
 
@@ -108,57 +104,109 @@ swfdec_edit_text_render (SwfdecEditText 
 
   layout = pango_cairo_create_layout (cr);
 
-  extra_chars = 0;
-  for (i = 0; blocks[i].text != NULL; i++) {
-    cairo_rel_move_to (cr, blocks[i].left_margin + blocks[i].block_indent, 0);
-    width = SWFDEC_GRAPHIC (text)->extents.x1 -
-      SWFDEC_GRAPHIC (text)->extents.x0 - blocks[i].left_margin -
-      blocks[i].right_margin - blocks[i].block_indent;
-
-    pango_cairo_update_layout (cr, layout);
-    pango_layout_set_width (layout, width * PANGO_SCALE);
-
-    // TODO: bullet
-
-    pango_layout_set_alignment (layout, blocks[i].align);
-    pango_layout_set_justify (layout, blocks[i].justify);
-    pango_layout_set_indent (layout, blocks[i].indent);
-    pango_layout_set_spacing (layout, blocks[i].leading);
-    pango_layout_set_tabs (layout, blocks[i].tab_stops);
-
-    if (!blocks[i].end_paragraph) {
-      int prev_extra_chars = extra_chars;
-      extra_chars = 0;
-      attrs = pango_attr_list_copy (blocks[i].attrs);
-      for (j = i + 1; blocks[j].text != NULL && !blocks[j-1].end_paragraph; j++)
+  for (i = 0; paragraphs[i].text != NULL; i++)
+  {
+    GList *iter;
+    guint skip;
+    int block_num = 0;
+
+    skip = 0;
+    for (iter = paragraphs[i].blocks; iter != NULL; iter = iter->next)
+    {
+      int height, width;
+      guint length;
+      SwfdecBlock *block;
+      PangoAttrList *attr_list;
+
+      block = (SwfdecBlock *)iter->data;
+      if (iter->next != NULL) {
+	length =
+	  ((SwfdecBlock *)(iter->next->data))->index_ - block->index_;
+      } else {
+	length = paragraphs[i].text_length - block->index_;
+      }
+
+      if (skip > length) {
+	skip -= length;
+	continue;
+      }
+
+      // update position
+      cairo_rel_move_to (cr, block->left_margin + block->block_indent, 0);
+      width = SWFDEC_GRAPHIC (text)->extents.x1 -
+	SWFDEC_GRAPHIC (text)->extents.x0 - block->left_margin -
+	block->right_margin - block->block_indent;
+
+      pango_cairo_update_layout (cr, layout);
+      pango_layout_context_changed (layout);
+      pango_layout_set_width (layout, width * PANGO_SCALE);
+
+      // set paragraph styles
+      pango_layout_set_alignment (layout, block->align);
+      pango_layout_set_justify (layout, block->justify);
+      pango_layout_set_indent (layout, block->indent);
+      pango_layout_set_spacing (layout, block->leading);
+      pango_layout_set_tabs (layout, block->tab_stops);
+      // TODO: bullet
+
+      // set text attributes
+      if (block->index_ + skip > 0) {
+	GList *iter_attrs;
+
+	attr_list = pango_attr_list_new ();
+
+	for (iter_attrs = paragraphs[i].attrs; iter_attrs != NULL;
+	    iter_attrs = iter_attrs->next)
+	{
+	  PangoAttribute *attr;
+
+	  attr = (PangoAttribute *)iter_attrs->data;
+
+	  if (attr->end_index <= block->index_ + skip)
+	    continue;
+
+	  attr = pango_attribute_copy (attr);
+	  attr->start_index = (attr->start_index > block->index_ + skip ?
+	      attr->start_index - block->index_ + skip : 0);
+	  attr->end_index = attr->end_index - block->index_ + skip;
+	  pango_attr_list_insert (attr_list, attr);
+	}
+      } else {
+	attr_list = pango_attr_list_copy (paragraphs[i].attrs_list);
+      }
+      pango_layout_set_attributes (layout, attr_list);
+      pango_attr_list_unref (attr_list);
+      attr_list = NULL;
+
+      pango_layout_set_text (layout, paragraphs[i].text + block->index_ + skip,
+	  paragraphs[i].text_length - block->index_ - skip);
+
+      if (iter->next != NULL)
       {
-	pango_attr_list_splice (attrs, blocks[j].attrs,
-	    blocks[i].text_length + extra_chars, blocks[j].text_length);
-	extra_chars += blocks[j].text_length;
+	PangoLayoutLine *line;
+	int line_num;
+	guint skip_new;
+
+	pango_layout_index_to_line_x (layout, length - skip, FALSE, &line_num,
+	    NULL);
+	line = pango_layout_get_line_readonly (layout, line_num);
+	skip_new = line->start_index + line->length - (length - skip);
+	pango_layout_set_text (layout,
+	    paragraphs[i].text + block->index_ + skip,
+	    length - skip + skip_new);
+	skip = skip_new;
+      }
+      else
+      {
+	skip = 0;
       }
-      pango_layout_set_text (layout, blocks[i].text + prev_extra_chars,
-	  blocks[i].text_length + extra_chars - prev_extra_chars);
-      pango_layout_set_attributes (layout, attrs);
-      pango_attr_list_unref (attrs);
-      attrs = NULL;
-
-      pango_layout_index_to_line_x (layout,
-	  blocks[i].text_length - prev_extra_chars, FALSE, &line_num, NULL);
-      line = pango_layout_get_line_readonly (layout, line_num);
-      extra_chars = line->start_index + line->length - (blocks[i].text_length - prev_extra_chars);
-      pango_layout_set_text (layout, blocks[i].text + prev_extra_chars,
-	  blocks[i].text_length + extra_chars - prev_extra_chars);
-    } else {
-      pango_layout_set_text (layout, blocks[i].text + extra_chars, blocks[i].text_length - extra_chars);
-      pango_layout_set_attributes (layout, blocks[i].attrs);
-      extra_chars = 0;
-    }
 
-    pango_cairo_show_layout (cr, layout);
+      pango_cairo_show_layout (cr, layout);
 
-    pango_layout_get_pixel_size (layout, NULL, &height);
-    cairo_rel_move_to (cr, -(blocks[i].left_margin + blocks[i].block_indent),
-	height);
+      pango_layout_get_pixel_size (layout, NULL, &height);
+      cairo_rel_move_to (cr, -(block->left_margin + block->block_indent),
+	  height);
+    }
   }
 
   g_object_unref (layout);
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index 1419979..3b21d10 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -39,10 +39,7 @@ typedef struct _SwfdecEditTextClass Swfd
 #define SWFDEC_EDIT_TEXT_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_EDIT_TEXT, SwfdecEditTextClass))
 
 typedef struct {
-  const char		*text;
-  int			text_length;
-
-  gboolean		end_paragraph;
+  guint			index_;
 
   PangoAlignment	align;
   gboolean		justify;
@@ -53,9 +50,17 @@ typedef struct {
   int			left_margin;
   int			right_margin;
   PangoTabArray *	tab_stops;
+} SwfdecBlock;
+
+typedef struct {
+  const char		*text;
+  guint			text_length;
+
+  GList *		blocks;		// SwfdecBlock
 
-  PangoAttrList *	attrs;
-} SwfdecTextRenderBlock;
+  GList *		attrs;	// PangoAttribute
+  PangoAttrList *	attrs_list;
+} SwfdecParagraph;
 
 typedef enum {
   SWFDEC_AUTO_SIZE_NONE,
@@ -108,7 +113,7 @@ int			tag_func_define_edit_text	(SwfdecS
 
 void			swfdec_edit_text_render		(SwfdecEditText *	text,
 							 cairo_t *		cr,
-							 const SwfdecTextRenderBlock *	blocks,
+							 const SwfdecParagraph *	paragraphs,
 							 const SwfdecColorTransform *	trans,
 							 const SwfdecRect *		rect);
 
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 0f21a26..dd9484a 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -42,33 +42,25 @@ swfdec_edit_text_movie_update_extents (S
 }
 
 static void
-swfdec_edit_text_movie_generate_render_block (SwfdecEditTextMovie *text,
-    SwfdecTextRenderBlock *block, guint start_index, guint end_index)
+swfdec_text_paragraph_add_attribute (SwfdecParagraph *paragraph,
+    PangoAttribute *attr)
+{
+  paragraph->attrs = g_list_append (paragraph->attrs,
+      pango_attribute_copy (attr));
+  pango_attr_list_insert (paragraph->attrs_list, attr);
+}
+
+static void
+swfdec_text_paragraph_add_block_attributes (SwfdecParagraph *paragraph,
+    int index_, SwfdecTextFormat *format)
 {
-  SwfdecTextFormat *format, *format_prev;
-  guint index_;
-  GSList *iter;
   gint32 length, i;
+  SwfdecBlock *block;
   SwfdecAsValue val;
-  PangoAttribute *attr_bold, *attr_color, *attr_font, *attr_italic,
-		 *attr_letter_spacing, *attr_size, *attr_underline;
-  // TODO: kerning
-
-  g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
-  g_assert (block != NULL);
-  g_assert (start_index < end_index);
-  g_assert (end_index <= strlen (text->text_display));
 
-  block->text = text->text_display + start_index;
-  block->text_length = end_index - start_index;
+  block = g_new0 (SwfdecBlock, 1);
 
-  g_assert (text->formats != NULL);
-  for (iter = text->formats; iter->next != NULL &&
-      ((SwfdecFormatIndex *)(iter->next->data))->index <= start_index;
-      iter = iter->next);
-
-  index_ = start_index;
-  format = ((SwfdecFormatIndex *)(iter->data))->format;
+  block->index_ = index_;
 
   switch (format->align) {
     case SWFDEC_TEXT_ALIGN_LEFT:
@@ -104,7 +96,42 @@ swfdec_edit_text_movie_generate_render_b
 	SWFDEC_AS_VALUE_GET_NUMBER (&val));
   }
 
-  block->attrs = pango_attr_list_new ();
+  paragraph->blocks = g_list_append (paragraph->blocks, block);
+}
+
+static void
+swfdec_edit_text_movie_generate_paragraph (SwfdecEditTextMovie *text,
+    SwfdecParagraph *paragraph, guint start_index, guint end_index)
+{
+  SwfdecTextFormat *format, *format_prev;
+  guint index_;
+  GSList *iter;
+  PangoAttribute *attr_bold, *attr_color, *attr_font, *attr_italic,
+		 *attr_letter_spacing, *attr_size, *attr_underline;
+  // TODO: kerning
+
+  g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+  g_assert (paragraph != NULL);
+  g_assert (start_index < end_index);
+  g_assert (end_index <= strlen (text->text_display));
+
+  paragraph->text = text->text_display + start_index;
+  paragraph->text_length = end_index - start_index;
+
+  paragraph->blocks = NULL;
+  paragraph->attrs = NULL;
+  paragraph->attrs_list = pango_attr_list_new ();
+
+  g_assert (text->formats != NULL);
+  for (iter = text->formats; iter->next != NULL &&
+      ((SwfdecFormatIndex *)(iter->next->data))->index <= start_index;
+      iter = iter->next);
+
+  index_ = start_index;
+  format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+  // Add new block
+  swfdec_text_paragraph_add_block_attributes (paragraph, 0, format);
 
   // Open attributes
   attr_bold = pango_attr_weight_new (
@@ -143,10 +170,22 @@ swfdec_edit_text_movie_generate_render_b
     index_ = ((SwfdecFormatIndex *)(iter->data))->index;
     format = ((SwfdecFormatIndex *)(iter->data))->format;
 
+    // Add new block if necessary
+    if (format_prev->align != format->align ||
+       format_prev->bullet != format->bullet ||
+       format_prev->indent != format->indent ||
+       format_prev->leading != format->leading ||
+       format_prev->block_indent != format->block_indent ||
+       format_prev->left_margin != format->left_margin)
+    {
+      swfdec_text_paragraph_add_block_attributes (paragraph,
+	  index_ - start_index, format);
+    }
+
     // Change attributes if necessary
     if (format_prev->bold != format->bold) {
       attr_bold->end_index = index_ - start_index;
-      pango_attr_list_insert (block->attrs, attr_bold);
+      swfdec_text_paragraph_add_attribute (paragraph, attr_bold);
 
       attr_bold = pango_attr_weight_new (
 	  (format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
@@ -155,7 +194,7 @@ swfdec_edit_text_movie_generate_render_b
 
     if (format_prev->color != format->color) {
       attr_color->end_index = index_ - start_index;
-      pango_attr_list_insert (block->attrs, attr_color);
+      swfdec_text_paragraph_add_attribute (paragraph, attr_color);
 
       attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color),
 	  SWFDEC_COLOR_G (format->color), SWFDEC_COLOR_B (format->color));
@@ -164,7 +203,7 @@ swfdec_edit_text_movie_generate_render_b
 
     if (format_prev->font != format->font) {
       attr_font->end_index = index_ - start_index;
-      pango_attr_list_insert (block->attrs, attr_font);
+      swfdec_text_paragraph_add_attribute (paragraph, attr_font);
 
       if (text->text->embed_fonts)
 	SWFDEC_FIXME ("Using embed fonts in TextField not supported");
@@ -174,7 +213,7 @@ swfdec_edit_text_movie_generate_render_b
 
     if (format_prev->italic != format->italic) {
       attr_italic->end_index = index_ - start_index;
-      pango_attr_list_insert (block->attrs, attr_italic);
+      swfdec_text_paragraph_add_attribute (paragraph, attr_italic);
 
       attr_italic = pango_attr_style_new (
 	  (format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
@@ -183,7 +222,7 @@ swfdec_edit_text_movie_generate_render_b
 
     if (format_prev->letter_spacing != format->letter_spacing) {
       attr_letter_spacing->end_index = index_ - start_index;
-      pango_attr_list_insert (block->attrs, attr_letter_spacing);
+      swfdec_text_paragraph_add_attribute (paragraph, attr_letter_spacing);
 
       // FIXME: correct scaling?
       attr_letter_spacing = pango_attr_letter_spacing_new (
@@ -193,7 +232,7 @@ swfdec_edit_text_movie_generate_render_b
 
     if (format_prev->size != format->size) {
       attr_size->end_index = index_ - start_index;
-      pango_attr_list_insert (block->attrs, attr_size);
+      swfdec_text_paragraph_add_attribute (paragraph, attr_size);
 
       attr_size =
 	pango_attr_size_new_absolute (format->size * 20 * PANGO_SCALE);
@@ -202,7 +241,7 @@ swfdec_edit_text_movie_generate_render_b
 
     if (format_prev->underline != format->underline) {
       attr_underline->end_index = index_ - start_index;
-      pango_attr_list_insert (block->attrs, attr_underline);
+      swfdec_text_paragraph_add_attribute (paragraph, attr_underline);
 
       attr_underline = pango_attr_underline_new (
 	  (format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
@@ -212,83 +251,53 @@ swfdec_edit_text_movie_generate_render_b
 
   // Close attributes
   attr_bold->end_index = end_index - start_index;
-  pango_attr_list_insert (block->attrs, attr_bold);
+  swfdec_text_paragraph_add_attribute (paragraph, attr_bold);
   attr_bold = NULL;
 
   attr_color->end_index = end_index - start_index;
-  pango_attr_list_insert (block->attrs, attr_color);
+  swfdec_text_paragraph_add_attribute (paragraph, attr_color);
   attr_color = NULL;
 
   attr_font->end_index = end_index - start_index;
-  pango_attr_list_insert (block->attrs, attr_font);
+  swfdec_text_paragraph_add_attribute (paragraph, attr_font);
   attr_font = NULL;
 
   attr_italic->end_index = end_index - start_index;
-  pango_attr_list_insert (block->attrs, attr_italic);
+  swfdec_text_paragraph_add_attribute (paragraph, attr_italic);
   attr_italic = NULL;
 
   attr_letter_spacing->end_index = end_index - start_index;
-  pango_attr_list_insert (block->attrs, attr_letter_spacing);
+  swfdec_text_paragraph_add_attribute (paragraph, attr_letter_spacing);
   attr_letter_spacing = NULL;
 
   attr_size->end_index = end_index - start_index;
-  pango_attr_list_insert (block->attrs, attr_size);
+  swfdec_text_paragraph_add_attribute (paragraph, attr_size);
   attr_size = NULL;
 
   attr_underline->end_index = end_index - start_index;
-  pango_attr_list_insert (block->attrs, attr_underline);
+  swfdec_text_paragraph_add_attribute (paragraph, attr_underline);
   attr_underline = NULL;
 }
 
 static void
-swfdec_edit_text_movie_generate_render_blocks (SwfdecEditTextMovie *text)
+swfdec_edit_text_movie_generate_paragraphs (SwfdecEditTextMovie *text)
 {
   const char *p, *end;
-  SwfdecTextFormat *format, *format_prev;
-  GSList *iter;
   int num, i;
 
   g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
 
   num = 0;
-  iter = text->formats;
-  format = ((SwfdecFormatIndex *)(iter->data))->format;
   p = text->text_display;
-  while (p != NULL && *p != '\0') {
+  while (p != NULL) {
     num++;
-    end = strchr (p, '\r');
-    if (end == NULL)
-      end = strchr (p, '\0');
-
-    while (iter != NULL &&
-	((SwfdecFormatIndex *)(iter->data))->index < end - text->text_display)
-    {
-      format_prev = format;
-      format = ((SwfdecFormatIndex *)(iter->data))->format;
-
-      if (format_prev->align != format->align ||
-	  format_prev->bullet != format->bullet ||
-	  format_prev->indent != format->indent ||
-	  format_prev->leading != format->leading ||
-	  format_prev->block_indent != format->block_indent ||
-	  format_prev->left_margin != format->left_margin)
-      {
-	end = text->text_display + ((SwfdecFormatIndex *)(iter->data))->index;
-	break;
-      }
-
-      iter = iter->next;
-    }
-
-    p = end;
-    if (*p == '\r') p++;
+    p = strchr (p, '\r');
+    if (p != NULL) p++;
   }
 
-  text->blocks = g_new0 (SwfdecTextRenderBlock, num + 1);
+  text->paragraphs = g_new0 (SwfdecParagraph, num + 1);
 
   i = 0;
-  iter = text->formats;
-  format = ((SwfdecFormatIndex *)(iter->data))->format;
   p = text->text_display;
   while (*p != '\0') {
     g_assert (i < num);
@@ -296,29 +305,8 @@ swfdec_edit_text_movie_generate_render_b
     if (end == NULL)
       end = strchr (p, '\0');
 
-    while (iter != NULL &&
-	((SwfdecFormatIndex *)(iter->data))->index < end - text->text_display)
-    {
-      format_prev = format;
-      format = ((SwfdecFormatIndex *)(iter->data))->format;
-
-      if (format_prev->align != format->align ||
-	  format_prev->bullet != format->bullet ||
-	  format_prev->indent != format->indent ||
-	  format_prev->leading != format->leading ||
-	  format_prev->block_indent != format->block_indent ||
-	  format_prev->left_margin != format->left_margin)
-      {
-	end = text->text_display + ((SwfdecFormatIndex *)(iter->data))->index;
-	break;
-      }
-
-      iter = iter->next;
-    }
-
-    swfdec_edit_text_movie_generate_render_block (text, &text->blocks[i],
+    swfdec_edit_text_movie_generate_paragraph (text, &text->paragraphs[i],
 	p - text->text_display, end - text->text_display);
-    text->blocks[i].end_paragraph = (*end == '\r' || *end == '\0');
 
     p = end;
     if (*p == '\r') p++;
@@ -334,47 +322,44 @@ swfdec_edit_text_movie_render (SwfdecMov
 {
   SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (movie);
 
-  if (text->blocks == NULL)
-    swfdec_edit_text_movie_generate_render_blocks (text);
+  if (text->paragraphs == NULL)
+    swfdec_edit_text_movie_generate_paragraphs (text);
 
-  if (text->blocks[0].text == NULL)
+  if (text->paragraphs[0].text == NULL)
     return;
-  swfdec_edit_text_render (text->text, cr, text->blocks, trans, inval);
+  swfdec_edit_text_render (text->text, cr, text->paragraphs, trans, inval);
 }
 
-void
-swfdec_edit_text_movie_format_changed (SwfdecEditTextMovie *text)
+static void
+swfdec_edit_text_movie_free_paragraphs (SwfdecEditTextMovie *text)
 {
   int i;
 
-  if (text->blocks != NULL) {
-    for (i = 0; text->blocks[i].text != NULL; i++) {
-      // tabs
-      pango_attr_list_unref (text->blocks[i].attrs);
+  if (text->paragraphs) {
+    for (i = 0; text->paragraphs[i].text != NULL; i++) {
+      // FIXME
+      /*if (text->paragraphs[i].tab_stops != NULL)
+	pango_tab_array_free (text->paragraphs[i].tab_stops);*/
+      if (text->paragraphs[i].attrs_list != NULL)
+	pango_attr_list_unref (text->paragraphs[i].attrs_list);
     }
-    g_free (text->blocks);
-    text->blocks = NULL;
-
-    swfdec_movie_invalidate (SWFDEC_MOVIE (text));
+    g_free (text->paragraphs);
+    text->paragraphs = NULL;
   }
 }
 
+void
+swfdec_edit_text_movie_format_changed (SwfdecEditTextMovie *text)
+{
+  swfdec_edit_text_movie_free_paragraphs (text);
+}
+
 static void
 swfdec_edit_text_movie_dispose (GObject *object)
 {
-  int i;
   SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (object);
 
-  if (text->blocks) {
-    for (i = 0; text->blocks[i].text != NULL; i++) {
-      if (text->blocks[i].attrs != NULL)
-	pango_attr_list_unref (text->blocks[i].attrs);
-      if (text->blocks[i].tab_stops != NULL)
-	pango_tab_array_free (text->blocks[i].tab_stops);
-    }
-    g_free (text->blocks);
-    text->blocks = NULL;
-  }
+  swfdec_edit_text_movie_free_paragraphs (text);
 
   G_OBJECT_CLASS (swfdec_edit_text_movie_parent_class)->dispose (object);
 }
diff --git a/libswfdec/swfdec_edittext_movie.h b/libswfdec/swfdec_edittext_movie.h
index b589cdb..9f0b6a9 100644
--- a/libswfdec/swfdec_edittext_movie.h
+++ b/libswfdec/swfdec_edittext_movie.h
@@ -81,7 +81,7 @@ struct _SwfdecEditTextMovie {
   int			thickness;
 
   /* for rendering */
-  SwfdecTextRenderBlock *blocks;
+  SwfdecParagraph *	paragraphs;
 };
 
 struct _SwfdecEditTextMovieClass {
diff-tree ab9704c5e59616aefc727d7e1bb91104b5e93375 (from parents)
Merge: ca62a68fa3e8625d07e1b9281cff0fb2891516fa 94783c22d4b2b4c2afc98835db2a7333b4dd59a8
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Wed Oct 10 14:33:33 2007 +0300

    Merge branch 'master' into textfield
    
    Conflicts:
    
    	libswfdec/swfdec_edittext.h
    	libswfdec/swfdec_edittext_movie.c
    	libswfdec/swfdec_html_parser.c
    	libswfdec/swfdec_initialize.as
    	libswfdec/swfdec_initialize.h

diff --cc libswfdec/Makefile.am
index 1a80e27,428a3a9..19edb60
@@@ -60,9 -61,9 +61,10 @@@
  	swfdec_color_as.c \
  	swfdec_debug.c \
  	swfdec_decoder.c \
+ 	swfdec_draw.c \
  	swfdec_edittext.c \
  	swfdec_edittext_movie.c \
 +	swfdec_edittext_movie_as.c \
  	swfdec_enums.c \
  	swfdec_event.c \
  	swfdec_file_loader.c \
diff --cc libswfdec/swfdec_edittext.c
index 8d915ce,ed641e8..f8527d5
@@@ -81,92 -82,6 +81,89 @@@
    text->max_length = G_MAXUINT;
  }
  
 +void
 +swfdec_edit_text_render (SwfdecEditText *text, cairo_t *cr,
 +    const SwfdecTextRenderBlock *blocks, const SwfdecColorTransform *trans,
-     const SwfdecRect *inval, gboolean fill)
++    const SwfdecRect *inval)
 +{
 +  guint i, j;
 +  PangoLayout *layout;
 +  PangoAttrList *attrs;
 +  guint width;
 +  int height, extra_chars, line_num;
 +  PangoLayoutLine *line;
 +  //SwfdecColor color;
 +
 +  g_return_if_fail (SWFDEC_IS_EDIT_TEXT (text));
 +  g_return_if_fail (cr != NULL);
 +  g_return_if_fail (blocks != NULL);
 +  g_return_if_fail (trans != NULL);
 +  g_return_if_fail (inval != NULL);
 +
 +  cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
 +      SWFDEC_GRAPHIC (text)->extents.y0);
 +
 +  /*color = swfdec_color_apply_transform (text->color, trans);
 +  swfdec_color_set_source (cr, color);*/
 +
 +  layout = pango_cairo_create_layout (cr);
 +
 +  extra_chars = 0;
 +  for (i = 0; blocks[i].text != NULL; i++) {
 +    cairo_rel_move_to (cr, blocks[i].left_margin + blocks[i].block_indent, 0);
 +    width = SWFDEC_GRAPHIC (text)->extents.x1 -
 +      SWFDEC_GRAPHIC (text)->extents.x0 - blocks[i].left_margin -
 +      blocks[i].right_margin - blocks[i].block_indent;
 +
 +    pango_cairo_update_layout (cr, layout);
 +    pango_layout_set_width (layout, width * PANGO_SCALE);
 +
 +    // TODO: bullet
 +
 +    pango_layout_set_alignment (layout, blocks[i].align);
 +    pango_layout_set_justify (layout, blocks[i].justify);
 +    pango_layout_set_indent (layout, blocks[i].indent);
 +    pango_layout_set_spacing (layout, blocks[i].leading);
 +    pango_layout_set_tabs (layout, blocks[i].tab_stops);
 +
 +    if (!blocks[i].end_paragraph) {
 +      int prev_extra_chars = extra_chars;
 +      extra_chars = 0;
 +      attrs = pango_attr_list_copy (blocks[i].attrs);
 +      for (j = i + 1; blocks[j].text != NULL && !blocks[j-1].end_paragraph; j++)
 +      {
 +	pango_attr_list_splice (attrs, blocks[j].attrs,
 +	    blocks[i].text_length + extra_chars, blocks[j].text_length);
 +	extra_chars += blocks[j].text_length;
 +      }
 +      pango_layout_set_text (layout, blocks[i].text + prev_extra_chars,
 +	  blocks[i].text_length + extra_chars - prev_extra_chars);
 +      pango_layout_set_attributes (layout, attrs);
 +      pango_attr_list_unref (attrs);
 +      attrs = NULL;
 +
 +      pango_layout_index_to_line_x (layout,
 +	  blocks[i].text_length - prev_extra_chars, FALSE, &line_num, NULL);
 +      line = pango_layout_get_line_readonly (layout, line_num);
 +      extra_chars = line->start_index + line->length - (blocks[i].text_length - prev_extra_chars);
 +      pango_layout_set_text (layout, blocks[i].text + prev_extra_chars,
 +	  blocks[i].text_length + extra_chars - prev_extra_chars);
 +    } else {
 +      pango_layout_set_text (layout, blocks[i].text + extra_chars, blocks[i].text_length - extra_chars);
 +      pango_layout_set_attributes (layout, blocks[i].attrs);
 +      extra_chars = 0;
 +    }
 +
-     if (fill)
-       pango_cairo_show_layout (cr, layout);
-     else
-       pango_cairo_layout_path (cr, layout);
++    pango_cairo_show_layout (cr, layout);
 +
 +    pango_layout_get_pixel_size (layout, NULL, &height);
 +    cairo_rel_move_to (cr, -(blocks[i].left_margin + blocks[i].block_indent),
 +	height);
 +  }
 +
 +  g_object_unref (layout);
 +}
 +
  int
  tag_func_define_edit_text (SwfdecSwfDecoder * s, guint tag)
  {
diff --cc libswfdec/swfdec_edittext.h
index 795d5bc,23405c2..1419979
@@@ -106,12 -80,18 +106,11 @@@
  int			tag_func_define_edit_text	(SwfdecSwfDecoder *	s,
  							 guint			tag);
  
 -/* implemented in swfdec_html_parser.c */
 -SwfdecParagraph *	swfdec_paragraph_html_parse   	(SwfdecEditText *	text, 
 -							 const char *		str);
 -SwfdecParagraph *	swfdec_paragraph_text_parse	(SwfdecEditText *       text,
 -							 const char *		str);
 -void			swfdec_paragraph_free		(SwfdecParagraph *	paragraphs);
  void			swfdec_edit_text_render		(SwfdecEditText *	text,
  							 cairo_t *		cr,
 -							 const SwfdecParagraph *	paragraph,
 +							 const SwfdecTextRenderBlock *	blocks,
  							 const SwfdecColorTransform *	trans,
- 							 const SwfdecRect *	rect,
- 							 gboolean		fill);
+ 							 const SwfdecRect *		rect);
  
 -
  G_END_DECLS
  #endif
diff --cc libswfdec/swfdec_edittext_movie.c
index e481a86,e3b1ba5..0f21a26
@@@ -42,328 -38,19 +42,321 @@@
  }
  
  static void
 -swfdec_edit_text_movie_render (SwfdecMovie *movie, cairo_t *cr, 
 +swfdec_edit_text_movie_generate_render_block (SwfdecEditTextMovie *text,
 +    SwfdecTextRenderBlock *block, guint start_index, guint end_index)
 +{
 +  SwfdecTextFormat *format, *format_prev;
 +  guint index_;
 +  GSList *iter;
 +  gint32 length, i;
 +  SwfdecAsValue val;
 +  PangoAttribute *attr_bold, *attr_color, *attr_font, *attr_italic,
 +		 *attr_letter_spacing, *attr_size, *attr_underline;
 +  // TODO: kerning
 +
 +  g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
 +  g_assert (block != NULL);
 +  g_assert (start_index < end_index);
 +  g_assert (end_index <= strlen (text->text_display));
 +
 +  block->text = text->text_display + start_index;
 +  block->text_length = end_index - start_index;
 +
 +  g_assert (text->formats != NULL);
 +  for (iter = text->formats; iter->next != NULL &&
 +      ((SwfdecFormatIndex *)(iter->next->data))->index <= start_index;
 +      iter = iter->next);
 +
 +  index_ = start_index;
 +  format = ((SwfdecFormatIndex *)(iter->data))->format;
 +
 +  switch (format->align) {
 +    case SWFDEC_TEXT_ALIGN_LEFT:
 +      block->align = PANGO_ALIGN_LEFT;
 +      block->justify = FALSE;
 +      break;
 +    case SWFDEC_TEXT_ALIGN_RIGHT:
 +      block->align = PANGO_ALIGN_RIGHT;
 +      block->justify = FALSE;
 +      break;
 +    case SWFDEC_TEXT_ALIGN_CENTER:
 +      block->align = PANGO_ALIGN_CENTER;
 +      block->justify = FALSE;
 +      break;
 +    case SWFDEC_TEXT_ALIGN_JUSTIFY:
 +      block->align = PANGO_ALIGN_LEFT;
 +      block->justify = TRUE;
 +      break;
 +  }
 +  block->bullet = format->bullet;
 +  block->indent = format->indent * 20;
 +  block->leading = format->leading * 20 * PANGO_SCALE;
 +  block->block_indent = format->block_indent * 20;
 +  block->left_margin = format->left_margin * 20;
 +  block->right_margin = format->right_margin * 20;
 +
 +  length = swfdec_as_array_get_length (format->tab_stops);
 +  block->tab_stops = pango_tab_array_new (length, TRUE);
 +  for (i = 0; i < length; i++) {
 +    swfdec_as_array_get_value (format->tab_stops, i, &val);
 +    g_assert (SWFDEC_AS_VALUE_IS_NUMBER (&val));
 +    pango_tab_array_set_tab (block->tab_stops, i, PANGO_TAB_LEFT,
 +	SWFDEC_AS_VALUE_GET_NUMBER (&val));
 +  }
 +
 +  block->attrs = pango_attr_list_new ();
 +
 +  // Open attributes
 +  attr_bold = pango_attr_weight_new (
 +      (format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
 +  attr_bold->start_index = 0;
 +
 +  attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color),
 +      SWFDEC_COLOR_G (format->color), SWFDEC_COLOR_B (format->color));
 +  attr_color->start_index = 0;
 +
 +  if (text->text->embed_fonts)
 +    SWFDEC_FIXME ("Using embed fonts in TextField not supported");
 +  attr_font = pango_attr_family_new (format->font);
 +  attr_font->start_index = 0;
 +
 +  attr_italic = pango_attr_style_new (
 +      (format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
 +  attr_italic->start_index = 0;
 +
 +  attr_letter_spacing = pango_attr_letter_spacing_new (
 +      format->letter_spacing * 20 * PANGO_SCALE); // FIXME: correct scaling?
 +  attr_letter_spacing->start_index = 0;
 +
 +  attr_size = pango_attr_size_new_absolute (format->size * 20 * PANGO_SCALE);
 +  attr_size->start_index = 0;
 +
 +  attr_underline = pango_attr_underline_new (
 +      (format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
 +  attr_underline->start_index = 0;
 +
 +  for (iter = iter->next;
 +      iter != NULL && ((SwfdecFormatIndex *)(iter->data))->index < end_index;
 +      iter = iter->next)
 +  {
 +    format_prev = format;
 +    index_ = ((SwfdecFormatIndex *)(iter->data))->index;
 +    format = ((SwfdecFormatIndex *)(iter->data))->format;
 +
 +    // Change attributes if necessary
 +    if (format_prev->bold != format->bold) {
 +      attr_bold->end_index = index_ - start_index;
 +      pango_attr_list_insert (block->attrs, attr_bold);
 +
 +      attr_bold = pango_attr_weight_new (
 +	  (format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
 +      attr_bold->start_index = index_ - start_index;
 +    }
 +
 +    if (format_prev->color != format->color) {
 +      attr_color->end_index = index_ - start_index;
 +      pango_attr_list_insert (block->attrs, attr_color);
 +
 +      attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color),
 +	  SWFDEC_COLOR_G (format->color), SWFDEC_COLOR_B (format->color));
 +      attr_color->start_index = index_ - start_index;
 +    }
 +
 +    if (format_prev->font != format->font) {
 +      attr_font->end_index = index_ - start_index;
 +      pango_attr_list_insert (block->attrs, attr_font);
 +
 +      if (text->text->embed_fonts)
 +	SWFDEC_FIXME ("Using embed fonts in TextField not supported");
 +      attr_font = pango_attr_family_new (format->font);
 +      attr_font->start_index = index_ - start_index;
 +    }
 +
 +    if (format_prev->italic != format->italic) {
 +      attr_italic->end_index = index_ - start_index;
 +      pango_attr_list_insert (block->attrs, attr_italic);
 +
 +      attr_italic = pango_attr_style_new (
 +	  (format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
 +      attr_italic->start_index = index_ - start_index;
 +    }
 +
 +    if (format_prev->letter_spacing != format->letter_spacing) {
 +      attr_letter_spacing->end_index = index_ - start_index;
 +      pango_attr_list_insert (block->attrs, attr_letter_spacing);
 +
 +      // FIXME: correct scaling?
 +      attr_letter_spacing = pango_attr_letter_spacing_new (
 +	  format->letter_spacing * 20 * PANGO_SCALE);
 +      attr_letter_spacing->start_index = index_ - start_index;
 +    }
 +
 +    if (format_prev->size != format->size) {
 +      attr_size->end_index = index_ - start_index;
 +      pango_attr_list_insert (block->attrs, attr_size);
 +
 +      attr_size =
 +	pango_attr_size_new_absolute (format->size * 20 * PANGO_SCALE);
 +      attr_size->start_index = index_ - start_index;
 +    }
 +
 +    if (format_prev->underline != format->underline) {
 +      attr_underline->end_index = index_ - start_index;
 +      pango_attr_list_insert (block->attrs, attr_underline);
 +
 +      attr_underline = pango_attr_underline_new (
 +	  (format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
 +      attr_underline->start_index = index_ - start_index;
 +    }
 +  }
 +
 +  // Close attributes
 +  attr_bold->end_index = end_index - start_index;
 +  pango_attr_list_insert (block->attrs, attr_bold);
 +  attr_bold = NULL;
 +
 +  attr_color->end_index = end_index - start_index;
 +  pango_attr_list_insert (block->attrs, attr_color);
 +  attr_color = NULL;
 +
 +  attr_font->end_index = end_index - start_index;
 +  pango_attr_list_insert (block->attrs, attr_font);
 +  attr_font = NULL;
 +
 +  attr_italic->end_index = end_index - start_index;
 +  pango_attr_list_insert (block->attrs, attr_italic);
 +  attr_italic = NULL;
 +
 +  attr_letter_spacing->end_index = end_index - start_index;
 +  pango_attr_list_insert (block->attrs, attr_letter_spacing);
 +  attr_letter_spacing = NULL;
 +
 +  attr_size->end_index = end_index - start_index;
 +  pango_attr_list_insert (block->attrs, attr_size);
 +  attr_size = NULL;
 +
 +  attr_underline->end_index = end_index - start_index;
 +  pango_attr_list_insert (block->attrs, attr_underline);
 +  attr_underline = NULL;
 +}
 +
 +static void
 +swfdec_edit_text_movie_generate_render_blocks (SwfdecEditTextMovie *text)
 +{
 +  const char *p, *end;
 +  SwfdecTextFormat *format, *format_prev;
 +  GSList *iter;
 +  int num, i;
 +
 +  g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
 +
 +  num = 0;
 +  iter = text->formats;
 +  format = ((SwfdecFormatIndex *)(iter->data))->format;
 +  p = text->text_display;
 +  while (p != NULL && *p != '\0') {
 +    num++;
 +    end = strchr (p, '\r');
 +    if (end == NULL)
 +      end = strchr (p, '\0');
 +
 +    while (iter != NULL &&
 +	((SwfdecFormatIndex *)(iter->data))->index < end - text->text_display)
 +    {
 +      format_prev = format;
 +      format = ((SwfdecFormatIndex *)(iter->data))->format;
 +
 +      if (format_prev->align != format->align ||
 +	  format_prev->bullet != format->bullet ||
 +	  format_prev->indent != format->indent ||
 +	  format_prev->leading != format->leading ||
 +	  format_prev->block_indent != format->block_indent ||
 +	  format_prev->left_margin != format->left_margin)
 +      {
 +	end = text->text_display + ((SwfdecFormatIndex *)(iter->data))->index;
 +	break;
 +      }
 +
 +      iter = iter->next;
 +    }
 +
 +    p = end;
 +    if (*p == '\r') p++;
 +  }
 +
 +  text->blocks = g_new0 (SwfdecTextRenderBlock, num + 1);
 +
 +  i = 0;
 +  iter = text->formats;
 +  format = ((SwfdecFormatIndex *)(iter->data))->format;
 +  p = text->text_display;
 +  while (*p != '\0') {
 +    g_assert (i < num);
 +    end = strchr (p, '\r');
 +    if (end == NULL)
 +      end = strchr (p, '\0');
 +
 +    while (iter != NULL &&
 +	((SwfdecFormatIndex *)(iter->data))->index < end - text->text_display)
 +    {
 +      format_prev = format;
 +      format = ((SwfdecFormatIndex *)(iter->data))->format;
 +
 +      if (format_prev->align != format->align ||
 +	  format_prev->bullet != format->bullet ||
 +	  format_prev->indent != format->indent ||
 +	  format_prev->leading != format->leading ||
 +	  format_prev->block_indent != format->block_indent ||
 +	  format_prev->left_margin != format->left_margin)
 +      {
 +	end = text->text_display + ((SwfdecFormatIndex *)(iter->data))->index;
 +	break;
 +      }
 +
 +      iter = iter->next;
 +    }
 +
 +    swfdec_edit_text_movie_generate_render_block (text, &text->blocks[i],
 +	p - text->text_display, end - text->text_display);
 +    text->blocks[i].end_paragraph = (*end == '\r' || *end == '\0');
 +
 +    p = end;
 +    if (*p == '\r') p++;
 +
 +    i++;
 +  }
 +  g_assert (i == num);
 +}
 +
 +static void
 +swfdec_edit_text_movie_render (SwfdecMovie *movie, cairo_t *cr,
-     const SwfdecColorTransform *trans, const SwfdecRect *inval, gboolean fill)
+     const SwfdecColorTransform *trans, const SwfdecRect *inval)
  {
    SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (movie);
  
-   if (!fill) {
-     cairo_rectangle (cr, movie->extents.x0, movie->extents.y0,
- 	movie->extents.x1 - movie->extents.x0,
- 	movie->extents.y1 - movie->extents.y0);
-     return;
-   }
- 
 -  if (text->paragraph == NULL)
 +  if (text->blocks == NULL)
 +    swfdec_edit_text_movie_generate_render_blocks (text);
 +
 +  if (text->blocks[0].text == NULL)
      return;
-   swfdec_edit_text_render (text->text, cr, text->blocks, trans, inval, fill);
 -  /* clip by extents to avoid artifacts */
 -  cairo_rectangle (cr, movie->original_extents.x0, movie->original_extents.y0, 
 -      movie->original_extents.x1 - movie->original_extents.x0, 
 -      movie->original_extents.y1 - movie->original_extents.y0);
 -  cairo_clip (cr);
 -  swfdec_edit_text_render (text->text, cr, text->paragraph, trans, inval);
++  swfdec_edit_text_render (text->text, cr, text->blocks, trans, inval);
 +}
 +
 +void
 +swfdec_edit_text_movie_format_changed (SwfdecEditTextMovie *text)
 +{
 +  int i;
 +
 +  if (text->blocks != NULL) {
 +    for (i = 0; text->blocks[i].text != NULL; i++) {
 +      // tabs
 +      pango_attr_list_unref (text->blocks[i].attrs);
 +    }
 +    g_free (text->blocks);
 +    text->blocks = NULL;
 +
 +    swfdec_movie_invalidate (SWFDEC_MOVIE (text));
 +  }
  }
  
  static void
diff --cc libswfdec/swfdec_initialize.as
index 6429bda,032acd7..29ccbf8
@@@ -269,10 -274,10 +274,11 @@@
  MovieClip.prototype["removeMovieClip"] = ASnative (900, 19);
  MovieClip.prototype.startDrag = ASnative (900, 20);
  MovieClip.prototype.stopDrag = ASnative (900, 21);
 -
 -ASSetPropFlags (MovieClip.prototype, "getDepth", 128);
 +MovieClip.prototype.createEmptyMovieClip = ASnative (901, 0);
 +MovieClip.prototype.createTextField = ASnative (104, 200);
 +ASSetPropFlags (MovieClip.prototype, "getDepth,createEmptyMovieClip", 128);
  
+ ASSetNative (MovieClip.prototype, 901, "6createEmptyMovieClip,6beginFill,6beginGradientFill,6moveTo,6lineTo,6curveTo,6lineStyle,6endFill,6clear");
  ASSetPropFlags (MovieClip.prototype, null, 3);
  
  /* TextField */
diff --cc libswfdec/swfdec_initialize.h
index 95ac4db,53550cd..7970384
@@@ -2,7 -2,7 +2,7 @@@
  
  /* compiled from swfdec_initialize.as */
  const unsigned char swfdec_initialize[] = {
-   0x88, 0xF1, 0x06, 0xB5,  0x00, 0x41, 0x53, 0x53,  0x65, 0x74, 0x4E, 0x61,  0x74, 0x69, 0x76, 0x65,
 -  0x88, 0x03, 0x07, 0xB2,  0x00, 0x41, 0x53, 0x53,  0x65, 0x74, 0x4E, 0x61,  0x74, 0x69, 0x76, 0x65,
++  0x88, 0x76, 0x07, 0xB8,  0x00, 0x41, 0x53, 0x53,  0x65, 0x74, 0x4E, 0x61,  0x74, 0x69, 0x76, 0x65,
    0x00, 0x41, 0x53, 0x6E,  0x61, 0x74, 0x69, 0x76,  0x65, 0x00, 0x41, 0x53,  0x53, 0x65, 0x74, 0x4E,
    0x61, 0x74, 0x69, 0x76,  0x65, 0x41, 0x63, 0x63,  0x65, 0x73, 0x73, 0x6F,  0x72, 0x00, 0x4F, 0x62,
    0x6A, 0x65, 0x63, 0x74,  0x00, 0x72, 0x65, 0x67,  0x69, 0x73, 0x74, 0x65,  0x72, 0x43, 0x6C, 0x61,
@@@ -40,493 -40,488 +40,507 @@@
    0x63, 0x61, 0x70, 0x65,  0x00, 0x3D, 0x00, 0x26,  0x00, 0x67, 0x65, 0x74,  0x42, 0x79, 0x74, 0x65,
    0x73, 0x4C, 0x6F, 0x61,  0x64, 0x65, 0x64, 0x00,  0x5F, 0x62, 0x79, 0x74,  0x65, 0x73, 0x4C, 0x6F,
    0x61, 0x64, 0x65, 0x64,  0x00, 0x67, 0x65, 0x74,  0x42, 0x79, 0x74, 0x65,  0x73, 0x54, 0x6F, 0x74,
-   0x61, 0x6C, 0x00, 0x5F,  0x62, 0x79, 0x74, 0x65,  0x73, 0x54, 0x6F, 0x74,  0x61, 0x6C, 0x00, 0x58,
-   0x4D, 0x4C, 0x4E, 0x6F,  0x64, 0x65, 0x00, 0x41,  0x53, 0x63, 0x6F, 0x6E,  0x73, 0x74, 0x72, 0x75,
-   0x63, 0x74, 0x6F, 0x72,  0x00, 0x63, 0x6C, 0x6F,  0x6E, 0x65, 0x4E, 0x6F,  0x64, 0x65, 0x00, 0x72,
-   0x65, 0x6D, 0x6F, 0x76,  0x65, 0x4E, 0x6F, 0x64,  0x65, 0x00, 0x69, 0x6E,  0x73, 0x65, 0x72, 0x74,
-   0x42, 0x65, 0x66, 0x6F,  0x72, 0x65, 0x00, 0x61,  0x70, 0x70, 0x65, 0x6E,  0x64, 0x43, 0x68, 0x69,
-   0x6C, 0x64, 0x00, 0x68,  0x61, 0x73, 0x43, 0x68,  0x69, 0x6C, 0x64, 0x4E,  0x6F, 0x64, 0x65, 0x73,
-   0x00, 0x67, 0x65, 0x74,  0x4E, 0x61, 0x6D, 0x65,  0x73, 0x70, 0x61, 0x63,  0x65, 0x46, 0x6F, 0x72,
-   0x50, 0x72, 0x65, 0x66,  0x69, 0x78, 0x00, 0x67,  0x65, 0x74, 0x50, 0x72,  0x65, 0x66, 0x69, 0x78,
-   0x46, 0x6F, 0x72, 0x4E,  0x61, 0x6D, 0x65, 0x73,  0x70, 0x61, 0x63, 0x65,  0x00, 0x58, 0x4D, 0x4C,
-   0x00, 0x00, 0x63, 0x72,  0x65, 0x61, 0x74, 0x65,  0x45, 0x6C, 0x65, 0x6D,  0x65, 0x6E, 0x74, 0x00,
-   0x63, 0x72, 0x65, 0x61,  0x74, 0x65, 0x54, 0x65,  0x78, 0x74, 0x4E, 0x6F,  0x64, 0x65, 0x00, 0x70,
-   0x61, 0x72, 0x73, 0x65,  0x58, 0x4D, 0x4C, 0x00,  0x53, 0x79, 0x73, 0x74,  0x65, 0x6D, 0x00, 0x63,
-   0x61, 0x70, 0x61, 0x62,  0x69, 0x6C, 0x69, 0x74,  0x69, 0x65, 0x73, 0x00,  0x51, 0x75, 0x65, 0x72,
-   0x79, 0x00, 0x43, 0x6F,  0x6C, 0x6F, 0x72, 0x00,  0x74, 0x61, 0x72, 0x67,  0x65, 0x74, 0x00, 0x73,
-   0x65, 0x74, 0x52, 0x47,  0x42, 0x2C, 0x73, 0x65,  0x74, 0x54, 0x72, 0x61,  0x6E, 0x73, 0x66, 0x6F,
-   0x72, 0x6D, 0x2C, 0x67,  0x65, 0x74, 0x52, 0x47,  0x42, 0x2C, 0x67, 0x65,  0x74, 0x54, 0x72, 0x61,
-   0x6E, 0x73, 0x66, 0x6F,  0x72, 0x6D, 0x00, 0x4D,  0x6F, 0x76, 0x69, 0x65,  0x43, 0x6C, 0x69, 0x70,
-   0x00, 0x6D, 0x65, 0x74,  0x68, 0x00, 0x6D, 0x65,  0x74, 0x68, 0x6F, 0x64,  0x00, 0x74, 0x6F, 0x4C,
-   0x6F, 0x77, 0x65, 0x72,  0x43, 0x61, 0x73, 0x65,  0x00, 0x6C, 0x6F, 0x77,  0x65, 0x72, 0x00, 0x70,
-   0x6F, 0x73, 0x74, 0x00,  0x67, 0x65, 0x74, 0x00,  0x67, 0x65, 0x74, 0x55,  0x52, 0x4C, 0x00, 0x75,
-   0x6E, 0x64, 0x65, 0x66,  0x69, 0x6E, 0x65, 0x64,  0x00, 0x74, 0x79, 0x70,  0x65, 0x00, 0x75, 0x72,
-   0x6C, 0x00, 0x6C, 0x6F,  0x61, 0x64, 0x56, 0x61,  0x72, 0x69, 0x61, 0x62,  0x6C, 0x65, 0x73, 0x00,
-   0x5F, 0x74, 0x61, 0x72,  0x67, 0x65, 0x74, 0x00,  0x6C, 0x6F, 0x61, 0x64,  0x4D, 0x6F, 0x76, 0x69,
-   0x65, 0x00, 0x61, 0x74,  0x74, 0x61, 0x63, 0x68,  0x4D, 0x6F, 0x76, 0x69,  0x65, 0x00, 0x73, 0x77,
-   0x61, 0x70, 0x44, 0x65,  0x70, 0x74, 0x68, 0x73,  0x00, 0x68, 0x69, 0x74,  0x54, 0x65, 0x73, 0x74,
-   0x00, 0x67, 0x65, 0x74,  0x42, 0x6F, 0x75, 0x6E,  0x64, 0x73, 0x00, 0x67,  0x65, 0x74, 0x44, 0x65,
-   0x70, 0x74, 0x68, 0x00,  0x70, 0x6C, 0x61, 0x79,  0x00, 0x73, 0x74, 0x6F,  0x70, 0x00, 0x6E, 0x65,
-   0x78, 0x74, 0x46, 0x72,  0x61, 0x6D, 0x65, 0x00,  0x70, 0x72, 0x65, 0x76,  0x46, 0x72, 0x61, 0x6D,
-   0x65, 0x00, 0x67, 0x6F,  0x74, 0x6F, 0x41, 0x6E,  0x64, 0x50, 0x6C, 0x61,  0x79, 0x00, 0x67, 0x6F,
-   0x74, 0x6F, 0x41, 0x6E,  0x64, 0x53, 0x74, 0x6F,  0x70, 0x00, 0x64, 0x75,  0x70, 0x6C, 0x69, 0x63,
-   0x61, 0x74, 0x65, 0x4D,  0x6F, 0x76, 0x69, 0x65,  0x43, 0x6C, 0x69, 0x70,  0x00, 0x72, 0x65, 0x6D,
-   0x6F, 0x76, 0x65, 0x4D,  0x6F, 0x76, 0x69, 0x65,  0x43, 0x6C, 0x69, 0x70,  0x00, 0x73, 0x74, 0x61,
-   0x72, 0x74, 0x44, 0x72,  0x61, 0x67, 0x00, 0x73,  0x74, 0x6F, 0x70, 0x44,  0x72, 0x61, 0x67, 0x00,
-   0x63, 0x72, 0x65, 0x61,  0x74, 0x65, 0x45, 0x6D,  0x70, 0x74, 0x79, 0x4D,  0x6F, 0x76, 0x69, 0x65,
-   0x43, 0x6C, 0x69, 0x70,  0x00, 0x63, 0x72, 0x65,  0x61, 0x74, 0x65, 0x54,  0x65, 0x78, 0x74, 0x46,
-   0x69, 0x65, 0x6C, 0x64,  0x00, 0x67, 0x65, 0x74,  0x44, 0x65, 0x70, 0x74,  0x68, 0x2C, 0x63, 0x72,
-   0x65, 0x61, 0x74, 0x65,  0x45, 0x6D, 0x70, 0x74,  0x79, 0x4D, 0x6F, 0x76,  0x69, 0x65, 0x43, 0x6C,
-   0x69, 0x70, 0x00, 0x54,  0x65, 0x78, 0x74, 0x46,  0x69, 0x65, 0x6C, 0x64,  0x00, 0x73, 0x65, 0x74,
-   0x54, 0x65, 0x78, 0x74,  0x46, 0x6F, 0x72, 0x6D,  0x61, 0x74, 0x00, 0x67,  0x65, 0x74, 0x4E, 0x65,
-   0x77, 0x54, 0x65, 0x78,  0x74, 0x46, 0x6F, 0x72,  0x6D, 0x61, 0x74, 0x00,  0x73, 0x65, 0x74, 0x4E,
-   0x65, 0x77, 0x54, 0x65,  0x78, 0x74, 0x46, 0x6F,  0x72, 0x6D, 0x61, 0x74,  0x00, 0x54, 0x65, 0x78,
-   0x74, 0x46, 0x6F, 0x72,  0x6D, 0x61, 0x74, 0x00,  0x53, 0x74, 0x79, 0x6C,  0x65, 0x53, 0x68, 0x65,
-   0x65, 0x74, 0x00, 0x5F,  0x63, 0x6F, 0x70, 0x79,  0x00, 0x6F, 0x62, 0x6A,  0x65, 0x63, 0x74, 0x00,
-   0x6F, 0x5F, 0x6E, 0x65,  0x77, 0x00, 0x70, 0x72,  0x6F, 0x70, 0x00, 0x63,  0x6C, 0x65, 0x61, 0x72,
-   0x00, 0x5F, 0x63, 0x73,  0x73, 0x00, 0x5F, 0x73,  0x74, 0x79, 0x6C, 0x65,  0x73, 0x00, 0x67, 0x65,
-   0x74, 0x53, 0x74, 0x79,  0x6C, 0x65, 0x00, 0x6E,  0x61, 0x6D, 0x65, 0x00,  0x73, 0x65, 0x74, 0x53,
-   0x74, 0x79, 0x6C, 0x65,  0x00, 0x73, 0x74, 0x79,  0x6C, 0x65, 0x00, 0x64,  0x6F, 0x54, 0x72, 0x61,
-   0x6E, 0x73, 0x66, 0x6F,  0x72, 0x6D, 0x00, 0x67,  0x65, 0x74, 0x53, 0x74,  0x79, 0x6C, 0x65, 0x4E,
-   0x61, 0x6D, 0x65, 0x73,  0x00, 0x74, 0x6D, 0x70,  0x00, 0x6E, 0x61, 0x6D,  0x65, 0x73, 0x00, 0x74,
-   0x72, 0x61, 0x6E, 0x73,  0x66, 0x6F, 0x72, 0x6D,  0x00, 0x66, 0x6F, 0x72,  0x6D, 0x61, 0x74, 0x00,
-   0x74, 0x65, 0x78, 0x74,  0x41, 0x6C, 0x69, 0x67,  0x6E, 0x00, 0x61, 0x6C,  0x69, 0x67, 0x6E, 0x00,
-   0x66, 0x6F, 0x6E, 0x74,  0x57, 0x65, 0x69, 0x67,  0x68, 0x74, 0x00, 0x62,  0x6F, 0x6C, 0x64, 0x00,
-   0x6E, 0x6F, 0x72, 0x6D,  0x61, 0x6C, 0x00, 0x63,  0x6F, 0x6C, 0x6F, 0x72,  0x00, 0x70, 0x61, 0x72,
-   0x73, 0x65, 0x43, 0x6F,  0x6C, 0x6F, 0x72, 0x00,  0x64, 0x69, 0x73, 0x70,  0x6C, 0x61, 0x79, 0x00,
-   0x66, 0x6F, 0x6E, 0x74,  0x46, 0x61, 0x6D, 0x69,  0x6C, 0x79, 0x00, 0x66,  0x6F, 0x6E, 0x74, 0x00,
-   0x70, 0x61, 0x72, 0x73,  0x65, 0x43, 0x53, 0x53,  0x46, 0x6F, 0x6E, 0x74,  0x46, 0x61, 0x6D, 0x69,
-   0x6C, 0x79, 0x00, 0x74,  0x65, 0x78, 0x74, 0x49,  0x6E, 0x64, 0x65, 0x6E,  0x74, 0x00, 0x69, 0x6E,
-   0x64, 0x65, 0x6E, 0x74,  0x00, 0x70, 0x61, 0x72,  0x73, 0x65, 0x49, 0x6E,  0x74, 0x00, 0x66, 0x6F,
-   0x6E, 0x74, 0x53, 0x74,  0x79, 0x6C, 0x65, 0x00,  0x69, 0x74, 0x61, 0x6C,  0x69, 0x63, 0x00, 0x6B,
-   0x65, 0x72, 0x6E, 0x69,  0x6E, 0x67, 0x00, 0x74,  0x72, 0x75, 0x65, 0x00,  0x66, 0x61, 0x6C, 0x73,
-   0x65, 0x00, 0x6C, 0x65,  0x61, 0x64, 0x69, 0x6E,  0x67, 0x00, 0x6D, 0x61,  0x72, 0x67, 0x69, 0x6E,
-   0x4C, 0x65, 0x66, 0x74,  0x00, 0x6C, 0x65, 0x66,  0x74, 0x4D, 0x61, 0x72,  0x67, 0x69, 0x6E, 0x00,
-   0x6C, 0x65, 0x74, 0x74,  0x65, 0x72, 0x53, 0x70,  0x61, 0x63, 0x69, 0x6E,  0x67, 0x00, 0x6D, 0x61,
-   0x72, 0x67, 0x69, 0x6E,  0x52, 0x69, 0x67, 0x68,  0x74, 0x00, 0x72, 0x69,  0x67, 0x68, 0x74, 0x4D,
-   0x61, 0x72, 0x67, 0x69,  0x6E, 0x00, 0x66, 0x6F,  0x6E, 0x74, 0x53, 0x69,  0x7A, 0x65, 0x00, 0x73,
-   0x69, 0x7A, 0x65, 0x00,  0x74, 0x65, 0x78, 0x74,  0x44, 0x65, 0x63, 0x6F,  0x72, 0x61, 0x74, 0x69,
-   0x6F, 0x6E, 0x00, 0x75,  0x6E, 0x64, 0x65, 0x72,  0x6C, 0x69, 0x6E, 0x65,  0x00, 0x6E, 0x6F, 0x6E,
-   0x65, 0x00, 0x70, 0x61,  0x72, 0x73, 0x65, 0x43,  0x53, 0x53, 0x00, 0x63,  0x73, 0x73, 0x00, 0x70,
-   0x61, 0x72, 0x73, 0x65,  0x43, 0x53, 0x53, 0x49,  0x6E, 0x74, 0x65, 0x72,  0x6E, 0x61, 0x6C, 0x00,
-   0x72, 0x65, 0x73, 0x75,  0x6C, 0x74, 0x00, 0x6E,  0x75, 0x6C, 0x6C, 0x00,  0x70, 0x61, 0x72, 0x73,
-   0x65, 0x00, 0x73, 0x65,  0x74, 0x49, 0x6E, 0x74,  0x65, 0x72, 0x76, 0x61,  0x6C, 0x00, 0x63, 0x6C,
-   0x65, 0x61, 0x72, 0x49,  0x6E, 0x74, 0x65, 0x72,  0x76, 0x61, 0x6C, 0x00,  0x73, 0x65, 0x74, 0x54,
-   0x69, 0x6D, 0x65, 0x6F,  0x75, 0x74, 0x00, 0x63,  0x6C, 0x65, 0x61, 0x72,  0x54, 0x69, 0x6D, 0x65,
-   0x6F, 0x75, 0x74, 0x00,  0x9B, 0x12, 0x00, 0x41,  0x73, 0x42, 0x72, 0x6F,  0x61, 0x64, 0x63, 0x61,
-   0x73, 0x74, 0x65, 0x72,  0x00, 0x00, 0x00, 0x00,  0x00, 0x9B, 0x0D, 0x00,  0x4C, 0x6F, 0x61, 0x64,
-   0x56, 0x61, 0x72, 0x73,  0x00, 0x00, 0x00, 0x00,  0x00, 0x96, 0x13, 0x00,  0x08, 0x00, 0x07, 0x00,
-   0x00, 0x00, 0x00, 0x07,  0x04, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
-   0x1D, 0x96, 0x13, 0x00,  0x08, 0x02, 0x07, 0x01,  0x00, 0x00, 0x00, 0x07,  0x04, 0x00, 0x00, 0x00,
-   0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x1D, 0x96, 0x02, 0x00,  0x08, 0x03, 0x1C, 0x96,
-   0x13, 0x00, 0x08, 0x04,  0x07, 0x08, 0x00, 0x00,  0x00, 0x07, 0x65, 0x00,  0x00, 0x00, 0x07, 0x02,
-   0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x08, 0x00, 0x07, 0x07,  0x00, 0x00, 0x00, 0x02,
-   0x08, 0x03, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,
-   0x02, 0x00, 0x08, 0x06,  0x1C, 0x96, 0x13, 0x00,  0x08, 0x07, 0x07, 0x0C,  0x00, 0x00, 0x00, 0x07,
-   0x65, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
-   0x08, 0x06, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x08,  0x9B, 0x07, 0x00, 0x00,  0x01, 0x00, 0x78, 0x00,
-   0x3C, 0x00, 0x96, 0x02,  0x00, 0x08, 0x0A, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
-   0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x0B,  0x52, 0x17, 0x96, 0x02,  0x00, 0x08, 0x0A, 0x1C,
-   0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x0C,
-   0x4E, 0x96, 0x02, 0x00,  0x08, 0x0D, 0x52, 0x17,  0x96, 0x02, 0x00, 0x05,  0x01, 0x3E, 0x4F, 0x96,
-   0x02, 0x00, 0x08, 0x06,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x0B, 0x9B, 0x07,  0x00, 0x00, 0x01, 0x00,
-   0x78, 0x00, 0x8F, 0x00,  0x96, 0x04, 0x00, 0x08,  0x0E, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
-   0x0C, 0x4E, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x0F,  0x41, 0x96, 0x07, 0x00,  0x08, 0x0F, 0x07, 0x00,
-   0x00, 0x00, 0x00, 0x3C,  0x99, 0x02, 0x00, 0x09,  0x00, 0x96, 0x02, 0x00,  0x08, 0x0F, 0x4C, 0x1C,
-   0x50, 0x1D, 0x96, 0x02,  0x00, 0x08, 0x0F, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x0E, 0x1C, 0x96, 0x02,
-   0x00, 0x08, 0x10, 0x4E,  0x48, 0x12, 0x9D, 0x02,  0x00, 0x42, 0x00, 0x96,  0x02, 0x00, 0x08, 0x0E,
-   0x1C, 0x96, 0x02, 0x00,  0x08, 0x0F, 0x1C, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x0A, 0x1C, 0x49, 0x12,
-   0x9D, 0x02, 0x00, 0x23,  0x00, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x0F, 0x1C,
-   0x96, 0x07, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x0E, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x11,
-   0x52, 0x17, 0x96, 0x02,  0x00, 0x05, 0x01, 0x3E,  0x99, 0x02, 0x00, 0x9C,  0xFF, 0x96, 0x02, 0x00,
-   0x05, 0x00, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x12, 0x9B,
-   0x07, 0x00, 0x00, 0x01,  0x00, 0x6F, 0x00, 0x73,  0x00, 0x96, 0x02, 0x00,  0x08, 0x13, 0x1C, 0x96,
-   0x13, 0x00, 0x08, 0x07,  0x07, 0x0C, 0x00, 0x00,  0x00, 0x07, 0x65, 0x00,  0x00, 0x00, 0x07, 0x02,
-   0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x13,  0x1C, 0x96, 0x04, 0x00,
-   0x08, 0x08, 0x08, 0x06,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x08, 0x4E, 0x4F,  0x96, 0x02, 0x00, 0x08,
-   0x13, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x0B, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0B, 0x4E,
-   0x4F, 0x96, 0x02, 0x00,  0x08, 0x13, 0x1C, 0x96,  0x07, 0x00, 0x08, 0x0C,  0x07, 0x00, 0x00, 0x00,
-   0x00, 0x42, 0x4F, 0x96,  0x09, 0x00, 0x07, 0x83,  0x00, 0x00, 0x00, 0x08,  0x14, 0x08, 0x13, 0x1C,
-   0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x4F, 0x96, 0x08, 0x00,
-   0x07, 0x83, 0x00, 0x00,  0x00, 0x02, 0x08, 0x06,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,
-   0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x8C, 0x00,  0x08, 0x15, 0x08, 0x16,  0x07, 0x12, 0x00, 0x00,
-   0x00, 0x08, 0x17, 0x07,  0x08, 0x00, 0x00, 0x00,  0x08, 0x18, 0x07, 0x14,  0x00, 0x00, 0x00, 0x08,
-   0x19, 0x07, 0x11, 0x00,  0x00, 0x00, 0x08, 0x1A,  0x07, 0x2E, 0x00, 0x00,  0x00, 0x08, 0x1B, 0x07,
-   0x28, 0x00, 0x00, 0x00,  0x08, 0x1C, 0x07, 0x23,  0x00, 0x00, 0x00, 0x08,  0x1D, 0x07, 0x0D, 0x00,
-   0x00, 0x00, 0x08, 0x1E,  0x07, 0x1B, 0x00, 0x00,  0x00, 0x08, 0x1F, 0x07,  0x24, 0x00, 0x00, 0x00,
-   0x08, 0x20, 0x07, 0x2D,  0x00, 0x00, 0x00, 0x08,  0x21, 0x07, 0x25, 0x00,  0x00, 0x00, 0x08, 0x22,
-   0x07, 0x22, 0x00, 0x00,  0x00, 0x08, 0x23, 0x07,  0x21, 0x00, 0x00, 0x00,  0x08, 0x24, 0x07, 0x27,
-   0x00, 0x00, 0x00, 0x08,  0x25, 0x07, 0x10, 0x00,  0x00, 0x00, 0x08, 0x26,  0x07, 0x20, 0x00, 0x00,
-   0x00, 0x08, 0x27, 0x07,  0x09, 0x00, 0x00, 0x00,  0x08, 0x28, 0x07, 0x26,  0x00, 0x00, 0x00, 0x07,
-   0x13, 0x00, 0x00, 0x00,  0x43, 0x1D, 0x96, 0x09,  0x00, 0x08, 0x29, 0x07,  0x20, 0x03, 0x00, 0x00,
-   0x08, 0x15, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x00, 0x3D, 0x17, 0x96,
-   0x02, 0x00, 0x08, 0x15,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x06, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x12, 0x52, 0x17, 0x96,  0x08, 0x00, 0x07, 0x07,  0x00, 0x00, 0x00, 0x02,
-   0x08, 0x15, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,
-   0x07, 0x00, 0x08, 0x2A,  0x07, 0x00, 0x00, 0x00,  0x00, 0x43, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x2A,
-   0x1C, 0x96, 0x13, 0x00,  0x08, 0x2B, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,  0x05, 0x00, 0x00, 0x00,
-   0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2A, 0x1C, 0x96,
-   0x13, 0x00, 0x08, 0x2C,  0x07, 0x01, 0x00, 0x00,  0x00, 0x07, 0x05, 0x00,  0x00, 0x00, 0x07, 0x02,
-   0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2A,  0x1C, 0x96, 0x07, 0x00,
-   0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x06, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x12, 0x52, 0x17, 0x96,
-   0x08, 0x00, 0x07, 0x07,  0x00, 0x00, 0x00, 0x02,  0x08, 0x2A, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,
-   0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,  0x07, 0x00, 0x08, 0x2D,  0x07, 0x00, 0x00, 0x00,
-   0x00, 0x43, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x2D,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,
-   0x00, 0x08, 0x06, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x12, 0x52, 0x17, 0x96,  0x0E, 0x00, 0x07, 0x01,
-   0x00, 0x00, 0x00, 0x08,  0x2E, 0x07, 0x9A, 0x02,  0x00, 0x00, 0x08, 0x2D,  0x1C, 0x96, 0x07, 0x00,
-   0x07, 0x04, 0x00, 0x00,  0x00, 0x08, 0x02, 0x3D,  0x17, 0x96, 0x02, 0x00,  0x08, 0x2F, 0x1C, 0x96,
-   0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x04, 0x00,  0x08, 0x31, 0x08, 0x32,  0x4F, 0x96, 0x02, 0x00,
-   0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x33, 0x07, 0x00,
-   0x00, 0x00, 0x00, 0x07,  0x2D, 0x01, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
-   0x4F, 0x96, 0x02, 0x00,  0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
-   0x08, 0x34, 0x07, 0x03,  0x00, 0x00, 0x00, 0x07,  0x2D, 0x01, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-   0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
-   0x4E, 0x96, 0x02, 0x00,  0x08, 0x35, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x4F, 0x96,
-   0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x36,
-   0x9B, 0x09, 0x00, 0x00,  0x01, 0x00, 0x73, 0x72,  0x63, 0x00, 0x64, 0x00,  0x96, 0x02, 0x00, 0x08,
-   0x09, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x37, 0x05,  0x01, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x38, 0x1C,
-   0x96, 0x01, 0x00, 0x02,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x19, 0x00, 0x96,  0x09, 0x00, 0x05, 0x00,
-   0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x35, 0x52, 0x17, 0x99,
-   0x02, 0x00, 0x2C, 0x00,  0x96, 0x02, 0x00, 0x08,  0x38, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
-   0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x34, 0x52, 0x17,  0x96, 0x09, 0x00, 0x05,
-   0x01, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x35, 0x52, 0x17,
-   0x4F, 0x96, 0x02, 0x00,  0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,
-   0x08, 0x39, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,  0xB3, 0x00, 0x96, 0x03,  0x00, 0x08, 0x3A, 0x02,
-   0x3C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x46, 0x87,  0x01, 0x00, 0x00, 0x96,  0x01, 0x00, 0x02, 0x49,
-   0x9D, 0x02, 0x00, 0x91,  0x00, 0x96, 0x04, 0x00,  0x08, 0x0A, 0x04, 0x00,  0x3C, 0x96, 0x02, 0x00,
-   0x08, 0x3A, 0x1C, 0x96,  0x01, 0x00, 0x02, 0x49,  0x9D, 0x02, 0x00, 0x41,  0x00, 0x96, 0x02, 0x00,
-   0x08, 0x3A, 0x4C, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x3D, 0x08, 0x0A, 0x1C,  0x96, 0x07, 0x00, 0x07,
-   0x01, 0x00, 0x00, 0x00,  0x08, 0x3B, 0x3D, 0x47,  0x96, 0x02, 0x00, 0x08,  0x3C, 0x47, 0x96, 0x02,
-   0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x0A, 0x1C, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,
-   0x00, 0x00, 0x00, 0x08,  0x3B, 0x3D, 0x47, 0x47,  0x1D, 0x99, 0x02, 0x00,  0x33, 0x00, 0x96, 0x04,
-   0x00, 0x08, 0x3A, 0x08,  0x0A, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x3B,
-   0x3D, 0x96, 0x02, 0x00,  0x08, 0x3C, 0x47, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
-   0x08, 0x0A, 0x1C, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x3B, 0x3D, 0x47,
-   0x1D, 0x99, 0x02, 0x00,  0x61, 0xFF, 0x96, 0x02,  0x00, 0x08, 0x3A, 0x1C,  0x3E, 0x4F, 0x96, 0x02,
-   0x00, 0x08, 0x2F, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x3E, 0x9B,
-   0x05, 0x00, 0x00, 0x00,  0x00, 0x0D, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
-   0x08, 0x3F, 0x4E, 0x3E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
-   0x4E, 0x96, 0x02, 0x00,  0x08, 0x40, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,  0x0D, 0x00, 0x96, 0x02,
-   0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x41, 0x4E, 0x3E, 0x4F,  0x96, 0x08, 0x00, 0x07,
-   0x83, 0x00, 0x00, 0x00,  0x02, 0x08, 0x2F, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x07,
-   0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x13,  0x00, 0x08, 0x42, 0x07,
-   0x00, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,
-   0x3D, 0x1D, 0x96, 0x02,  0x00, 0x08, 0x42, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
-   0x00, 0x08, 0x44, 0x07,  0x01, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
-   0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x42, 0x1C,  0x96, 0x02, 0x00, 0x08,
-   0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x45, 0x07,  0x02, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,
-   0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x42, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x46, 0x07,  0x03, 0x00, 0x00, 0x00,
-   0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
-   0x00, 0x08, 0x42, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x47, 0x07,
-   0x04, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
-   0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x42, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
-   0x00, 0x08, 0x48, 0x07,  0x05, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
-   0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x42, 0x1C,  0x96, 0x02, 0x00, 0x08,
-   0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x39, 0x07,  0x06, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,
-   0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x42, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x49, 0x07,  0x07, 0x00, 0x00, 0x00,
-   0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
-   0x00, 0x08, 0x42, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x4A, 0x07,
-   0x08, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
-   0x3D, 0x4F, 0x96, 0x13,  0x00, 0x08, 0x4B, 0x07,  0x09, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,
-   0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,  0x3D, 0x1D, 0x96, 0x02,  0x00, 0x08, 0x4B, 0x1C,
-   0x96, 0x10, 0x00, 0x08,  0x30, 0x08, 0x4C, 0x07,  0x01, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-   0x00, 0x08, 0x42, 0x40,  0x4F, 0x96, 0x09, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x30, 0x08,
-   0x4B, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x02,
-   0x00, 0x08, 0x4B, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x33, 0x07,
-   0x00, 0x00, 0x00, 0x00,  0x07, 0x2D, 0x01, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
-   0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x4B, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
-   0x00, 0x08, 0x4D, 0x07,  0x0A, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
-   0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x4B, 0x1C,  0x96, 0x02, 0x00, 0x08,
-   0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x4E, 0x07,  0x0B, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,
-   0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x4B, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x4F, 0x07,  0x0C, 0x00, 0x00, 0x00,
-   0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
-   0x00, 0x08, 0x4B, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x35, 0x9B,
-   0x05, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x4B, 0x1C, 0x96, 0x02,
-   0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x36, 0x9B, 0x09, 0x00,  0x00, 0x01, 0x00, 0x73,
-   0x72, 0x63, 0x00, 0x72,  0x00, 0x96, 0x02, 0x00,  0x08, 0x38, 0x1C, 0x96,  0x01, 0x00, 0x02, 0x49,
-   0x12, 0x9D, 0x02, 0x00,  0x27, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x04, 0x00, 0x08,
-   0x37, 0x05, 0x00, 0x4F,  0x96, 0x09, 0x00, 0x05,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
-   0x1C, 0x96, 0x02, 0x00,  0x08, 0x35, 0x52, 0x17,  0x99, 0x02, 0x00, 0x3A,  0x00, 0x96, 0x02, 0x00,
-   0x08, 0x09, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x37,  0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x38,
-   0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
-   0x4F, 0x52, 0x17, 0x96,  0x09, 0x00, 0x05, 0x01,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x35, 0x52, 0x17, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x4B, 0x1C, 0x96, 0x02,
-   0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x3E, 0x9B, 0x05, 0x00,  0x00, 0x00, 0x00, 0x0D,
-   0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x3F,  0x4E, 0x3E, 0x4F, 0x96,
-   0x02, 0x00, 0x08, 0x4B,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x40,
-   0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x0D, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
-   0x00, 0x08, 0x41, 0x4E,  0x3E, 0x4F, 0x96, 0x07,  0x00, 0x08, 0x50, 0x07,  0x00, 0x00, 0x00, 0x00,
-   0x43, 0x1D, 0x96, 0x02,  0x00, 0x08, 0x50, 0x1C,  0x96, 0x07, 0x00, 0x08,  0x51, 0x07, 0x00, 0x00,
-   0x00, 0x00, 0x43, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x50, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x51, 0x4E,
-   0x96, 0x13, 0x00, 0x08,  0x52, 0x07, 0x00, 0x00,  0x00, 0x00, 0x07, 0x0B,  0x00, 0x00, 0x00, 0x07,
-   0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x07, 0x00, 0x07,  0x00, 0x00, 0x00, 0x00,
-   0x08, 0x50, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x51,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x52, 0x52, 0x17,
-   0x96, 0x02, 0x00, 0x08,  0x50, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x51, 0x4E,  0x96, 0x02, 0x00, 0x08,
-   0x52, 0x3A, 0x17, 0x96,  0x02, 0x00, 0x08, 0x53,  0x9B, 0x0C, 0x00, 0x00,  0x01, 0x00, 0x74, 0x61,
-   0x72, 0x67, 0x65, 0x74,  0x00, 0x27, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x04, 0x00,
-   0x08, 0x54, 0x08, 0x54,  0x1C, 0x4F, 0x96, 0x08,  0x00, 0x07, 0x07, 0x00,  0x00, 0x00, 0x02, 0x08,
-   0x09, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x1D, 0x96,
-   0x09, 0x00, 0x08, 0x55,  0x07, 0xBC, 0x02, 0x00,  0x00, 0x08, 0x53, 0x1C,  0x96, 0x02, 0x00, 0x08,
-   0x30, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x00,  0x3D, 0x17, 0x96, 0x08,
-   0x00, 0x07, 0x07, 0x00,  0x00, 0x00, 0x02, 0x08,  0x53, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
-   0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x02, 0x00, 0x08,
-   0x56, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x57, 0x9B, 0x0C, 0x00,
-   0x00, 0x01, 0x00, 0x6D,  0x65, 0x74, 0x68, 0x6F,  0x64, 0x00, 0x5B, 0x00,  0x96, 0x09, 0x00, 0x08,
-   0x5A, 0x07, 0x00, 0x00,  0x00, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x59, 0x52, 0x3C,
-   0x96, 0x02, 0x00, 0x08,  0x5A, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x5B, 0x49,  0x9D, 0x02, 0x00, 0x2D,
-   0x00, 0x96, 0x02, 0x00,  0x08, 0x5A, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x5C,  0x49, 0x9D, 0x02, 0x00,
-   0x0E, 0x00, 0x96, 0x05,  0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x3E, 0x99,  0x02, 0x00, 0x09, 0x00,
-   0x96, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x3E, 0x99, 0x02, 0x00,  0x09, 0x00, 0x96, 0x05,
-   0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x56, 0x1C, 0x96, 0x02,
-   0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x5D, 0x9B, 0x17, 0x00,  0x00, 0x03, 0x00, 0x75,
-   0x72, 0x6C, 0x00, 0x74,  0x61, 0x72, 0x67, 0x65,  0x74, 0x00, 0x6D, 0x65,  0x74, 0x68, 0x6F, 0x64,
-   0x00, 0x97, 0x00, 0x96,  0x02, 0x00, 0x08, 0x54,  0x1C, 0x44, 0x96, 0x02,  0x00, 0x08, 0x5E, 0x49,
-   0x12, 0x9D, 0x02, 0x00,  0x08, 0x00, 0x96, 0x04,  0x00, 0x08, 0x54, 0x08,  0x4C, 0x1D, 0x96, 0x04,
-   0x00, 0x08, 0x5F, 0x08,  0x58, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
-   0x1C, 0x96, 0x02, 0x00,  0x08, 0x57, 0x52, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x5F, 0x1C, 0x96, 0x05,
-   0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x49, 0x9D,  0x02, 0x00, 0x3E, 0x00,  0x96, 0x02, 0x00, 0x08,
-   0x5F, 0x1C, 0x96, 0x05,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x49, 0x9D,  0x02, 0x00, 0x15, 0x00,
-   0x96, 0x02, 0x00, 0x08,  0x60, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x54, 0x1C,  0x9A, 0x01, 0x00, 0x02,
-   0x99, 0x02, 0x00, 0x10,  0x00, 0x96, 0x02, 0x00,  0x08, 0x60, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x54,
-   0x1C, 0x9A, 0x01, 0x00,  0x01, 0x99, 0x02, 0x00,  0x10, 0x00, 0x96, 0x02,  0x00, 0x08, 0x60, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x54, 0x1C, 0x9A, 0x01,  0x00, 0x00, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,
-   0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x61,  0x9B, 0x10, 0x00, 0x00,
+   0x61, 0x6C, 0x00, 0x5F,  0x62, 0x79, 0x74, 0x65,  0x73, 0x54, 0x6F, 0x74,  0x61, 0x6C, 0x00, 0x53,
+   0x6F, 0x75, 0x6E, 0x64,  0x00, 0x41, 0x53, 0x63,  0x6F, 0x6E, 0x73, 0x74,  0x72, 0x75, 0x63, 0x74,
+   0x6F, 0x72, 0x00, 0x73,  0x74, 0x6F, 0x70, 0x2C,  0x61, 0x74, 0x74, 0x61,  0x63, 0x68, 0x53, 0x6F,
+   0x75, 0x6E, 0x64, 0x2C,  0x73, 0x74, 0x61, 0x72,  0x74, 0x00, 0x58, 0x4D,  0x4C, 0x4E, 0x6F, 0x64,
+   0x65, 0x00, 0x63, 0x6C,  0x6F, 0x6E, 0x65, 0x4E,  0x6F, 0x64, 0x65, 0x00,  0x72, 0x65, 0x6D, 0x6F,
+   0x76, 0x65, 0x4E, 0x6F,  0x64, 0x65, 0x00, 0x69,  0x6E, 0x73, 0x65, 0x72,  0x74, 0x42, 0x65, 0x66,
+   0x6F, 0x72, 0x65, 0x00,  0x61, 0x70, 0x70, 0x65,  0x6E, 0x64, 0x43, 0x68,  0x69, 0x6C, 0x64, 0x00,
+   0x68, 0x61, 0x73, 0x43,  0x68, 0x69, 0x6C, 0x64,  0x4E, 0x6F, 0x64, 0x65,  0x73, 0x00, 0x67, 0x65,
+   0x74, 0x4E, 0x61, 0x6D,  0x65, 0x73, 0x70, 0x61,  0x63, 0x65, 0x46, 0x6F,  0x72, 0x50, 0x72, 0x65,
+   0x66, 0x69, 0x78, 0x00,  0x67, 0x65, 0x74, 0x50,  0x72, 0x65, 0x66, 0x69,  0x78, 0x46, 0x6F, 0x72,
+   0x4E, 0x61, 0x6D, 0x65,  0x73, 0x70, 0x61, 0x63,  0x65, 0x00, 0x58, 0x4D,  0x4C, 0x00, 0x00, 0x63,
+   0x72, 0x65, 0x61, 0x74,  0x65, 0x45, 0x6C, 0x65,  0x6D, 0x65, 0x6E, 0x74,  0x00, 0x63, 0x72, 0x65,
+   0x61, 0x74, 0x65, 0x54,  0x65, 0x78, 0x74, 0x4E,  0x6F, 0x64, 0x65, 0x00,  0x70, 0x61, 0x72, 0x73,
+   0x65, 0x58, 0x4D, 0x4C,  0x00, 0x53, 0x79, 0x73,  0x74, 0x65, 0x6D, 0x00,  0x63, 0x61, 0x70, 0x61,
+   0x62, 0x69, 0x6C, 0x69,  0x74, 0x69, 0x65, 0x73,  0x00, 0x51, 0x75, 0x65,  0x72, 0x79, 0x00, 0x43,
+   0x6F, 0x6C, 0x6F, 0x72,  0x00, 0x74, 0x61, 0x72,  0x67, 0x65, 0x74, 0x00,  0x73, 0x65, 0x74, 0x52,
+   0x47, 0x42, 0x2C, 0x73,  0x65, 0x74, 0x54, 0x72,  0x61, 0x6E, 0x73, 0x66,  0x6F, 0x72, 0x6D, 0x2C,
+   0x67, 0x65, 0x74, 0x52,  0x47, 0x42, 0x2C, 0x67,  0x65, 0x74, 0x54, 0x72,  0x61, 0x6E, 0x73, 0x66,
+   0x6F, 0x72, 0x6D, 0x00,  0x4D, 0x6F, 0x76, 0x69,  0x65, 0x43, 0x6C, 0x69,  0x70, 0x00, 0x6D, 0x65,
+   0x74, 0x68, 0x00, 0x6D,  0x65, 0x74, 0x68, 0x6F,  0x64, 0x00, 0x74, 0x6F,  0x4C, 0x6F, 0x77, 0x65,
+   0x72, 0x43, 0x61, 0x73,  0x65, 0x00, 0x6C, 0x6F,  0x77, 0x65, 0x72, 0x00,  0x70, 0x6F, 0x73, 0x74,
+   0x00, 0x67, 0x65, 0x74,  0x00, 0x67, 0x65, 0x74,  0x55, 0x52, 0x4C, 0x00,  0x75, 0x6E, 0x64, 0x65,
+   0x66, 0x69, 0x6E, 0x65,  0x64, 0x00, 0x74, 0x79,  0x70, 0x65, 0x00, 0x75,  0x72, 0x6C, 0x00, 0x6C,
+   0x6F, 0x61, 0x64, 0x56,  0x61, 0x72, 0x69, 0x61,  0x62, 0x6C, 0x65, 0x73,  0x00, 0x5F, 0x74, 0x61,
+   0x72, 0x67, 0x65, 0x74,  0x00, 0x6C, 0x6F, 0x61,  0x64, 0x4D, 0x6F, 0x76,  0x69, 0x65, 0x00, 0x61,
+   0x74, 0x74, 0x61, 0x63,  0x68, 0x4D, 0x6F, 0x76,  0x69, 0x65, 0x00, 0x73,  0x77, 0x61, 0x70, 0x44,
+   0x65, 0x70, 0x74, 0x68,  0x73, 0x00, 0x68, 0x69,  0x74, 0x54, 0x65, 0x73,  0x74, 0x00, 0x67, 0x65,
+   0x74, 0x42, 0x6F, 0x75,  0x6E, 0x64, 0x73, 0x00,  0x67, 0x65, 0x74, 0x44,  0x65, 0x70, 0x74, 0x68,
+   0x00, 0x70, 0x6C, 0x61,  0x79, 0x00, 0x73, 0x74,  0x6F, 0x70, 0x00, 0x6E,  0x65, 0x78, 0x74, 0x46,
+   0x72, 0x61, 0x6D, 0x65,  0x00, 0x70, 0x72, 0x65,  0x76, 0x46, 0x72, 0x61,  0x6D, 0x65, 0x00, 0x67,
+   0x6F, 0x74, 0x6F, 0x41,  0x6E, 0x64, 0x50, 0x6C,  0x61, 0x79, 0x00, 0x67,  0x6F, 0x74, 0x6F, 0x41,
+   0x6E, 0x64, 0x53, 0x74,  0x6F, 0x70, 0x00, 0x64,  0x75, 0x70, 0x6C, 0x69,  0x63, 0x61, 0x74, 0x65,
+   0x4D, 0x6F, 0x76, 0x69,  0x65, 0x43, 0x6C, 0x69,  0x70, 0x00, 0x72, 0x65,  0x6D, 0x6F, 0x76, 0x65,
+   0x4D, 0x6F, 0x76, 0x69,  0x65, 0x43, 0x6C, 0x69,  0x70, 0x00, 0x73, 0x74,  0x61, 0x72, 0x74, 0x44,
 -  0x72, 0x61, 0x67, 0x00,  0x73, 0x74, 0x6F, 0x70,  0x44, 0x72, 0x61, 0x67,  0x00, 0x36, 0x63, 0x72,
 -  0x65, 0x61, 0x74, 0x65,  0x45, 0x6D, 0x70, 0x74,  0x79, 0x4D, 0x6F, 0x76,  0x69, 0x65, 0x43, 0x6C,
 -  0x69, 0x70, 0x2C, 0x36,  0x62, 0x65, 0x67, 0x69,  0x6E, 0x46, 0x69, 0x6C,  0x6C, 0x2C, 0x36, 0x62,
 -  0x65, 0x67, 0x69, 0x6E,  0x47, 0x72, 0x61, 0x64,  0x69, 0x65, 0x6E, 0x74,  0x46, 0x69, 0x6C, 0x6C,
 -  0x2C, 0x36, 0x6D, 0x6F,  0x76, 0x65, 0x54, 0x6F,  0x2C, 0x36, 0x6C, 0x69,  0x6E, 0x65, 0x54, 0x6F,
 -  0x2C, 0x36, 0x63, 0x75,  0x72, 0x76, 0x65, 0x54,  0x6F, 0x2C, 0x36, 0x6C,  0x69, 0x6E, 0x65, 0x53,
 -  0x74, 0x79, 0x6C, 0x65,  0x2C, 0x36, 0x65, 0x6E,  0x64, 0x46, 0x69, 0x6C,  0x6C, 0x2C, 0x36, 0x63,
 -  0x6C, 0x65, 0x61, 0x72,  0x00, 0x54, 0x65, 0x78,  0x74, 0x46, 0x69, 0x65,  0x6C, 0x64, 0x00, 0x54,
 -  0x65, 0x78, 0x74, 0x46,  0x6F, 0x72, 0x6D, 0x61,  0x74, 0x00, 0x53, 0x74,  0x79, 0x6C, 0x65, 0x53,
 -  0x68, 0x65, 0x65, 0x74,  0x00, 0x5F, 0x63, 0x6F,  0x70, 0x79, 0x00, 0x6F,  0x62, 0x6A, 0x65, 0x63,
 -  0x74, 0x00, 0x6F, 0x5F,  0x6E, 0x65, 0x77, 0x00,  0x70, 0x72, 0x6F, 0x70,  0x00, 0x63, 0x6C, 0x65,
 -  0x61, 0x72, 0x00, 0x5F,  0x63, 0x73, 0x73, 0x00,  0x5F, 0x73, 0x74, 0x79,  0x6C, 0x65, 0x73, 0x00,
 -  0x67, 0x65, 0x74, 0x53,  0x74, 0x79, 0x6C, 0x65,  0x00, 0x6E, 0x61, 0x6D,  0x65, 0x00, 0x73, 0x65,
 -  0x74, 0x53, 0x74, 0x79,  0x6C, 0x65, 0x00, 0x73,  0x74, 0x79, 0x6C, 0x65,  0x00, 0x64, 0x6F, 0x54,
 -  0x72, 0x61, 0x6E, 0x73,  0x66, 0x6F, 0x72, 0x6D,  0x00, 0x67, 0x65, 0x74,  0x53, 0x74, 0x79, 0x6C,
 -  0x65, 0x4E, 0x61, 0x6D,  0x65, 0x73, 0x00, 0x74,  0x6D, 0x70, 0x00, 0x6E,  0x61, 0x6D, 0x65, 0x73,
 -  0x00, 0x74, 0x72, 0x61,  0x6E, 0x73, 0x66, 0x6F,  0x72, 0x6D, 0x00, 0x66,  0x6F, 0x72, 0x6D, 0x61,
 -  0x74, 0x00, 0x74, 0x65,  0x78, 0x74, 0x41, 0x6C,  0x69, 0x67, 0x6E, 0x00,  0x61, 0x6C, 0x69, 0x67,
 -  0x6E, 0x00, 0x66, 0x6F,  0x6E, 0x74, 0x57, 0x65,  0x69, 0x67, 0x68, 0x74,  0x00, 0x62, 0x6F, 0x6C,
 -  0x64, 0x00, 0x6E, 0x6F,  0x72, 0x6D, 0x61, 0x6C,  0x00, 0x63, 0x6F, 0x6C,  0x6F, 0x72, 0x00, 0x70,
 -  0x61, 0x72, 0x73, 0x65,  0x43, 0x6F, 0x6C, 0x6F,  0x72, 0x00, 0x64, 0x69,  0x73, 0x70, 0x6C, 0x61,
 -  0x79, 0x00, 0x66, 0x6F,  0x6E, 0x74, 0x46, 0x61,  0x6D, 0x69, 0x6C, 0x79,  0x00, 0x66, 0x6F, 0x6E,
 -  0x74, 0x00, 0x70, 0x61,  0x72, 0x73, 0x65, 0x43,  0x53, 0x53, 0x46, 0x6F,  0x6E, 0x74, 0x46, 0x61,
 -  0x6D, 0x69, 0x6C, 0x79,  0x00, 0x74, 0x65, 0x78,  0x74, 0x49, 0x6E, 0x64,  0x65, 0x6E, 0x74, 0x00,
 -  0x69, 0x6E, 0x64, 0x65,  0x6E, 0x74, 0x00, 0x70,  0x61, 0x72, 0x73, 0x65,  0x49, 0x6E, 0x74, 0x00,
 -  0x66, 0x6F, 0x6E, 0x74,  0x53, 0x74, 0x79, 0x6C,  0x65, 0x00, 0x69, 0x74,  0x61, 0x6C, 0x69, 0x63,
 -  0x00, 0x6B, 0x65, 0x72,  0x6E, 0x69, 0x6E, 0x67,  0x00, 0x74, 0x72, 0x75,  0x65, 0x00, 0x66, 0x61,
 -  0x6C, 0x73, 0x65, 0x00,  0x6C, 0x65, 0x61, 0x64,  0x69, 0x6E, 0x67, 0x00,  0x6D, 0x61, 0x72, 0x67,
 -  0x69, 0x6E, 0x4C, 0x65,  0x66, 0x74, 0x00, 0x6C,  0x65, 0x66, 0x74, 0x4D,  0x61, 0x72, 0x67, 0x69,
 -  0x6E, 0x00, 0x6C, 0x65,  0x74, 0x74, 0x65, 0x72,  0x53, 0x70, 0x61, 0x63,  0x69, 0x6E, 0x67, 0x00,
 -  0x6D, 0x61, 0x72, 0x67,  0x69, 0x6E, 0x52, 0x69,  0x67, 0x68, 0x74, 0x00,  0x72, 0x69, 0x67, 0x68,
 -  0x74, 0x4D, 0x61, 0x72,  0x67, 0x69, 0x6E, 0x00,  0x66, 0x6F, 0x6E, 0x74,  0x53, 0x69, 0x7A, 0x65,
 -  0x00, 0x73, 0x69, 0x7A,  0x65, 0x00, 0x74, 0x65,  0x78, 0x74, 0x44, 0x65,  0x63, 0x6F, 0x72, 0x61,
 -  0x74, 0x69, 0x6F, 0x6E,  0x00, 0x75, 0x6E, 0x64,  0x65, 0x72, 0x6C, 0x69,  0x6E, 0x65, 0x00, 0x6E,
 -  0x6F, 0x6E, 0x65, 0x00,  0x70, 0x61, 0x72, 0x73,  0x65, 0x43, 0x53, 0x53,  0x00, 0x63, 0x73, 0x73,
 -  0x00, 0x70, 0x61, 0x72,  0x73, 0x65, 0x43, 0x53,  0x53, 0x49, 0x6E, 0x74,  0x65, 0x72, 0x6E, 0x61,
 -  0x6C, 0x00, 0x72, 0x65,  0x73, 0x75, 0x6C, 0x74,  0x00, 0x6E, 0x75, 0x6C,  0x6C, 0x00, 0x70, 0x61,
 -  0x72, 0x73, 0x65, 0x00,  0x73, 0x65, 0x74, 0x49,  0x6E, 0x74, 0x65, 0x72,  0x76, 0x61, 0x6C, 0x00,
 -  0x63, 0x6C, 0x65, 0x61,  0x72, 0x49, 0x6E, 0x74,  0x65, 0x72, 0x76, 0x61,  0x6C, 0x00, 0x73, 0x65,
 -  0x74, 0x54, 0x69, 0x6D,  0x65, 0x6F, 0x75, 0x74,  0x00, 0x63, 0x6C, 0x65,  0x61, 0x72, 0x54, 0x69,
 -  0x6D, 0x65, 0x6F, 0x75,  0x74, 0x00, 0x9B, 0x12,  0x00, 0x41, 0x73, 0x42,  0x72, 0x6F, 0x61, 0x64,
 -  0x63, 0x61, 0x73, 0x74,  0x65, 0x72, 0x00, 0x00,  0x00, 0x00, 0x00, 0x9B,  0x0D, 0x00, 0x4C, 0x6F,
 -  0x61, 0x64, 0x56, 0x61,  0x72, 0x73, 0x00, 0x00,  0x00, 0x00, 0x00, 0x96,  0x13, 0x00, 0x08, 0x00,
 -  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x04, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
 -  0x01, 0x3D, 0x1D, 0x96,  0x13, 0x00, 0x08, 0x02,  0x07, 0x01, 0x00, 0x00,  0x00, 0x07, 0x04, 0x00,
 -  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x03,
 -  0x1C, 0x96, 0x13, 0x00,  0x08, 0x04, 0x07, 0x08,  0x00, 0x00, 0x00, 0x07,  0x65, 0x00, 0x00, 0x00,
 -  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x08, 0x00,  0x07, 0x07, 0x00, 0x00,
 -  0x00, 0x02, 0x08, 0x03,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,
 -  0x17, 0x96, 0x02, 0x00,  0x08, 0x06, 0x1C, 0x96,  0x13, 0x00, 0x08, 0x07,  0x07, 0x0C, 0x00, 0x00,
 -  0x00, 0x07, 0x65, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
 -  0x02, 0x00, 0x08, 0x06,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x08, 0x9B, 0x07,  0x00, 0x00, 0x01, 0x00,
 -  0x78, 0x00, 0x3C, 0x00,  0x96, 0x02, 0x00, 0x08,  0x0A, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
 -  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x0B, 0x52, 0x17,  0x96, 0x02, 0x00, 0x08,
 -  0x0A, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x0C, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x0D,  0x52, 0x17, 0x96, 0x02,  0x00, 0x05, 0x01, 0x3E,
 -  0x4F, 0x96, 0x02, 0x00,  0x08, 0x06, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x0B,  0x9B, 0x07, 0x00, 0x00,
 -  0x01, 0x00, 0x78, 0x00,  0x8F, 0x00, 0x96, 0x04,  0x00, 0x08, 0x0E, 0x08,  0x09, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x0C, 0x4E,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x0F, 0x41, 0x96,  0x07, 0x00, 0x08, 0x0F,
 -  0x07, 0x00, 0x00, 0x00,  0x00, 0x3C, 0x99, 0x02,  0x00, 0x09, 0x00, 0x96,  0x02, 0x00, 0x08, 0x0F,
 -  0x4C, 0x1C, 0x50, 0x1D,  0x96, 0x02, 0x00, 0x08,  0x0F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0E, 0x1C,
 -  0x96, 0x02, 0x00, 0x08,  0x10, 0x4E, 0x48, 0x12,  0x9D, 0x02, 0x00, 0x42,  0x00, 0x96, 0x02, 0x00,
 -  0x08, 0x0E, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x0F,  0x1C, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x0A, 0x1C,
 -  0x49, 0x12, 0x9D, 0x02,  0x00, 0x23, 0x00, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
 -  0x0F, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x0E,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x11, 0x52, 0x17,  0x96, 0x02, 0x00, 0x05,  0x01, 0x3E, 0x99, 0x02,  0x00, 0x9C, 0xFF, 0x96,
 -  0x02, 0x00, 0x05, 0x00,  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x06, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x12, 0x9B, 0x07, 0x00,  0x00, 0x01, 0x00, 0x6F,  0x00, 0x73, 0x00, 0x96,  0x02, 0x00, 0x08, 0x13,
 -  0x1C, 0x96, 0x13, 0x00,  0x08, 0x07, 0x07, 0x0C,  0x00, 0x00, 0x00, 0x07,  0x65, 0x00, 0x00, 0x00,
 -  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x13, 0x1C, 0x96,
 -  0x04, 0x00, 0x08, 0x08,  0x08, 0x06, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x08,  0x4E, 0x4F, 0x96, 0x02,
 -  0x00, 0x08, 0x13, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x0B, 0x08, 0x06, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x0B, 0x4E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x13,  0x1C, 0x96, 0x07, 0x00,  0x08, 0x0C, 0x07, 0x00,
 -  0x00, 0x00, 0x00, 0x42,  0x4F, 0x96, 0x09, 0x00,  0x07, 0x83, 0x00, 0x00,  0x00, 0x08, 0x14, 0x08,
 -  0x13, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x4F, 0x96,
 -  0x08, 0x00, 0x07, 0x83,  0x00, 0x00, 0x00, 0x02,  0x08, 0x06, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,
 -  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,  0x8C, 0x00, 0x08, 0x15,  0x08, 0x16, 0x07, 0x12,
 -  0x00, 0x00, 0x00, 0x08,  0x17, 0x07, 0x08, 0x00,  0x00, 0x00, 0x08, 0x18,  0x07, 0x14, 0x00, 0x00,
 -  0x00, 0x08, 0x19, 0x07,  0x11, 0x00, 0x00, 0x00,  0x08, 0x1A, 0x07, 0x2E,  0x00, 0x00, 0x00, 0x08,
 -  0x1B, 0x07, 0x28, 0x00,  0x00, 0x00, 0x08, 0x1C,  0x07, 0x23, 0x00, 0x00,  0x00, 0x08, 0x1D, 0x07,
 -  0x0D, 0x00, 0x00, 0x00,  0x08, 0x1E, 0x07, 0x1B,  0x00, 0x00, 0x00, 0x08,  0x1F, 0x07, 0x24, 0x00,
 -  0x00, 0x00, 0x08, 0x20,  0x07, 0x2D, 0x00, 0x00,  0x00, 0x08, 0x21, 0x07,  0x25, 0x00, 0x00, 0x00,
 -  0x08, 0x22, 0x07, 0x22,  0x00, 0x00, 0x00, 0x08,  0x23, 0x07, 0x21, 0x00,  0x00, 0x00, 0x08, 0x24,
 -  0x07, 0x27, 0x00, 0x00,  0x00, 0x08, 0x25, 0x07,  0x10, 0x00, 0x00, 0x00,  0x08, 0x26, 0x07, 0x20,
 -  0x00, 0x00, 0x00, 0x08,  0x27, 0x07, 0x09, 0x00,  0x00, 0x00, 0x08, 0x28,  0x07, 0x26, 0x00, 0x00,
 -  0x00, 0x07, 0x13, 0x00,  0x00, 0x00, 0x43, 0x1D,  0x96, 0x09, 0x00, 0x08,  0x29, 0x07, 0x20, 0x03,
 -  0x00, 0x00, 0x08, 0x15,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x00, 0x3D,
 -  0x17, 0x96, 0x02, 0x00,  0x08, 0x15, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
 -  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x12, 0x52,  0x17, 0x96, 0x08, 0x00,  0x07, 0x07, 0x00, 0x00,
 -  0x00, 0x02, 0x08, 0x15,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,
 -  0x17, 0x96, 0x07, 0x00,  0x08, 0x2A, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,  0x1D, 0x96, 0x02, 0x00,
 -  0x08, 0x2A, 0x1C, 0x96,  0x13, 0x00, 0x08, 0x2B,  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x05, 0x00,
 -  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2A,
 -  0x1C, 0x96, 0x13, 0x00,  0x08, 0x2C, 0x07, 0x01,  0x00, 0x00, 0x00, 0x07,  0x05, 0x00, 0x00, 0x00,
 -  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2A, 0x1C, 0x96,
 -  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x12, 0x52,
 -  0x17, 0x96, 0x08, 0x00,  0x07, 0x07, 0x00, 0x00,  0x00, 0x02, 0x08, 0x2A,  0x1C, 0x96, 0x07, 0x00,
 -  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x07, 0x00,  0x08, 0x2D, 0x07, 0x00,
 -  0x00, 0x00, 0x00, 0x43,  0x1D, 0x96, 0x02, 0x00,  0x08, 0x2D, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,
 -  0x00, 0x00, 0x00, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x12, 0x52,  0x17, 0x96, 0x0E, 0x00,
 -  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x2E, 0x07,  0x9A, 0x02, 0x00, 0x00,  0x08, 0x2D, 0x1C, 0x96,
 -  0x07, 0x00, 0x07, 0x04,  0x00, 0x00, 0x00, 0x08,  0x02, 0x3D, 0x17, 0x96,  0x02, 0x00, 0x08, 0x2F,
 -  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x04, 0x00, 0x08, 0x31,  0x08, 0x32, 0x4F, 0x96,
 -  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x33,
 -  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x2D, 0x01,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
 -  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
 -  0x13, 0x00, 0x08, 0x34,  0x07, 0x03, 0x00, 0x00,  0x00, 0x07, 0x2D, 0x01,  0x00, 0x00, 0x07, 0x02,
 -  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x35,  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,
 -  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,
 -  0x08, 0x36, 0x9B, 0x09,  0x00, 0x00, 0x01, 0x00,  0x73, 0x72, 0x63, 0x00,  0x64, 0x00, 0x96, 0x02,
 -  0x00, 0x08, 0x09, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x37, 0x05, 0x01, 0x4F,  0x96, 0x02, 0x00, 0x08,
 -  0x38, 0x1C, 0x96, 0x01,  0x00, 0x02, 0x49, 0x12,  0x9D, 0x02, 0x00, 0x19,  0x00, 0x96, 0x09, 0x00,
 -  0x05, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x35, 0x52,
 -  0x17, 0x99, 0x02, 0x00,  0x2C, 0x00, 0x96, 0x02,  0x00, 0x08, 0x38, 0x1C,  0x96, 0x07, 0x00, 0x07,
 -  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x34,  0x52, 0x17, 0x96, 0x09,
 -  0x00, 0x05, 0x01, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x35,
 -  0x52, 0x17, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
 -  0x02, 0x00, 0x08, 0x39,  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0xB3, 0x00,  0x96, 0x03, 0x00, 0x08,
 -  0x3A, 0x02, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x09,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,
 -  0x02, 0x49, 0x9D, 0x02,  0x00, 0x91, 0x00, 0x96,  0x04, 0x00, 0x08, 0x0A,  0x04, 0x00, 0x3C, 0x96,
 -  0x02, 0x00, 0x08, 0x3A,  0x1C, 0x96, 0x01, 0x00,  0x02, 0x49, 0x9D, 0x02,  0x00, 0x41, 0x00, 0x96,
 -  0x02, 0x00, 0x08, 0x3A,  0x4C, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x3D, 0x08,  0x0A, 0x1C, 0x96, 0x07,
 -  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x3B,  0x3D, 0x47, 0x96, 0x02,  0x00, 0x08, 0x3C, 0x47,
 -  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0A, 0x1C,  0x4E, 0x96, 0x07, 0x00,
 -  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x3B, 0x3D,  0x47, 0x47, 0x1D, 0x99,  0x02, 0x00, 0x33, 0x00,
 -  0x96, 0x04, 0x00, 0x08,  0x3A, 0x08, 0x0A, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
 -  0x08, 0x3B, 0x3D, 0x96,  0x02, 0x00, 0x08, 0x3C,  0x47, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0x0A,  0x1C, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x3B,
 -  0x3D, 0x47, 0x1D, 0x99,  0x02, 0x00, 0x61, 0xFF,  0x96, 0x02, 0x00, 0x08,  0x3A, 0x1C, 0x3E, 0x4F,
 -  0x96, 0x02, 0x00, 0x08,  0x2F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,
 -  0x3E, 0x9B, 0x05, 0x00,  0x00, 0x00, 0x00, 0x0D,  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0x3F,  0x4E, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x40,  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x0D, 0x00,
 -  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x41, 0x4E,  0x3E, 0x4F, 0x96, 0x08,
 -  0x00, 0x07, 0x83, 0x00,  0x00, 0x00, 0x02, 0x08,  0x2F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
 -  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x13, 0x00, 0x08,
 -  0x42, 0x07, 0x10, 0x00,  0x00, 0x00, 0x07, 0xF4,  0x01, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
 -  0x08, 0x43, 0x3D, 0x1D,  0x96, 0x0E, 0x00, 0x07,  0x06, 0x00, 0x00, 0x00,  0x08, 0x44, 0x07, 0xF4,
 -  0x01, 0x00, 0x00, 0x08,  0x42, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,
 -  0x04, 0x00, 0x00, 0x00,  0x08, 0x00, 0x3D, 0x17,  0x96, 0x13, 0x00, 0x08,  0x45, 0x07, 0x00, 0x00,
 -  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x1D,
 -  0x96, 0x02, 0x00, 0x08,  0x45, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
 -  0x46, 0x07, 0x01, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
 -  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x45, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
 -  0x96, 0x13, 0x00, 0x08,  0x47, 0x07, 0x02, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
 -  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x45, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x48, 0x07, 0x03, 0x00,  0x00, 0x00, 0x07, 0xFD,
++  0x72, 0x61, 0x67, 0x00,  0x73, 0x74, 0x6F, 0x70,  0x44, 0x72, 0x61, 0x67,  0x00, 0x63, 0x72, 0x65,
++  0x61, 0x74, 0x65, 0x45,  0x6D, 0x70, 0x74, 0x79,  0x4D, 0x6F, 0x76, 0x69,  0x65, 0x43, 0x6C, 0x69,
++  0x70, 0x00, 0x63, 0x72,  0x65, 0x61, 0x74, 0x65,  0x54, 0x65, 0x78, 0x74,  0x46, 0x69, 0x65, 0x6C,
++  0x64, 0x00, 0x67, 0x65,  0x74, 0x44, 0x65, 0x70,  0x74, 0x68, 0x2C, 0x63,  0x72, 0x65, 0x61, 0x74,
++  0x65, 0x45, 0x6D, 0x70,  0x74, 0x79, 0x4D, 0x6F,  0x76, 0x69, 0x65, 0x43,  0x6C, 0x69, 0x70, 0x00,
++  0x36, 0x63, 0x72, 0x65,  0x61, 0x74, 0x65, 0x45,  0x6D, 0x70, 0x74, 0x79,  0x4D, 0x6F, 0x76, 0x69,
++  0x65, 0x43, 0x6C, 0x69,  0x70, 0x2C, 0x36, 0x62,  0x65, 0x67, 0x69, 0x6E,  0x46, 0x69, 0x6C, 0x6C,
++  0x2C, 0x36, 0x62, 0x65,  0x67, 0x69, 0x6E, 0x47,  0x72, 0x61, 0x64, 0x69,  0x65, 0x6E, 0x74, 0x46,
++  0x69, 0x6C, 0x6C, 0x2C,  0x36, 0x6D, 0x6F, 0x76,  0x65, 0x54, 0x6F, 0x2C,  0x36, 0x6C, 0x69, 0x6E,
++  0x65, 0x54, 0x6F, 0x2C,  0x36, 0x63, 0x75, 0x72,  0x76, 0x65, 0x54, 0x6F,  0x2C, 0x36, 0x6C, 0x69,
++  0x6E, 0x65, 0x53, 0x74,  0x79, 0x6C, 0x65, 0x2C,  0x36, 0x65, 0x6E, 0x64,  0x46, 0x69, 0x6C, 0x6C,
++  0x2C, 0x36, 0x63, 0x6C,  0x65, 0x61, 0x72, 0x00,  0x54, 0x65, 0x78, 0x74,  0x46, 0x69, 0x65, 0x6C,
++  0x64, 0x00, 0x73, 0x65,  0x74, 0x54, 0x65, 0x78,  0x74, 0x46, 0x6F, 0x72,  0x6D, 0x61, 0x74, 0x00,
++  0x67, 0x65, 0x74, 0x4E,  0x65, 0x77, 0x54, 0x65,  0x78, 0x74, 0x46, 0x6F,  0x72, 0x6D, 0x61, 0x74,
++  0x00, 0x73, 0x65, 0x74,  0x4E, 0x65, 0x77, 0x54,  0x65, 0x78, 0x74, 0x46,  0x6F, 0x72, 0x6D, 0x61,
++  0x74, 0x00, 0x54, 0x65,  0x78, 0x74, 0x46, 0x6F,  0x72, 0x6D, 0x61, 0x74,  0x00, 0x53, 0x74, 0x79,
++  0x6C, 0x65, 0x53, 0x68,  0x65, 0x65, 0x74, 0x00,  0x5F, 0x63, 0x6F, 0x70,  0x79, 0x00, 0x6F, 0x62,
++  0x6A, 0x65, 0x63, 0x74,  0x00, 0x6F, 0x5F, 0x6E,  0x65, 0x77, 0x00, 0x70,  0x72, 0x6F, 0x70, 0x00,
++  0x63, 0x6C, 0x65, 0x61,  0x72, 0x00, 0x5F, 0x63,  0x73, 0x73, 0x00, 0x5F,  0x73, 0x74, 0x79, 0x6C,
++  0x65, 0x73, 0x00, 0x67,  0x65, 0x74, 0x53, 0x74,  0x79, 0x6C, 0x65, 0x00,  0x6E, 0x61, 0x6D, 0x65,
++  0x00, 0x73, 0x65, 0x74,  0x53, 0x74, 0x79, 0x6C,  0x65, 0x00, 0x73, 0x74,  0x79, 0x6C, 0x65, 0x00,
++  0x64, 0x6F, 0x54, 0x72,  0x61, 0x6E, 0x73, 0x66,  0x6F, 0x72, 0x6D, 0x00,  0x67, 0x65, 0x74, 0x53,
++  0x74, 0x79, 0x6C, 0x65,  0x4E, 0x61, 0x6D, 0x65,  0x73, 0x00, 0x74, 0x6D,  0x70, 0x00, 0x6E, 0x61,
++  0x6D, 0x65, 0x73, 0x00,  0x74, 0x72, 0x61, 0x6E,  0x73, 0x66, 0x6F, 0x72,  0x6D, 0x00, 0x66, 0x6F,
++  0x72, 0x6D, 0x61, 0x74,  0x00, 0x74, 0x65, 0x78,  0x74, 0x41, 0x6C, 0x69,  0x67, 0x6E, 0x00, 0x61,
++  0x6C, 0x69, 0x67, 0x6E,  0x00, 0x66, 0x6F, 0x6E,  0x74, 0x57, 0x65, 0x69,  0x67, 0x68, 0x74, 0x00,
++  0x62, 0x6F, 0x6C, 0x64,  0x00, 0x6E, 0x6F, 0x72,  0x6D, 0x61, 0x6C, 0x00,  0x63, 0x6F, 0x6C, 0x6F,
++  0x72, 0x00, 0x70, 0x61,  0x72, 0x73, 0x65, 0x43,  0x6F, 0x6C, 0x6F, 0x72,  0x00, 0x64, 0x69, 0x73,
++  0x70, 0x6C, 0x61, 0x79,  0x00, 0x66, 0x6F, 0x6E,  0x74, 0x46, 0x61, 0x6D,  0x69, 0x6C, 0x79, 0x00,
++  0x66, 0x6F, 0x6E, 0x74,  0x00, 0x70, 0x61, 0x72,  0x73, 0x65, 0x43, 0x53,  0x53, 0x46, 0x6F, 0x6E,
++  0x74, 0x46, 0x61, 0x6D,  0x69, 0x6C, 0x79, 0x00,  0x74, 0x65, 0x78, 0x74,  0x49, 0x6E, 0x64, 0x65,
++  0x6E, 0x74, 0x00, 0x69,  0x6E, 0x64, 0x65, 0x6E,  0x74, 0x00, 0x70, 0x61,  0x72, 0x73, 0x65, 0x49,
++  0x6E, 0x74, 0x00, 0x66,  0x6F, 0x6E, 0x74, 0x53,  0x74, 0x79, 0x6C, 0x65,  0x00, 0x69, 0x74, 0x61,
++  0x6C, 0x69, 0x63, 0x00,  0x6B, 0x65, 0x72, 0x6E,  0x69, 0x6E, 0x67, 0x00,  0x74, 0x72, 0x75, 0x65,
++  0x00, 0x66, 0x61, 0x6C,  0x73, 0x65, 0x00, 0x6C,  0x65, 0x61, 0x64, 0x69,  0x6E, 0x67, 0x00, 0x6D,
++  0x61, 0x72, 0x67, 0x69,  0x6E, 0x4C, 0x65, 0x66,  0x74, 0x00, 0x6C, 0x65,  0x66, 0x74, 0x4D, 0x61,
++  0x72, 0x67, 0x69, 0x6E,  0x00, 0x6C, 0x65, 0x74,  0x74, 0x65, 0x72, 0x53,  0x70, 0x61, 0x63, 0x69,
++  0x6E, 0x67, 0x00, 0x6D,  0x61, 0x72, 0x67, 0x69,  0x6E, 0x52, 0x69, 0x67,  0x68, 0x74, 0x00, 0x72,
++  0x69, 0x67, 0x68, 0x74,  0x4D, 0x61, 0x72, 0x67,  0x69, 0x6E, 0x00, 0x66,  0x6F, 0x6E, 0x74, 0x53,
++  0x69, 0x7A, 0x65, 0x00,  0x73, 0x69, 0x7A, 0x65,  0x00, 0x74, 0x65, 0x78,  0x74, 0x44, 0x65, 0x63,
++  0x6F, 0x72, 0x61, 0x74,  0x69, 0x6F, 0x6E, 0x00,  0x75, 0x6E, 0x64, 0x65,  0x72, 0x6C, 0x69, 0x6E,
++  0x65, 0x00, 0x6E, 0x6F,  0x6E, 0x65, 0x00, 0x70,  0x61, 0x72, 0x73, 0x65,  0x43, 0x53, 0x53, 0x00,
++  0x63, 0x73, 0x73, 0x00,  0x70, 0x61, 0x72, 0x73,  0x65, 0x43, 0x53, 0x53,  0x49, 0x6E, 0x74, 0x65,
++  0x72, 0x6E, 0x61, 0x6C,  0x00, 0x72, 0x65, 0x73,  0x75, 0x6C, 0x74, 0x00,  0x6E, 0x75, 0x6C, 0x6C,
++  0x00, 0x70, 0x61, 0x72,  0x73, 0x65, 0x00, 0x73,  0x65, 0x74, 0x49, 0x6E,  0x74, 0x65, 0x72, 0x76,
++  0x61, 0x6C, 0x00, 0x63,  0x6C, 0x65, 0x61, 0x72,  0x49, 0x6E, 0x74, 0x65,  0x72, 0x76, 0x61, 0x6C,
++  0x00, 0x73, 0x65, 0x74,  0x54, 0x69, 0x6D, 0x65,  0x6F, 0x75, 0x74, 0x00,  0x63, 0x6C, 0x65, 0x61,
++  0x72, 0x54, 0x69, 0x6D,  0x65, 0x6F, 0x75, 0x74,  0x00, 0x9B, 0x12, 0x00,  0x41, 0x73, 0x42, 0x72,
++  0x6F, 0x61, 0x64, 0x63,  0x61, 0x73, 0x74, 0x65,  0x72, 0x00, 0x00, 0x00,  0x00, 0x00, 0x9B, 0x0D,
++  0x00, 0x4C, 0x6F, 0x61,  0x64, 0x56, 0x61, 0x72,  0x73, 0x00, 0x00, 0x00,  0x00, 0x00, 0x96, 0x13,
++  0x00, 0x08, 0x00, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0x04, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
++  0x00, 0x00, 0x08, 0x01,  0x3D, 0x1D, 0x96, 0x13,  0x00, 0x08, 0x02, 0x07,  0x01, 0x00, 0x00, 0x00,
++  0x07, 0x04, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x1D, 0x96, 0x02,
++  0x00, 0x08, 0x03, 0x1C,  0x96, 0x13, 0x00, 0x08,  0x04, 0x07, 0x08, 0x00,  0x00, 0x00, 0x07, 0x65,
++  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x08, 0x00, 0x07,
++  0x07, 0x00, 0x00, 0x00,  0x02, 0x08, 0x03, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,
++  0x08, 0x05, 0x3D, 0x17,  0x96, 0x02, 0x00, 0x08,  0x06, 0x1C, 0x96, 0x13,  0x00, 0x08, 0x07, 0x07,
++  0x0C, 0x00, 0x00, 0x00,  0x07, 0x65, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
++  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x06, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x08, 0x9B, 0x07, 0x00,
++  0x00, 0x01, 0x00, 0x78,  0x00, 0x3C, 0x00, 0x96,  0x02, 0x00, 0x08, 0x0A,  0x1C, 0x96, 0x07, 0x00,
++  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x0B, 0x52, 0x17, 0x96,
++  0x02, 0x00, 0x08, 0x0A,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0x0C, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x0D, 0x52,  0x17, 0x96, 0x02, 0x00,
++  0x05, 0x01, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0B, 0x9B,
++  0x07, 0x00, 0x00, 0x01,  0x00, 0x78, 0x00, 0x8F,  0x00, 0x96, 0x04, 0x00,  0x08, 0x0E, 0x08, 0x09,
++  0x1C, 0x96, 0x02, 0x00,  0x08, 0x0C, 0x4E, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x0F, 0x41, 0x96, 0x07,
++  0x00, 0x08, 0x0F, 0x07,  0x00, 0x00, 0x00, 0x00,  0x3C, 0x99, 0x02, 0x00,  0x09, 0x00, 0x96, 0x02,
++  0x00, 0x08, 0x0F, 0x4C,  0x1C, 0x50, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x0F,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0x0E, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x10,  0x4E, 0x48, 0x12, 0x9D,  0x02, 0x00, 0x42, 0x00,
++  0x96, 0x02, 0x00, 0x08,  0x0E, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0F, 0x1C,  0x4E, 0x96, 0x02, 0x00,
++  0x08, 0x0A, 0x1C, 0x49,  0x12, 0x9D, 0x02, 0x00,  0x23, 0x00, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
++  0x00, 0x00, 0x08, 0x0F,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x0E, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0x11, 0x52, 0x17, 0x96,  0x02, 0x00, 0x05, 0x01,  0x3E, 0x99, 0x02, 0x00,
++  0x9C, 0xFF, 0x96, 0x02,  0x00, 0x05, 0x00, 0x3E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x06, 0x1C, 0x96,
++  0x02, 0x00, 0x08, 0x12,  0x9B, 0x07, 0x00, 0x00,  0x01, 0x00, 0x6F, 0x00,  0x73, 0x00, 0x96, 0x02,
++  0x00, 0x08, 0x13, 0x1C,  0x96, 0x13, 0x00, 0x08,  0x07, 0x07, 0x0C, 0x00,  0x00, 0x00, 0x07, 0x65,
+   0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
 -  0x45, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x49, 0x07, 0x04, 0x00,
 -  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
 -  0x96, 0x02, 0x00, 0x08,  0x45, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
 -  0x4A, 0x07, 0x05, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
 -  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x45, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
 -  0x96, 0x13, 0x00, 0x08,  0x39, 0x07, 0x06, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
 -  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x45, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x4B, 0x07, 0x07, 0x00,  0x00, 0x00, 0x07, 0xFD,
++  0x13, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x08, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x08, 0x4E,
++  0x4F, 0x96, 0x02, 0x00,  0x08, 0x13, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x0B,  0x08, 0x06, 0x1C, 0x96,
++  0x02, 0x00, 0x08, 0x0B,  0x4E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x13, 0x1C,  0x96, 0x07, 0x00, 0x08,
++  0x0C, 0x07, 0x00, 0x00,  0x00, 0x00, 0x42, 0x4F,  0x96, 0x09, 0x00, 0x07,  0x83, 0x00, 0x00, 0x00,
++  0x08, 0x14, 0x08, 0x13,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,
++  0x17, 0x4F, 0x96, 0x08,  0x00, 0x07, 0x83, 0x00,  0x00, 0x00, 0x02, 0x08,  0x06, 0x1C, 0x96, 0x07,
++  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x8C,  0x00, 0x08, 0x15, 0x08,
++  0x16, 0x07, 0x12, 0x00,  0x00, 0x00, 0x08, 0x17,  0x07, 0x08, 0x00, 0x00,  0x00, 0x08, 0x18, 0x07,
++  0x14, 0x00, 0x00, 0x00,  0x08, 0x19, 0x07, 0x11,  0x00, 0x00, 0x00, 0x08,  0x1A, 0x07, 0x2E, 0x00,
++  0x00, 0x00, 0x08, 0x1B,  0x07, 0x28, 0x00, 0x00,  0x00, 0x08, 0x1C, 0x07,  0x23, 0x00, 0x00, 0x00,
++  0x08, 0x1D, 0x07, 0x0D,  0x00, 0x00, 0x00, 0x08,  0x1E, 0x07, 0x1B, 0x00,  0x00, 0x00, 0x08, 0x1F,
++  0x07, 0x24, 0x00, 0x00,  0x00, 0x08, 0x20, 0x07,  0x2D, 0x00, 0x00, 0x00,  0x08, 0x21, 0x07, 0x25,
++  0x00, 0x00, 0x00, 0x08,  0x22, 0x07, 0x22, 0x00,  0x00, 0x00, 0x08, 0x23,  0x07, 0x21, 0x00, 0x00,
++  0x00, 0x08, 0x24, 0x07,  0x27, 0x00, 0x00, 0x00,  0x08, 0x25, 0x07, 0x10,  0x00, 0x00, 0x00, 0x08,
++  0x26, 0x07, 0x20, 0x00,  0x00, 0x00, 0x08, 0x27,  0x07, 0x09, 0x00, 0x00,  0x00, 0x08, 0x28, 0x07,
++  0x26, 0x00, 0x00, 0x00,  0x07, 0x13, 0x00, 0x00,  0x00, 0x43, 0x1D, 0x96,  0x09, 0x00, 0x08, 0x29,
++  0x07, 0x20, 0x03, 0x00,  0x00, 0x08, 0x15, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,
++  0x08, 0x00, 0x3D, 0x17,  0x96, 0x02, 0x00, 0x08,  0x15, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
++  0x00, 0x00, 0x08, 0x06,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x12, 0x52, 0x17,  0x96, 0x08, 0x00, 0x07,
++  0x07, 0x00, 0x00, 0x00,  0x02, 0x08, 0x15, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,
++  0x08, 0x05, 0x3D, 0x17,  0x96, 0x07, 0x00, 0x08,  0x2A, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x1D,
++  0x96, 0x02, 0x00, 0x08,  0x2A, 0x1C, 0x96, 0x13,  0x00, 0x08, 0x2B, 0x07,  0x00, 0x00, 0x00, 0x00,
++  0x07, 0x05, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
++  0x00, 0x08, 0x2A, 0x1C,  0x96, 0x13, 0x00, 0x08,  0x2C, 0x07, 0x01, 0x00,  0x00, 0x00, 0x07, 0x05,
+   0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
 -  0x45, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x4C, 0x07, 0x08, 0x00,
 -  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
 -  0x96, 0x13, 0x00, 0x08,  0x4D, 0x07, 0x09, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
 -  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x1D,  0x96, 0x02, 0x00, 0x08,  0x4D, 0x1C, 0x96, 0x10,
 -  0x00, 0x08, 0x30, 0x08,  0x4E, 0x07, 0x01, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
 -  0x45, 0x40, 0x4F, 0x96,  0x09, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x30, 0x08, 0x4D, 0x1C,
 -  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x02, 0x00, 0x08,
 -  0x4D, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x33, 0x07, 0x00, 0x00,
 -  0x00, 0x00, 0x07, 0x2D,  0x01, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
 -  0x96, 0x02, 0x00, 0x08,  0x4D, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
 -  0x4F, 0x07, 0x0A, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
 -  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x4D, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
 -  0x96, 0x13, 0x00, 0x08,  0x50, 0x07, 0x0B, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
 -  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x4D, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x51, 0x07, 0x0C, 0x00,  0x00, 0x00, 0x07, 0xFD,
 -  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
 -  0x4D, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x35, 0x9B, 0x05, 0x00,
 -  0x00, 0x00, 0x00, 0x00,  0x00, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x4D, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x36, 0x9B,  0x09, 0x00, 0x00, 0x01,  0x00, 0x73, 0x72, 0x63,
 -  0x00, 0x72, 0x00, 0x96,  0x02, 0x00, 0x08, 0x38,  0x1C, 0x96, 0x01, 0x00,  0x02, 0x49, 0x12, 0x9D,
 -  0x02, 0x00, 0x27, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x37, 0x05,
 -  0x00, 0x4F, 0x96, 0x09,  0x00, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0x35,  0x52, 0x17, 0x99, 0x02,  0x00, 0x3A, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,
 -  0x1C, 0x96, 0x04, 0x00,  0x08, 0x37, 0x05, 0x01,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x38, 0x1C, 0x96,
 -  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x51, 0x52,
 -  0x17, 0x96, 0x09, 0x00,  0x05, 0x01, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x35, 0x52,  0x17, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x4D, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x3E, 0x9B,  0x05, 0x00, 0x00, 0x00,  0x00, 0x0D, 0x00, 0x96,
 -  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x3F, 0x4E, 0x3E,  0x4F, 0x96, 0x02, 0x00,
 -  0x08, 0x4D, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x40, 0x9B, 0x05,
 -  0x00, 0x00, 0x00, 0x00,  0x0D, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x41, 0x4E, 0x3E, 0x4F,  0x96, 0x07, 0x00, 0x08,  0x52, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x1D,
 -  0x96, 0x02, 0x00, 0x08,  0x52, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x53, 0x07,  0x00, 0x00, 0x00, 0x00,
 -  0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x52, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x53, 0x4E, 0x96, 0x13,
 -  0x00, 0x08, 0x54, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0x0B, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
 -  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x07,  0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x08, 0x52,
 -  0x1C, 0x96, 0x02, 0x00,  0x08, 0x53, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x54,  0x52, 0x17, 0x96, 0x02,
 -  0x00, 0x08, 0x52, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x53, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x54, 0x3A,
 -  0x17, 0x96, 0x02, 0x00,  0x08, 0x55, 0x9B, 0x0C,  0x00, 0x00, 0x01, 0x00,  0x74, 0x61, 0x72, 0x67,
 -  0x65, 0x74, 0x00, 0x27,  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x56,
 -  0x08, 0x56, 0x1C, 0x4F,  0x96, 0x08, 0x00, 0x07,  0x07, 0x00, 0x00, 0x00,  0x02, 0x08, 0x09, 0x1C,
 -  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x1D, 0x96, 0x09, 0x00,
 -  0x08, 0x57, 0x07, 0xBC,  0x02, 0x00, 0x00, 0x08,  0x55, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
 -  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x00, 0x3D, 0x17,  0x96, 0x08, 0x00, 0x07,
 -  0x07, 0x00, 0x00, 0x00,  0x02, 0x08, 0x55, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x07,
 -  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,
 -  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x59, 0x9B,  0x0C, 0x00, 0x00, 0x01,
 -  0x00, 0x6D, 0x65, 0x74,  0x68, 0x6F, 0x64, 0x00,  0x5B, 0x00, 0x96, 0x09,  0x00, 0x08, 0x5C, 0x07,
 -  0x00, 0x00, 0x00, 0x00,  0x08, 0x5A, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x5B,  0x52, 0x3C, 0x96, 0x02,
 -  0x00, 0x08, 0x5C, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x5D, 0x49, 0x9D, 0x02,  0x00, 0x2D, 0x00, 0x96,
 -  0x02, 0x00, 0x08, 0x5C,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x5E, 0x49, 0x9D,  0x02, 0x00, 0x0E, 0x00,
 -  0x96, 0x05, 0x00, 0x07,  0x00, 0x00, 0x00, 0x00,  0x3E, 0x99, 0x02, 0x00,  0x09, 0x00, 0x96, 0x05,
 -  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x3E, 0x99,  0x02, 0x00, 0x09, 0x00,  0x96, 0x05, 0x00, 0x07,
 -  0x02, 0x00, 0x00, 0x00,  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x5F, 0x9B,  0x17, 0x00, 0x00, 0x03,  0x00, 0x75, 0x72, 0x6C,
 -  0x00, 0x74, 0x61, 0x72,  0x67, 0x65, 0x74, 0x00,  0x6D, 0x65, 0x74, 0x68,  0x6F, 0x64, 0x00, 0x97,
 -  0x00, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x44,  0x96, 0x02, 0x00, 0x08,  0x60, 0x49, 0x12, 0x9D,
 -  0x02, 0x00, 0x08, 0x00,  0x96, 0x04, 0x00, 0x08,  0x56, 0x08, 0x4E, 0x1D,  0x96, 0x04, 0x00, 0x08,
 -  0x61, 0x08, 0x5A, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0x59,  0x52, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x61, 0x1C,  0x96, 0x05, 0x00, 0x07,
 -  0x00, 0x00, 0x00, 0x00,  0x49, 0x9D, 0x02, 0x00,  0x3E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x61, 0x1C,
 -  0x96, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x49, 0x9D, 0x02, 0x00,  0x15, 0x00, 0x96, 0x02,
 -  0x00, 0x08, 0x62, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x56, 0x1C, 0x9A, 0x01,  0x00, 0x02, 0x99, 0x02,
 -  0x00, 0x10, 0x00, 0x96,  0x02, 0x00, 0x08, 0x62,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x9A,
 -  0x01, 0x00, 0x01, 0x99,  0x02, 0x00, 0x10, 0x00,  0x96, 0x02, 0x00, 0x08,  0x62, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x56, 0x1C,  0x9A, 0x01, 0x00, 0x00,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x63, 0x9B, 0x10,  0x00, 0x00, 0x02, 0x00,
 -  0x75, 0x72, 0x6C, 0x00,  0x6D, 0x65, 0x74, 0x68,  0x6F, 0x64, 0x00, 0x9A,  0x00, 0x96, 0x04, 0x00,
 -  0x08, 0x61, 0x08, 0x5A,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
 -  0x96, 0x02, 0x00, 0x08,  0x59, 0x52, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x20, 0x96, 0x02,
 -  0x00, 0x08, 0x61, 0x1C,  0x96, 0x05, 0x00, 0x07,  0x00, 0x00, 0x00, 0x00,  0x49, 0x9D, 0x02, 0x00,
 -  0x4A, 0x00, 0x96, 0x02,  0x00, 0x08, 0x61, 0x1C,  0x96, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
 -  0x49, 0x9D, 0x02, 0x00,  0x1B, 0x00, 0x96, 0x02,  0x00, 0x08, 0x62, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x64, 0x4E,  0x9A, 0x01, 0x00, 0xC2,  0x99, 0x02, 0x00, 0x16,
 -  0x00, 0x96, 0x02, 0x00,  0x08, 0x62, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x64, 0x4E, 0x9A,  0x01, 0x00, 0xC1, 0x99,  0x02, 0x00, 0x16, 0x00,  0x96, 0x02, 0x00, 0x08,
 -  0x62, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x64, 0x4E, 0x9A, 0x01,
 -  0x00, 0xC0, 0x96, 0x01,  0x00, 0x02, 0x20, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x58, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x65, 0x9B, 0x10, 0x00,  0x00, 0x02, 0x00, 0x75,
 -  0x72, 0x6C, 0x00, 0x6D,  0x65, 0x74, 0x68, 0x6F,  0x64, 0x00, 0x9A, 0x00,  0x96, 0x04, 0x00, 0x08,
 -  0x61, 0x08, 0x5A, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0x59,  0x52, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x20, 0x96, 0x02, 0x00,
 -  0x08, 0x61, 0x1C, 0x96,  0x05, 0x00, 0x07, 0x00,  0x00, 0x00, 0x00, 0x49,  0x9D, 0x02, 0x00, 0x4A,
 -  0x00, 0x96, 0x02, 0x00,  0x08, 0x61, 0x1C, 0x96,  0x05, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x49,
 -  0x9D, 0x02, 0x00, 0x1B,  0x00, 0x96, 0x02, 0x00,  0x08, 0x62, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x09,
 -  0x1C, 0x96, 0x02, 0x00,  0x08, 0x64, 0x4E, 0x9A,  0x01, 0x00, 0x42, 0x99,  0x02, 0x00, 0x16, 0x00,
 -  0x96, 0x02, 0x00, 0x08,  0x62, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x64, 0x4E, 0x9A, 0x01,  0x00, 0x41, 0x99, 0x02,  0x00, 0x16, 0x00, 0x96,  0x02, 0x00, 0x08, 0x62,
 -  0x1C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x64,  0x4E, 0x9A, 0x01, 0x00,
 -  0x40, 0x96, 0x01, 0x00,  0x02, 0x20, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x66,  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,
 -  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x58,
 -  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x67,  0x07, 0x01, 0x00, 0x00,
 -  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
 -  0x02, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x68,
 -  0x07, 0x04, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
 -  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
 -  0x13, 0x00, 0x08, 0x69,  0x07, 0x05, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,
 -  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x40,  0x07, 0x06, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,
 -  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x58,
 -  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x3E,  0x07, 0x07, 0x00, 0x00,
 -  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
 -  0x02, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x6A,
 -  0x07, 0x0A, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
 -  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
 -  0x13, 0x00, 0x08, 0x6B,  0x07, 0x0C, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,
 -  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x6C,  0x07, 0x0D, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,
 -  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x58,
 -  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x6D,  0x07, 0x0E, 0x00, 0x00,
 -  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
 -  0x02, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x6E,
 -  0x07, 0x0F, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
 -  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
 -  0x13, 0x00, 0x08, 0x6F,  0x07, 0x10, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,
 -  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x70,  0x07, 0x11, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,
 -  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x58,
 -  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x71,  0x07, 0x12, 0x00, 0x00,
 -  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
 -  0x02, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x72,
 -  0x07, 0x13, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
 -  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
 -  0x13, 0x00, 0x08, 0x73,  0x07, 0x14, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,
 -  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x74,  0x07, 0x15, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,
 -  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x09, 0x00, 0x07, 0x80,
 -  0x00, 0x00, 0x00, 0x08,  0x6A, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x07,
 -  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x09,  0x00, 0x08, 0x75, 0x07,
 -  0x85, 0x03, 0x00, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x07, 0x00,
 -  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x00, 0x3D,  0x17, 0x96, 0x08, 0x00,  0x07, 0x03, 0x00, 0x00,
 -  0x00, 0x02, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x03,
 -  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,  0x07, 0x00, 0x08, 0x76,  0x07, 0x00, 0x00, 0x00,
 -  0x00, 0x43, 0x1D, 0x96,  0x13, 0x00, 0x08, 0x77,  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x6E, 0x00,
 -  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x43, 0x3D, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x76,
 -  0x1C, 0x96, 0x13, 0x00,  0x08, 0x78, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,  0x71, 0x00, 0x00, 0x00,
 -  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x43, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0x78,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x79,
 -  0x9B, 0x07, 0x00, 0x00,  0x01, 0x00, 0x6F, 0x00,  0x67, 0x00, 0x96, 0x02,  0x00, 0x08, 0x13, 0x1C,
 -  0x44, 0x96, 0x02, 0x00,  0x08, 0x7A, 0x49, 0x12,  0x12, 0x9D, 0x02, 0x00,  0x05, 0x00, 0x96, 0x01,
 -  0x00, 0x02, 0x3E, 0x96,  0x07, 0x00, 0x08, 0x7B,  0x07, 0x00, 0x00, 0x00,  0x00, 0x43, 0x3C, 0x96,
 -  0x02, 0x00, 0x08, 0x13,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,  0x02, 0x49, 0x9D, 0x02,
 -  0x00, 0x27, 0x00, 0x96,  0x04, 0x00, 0x08, 0x7C,  0x04, 0x00, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x7B,
 -  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7C, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x13,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x7C, 0x1C, 0x4E,  0x4F, 0x99, 0x02, 0x00,  0xCB, 0xFF, 0x96, 0x02,  0x00, 0x08, 0x7B, 0x1C,
 -  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x78, 0x4E, 0x96, 0x02,
 -  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x7D, 0x9B, 0x05, 0x00,  0x00, 0x00, 0x00, 0x24,
 -  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x07, 0x00, 0x08, 0x7E,  0x07, 0x00, 0x00, 0x00,
 -  0x00, 0x43, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x07, 0x00,  0x08, 0x7F, 0x07, 0x00,
 -  0x00, 0x00, 0x00, 0x43,  0x4F, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x78, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x80, 0x9B, 0x0A, 0x00,
 -  0x00, 0x01, 0x00, 0x6E,  0x61, 0x6D, 0x65, 0x00,  0x25, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
 -  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x81, 0x1C,  0x4E, 0x96, 0x07, 0x00,
 -  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x79, 0x52, 0x3E, 0x4F,
 -  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x78, 0x4E,  0x96, 0x02, 0x00, 0x08,
 -  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x82, 0x9B,  0x10, 0x00, 0x00, 0x02,  0x00, 0x6E, 0x61, 0x6D,
 -  0x65, 0x00, 0x73, 0x74,  0x79, 0x6C, 0x65, 0x00,  0x67, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
 -  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x12, 0x12,  0x9D, 0x02, 0x00, 0x12,  0x00, 0x96, 0x02, 0x00,
 -  0x08, 0x09, 0x1C, 0x96,  0x07, 0x00, 0x08, 0x7E,  0x07, 0x00, 0x00, 0x00,  0x00, 0x43, 0x4F, 0x96,
 -  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7E, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x81,
 -  0x1C, 0x96, 0x02, 0x00,  0x08, 0x83, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
 -  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x79, 0x52,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x81, 0x1C, 0x96,
 -  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x84, 0x52,
 -  0x17, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x78, 0x4E, 0x96, 0x02,
 -  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x85, 0x9B, 0x05, 0x00,  0x00, 0x00, 0x00, 0x5B,
 -  0x00, 0x96, 0x04, 0x00,  0x08, 0x86, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7E, 0x4E, 0x3C,
 -  0x96, 0x07, 0x00, 0x08,  0x87, 0x07, 0x00, 0x00,  0x00, 0x00, 0x42, 0x3C,  0x96, 0x02, 0x00, 0x08,
 -  0x86, 0x46, 0x87, 0x01,  0x00, 0x00, 0x96, 0x01,  0x00, 0x02, 0x49, 0x9D,  0x02, 0x00, 0x25, 0x00,
 -  0x96, 0x04, 0x00, 0x08,  0x7C, 0x04, 0x00, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x7C, 0x1C, 0x96, 0x07,
 -  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x87,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x0D, 0x52, 0x17,
 -  0x99, 0x02, 0x00, 0xCD,  0xFF, 0x96, 0x02, 0x00,  0x08, 0x87, 0x1C, 0x3E,  0x4F, 0x96, 0x02, 0x00,
 -  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x78,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
 -  0x02, 0x00, 0x08, 0x84,  0x9B, 0x0A, 0x00, 0x00,  0x01, 0x00, 0x6E, 0x61,  0x6D, 0x65, 0x00, 0x5C,
 -  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7F,  0x4E, 0x12, 0x12, 0x9D,
 -  0x02, 0x00, 0x12, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x7F, 0x07,
 -  0x00, 0x00, 0x00, 0x00,  0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x7F, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x81, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x7E, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x81, 0x1C, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,
 -  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x88, 0x52,  0x4F, 0x4F, 0x96, 0x02,
 -  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x78, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
 -  0x96, 0x02, 0x00, 0x08,  0x88, 0x9B, 0x0B, 0x00,  0x00, 0x01, 0x00, 0x73,  0x74, 0x79, 0x6C, 0x65,
 -  0x00, 0x9D, 0x03, 0x96,  0x02, 0x00, 0x08, 0x83,  0x1C, 0x96, 0x01, 0x00,  0x02, 0x49, 0x12, 0x9D,
 -  0x02, 0x00, 0x05, 0x00,  0x96, 0x01, 0x00, 0x02,  0x3E, 0x96, 0x09, 0x00,  0x08, 0x89, 0x07, 0x00,
 -  0x00, 0x00, 0x00, 0x08,  0x77, 0x40, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x8A, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x15,  0x00, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,
 -  0x04, 0x00, 0x08, 0x8B,  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x8A,  0x4E, 0x4F, 0x96, 0x02,
 -  0x00, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x8C, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x8D, 0x49,
 -  0x9D, 0x02, 0x00, 0x2B,  0x00, 0x96, 0x02, 0x00,  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x8C,
 -  0x4E, 0x96, 0x02, 0x00,  0x08, 0x8E, 0x49, 0x12,  0x9D, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,
 -  0x08, 0x89, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x8D,  0x05, 0x00, 0x4F, 0x99,  0x02, 0x00, 0x0E, 0x00,
 -  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x8D, 0x05,  0x01, 0x4F, 0x96, 0x02,
 -  0x00, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x8F, 0x4E, 0x12, 0x9D,  0x02, 0x00, 0x41, 0x00,
 -  0x96, 0x04, 0x00, 0x08,  0x86, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x8F, 0x4E, 0x96, 0x07,
 -  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x90, 0x52, 0x3C,
 -  0x96, 0x02, 0x00, 0x08,  0x86, 0x1C, 0x96, 0x01,  0x00, 0x02, 0x49, 0x12,  0x12, 0x9D, 0x02, 0x00,
 -  0x0F, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x8F, 0x08, 0x86, 0x1C,
 -  0x4F, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x91,  0x08, 0x83, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0x91,  0x4E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x92, 0x4E, 0x12, 0x9D,  0x02, 0x00, 0x26, 0x00,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x04,
 -  0x00, 0x08, 0x93, 0x08,  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x92, 0x4E,  0x96, 0x07, 0x00, 0x07,
 -  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x94,  0x52, 0x4F, 0x96, 0x02,
 -  0x00, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x95, 0x4E, 0x12, 0x9D,  0x02, 0x00, 0x20, 0x00,
 -  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x96, 0x08,  0x83, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x95, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x97, 0x3D, 0x4F,
 -  0x96, 0x02, 0x00, 0x08,  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x98, 0x4E,  0x96, 0x02, 0x00, 0x08,
 -  0x99, 0x49, 0x9D, 0x02,  0x00, 0x2B, 0x00, 0x96,  0x02, 0x00, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x98, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x8E,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x0E, 0x00, 0x96,
 -  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x99, 0x05, 0x00,  0x4F, 0x99, 0x02, 0x00,
 -  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x99, 0x05, 0x01, 0x4F,
 -  0x96, 0x02, 0x00, 0x08,  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x9A, 0x4E,  0x96, 0x02, 0x00, 0x08,
 -  0x9B, 0x49, 0x9D, 0x02,  0x00, 0x4F, 0x00, 0x96,  0x02, 0x00, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x9A, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x9C,  0x49, 0x9D, 0x02, 0x00,  0x25, 0x00, 0x96, 0x02,
 -  0x00, 0x08, 0x89, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x9A, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x9A, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x97,  0x3D, 0x4F, 0x99, 0x02,
 -  0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x9A, 0x05, 0x00,
 -  0x4F, 0x99, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,  0x96, 0x04, 0x00, 0x08,
 -  0x9A, 0x05, 0x01, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x9D, 0x4E,
 -  0x12, 0x9D, 0x02, 0x00,  0x20, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,  0x96, 0x04, 0x00, 0x08,
 -  0x9D, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x9D, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
 -  0x00, 0x00, 0x08, 0x97,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,
 -  0x9E, 0x4E, 0x12, 0x9D,  0x02, 0x00, 0x20, 0x00,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x04,
 -  0x00, 0x08, 0x9F, 0x08,  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x9E, 0x4E,  0x96, 0x07, 0x00, 0x07,
 -  0x01, 0x00, 0x00, 0x00,  0x08, 0x97, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x83, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0xA0, 0x4E,  0x12, 0x9D, 0x02, 0x00,  0x20, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,
 -  0x96, 0x04, 0x00, 0x08,  0xA0, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0xA0, 0x4E, 0x96, 0x07,
 -  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x97,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x83, 0x1C,
 -  0x96, 0x02, 0x00, 0x08,  0xA1, 0x4E, 0x12, 0x9D,  0x02, 0x00, 0x20, 0x00,  0x96, 0x02, 0x00, 0x08,
 -  0x89, 0x1C, 0x96, 0x04,  0x00, 0x08, 0xA2, 0x08,  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xA1, 0x4E,
 -  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x97, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
 -  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xA3, 0x4E,  0x12, 0x9D, 0x02, 0x00,  0x3B, 0x00, 0x96, 0x04,
 -  0x00, 0x08, 0x86, 0x08,  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xA3, 0x4E,  0x96, 0x07, 0x00, 0x07,
 -  0x01, 0x00, 0x00, 0x00,  0x08, 0x97, 0x3D, 0x3C,  0x96, 0x07, 0x00, 0x07,  0x00, 0x00, 0x00, 0x00,
 -  0x08, 0x86, 0x1C, 0x48,  0x12, 0x9D, 0x02, 0x00,  0x0F, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,
 -  0x96, 0x04, 0x00, 0x08,  0xA4, 0x08, 0x86, 0x1C,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x83, 0x1C, 0x96,
 -  0x02, 0x00, 0x08, 0xA5,  0x4E, 0x96, 0x02, 0x00,  0x08, 0xA6, 0x49, 0x9D,  0x02, 0x00, 0x2B, 0x00,
 -  0x96, 0x02, 0x00, 0x08,  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xA5, 0x4E,  0x96, 0x02, 0x00, 0x08,
 -  0xA7, 0x49, 0x12, 0x9D,  0x02, 0x00, 0x0E, 0x00,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x04,
 -  0x00, 0x08, 0xA6, 0x05,  0x00, 0x4F, 0x99, 0x02,  0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x89,
 -  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA6, 0x05, 0x01,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x3E,
 -  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x78,  0x4E, 0x96, 0x02, 0x00,
 -  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0xA8,  0x9B, 0x09, 0x00, 0x00,  0x01, 0x00, 0x63, 0x73,
 -  0x73, 0x00, 0xC8, 0x00,  0x96, 0x04, 0x00, 0x08,  0xAB, 0x08, 0xA9, 0x1C,  0x96, 0x07, 0x00, 0x07,
 -  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xAA,  0x52, 0x3C, 0x96, 0x02,
 -  0x00, 0x08, 0xAB, 0x1C,  0x44, 0x96, 0x02, 0x00,  0x08, 0xAC, 0x49, 0x12,  0x9D, 0x02, 0x00, 0x06,
 -  0x00, 0x96, 0x02, 0x00,  0x05, 0x00, 0x3E, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x7E, 0x4E, 0x12,  0x12, 0x9D, 0x02, 0x00,  0x12, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
 -  0x96, 0x07, 0x00, 0x08,  0x7E, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x4F,  0x96, 0x02, 0x00, 0x08,
 -  0xAB, 0x46, 0x87, 0x01,  0x00, 0x00, 0x96, 0x01,  0x00, 0x02, 0x49, 0x9D,  0x02, 0x00, 0x56, 0x00,
 -  0x96, 0x04, 0x00, 0x08,  0x7C, 0x04, 0x00, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
 -  0x00, 0x08, 0x7E, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x7C, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xAB, 0x1C,
 -  0x96, 0x02, 0x00, 0x08,  0x7C, 0x1C, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
 -  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x79, 0x52,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x7C, 0x1C, 0x96,
 -  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x84, 0x52,
 -  0x17, 0x99, 0x02, 0x00,  0x9C, 0xFF, 0x96, 0x02,  0x00, 0x05, 0x01, 0x3E,  0x4F, 0x96, 0x02, 0x00,
 -  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x78,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
 -  0x04, 0x00, 0x08, 0xAD,  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x78,  0x4E, 0x96, 0x02, 0x00,
 -  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0xA8,  0x4E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,
 -  0x96, 0x02, 0x00, 0x08,  0x78, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
 -  0x33, 0x07, 0x00, 0x00,  0x00, 0x00, 0x07, 0x2D,  0x01, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
 -  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x78, 0x4E,
++  0x2A, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x06,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0x12, 0x52, 0x17,  0x96, 0x08, 0x00, 0x07,  0x07, 0x00, 0x00, 0x00,  0x02, 0x08, 0x2A, 0x1C,
++  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x07, 0x00, 0x08,
++  0x2D, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x1D,  0x96, 0x02, 0x00, 0x08,  0x2D, 0x1C, 0x96, 0x07,
++  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x06,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x12, 0x52, 0x17,
++  0x96, 0x0E, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x2E, 0x07, 0x9A,  0x02, 0x00, 0x00, 0x08,
++  0x2D, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x04, 0x00,  0x00, 0x00, 0x08, 0x02,  0x3D, 0x17, 0x96, 0x02,
++  0x00, 0x08, 0x2F, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x04,  0x00, 0x08, 0x31, 0x08,
++  0x32, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x2F, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
++  0x00, 0x08, 0x33, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0x2D, 0x01, 0x00,  0x00, 0x07, 0x02, 0x00,
++  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x2F, 0x1C,  0x96, 0x02, 0x00, 0x08,
++  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x34, 0x07,  0x03, 0x00, 0x00, 0x00,  0x07, 0x2D, 0x01, 0x00,
++  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x2F, 0x1C,
+   0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x35, 0x9B,  0x05, 0x00, 0x00, 0x00,
 -  0x00, 0x00, 0x00, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x78, 0x4E,
 -  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x36, 0x9B,  0x09, 0x00, 0x00, 0x01,
 -  0x00, 0x73, 0x72, 0x63,  0x00, 0x6B, 0x00, 0x96,  0x02, 0x00, 0x08, 0x38,  0x1C, 0x96, 0x01, 0x00,
 -  0x02, 0x49, 0x12, 0x9D,  0x02, 0x00, 0x19, 0x00,  0x96, 0x09, 0x00, 0x05,  0x00, 0x07, 0x01, 0x00,
 -  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x35, 0x52, 0x17,  0x99, 0x02, 0x00, 0x41,
 -  0x00, 0x96, 0x04, 0x00,  0x08, 0xAB, 0x08, 0x38,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,
 -  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0xAD, 0x52, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x09,
 -  0x1C, 0x96, 0x04, 0x00,  0x08, 0x37, 0x08, 0xAB,  0x1C, 0x4F, 0x96, 0x02,  0x00, 0x08, 0xAB, 0x1C,
 -  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x35,
 -  0x52, 0x17, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x78, 0x4E, 0x96,
 -  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0xAA, 0x07, 0x65,  0x00, 0x00, 0x00, 0x07,
 -  0x71, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
 -  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x78,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
 -  0x13, 0x00, 0x08, 0x94,  0x07, 0x66, 0x00, 0x00,  0x00, 0x07, 0x71, 0x00,  0x00, 0x00, 0x07, 0x02,
 -  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x78, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x90, 0x07, 0x67,
 -  0x00, 0x00, 0x00, 0x07,  0x71, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
 -  0x4F, 0x96, 0x08, 0x00,  0x07, 0x03, 0x04, 0x00,  0x00, 0x02, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,
 -  0x08, 0x78, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,
 -  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x09, 0x00,  0x07, 0x03, 0x04, 0x00,  0x00, 0x08, 0x78, 0x08,
 -  0x76, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x13,
 -  0x00, 0x08, 0xAE, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0xFA, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
 -  0x00, 0x00, 0x08, 0x01,  0x3D, 0x1D, 0x96, 0x13,  0x00, 0x08, 0xAF, 0x07,  0x01, 0x00, 0x00, 0x00,
 -  0x07, 0xFA, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x1D, 0x96, 0x13,
 -  0x00, 0x08, 0xB0, 0x07,  0x02, 0x00, 0x00, 0x00,  0x07, 0xFA, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
 -  0x00, 0x00, 0x08, 0x01,  0x3D, 0x1D, 0x96, 0x04,  0x00, 0x08, 0xB1, 0x08,  0xAF, 0x1C, 0x1D, 0x96,
 -  0x03, 0x00, 0x08, 0x13,  0x02, 0x1D, 0x96, 0x0D,  0x00, 0x07, 0x06, 0x00,  0x00, 0x00, 0x07, 0x01,
 -  0x00, 0x00, 0x00, 0x02,  0x08, 0x09, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x04,  0x00, 0x00, 0x00, 0x08,
 -  0x05, 0x3D, 0x17, 0x00
++  0x00, 0x00, 0x00, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x2F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
++  0x96, 0x02, 0x00, 0x08,  0x36, 0x9B, 0x09, 0x00,  0x00, 0x01, 0x00, 0x73,  0x72, 0x63, 0x00, 0x64,
++  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x37,  0x05, 0x01, 0x4F, 0x96,
++  0x02, 0x00, 0x08, 0x38,  0x1C, 0x96, 0x01, 0x00,  0x02, 0x49, 0x12, 0x9D,  0x02, 0x00, 0x19, 0x00,
++  0x96, 0x09, 0x00, 0x05,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0x35, 0x52, 0x17,  0x99, 0x02, 0x00, 0x2C,  0x00, 0x96, 0x02, 0x00,  0x08, 0x38, 0x1C, 0x96,
++  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x34, 0x52,
++  0x17, 0x96, 0x09, 0x00,  0x05, 0x01, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
++  0x00, 0x08, 0x35, 0x52,  0x17, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x2F, 0x1C,  0x96, 0x02, 0x00, 0x08,
++  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x39, 0x9B,  0x05, 0x00, 0x00, 0x00,  0x00, 0xB3, 0x00, 0x96,
++  0x03, 0x00, 0x08, 0x3A,  0x02, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x46,  0x87, 0x01, 0x00, 0x00,
++  0x96, 0x01, 0x00, 0x02,  0x49, 0x9D, 0x02, 0x00,  0x91, 0x00, 0x96, 0x04,  0x00, 0x08, 0x0A, 0x04,
++  0x00, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x3A, 0x1C,  0x96, 0x01, 0x00, 0x02,  0x49, 0x9D, 0x02, 0x00,
++  0x41, 0x00, 0x96, 0x02,  0x00, 0x08, 0x3A, 0x4C,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x3D, 0x08, 0x0A,
++  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x3B, 0x3D,  0x47, 0x96, 0x02, 0x00,
++  0x08, 0x3C, 0x47, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x0A, 0x1C, 0x4E,
++  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x3B, 0x3D, 0x47,  0x47, 0x1D, 0x99, 0x02,
++  0x00, 0x33, 0x00, 0x96,  0x04, 0x00, 0x08, 0x3A,  0x08, 0x0A, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,
++  0x00, 0x00, 0x00, 0x08,  0x3B, 0x3D, 0x96, 0x02,  0x00, 0x08, 0x3C, 0x47,  0x96, 0x02, 0x00, 0x08,
++  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0A, 0x1C,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,
++  0x00, 0x08, 0x3B, 0x3D,  0x47, 0x1D, 0x99, 0x02,  0x00, 0x61, 0xFF, 0x96,  0x02, 0x00, 0x08, 0x3A,
++  0x1C, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
++  0x02, 0x00, 0x08, 0x3E,  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x0D, 0x00,  0x96, 0x02, 0x00, 0x08,
++  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x3F, 0x4E,  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x2F, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x40, 0x9B,  0x05, 0x00, 0x00, 0x00,
++  0x00, 0x0D, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x41, 0x4E, 0x3E,
++  0x4F, 0x96, 0x08, 0x00,  0x07, 0x83, 0x00, 0x00,  0x00, 0x02, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0x30, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,
++  0x13, 0x00, 0x08, 0x42,  0x07, 0x10, 0x00, 0x00,  0x00, 0x07, 0xF4, 0x01,  0x00, 0x00, 0x07, 0x02,
++  0x00, 0x00, 0x00, 0x08,  0x43, 0x3D, 0x1D, 0x96,  0x0E, 0x00, 0x07, 0x06,  0x00, 0x00, 0x00, 0x08,
++  0x44, 0x07, 0xF4, 0x01,  0x00, 0x00, 0x08, 0x42,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
++  0x07, 0x00, 0x07, 0x04,  0x00, 0x00, 0x00, 0x08,  0x00, 0x3D, 0x17, 0x96,  0x13, 0x00, 0x08, 0x45,
++  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
++  0x43, 0x3D, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x45,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
++  0x13, 0x00, 0x08, 0x46,  0x07, 0x01, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,
++  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x45,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x47,  0x07, 0x02, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,
++  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x45,
++  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x48,  0x07, 0x03, 0x00, 0x00,
++  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
++  0x02, 0x00, 0x08, 0x45,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x49,
++  0x07, 0x04, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
++  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x45,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
++  0x13, 0x00, 0x08, 0x4A,  0x07, 0x05, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,
++  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x45,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x39,  0x07, 0x06, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,
++  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x45,
++  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x4B,  0x07, 0x07, 0x00, 0x00,
++  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
++  0x02, 0x00, 0x08, 0x45,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x4C,
++  0x07, 0x08, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
++  0x01, 0x3D, 0x4F, 0x96,  0x13, 0x00, 0x08, 0x4D,  0x07, 0x09, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,
++  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x43, 0x3D, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x4D,
++  0x1C, 0x96, 0x10, 0x00,  0x08, 0x30, 0x08, 0x4E,  0x07, 0x01, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
++  0x00, 0x00, 0x08, 0x45,  0x40, 0x4F, 0x96, 0x09,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x30,
++  0x08, 0x4D, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,
++  0x02, 0x00, 0x08, 0x4D,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x33,
++  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x2D, 0x01,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
++  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x4D,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
++  0x13, 0x00, 0x08, 0x4F,  0x07, 0x0A, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,
++  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x4D,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x50,  0x07, 0x0B, 0x00, 0x00,  0x00, 0x07, 0xFD, 0x00,
++  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x4D,
++  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x51,  0x07, 0x0C, 0x00, 0x00,
++  0x00, 0x07, 0xFD, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
++  0x02, 0x00, 0x08, 0x4D,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x35,
++  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x4D, 0x1C, 0x96,
++  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x36, 0x9B, 0x09,  0x00, 0x00, 0x01, 0x00,
++  0x73, 0x72, 0x63, 0x00,  0x72, 0x00, 0x96, 0x02,  0x00, 0x08, 0x38, 0x1C,  0x96, 0x01, 0x00, 0x02,
++  0x49, 0x12, 0x9D, 0x02,  0x00, 0x27, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x04, 0x00,
++  0x08, 0x37, 0x05, 0x00,  0x4F, 0x96, 0x09, 0x00,  0x05, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
++  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x35, 0x52,  0x17, 0x99, 0x02, 0x00,  0x3A, 0x00, 0x96, 0x02,
++  0x00, 0x08, 0x09, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x37, 0x05, 0x01, 0x4F,  0x96, 0x02, 0x00, 0x08,
++  0x38, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0x51, 0x52, 0x17,  0x96, 0x09, 0x00, 0x05,  0x01, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
++  0x1C, 0x96, 0x02, 0x00,  0x08, 0x35, 0x52, 0x17,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x4D, 0x1C, 0x96,
++  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x3E, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,
++  0x0D, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x3F, 0x4E, 0x3E, 0x4F,
++  0x96, 0x02, 0x00, 0x08,  0x4D, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,
++  0x40, 0x9B, 0x05, 0x00,  0x00, 0x00, 0x00, 0x0D,  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
++  0x02, 0x00, 0x08, 0x41,  0x4E, 0x3E, 0x4F, 0x96,  0x07, 0x00, 0x08, 0x52,  0x07, 0x00, 0x00, 0x00,
++  0x00, 0x43, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x52,  0x1C, 0x96, 0x07, 0x00,  0x08, 0x53, 0x07, 0x00,
++  0x00, 0x00, 0x00, 0x43,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x52, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x53,
++  0x4E, 0x96, 0x13, 0x00,  0x08, 0x54, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,  0x0B, 0x00, 0x00, 0x00,
++  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x07, 0x00,  0x07, 0x00, 0x00, 0x00,
++  0x00, 0x08, 0x52, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x53, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x54, 0x52,
++  0x17, 0x96, 0x02, 0x00,  0x08, 0x52, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x53,  0x4E, 0x96, 0x02, 0x00,
++  0x08, 0x54, 0x3A, 0x17,  0x96, 0x02, 0x00, 0x08,  0x55, 0x9B, 0x0C, 0x00,  0x00, 0x01, 0x00, 0x74,
++  0x61, 0x72, 0x67, 0x65,  0x74, 0x00, 0x27, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x04,
++  0x00, 0x08, 0x56, 0x08,  0x56, 0x1C, 0x4F, 0x96,  0x08, 0x00, 0x07, 0x07,  0x00, 0x00, 0x00, 0x02,
++  0x08, 0x09, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x1D,
++  0x96, 0x09, 0x00, 0x08,  0x57, 0x07, 0xBC, 0x02,  0x00, 0x00, 0x08, 0x55,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0x30, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x00, 0x3D, 0x17, 0x96,
++  0x08, 0x00, 0x07, 0x07,  0x00, 0x00, 0x00, 0x02,  0x08, 0x55, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
++  0x4E, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x02, 0x00,
++  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x59, 0x9B, 0x0C,
++  0x00, 0x00, 0x01, 0x00,  0x6D, 0x65, 0x74, 0x68,  0x6F, 0x64, 0x00, 0x5B,  0x00, 0x96, 0x09, 0x00,
++  0x08, 0x5C, 0x07, 0x00,  0x00, 0x00, 0x00, 0x08,  0x5A, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x5B, 0x52,
++  0x3C, 0x96, 0x02, 0x00,  0x08, 0x5C, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x5D,  0x49, 0x9D, 0x02, 0x00,
++  0x2D, 0x00, 0x96, 0x02,  0x00, 0x08, 0x5C, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x5E, 0x49, 0x9D, 0x02,
++  0x00, 0x0E, 0x00, 0x96,  0x05, 0x00, 0x07, 0x00,  0x00, 0x00, 0x00, 0x3E,  0x99, 0x02, 0x00, 0x09,
++  0x00, 0x96, 0x05, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x3E, 0x99, 0x02,  0x00, 0x09, 0x00, 0x96,
++  0x05, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x3E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x58, 0x1C, 0x96,
++  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x5F, 0x9B, 0x17,  0x00, 0x00, 0x03, 0x00,
++  0x75, 0x72, 0x6C, 0x00,  0x74, 0x61, 0x72, 0x67,  0x65, 0x74, 0x00, 0x6D,  0x65, 0x74, 0x68, 0x6F,
++  0x64, 0x00, 0x97, 0x00,  0x96, 0x02, 0x00, 0x08,  0x56, 0x1C, 0x44, 0x96,  0x02, 0x00, 0x08, 0x60,
++  0x49, 0x12, 0x9D, 0x02,  0x00, 0x08, 0x00, 0x96,  0x04, 0x00, 0x08, 0x56,  0x08, 0x4E, 0x1D, 0x96,
++  0x04, 0x00, 0x08, 0x61,  0x08, 0x5A, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
++  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x59, 0x52,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x61, 0x1C, 0x96,
++  0x05, 0x00, 0x07, 0x00,  0x00, 0x00, 0x00, 0x49,  0x9D, 0x02, 0x00, 0x3E,  0x00, 0x96, 0x02, 0x00,
++  0x08, 0x61, 0x1C, 0x96,  0x05, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x49,  0x9D, 0x02, 0x00, 0x15,
++  0x00, 0x96, 0x02, 0x00,  0x08, 0x62, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x9A, 0x01, 0x00,
++  0x02, 0x99, 0x02, 0x00,  0x10, 0x00, 0x96, 0x02,  0x00, 0x08, 0x62, 0x1C,  0x96, 0x02, 0x00, 0x08,
++  0x56, 0x1C, 0x9A, 0x01,  0x00, 0x01, 0x99, 0x02,  0x00, 0x10, 0x00, 0x96,  0x02, 0x00, 0x08, 0x62,
++  0x1C, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x9A,  0x01, 0x00, 0x00, 0x4F,  0x96, 0x02, 0x00, 0x08,
++  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x63, 0x9B, 0x10, 0x00,
++  0x00, 0x02, 0x00, 0x75,  0x72, 0x6C, 0x00, 0x6D,  0x65, 0x74, 0x68, 0x6F,  0x64, 0x00, 0x9A, 0x00,
++  0x96, 0x04, 0x00, 0x08,  0x61, 0x08, 0x5A, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
++  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x59,  0x52, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
++  0x20, 0x96, 0x02, 0x00,  0x08, 0x61, 0x1C, 0x96,  0x05, 0x00, 0x07, 0x00,  0x00, 0x00, 0x00, 0x49,
++  0x9D, 0x02, 0x00, 0x4A,  0x00, 0x96, 0x02, 0x00,  0x08, 0x61, 0x1C, 0x96,  0x05, 0x00, 0x07, 0x01,
++  0x00, 0x00, 0x00, 0x49,  0x9D, 0x02, 0x00, 0x1B,  0x00, 0x96, 0x02, 0x00,  0x08, 0x62, 0x1C, 0x96,
++  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x64, 0x4E, 0x9A,  0x01, 0x00, 0xC2, 0x99,
++  0x02, 0x00, 0x16, 0x00,  0x96, 0x02, 0x00, 0x08,  0x62, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0x64, 0x4E, 0x9A, 0x01,  0x00, 0xC1, 0x99, 0x02,  0x00, 0x16, 0x00, 0x96,
++  0x02, 0x00, 0x08, 0x62,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x64,
++  0x4E, 0x9A, 0x01, 0x00,  0xC0, 0x96, 0x01, 0x00,  0x02, 0x20, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x58,
++  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x65,  0x9B, 0x10, 0x00, 0x00,
 +  0x02, 0x00, 0x75, 0x72,  0x6C, 0x00, 0x6D, 0x65,  0x74, 0x68, 0x6F, 0x64,  0x00, 0x9A, 0x00, 0x96,
-   0x04, 0x00, 0x08, 0x5F,  0x08, 0x58, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
-   0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x57, 0x52,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x20,
-   0x96, 0x02, 0x00, 0x08,  0x5F, 0x1C, 0x96, 0x05,  0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x49, 0x9D,
-   0x02, 0x00, 0x4A, 0x00,  0x96, 0x02, 0x00, 0x08,  0x5F, 0x1C, 0x96, 0x05,  0x00, 0x07, 0x01, 0x00,
-   0x00, 0x00, 0x49, 0x9D,  0x02, 0x00, 0x1B, 0x00,  0x96, 0x02, 0x00, 0x08,  0x60, 0x1C, 0x96, 0x02,
-   0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x62, 0x4E, 0x9A, 0x01,  0x00, 0xC2, 0x99, 0x02,
-   0x00, 0x16, 0x00, 0x96,  0x02, 0x00, 0x08, 0x60,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
-   0x02, 0x00, 0x08, 0x62,  0x4E, 0x9A, 0x01, 0x00,  0xC1, 0x99, 0x02, 0x00,  0x16, 0x00, 0x96, 0x02,
-   0x00, 0x08, 0x60, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x62, 0x4E,
-   0x9A, 0x01, 0x00, 0xC0,  0x96, 0x01, 0x00, 0x02,  0x20, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x56, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x63, 0x9B,  0x10, 0x00, 0x00, 0x02,
-   0x00, 0x75, 0x72, 0x6C,  0x00, 0x6D, 0x65, 0x74,  0x68, 0x6F, 0x64, 0x00,  0x9A, 0x00, 0x96, 0x04,
-   0x00, 0x08, 0x5F, 0x08,  0x58, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
-   0x1C, 0x96, 0x02, 0x00,  0x08, 0x57, 0x52, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x20, 0x96,
-   0x02, 0x00, 0x08, 0x5F,  0x1C, 0x96, 0x05, 0x00,  0x07, 0x00, 0x00, 0x00,  0x00, 0x49, 0x9D, 0x02,
-   0x00, 0x4A, 0x00, 0x96,  0x02, 0x00, 0x08, 0x5F,  0x1C, 0x96, 0x05, 0x00,  0x07, 0x01, 0x00, 0x00,
-   0x00, 0x49, 0x9D, 0x02,  0x00, 0x1B, 0x00, 0x96,  0x02, 0x00, 0x08, 0x60,  0x1C, 0x96, 0x02, 0x00,
-   0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x62,  0x4E, 0x9A, 0x01, 0x00,  0x42, 0x99, 0x02, 0x00,
-   0x16, 0x00, 0x96, 0x02,  0x00, 0x08, 0x60, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
-   0x00, 0x08, 0x62, 0x4E,  0x9A, 0x01, 0x00, 0x41,  0x99, 0x02, 0x00, 0x16,  0x00, 0x96, 0x02, 0x00,
-   0x08, 0x60, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x62, 0x4E, 0x9A,
-   0x01, 0x00, 0x40, 0x96,  0x01, 0x00, 0x02, 0x20,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,
-   0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x64, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,
-   0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
-   0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x65, 0x07, 0x01,
-   0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
-   0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
-   0x08, 0x66, 0x07, 0x04,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-   0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
-   0x4E, 0x96, 0x13, 0x00,  0x08, 0x67, 0x07, 0x05,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
-   0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,
-   0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x40, 0x07, 0x06,  0x00, 0x00, 0x00, 0x07,
-   0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
-   0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x3E, 0x07, 0x07,
-   0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
-   0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
-   0x08, 0x68, 0x07, 0x0A,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-   0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
-   0x4E, 0x96, 0x13, 0x00,  0x08, 0x69, 0x07, 0x0C,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
-   0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,
-   0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6A, 0x07, 0x0D,  0x00, 0x00, 0x00, 0x07,
-   0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
-   0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6B, 0x07, 0x0E,
-   0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
-   0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
-   0x08, 0x6C, 0x07, 0x0F,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-   0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
-   0x4E, 0x96, 0x13, 0x00,  0x08, 0x6D, 0x07, 0x10,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
-   0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,
-   0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6E, 0x07, 0x11,  0x00, 0x00, 0x00, 0x07,
-   0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
-   0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6F, 0x07, 0x12,
-   0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
-   0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
-   0x08, 0x70, 0x07, 0x13,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-   0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
-   0x4E, 0x96, 0x13, 0x00,  0x08, 0x71, 0x07, 0x14,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
-   0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,
-   0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x72, 0x07, 0x15,  0x00, 0x00, 0x00, 0x07,
-   0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
-   0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x73, 0x07, 0x00,
-   0x00, 0x00, 0x00, 0x07,  0x85, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
-   0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
-   0x08, 0x74, 0x07, 0xC8,  0x00, 0x00, 0x00, 0x07,  0x68, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-   0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x09, 0x00,  0x07, 0x80, 0x00, 0x00,  0x00, 0x08, 0x75, 0x08,
-   0x56, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,
-   0x08, 0x05, 0x3D, 0x17,  0x96, 0x08, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x02, 0x08, 0x56, 0x1C,
++  0x04, 0x00, 0x08, 0x61,  0x08, 0x5A, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
++  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x59, 0x52,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x20,
++  0x96, 0x02, 0x00, 0x08,  0x61, 0x1C, 0x96, 0x05,  0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x49, 0x9D,
++  0x02, 0x00, 0x4A, 0x00,  0x96, 0x02, 0x00, 0x08,  0x61, 0x1C, 0x96, 0x05,  0x00, 0x07, 0x01, 0x00,
++  0x00, 0x00, 0x49, 0x9D,  0x02, 0x00, 0x1B, 0x00,  0x96, 0x02, 0x00, 0x08,  0x62, 0x1C, 0x96, 0x02,
++  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x64, 0x4E, 0x9A, 0x01,  0x00, 0x42, 0x99, 0x02,
++  0x00, 0x16, 0x00, 0x96,  0x02, 0x00, 0x08, 0x62,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
++  0x02, 0x00, 0x08, 0x64,  0x4E, 0x9A, 0x01, 0x00,  0x41, 0x99, 0x02, 0x00,  0x16, 0x00, 0x96, 0x02,
++  0x00, 0x08, 0x62, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x64, 0x4E,
++  0x9A, 0x01, 0x00, 0x40,  0x96, 0x01, 0x00, 0x02,  0x20, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x66, 0x07,  0x00, 0x00, 0x00, 0x00,
++  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
++  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x67, 0x07,
++  0x01, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
++  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
++  0x00, 0x08, 0x68, 0x07,  0x04, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,
++  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,
++  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x69, 0x07,  0x05, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,
++  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x40, 0x07,  0x06, 0x00, 0x00, 0x00,
++  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
++  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x3E, 0x07,
++  0x07, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
++  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
++  0x00, 0x08, 0x6A, 0x07,  0x0A, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,
++  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,
++  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x6B, 0x07,  0x0C, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,
++  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x6C, 0x07,  0x0D, 0x00, 0x00, 0x00,
++  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
++  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x6D, 0x07,
++  0x0E, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
++  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
++  0x00, 0x08, 0x6E, 0x07,  0x0F, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,
++  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,
++  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x6F, 0x07,  0x10, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,
++  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x70, 0x07,  0x11, 0x00, 0x00, 0x00,
++  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
++  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x71, 0x07,
++  0x12, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
++  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
++  0x00, 0x08, 0x72, 0x07,  0x13, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,
++  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,
++  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x73, 0x07,  0x14, 0x00, 0x00, 0x00,  0x07, 0x84, 0x03, 0x00,
++  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x74, 0x07,  0x15, 0x00, 0x00, 0x00,
++  0x07, 0x84, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
++  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x75, 0x07,
++  0x00, 0x00, 0x00, 0x00,  0x07, 0x85, 0x03, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
++  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x58, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
++  0x00, 0x08, 0x76, 0x07,  0xC8, 0x00, 0x00, 0x00,  0x07, 0x68, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
++  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x09,  0x00, 0x07, 0x80, 0x00,  0x00, 0x00, 0x08, 0x77,
++  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,
++  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x09, 0x00,  0x08, 0x78, 0x07, 0x85,  0x03, 0x00, 0x00, 0x08,
++  0x58, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,
++  0x08, 0x00, 0x3D, 0x17,  0x96, 0x08, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x02, 0x08, 0x58, 0x1C,
 +  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,
-   0x3D, 0x17, 0x96, 0x13,  0x00, 0x08, 0x76, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0x68, 0x00, 0x00,
-   0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,  0x3D, 0x1D, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x77, 0x07,  0x66, 0x00, 0x00, 0x00,
++  0x3D, 0x17, 0x96, 0x13,  0x00, 0x08, 0x79, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0x68, 0x00, 0x00,
++  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,  0x3D, 0x1D, 0x96, 0x02,  0x00, 0x08, 0x79, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x7A, 0x07,  0x66, 0x00, 0x00, 0x00,
 +  0x07, 0x68, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
-   0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x78, 0x07,
++  0x00, 0x08, 0x79, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x7B, 0x07,
 +  0x68, 0x00, 0x00, 0x00,  0x07, 0x68, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
-   0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
-   0x00, 0x08, 0x79, 0x07,  0x69, 0x00, 0x00, 0x00,  0x07, 0x68, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
-   0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x13,  0x00, 0x08, 0x7A, 0x07,  0x00, 0x00, 0x00, 0x00,
++  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x79, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
++  0x00, 0x08, 0x7C, 0x07,  0x69, 0x00, 0x00, 0x00,  0x07, 0x68, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
++  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x13,  0x00, 0x08, 0x7D, 0x07,  0x00, 0x00, 0x00, 0x00,
 +  0x07, 0x6E, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,  0x3D, 0x1D, 0x96, 0x02,
-   0x00, 0x08, 0x76, 0x1C,  0x96, 0x13, 0x00, 0x08,  0x7B, 0x07, 0x00, 0x00,  0x00, 0x00, 0x07, 0x71,
++  0x00, 0x08, 0x79, 0x1C,  0x96, 0x13, 0x00, 0x08,  0x7E, 0x07, 0x00, 0x00,  0x00, 0x00, 0x07, 0x71,
 +  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
-   0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7B, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,
-   0x00, 0x08, 0x7C, 0x9B,  0x07, 0x00, 0x00, 0x01,  0x00, 0x6F, 0x00, 0x67,  0x00, 0x96, 0x02, 0x00,
-   0x08, 0x13, 0x1C, 0x44,  0x96, 0x02, 0x00, 0x08,  0x7D, 0x49, 0x12, 0x12,  0x9D, 0x02, 0x00, 0x05,
-   0x00, 0x96, 0x01, 0x00,  0x02, 0x3E, 0x96, 0x07,  0x00, 0x08, 0x7E, 0x07,  0x00, 0x00, 0x00, 0x00,
++  0x79, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7E, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,
++  0x00, 0x08, 0x7F, 0x9B,  0x07, 0x00, 0x00, 0x01,  0x00, 0x6F, 0x00, 0x67,  0x00, 0x96, 0x02, 0x00,
++  0x08, 0x13, 0x1C, 0x44,  0x96, 0x02, 0x00, 0x08,  0x80, 0x49, 0x12, 0x12,  0x9D, 0x02, 0x00, 0x05,
++  0x00, 0x96, 0x01, 0x00,  0x02, 0x3E, 0x96, 0x07,  0x00, 0x08, 0x81, 0x07,  0x00, 0x00, 0x00, 0x00,
 +  0x43, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x13, 0x46,  0x87, 0x01, 0x00, 0x00,  0x96, 0x01, 0x00, 0x02,
-   0x49, 0x9D, 0x02, 0x00,  0x27, 0x00, 0x96, 0x04,  0x00, 0x08, 0x7F, 0x04,  0x00, 0x3C, 0x96, 0x02,
-   0x00, 0x08, 0x7E, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x13, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x7F, 0x1C, 0x4E, 0x4F,  0x99, 0x02, 0x00, 0xCB,  0xFF, 0x96, 0x02, 0x00,
-   0x08, 0x7E, 0x1C, 0x3E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7B,
-   0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x80,  0x9B, 0x05, 0x00, 0x00,
-   0x00, 0x00, 0x24, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x81, 0x07,
++  0x49, 0x9D, 0x02, 0x00,  0x27, 0x00, 0x96, 0x04,  0x00, 0x08, 0x82, 0x04,  0x00, 0x3C, 0x96, 0x02,
++  0x00, 0x08, 0x81, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x82, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x13, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0x82, 0x1C, 0x4E, 0x4F,  0x99, 0x02, 0x00, 0xCB,  0xFF, 0x96, 0x02, 0x00,
++  0x08, 0x81, 0x1C, 0x3E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x79, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,
++  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x83,  0x9B, 0x05, 0x00, 0x00,
++  0x00, 0x00, 0x24, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x84, 0x07,
 +  0x00, 0x00, 0x00, 0x00,  0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x07, 0x00, 0x08,
-   0x82, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x4F,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,
-   0x02, 0x00, 0x08, 0x7B,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x83,
++  0x85, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x4F,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x79, 0x1C, 0x96,
++  0x02, 0x00, 0x08, 0x7E,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x86,
 +  0x9B, 0x0A, 0x00, 0x00,  0x01, 0x00, 0x6E, 0x61,  0x6D, 0x65, 0x00, 0x25,  0x00, 0x96, 0x02, 0x00,
-   0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x81,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x84, 0x1C, 0x4E,
-   0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7C,
-   0x52, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7B, 0x4E, 0x96,
-   0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x85, 0x9B, 0x10,  0x00, 0x00, 0x02, 0x00,
++  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x84,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x87, 0x1C, 0x4E,
++  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7F,
++  0x52, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x79,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7E, 0x4E, 0x96,
++  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x88, 0x9B, 0x10,  0x00, 0x00, 0x02, 0x00,
 +  0x6E, 0x61, 0x6D, 0x65,  0x00, 0x73, 0x74, 0x79,  0x6C, 0x65, 0x00, 0x67,  0x00, 0x96, 0x02, 0x00,
-   0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x81,  0x4E, 0x12, 0x12, 0x9D,  0x02, 0x00, 0x12, 0x00,
-   0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x81, 0x07,  0x00, 0x00, 0x00, 0x00,
-   0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x81, 0x4E, 0x96, 0x02,
-   0x00, 0x08, 0x84, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x86, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
-   0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7C, 0x52, 0x4F,  0x96, 0x02, 0x00, 0x08,
-   0x84, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
-   0x08, 0x87, 0x52, 0x17,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7B,
-   0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x88,  0x9B, 0x05, 0x00, 0x00,
-   0x00, 0x00, 0x5B, 0x00,  0x96, 0x04, 0x00, 0x08,  0x89, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
-   0x81, 0x4E, 0x3C, 0x96,  0x07, 0x00, 0x08, 0x8A,  0x07, 0x00, 0x00, 0x00,  0x00, 0x42, 0x3C, 0x96,
-   0x02, 0x00, 0x08, 0x89,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,  0x02, 0x49, 0x9D, 0x02,
-   0x00, 0x25, 0x00, 0x96,  0x04, 0x00, 0x08, 0x7F,  0x04, 0x00, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x7F,
-   0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x8A, 0x1C,  0x96, 0x02, 0x00, 0x08,
-   0x0D, 0x52, 0x17, 0x99,  0x02, 0x00, 0xCD, 0xFF,  0x96, 0x02, 0x00, 0x08,  0x8A, 0x1C, 0x3E, 0x4F,
-   0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7B, 0x4E,  0x96, 0x02, 0x00, 0x08,
-   0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x87, 0x9B,  0x0A, 0x00, 0x00, 0x01,  0x00, 0x6E, 0x61, 0x6D,
-   0x65, 0x00, 0x5C, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x82, 0x4E,
++  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x84,  0x4E, 0x12, 0x12, 0x9D,  0x02, 0x00, 0x12, 0x00,
++  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x84, 0x07,  0x00, 0x00, 0x00, 0x00,
++  0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x84, 0x4E, 0x96, 0x02,
++  0x00, 0x08, 0x87, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
++  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7F, 0x52, 0x4F,  0x96, 0x02, 0x00, 0x08,
++  0x87, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0x8A, 0x52, 0x17,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x79, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,
++  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x8B,  0x9B, 0x05, 0x00, 0x00,
++  0x00, 0x00, 0x5B, 0x00,  0x96, 0x04, 0x00, 0x08,  0x8C, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
++  0x84, 0x4E, 0x3C, 0x96,  0x07, 0x00, 0x08, 0x8D,  0x07, 0x00, 0x00, 0x00,  0x00, 0x42, 0x3C, 0x96,
++  0x02, 0x00, 0x08, 0x8C,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,  0x02, 0x49, 0x9D, 0x02,
++  0x00, 0x25, 0x00, 0x96,  0x04, 0x00, 0x08, 0x82,  0x04, 0x00, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x82,
++  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x8D, 0x1C,  0x96, 0x02, 0x00, 0x08,
++  0x0D, 0x52, 0x17, 0x99,  0x02, 0x00, 0xCD, 0xFF,  0x96, 0x02, 0x00, 0x08,  0x8D, 0x1C, 0x3E, 0x4F,
++  0x96, 0x02, 0x00, 0x08,  0x79, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7E, 0x4E,  0x96, 0x02, 0x00, 0x08,
++  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x8A, 0x9B,  0x0A, 0x00, 0x00, 0x01,  0x00, 0x6E, 0x61, 0x6D,
++  0x65, 0x00, 0x5C, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x85, 0x4E,
 +  0x12, 0x12, 0x9D, 0x02,  0x00, 0x12, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x07, 0x00,
-   0x08, 0x82, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
-   0x02, 0x00, 0x08, 0x82,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x84, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x09,
-   0x1C, 0x96, 0x02, 0x00,  0x08, 0x81, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x84,  0x1C, 0x4E, 0x96, 0x07,
-   0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x8B, 0x52, 0x4F,
-   0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7B,  0x4E, 0x96, 0x02, 0x00,
-   0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x8B,  0x9B, 0x0B, 0x00, 0x00,  0x01, 0x00, 0x73, 0x74,
-   0x79, 0x6C, 0x65, 0x00,  0x9D, 0x03, 0x96, 0x02,  0x00, 0x08, 0x86, 0x1C,  0x96, 0x01, 0x00, 0x02,
++  0x08, 0x85, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
++  0x02, 0x00, 0x08, 0x85,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x87, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x09,
++  0x1C, 0x96, 0x02, 0x00,  0x08, 0x84, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x87,  0x1C, 0x4E, 0x96, 0x07,
++  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x8E, 0x52, 0x4F,
++  0x4F, 0x96, 0x02, 0x00,  0x08, 0x79, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,  0x4E, 0x96, 0x02, 0x00,
++  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x8E,  0x9B, 0x0B, 0x00, 0x00,  0x01, 0x00, 0x73, 0x74,
++  0x79, 0x6C, 0x65, 0x00,  0x9D, 0x03, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,  0x96, 0x01, 0x00, 0x02,
 +  0x49, 0x12, 0x9D, 0x02,  0x00, 0x05, 0x00, 0x96,  0x01, 0x00, 0x02, 0x3E,  0x96, 0x09, 0x00, 0x08,
-   0x8C, 0x07, 0x00, 0x00,  0x00, 0x00, 0x08, 0x7A,  0x40, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x86, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x8D, 0x4E, 0x12, 0x9D,  0x02, 0x00, 0x15, 0x00,  0x96, 0x02, 0x00, 0x08,
-   0x8C, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x8E, 0x08,  0x86, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x8D, 0x4E,
-   0x4F, 0x96, 0x02, 0x00,  0x08, 0x86, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x8F,  0x4E, 0x96, 0x02, 0x00,
-   0x08, 0x90, 0x49, 0x9D,  0x02, 0x00, 0x2B, 0x00,  0x96, 0x02, 0x00, 0x08,  0x86, 0x1C, 0x96, 0x02,
-   0x00, 0x08, 0x8F, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x91, 0x49, 0x12, 0x9D,  0x02, 0x00, 0x0E, 0x00,
-   0x96, 0x02, 0x00, 0x08,  0x8C, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x90, 0x05,  0x00, 0x4F, 0x99, 0x02,
-   0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8C,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x90, 0x05, 0x01,
-   0x4F, 0x96, 0x02, 0x00,  0x08, 0x86, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x92,  0x4E, 0x12, 0x9D, 0x02,
-   0x00, 0x41, 0x00, 0x96,  0x04, 0x00, 0x08, 0x89,  0x08, 0x86, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x92,
++  0x8F, 0x07, 0x00, 0x00,  0x00, 0x00, 0x08, 0x7D,  0x40, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0x90, 0x4E, 0x12, 0x9D,  0x02, 0x00, 0x15, 0x00,  0x96, 0x02, 0x00, 0x08,
++  0x8F, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x91, 0x08,  0x89, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x90, 0x4E,
++  0x4F, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x92,  0x4E, 0x96, 0x02, 0x00,
++  0x08, 0x93, 0x49, 0x9D,  0x02, 0x00, 0x2B, 0x00,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x02,
++  0x00, 0x08, 0x92, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x94, 0x49, 0x12, 0x9D,  0x02, 0x00, 0x0E, 0x00,
++  0x96, 0x02, 0x00, 0x08,  0x8F, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x93, 0x05,  0x00, 0x4F, 0x99, 0x02,
++  0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x93, 0x05, 0x01,
++  0x4F, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x95,  0x4E, 0x12, 0x9D, 0x02,
++  0x00, 0x41, 0x00, 0x96,  0x04, 0x00, 0x08, 0x8C,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x95,
 +  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
-   0x93, 0x52, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x01, 0x00,  0x02, 0x49, 0x12, 0x12,
-   0x9D, 0x02, 0x00, 0x0F,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8C, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x92,
-   0x08, 0x89, 0x1C, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x8C, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x94, 0x08,
-   0x86, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x94, 0x4E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x86, 0x1C, 0x96,
-   0x02, 0x00, 0x08, 0x95,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x26, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8C,
-   0x1C, 0x96, 0x04, 0x00,  0x08, 0x96, 0x08, 0x86,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x95, 0x4E, 0x96,
-   0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x97, 0x52,
-   0x4F, 0x96, 0x02, 0x00,  0x08, 0x86, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x98,  0x4E, 0x12, 0x9D, 0x02,
-   0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8C,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x99, 0x08, 0x86,
-   0x1C, 0x96, 0x02, 0x00,  0x08, 0x98, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
-   0x9A, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x86,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x9B, 0x4E, 0x96,
-   0x02, 0x00, 0x08, 0x9C,  0x49, 0x9D, 0x02, 0x00,  0x2B, 0x00, 0x96, 0x02,  0x00, 0x08, 0x86, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x9B, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x91, 0x49,  0x12, 0x9D, 0x02, 0x00,
-   0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8C, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x9C, 0x05, 0x00, 0x4F,
-   0x99, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8C, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x9C,
-   0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x86,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x9D, 0x4E, 0x96,
-   0x02, 0x00, 0x08, 0x9E,  0x49, 0x9D, 0x02, 0x00,  0x4F, 0x00, 0x96, 0x02,  0x00, 0x08, 0x86, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x9D, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x9F, 0x49,  0x9D, 0x02, 0x00, 0x25,
-   0x00, 0x96, 0x02, 0x00,  0x08, 0x8C, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x9D,  0x08, 0x86, 0x1C, 0x96,
-   0x02, 0x00, 0x08, 0x9D,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x9A, 0x3D,
-   0x4F, 0x99, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8C, 0x1C,  0x96, 0x04, 0x00, 0x08,
-   0x9D, 0x05, 0x00, 0x4F,  0x99, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8C, 0x1C, 0x96,
-   0x04, 0x00, 0x08, 0x9D,  0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x86,  0x1C, 0x96, 0x02, 0x00,
-   0x08, 0xA0, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8C, 0x1C, 0x96,
-   0x04, 0x00, 0x08, 0xA0,  0x08, 0x86, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA0,  0x4E, 0x96, 0x07, 0x00,
-   0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x9A, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x86, 0x1C, 0x96,
-   0x02, 0x00, 0x08, 0xA1,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8C,
-   0x1C, 0x96, 0x04, 0x00,  0x08, 0xA2, 0x08, 0x86,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA1, 0x4E, 0x96,
-   0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x9A, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x86,
-   0x1C, 0x96, 0x02, 0x00,  0x08, 0xA3, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,  0x00, 0x96, 0x02, 0x00,
-   0x08, 0x8C, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA3,  0x08, 0x86, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA3,
-   0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x9A, 0x3D,  0x4F, 0x96, 0x02, 0x00,
-   0x08, 0x86, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA4,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,
-   0x02, 0x00, 0x08, 0x8C,  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA5, 0x08, 0x86,  0x1C, 0x96, 0x02, 0x00,
-   0x08, 0xA4, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x9A, 0x3D, 0x4F, 0x96,
-   0x02, 0x00, 0x08, 0x86,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA6, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x3B,
-   0x00, 0x96, 0x04, 0x00,  0x08, 0x89, 0x08, 0x86,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA6, 0x4E, 0x96,
-   0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x9A, 0x3D, 0x3C, 0x96,  0x07, 0x00, 0x07, 0x00,
-   0x00, 0x00, 0x00, 0x08,  0x89, 0x1C, 0x48, 0x12,  0x9D, 0x02, 0x00, 0x0F,  0x00, 0x96, 0x02, 0x00,
-   0x08, 0x8C, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA7,  0x08, 0x89, 0x1C, 0x4F,  0x96, 0x02, 0x00, 0x08,
-   0x86, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xA8, 0x4E,  0x96, 0x02, 0x00, 0x08,  0xA9, 0x49, 0x9D, 0x02,
-   0x00, 0x2B, 0x00, 0x96,  0x02, 0x00, 0x08, 0x86,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA8, 0x4E, 0x96,
-   0x02, 0x00, 0x08, 0xAA,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8C,
-   0x1C, 0x96, 0x04, 0x00,  0x08, 0xA9, 0x05, 0x00,  0x4F, 0x99, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,
-   0x00, 0x08, 0x8C, 0x1C,  0x96, 0x04, 0x00, 0x08,  0xA9, 0x05, 0x01, 0x4F,  0x96, 0x02, 0x00, 0x08,
-   0x8C, 0x1C, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7B, 0x4E,
-   0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xAB, 0x9B,  0x09, 0x00, 0x00, 0x01,
-   0x00, 0x63, 0x73, 0x73,  0x00, 0xC8, 0x00, 0x96,  0x04, 0x00, 0x08, 0xAE,  0x08, 0xAC, 0x1C, 0x96,
-   0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xAD, 0x52,
-   0x3C, 0x96, 0x02, 0x00,  0x08, 0xAE, 0x1C, 0x44,  0x96, 0x02, 0x00, 0x08,  0xAF, 0x49, 0x12, 0x9D,
++  0x96, 0x52, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x8C,  0x1C, 0x96, 0x01, 0x00,  0x02, 0x49, 0x12, 0x12,
++  0x9D, 0x02, 0x00, 0x0F,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x95,
++  0x08, 0x8C, 0x1C, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x8F, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x97, 0x08,
++  0x89, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x97, 0x4E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,
++  0x02, 0x00, 0x08, 0x98,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x26, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,
++  0x1C, 0x96, 0x04, 0x00,  0x08, 0x99, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x98, 0x4E, 0x96,
++  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x9A, 0x52,
++  0x4F, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x9B,  0x4E, 0x12, 0x9D, 0x02,
++  0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x9C, 0x08, 0x89,
++  0x1C, 0x96, 0x02, 0x00,  0x08, 0x9B, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
++  0x9D, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x9E, 0x4E, 0x96,
++  0x02, 0x00, 0x08, 0x9F,  0x49, 0x9D, 0x02, 0x00,  0x2B, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0x9E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x94, 0x49,  0x12, 0x9D, 0x02, 0x00,
++  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8F, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x9F, 0x05, 0x00, 0x4F,
++  0x99, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x9F,
++  0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA0, 0x4E, 0x96,
++  0x02, 0x00, 0x08, 0xA1,  0x49, 0x9D, 0x02, 0x00,  0x4F, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0xA0, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xA2, 0x49,  0x9D, 0x02, 0x00, 0x25,
++  0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA0,  0x08, 0x89, 0x1C, 0x96,
++  0x02, 0x00, 0x08, 0xA0,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x9D, 0x3D,
++  0x4F, 0x99, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8F, 0x1C,  0x96, 0x04, 0x00, 0x08,
++  0xA0, 0x05, 0x00, 0x4F,  0x99, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,
++  0x04, 0x00, 0x08, 0xA0,  0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0xA3, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8F, 0x1C, 0x96,
++  0x04, 0x00, 0x08, 0xA3,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA3,  0x4E, 0x96, 0x07, 0x00,
++  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x9D, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,
++  0x02, 0x00, 0x08, 0xA4,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,
++  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA5, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA4, 0x4E, 0x96,
++  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x9D, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x89,
++  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA6, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,  0x00, 0x96, 0x02, 0x00,
++  0x08, 0x8F, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA6,  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA6,
++  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x9D, 0x3D,  0x4F, 0x96, 0x02, 0x00,
++  0x08, 0x89, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA7,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,
++  0x02, 0x00, 0x08, 0x8F,  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA8, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0xA7, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x9D, 0x3D, 0x4F, 0x96,
++  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA9, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x3B,
++  0x00, 0x96, 0x04, 0x00,  0x08, 0x8C, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA9, 0x4E, 0x96,
++  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x9D, 0x3D, 0x3C, 0x96,  0x07, 0x00, 0x07, 0x00,
++  0x00, 0x00, 0x00, 0x08,  0x8C, 0x1C, 0x48, 0x12,  0x9D, 0x02, 0x00, 0x0F,  0x00, 0x96, 0x02, 0x00,
++  0x08, 0x8F, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xAA,  0x08, 0x8C, 0x1C, 0x4F,  0x96, 0x02, 0x00, 0x08,
++  0x89, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xAB, 0x4E,  0x96, 0x02, 0x00, 0x08,  0xAC, 0x49, 0x9D, 0x02,
++  0x00, 0x2B, 0x00, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xAB, 0x4E, 0x96,
++  0x02, 0x00, 0x08, 0xAD,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8F,
++  0x1C, 0x96, 0x04, 0x00,  0x08, 0xAC, 0x05, 0x00,  0x4F, 0x99, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,
++  0x00, 0x08, 0x8F, 0x1C,  0x96, 0x04, 0x00, 0x08,  0xAC, 0x05, 0x01, 0x4F,  0x96, 0x02, 0x00, 0x08,
++  0x8F, 0x1C, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x79, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7E, 0x4E,
++  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xAE, 0x9B,  0x09, 0x00, 0x00, 0x01,
++  0x00, 0x63, 0x73, 0x73,  0x00, 0xC8, 0x00, 0x96,  0x04, 0x00, 0x08, 0xB1,  0x08, 0xAF, 0x1C, 0x96,
++  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xB0, 0x52,
++  0x3C, 0x96, 0x02, 0x00,  0x08, 0xB1, 0x1C, 0x44,  0x96, 0x02, 0x00, 0x08,  0xB2, 0x49, 0x12, 0x9D,
 +  0x02, 0x00, 0x06, 0x00,  0x96, 0x02, 0x00, 0x05,  0x00, 0x3E, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x81, 0x4E, 0x12, 0x12,  0x9D, 0x02, 0x00, 0x12,  0x00, 0x96, 0x02, 0x00,
-   0x08, 0x09, 0x1C, 0x96,  0x07, 0x00, 0x08, 0x81,  0x07, 0x00, 0x00, 0x00,  0x00, 0x43, 0x4F, 0x96,
-   0x02, 0x00, 0x08, 0xAE,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,  0x02, 0x49, 0x9D, 0x02,
-   0x00, 0x56, 0x00, 0x96,  0x04, 0x00, 0x08, 0x7F,  0x04, 0x00, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x09,
-   0x1C, 0x96, 0x02, 0x00,  0x08, 0x81, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x7F,  0x1C, 0x96, 0x02, 0x00,
-   0x08, 0xAE, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7F,  0x1C, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
-   0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7C, 0x52, 0x4F,  0x96, 0x02, 0x00, 0x08,
-   0x7F, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
-   0x08, 0x87, 0x52, 0x17,  0x99, 0x02, 0x00, 0x9C,  0xFF, 0x96, 0x02, 0x00,  0x05, 0x01, 0x3E, 0x4F,
-   0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7B, 0x4E,  0x96, 0x02, 0x00, 0x08,
-   0x30, 0x4E, 0x96, 0x04,  0x00, 0x08, 0xB0, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7B, 0x4E,
-   0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xAB, 0x4E,  0x4F, 0x96, 0x02, 0x00,
-   0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7B,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
++  0x96, 0x02, 0x00, 0x08,  0x84, 0x4E, 0x12, 0x12,  0x9D, 0x02, 0x00, 0x12,  0x00, 0x96, 0x02, 0x00,
++  0x08, 0x09, 0x1C, 0x96,  0x07, 0x00, 0x08, 0x84,  0x07, 0x00, 0x00, 0x00,  0x00, 0x43, 0x4F, 0x96,
++  0x02, 0x00, 0x08, 0xB1,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,  0x02, 0x49, 0x9D, 0x02,
++  0x00, 0x56, 0x00, 0x96,  0x04, 0x00, 0x08, 0x82,  0x04, 0x00, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x09,
++  0x1C, 0x96, 0x02, 0x00,  0x08, 0x84, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x82,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0xB1, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x82,  0x1C, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
++  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7F, 0x52, 0x4F,  0x96, 0x02, 0x00, 0x08,
++  0x82, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0x8A, 0x52, 0x17,  0x99, 0x02, 0x00, 0x9C,  0xFF, 0x96, 0x02, 0x00,  0x05, 0x01, 0x3E, 0x4F,
++  0x96, 0x02, 0x00, 0x08,  0x79, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7E, 0x4E,  0x96, 0x02, 0x00, 0x08,
++  0x30, 0x4E, 0x96, 0x04,  0x00, 0x08, 0xB3, 0x08,  0x79, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7E, 0x4E,
++  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xAE, 0x4E,  0x4F, 0x96, 0x02, 0x00,
++  0x08, 0x79, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
 +  0x13, 0x00, 0x08, 0x33,  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x2D, 0x01,  0x00, 0x00, 0x07, 0x02,
-   0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,
-   0x08, 0x7B, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x35, 0x9B, 0x05,
-   0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,
-   0x08, 0x7B, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x36, 0x9B, 0x09,
++  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x79,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0x7E, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x35, 0x9B, 0x05,
++  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x79,  0x1C, 0x96, 0x02, 0x00,
++  0x08, 0x7E, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x36, 0x9B, 0x09,
 +  0x00, 0x00, 0x01, 0x00,  0x73, 0x72, 0x63, 0x00,  0x6B, 0x00, 0x96, 0x02,  0x00, 0x08, 0x38, 0x1C,
 +  0x96, 0x01, 0x00, 0x02,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x19, 0x00, 0x96,  0x09, 0x00, 0x05, 0x00,
 +  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x35, 0x52, 0x17, 0x99,
-   0x02, 0x00, 0x41, 0x00,  0x96, 0x04, 0x00, 0x08,  0xAE, 0x08, 0x38, 0x1C,  0x96, 0x07, 0x00, 0x07,
-   0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xB0,  0x52, 0x3C, 0x96, 0x02,
-   0x00, 0x08, 0x09, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x37, 0x08, 0xAE, 0x1C,  0x4F, 0x96, 0x02, 0x00,
-   0x08, 0xAE, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
-   0x00, 0x08, 0x35, 0x52,  0x17, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,
-   0x7B, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0xAD, 0x07, 0x65, 0x00,
++  0x02, 0x00, 0x41, 0x00,  0x96, 0x04, 0x00, 0x08,  0xB1, 0x08, 0x38, 0x1C,  0x96, 0x07, 0x00, 0x07,
++  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xB3,  0x52, 0x3C, 0x96, 0x02,
++  0x00, 0x08, 0x09, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x37, 0x08, 0xB1, 0x1C,  0x4F, 0x96, 0x02, 0x00,
++  0x08, 0xB1, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
++  0x00, 0x08, 0x35, 0x52,  0x17, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x79, 0x1C,  0x96, 0x02, 0x00, 0x08,
++  0x7E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0xB0, 0x07, 0x65, 0x00,
 +  0x00, 0x00, 0x07, 0x71,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
-   0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7B, 0x4E,  0x96, 0x02, 0x00, 0x08,
-   0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x97, 0x07,  0x66, 0x00, 0x00, 0x00,  0x07, 0x71, 0x00, 0x00,
-   0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x7B, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
-   0x93, 0x07, 0x67, 0x00,  0x00, 0x00, 0x07, 0x71,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
-   0x08, 0x01, 0x3D, 0x4F,  0x96, 0x08, 0x00, 0x07,  0x03, 0x04, 0x00, 0x00,  0x02, 0x08, 0x76, 0x1C,
-   0x96, 0x02, 0x00, 0x08,  0x7B, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,
++  0x96, 0x02, 0x00, 0x08,  0x79, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7E, 0x4E,  0x96, 0x02, 0x00, 0x08,
++  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x9A, 0x07,  0x66, 0x00, 0x00, 0x00,  0x07, 0x71, 0x00, 0x00,
++  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x79, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
++  0x96, 0x07, 0x67, 0x00,  0x00, 0x00, 0x07, 0x71,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
++  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x08, 0x00, 0x07,  0x03, 0x04, 0x00, 0x00,  0x02, 0x08, 0x79, 0x1C,
++  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,
 +  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x09, 0x00, 0x07,  0x03, 0x04, 0x00, 0x00,
-   0x08, 0x7B, 0x08, 0x76,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,
-   0x17, 0x96, 0x13, 0x00,  0x08, 0xB1, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,  0xFA, 0x00, 0x00, 0x00,
-   0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x1D, 0x96, 0x13, 0x00,  0x08, 0xB2, 0x07, 0x01,
++  0x08, 0x7E, 0x08, 0x79,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,
++  0x17, 0x96, 0x13, 0x00,  0x08, 0xB4, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,  0xFA, 0x00, 0x00, 0x00,
++  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x1D, 0x96, 0x13, 0x00,  0x08, 0xB5, 0x07, 0x01,
 +  0x00, 0x00, 0x00, 0x07,  0xFA, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
-   0x1D, 0x96, 0x13, 0x00,  0x08, 0xB3, 0x07, 0x02,  0x00, 0x00, 0x00, 0x07,  0xFA, 0x00, 0x00, 0x00,
-   0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x1D, 0x96, 0x04, 0x00,  0x08, 0xB4, 0x08, 0xB2,
++  0x1D, 0x96, 0x13, 0x00,  0x08, 0xB6, 0x07, 0x02,  0x00, 0x00, 0x00, 0x07,  0xFA, 0x00, 0x00, 0x00,
++  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x1D, 0x96, 0x04, 0x00,  0x08, 0xB7, 0x08, 0xB5,
 +  0x1C, 0x1D, 0x96, 0x03,  0x00, 0x08, 0x13, 0x02,  0x1D, 0x96, 0x0D, 0x00,  0x07, 0x06, 0x00, 0x00,
 +  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x02, 0x08,  0x09, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x04, 0x00,
 +  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x00
  };
  
diff-tree 94783c22d4b2b4c2afc98835db2a7333b4dd59a8 (from 0c961bd3f00f8bc768e085f449df7ffb828a8e50)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Wed Oct 10 14:23:26 2007 +0300

    Use G_GSIZE_FORMAT instead of %u when printing gsize variables
    
    Fixes compile warnings on x86_64

diff --git a/libswfdec/swfdec_as_context.c b/libswfdec/swfdec_as_context.c
index 61de9b5..cf80c9a 100644
--- a/libswfdec/swfdec_as_context.c
+++ b/libswfdec/swfdec_as_context.c
@@ -197,8 +197,8 @@ swfdec_as_context_use_mem (SwfdecAsConte
   
   context->memory += bytes;
   context->memory_since_gc += bytes;
-  SWFDEC_LOG ("+%4u bytes, total %7u (%7u since GC)", bytes,
-      context->memory, context->memory_since_gc);
+  SWFDEC_LOG ("+%4"G_GSIZE_FORMAT" bytes, total %7"G_GSIZE_FORMAT" (%7"G_GSIZE_FORMAT" since GC)",
+      bytes, context->memory, context->memory_since_gc);
   /* FIXME: Don't foget to abort on OOM */
   return TRUE;
 }
@@ -219,8 +219,8 @@ swfdec_as_context_unuse_mem (SwfdecAsCon
   g_return_if_fail (context->memory >= bytes);
 
   context->memory -= bytes;
-  SWFDEC_LOG ("-%4u bytes, total %7u (%7u since GC)", bytes,
-      context->memory, context->memory_since_gc);
+  SWFDEC_LOG ("-%4"G_GSIZE_FORMAT" bytes, total %7"G_GSIZE_FORMAT" (%7"G_GSIZE_FORMAT" since GC)",
+      bytes, context->memory, context->memory_since_gc);
 }
 
 /*** GC ***/
diff-tree ca62a68fa3e8625d07e1b9281cff0fb2891516fa (from 4cc78ad6b8c0044a9151dc0ed20fd165a6bec0e2)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Tue Oct 9 23:44:18 2007 +0300

    Even more TextField rendering work
    
    Make render blocks not only for paragraph ends, but any format changes that
    are not just text attributes

diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index d610f50..8d915ce 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -86,10 +86,12 @@ swfdec_edit_text_render (SwfdecEditText 
     const SwfdecTextRenderBlock *blocks, const SwfdecColorTransform *trans,
     const SwfdecRect *inval, gboolean fill)
 {
-  guint i;
+  guint i, j;
   PangoLayout *layout;
+  PangoAttrList *attrs;
   guint width;
-  int height;
+  int height, extra_chars, line_num;
+  PangoLayoutLine *line;
   //SwfdecColor color;
 
   g_return_if_fail (SWFDEC_IS_EDIT_TEXT (text));
@@ -106,6 +108,7 @@ swfdec_edit_text_render (SwfdecEditText 
 
   layout = pango_cairo_create_layout (cr);
 
+  extra_chars = 0;
   for (i = 0; blocks[i].text != NULL; i++) {
     cairo_rel_move_to (cr, blocks[i].left_margin + blocks[i].block_indent, 0);
     width = SWFDEC_GRAPHIC (text)->extents.x1 -
@@ -117,22 +120,48 @@ swfdec_edit_text_render (SwfdecEditText 
 
     // TODO: bullet
 
-    pango_layout_set_text (layout, blocks[i].text, blocks[i].text_length);
     pango_layout_set_alignment (layout, blocks[i].align);
     pango_layout_set_justify (layout, blocks[i].justify);
     pango_layout_set_indent (layout, blocks[i].indent);
     pango_layout_set_spacing (layout, blocks[i].leading);
     pango_layout_set_tabs (layout, blocks[i].tab_stops);
-    pango_layout_set_attributes (layout, blocks[i].attrs);
+
+    if (!blocks[i].end_paragraph) {
+      int prev_extra_chars = extra_chars;
+      extra_chars = 0;
+      attrs = pango_attr_list_copy (blocks[i].attrs);
+      for (j = i + 1; blocks[j].text != NULL && !blocks[j-1].end_paragraph; j++)
+      {
+	pango_attr_list_splice (attrs, blocks[j].attrs,
+	    blocks[i].text_length + extra_chars, blocks[j].text_length);
+	extra_chars += blocks[j].text_length;
+      }
+      pango_layout_set_text (layout, blocks[i].text + prev_extra_chars,
+	  blocks[i].text_length + extra_chars - prev_extra_chars);
+      pango_layout_set_attributes (layout, attrs);
+      pango_attr_list_unref (attrs);
+      attrs = NULL;
+
+      pango_layout_index_to_line_x (layout,
+	  blocks[i].text_length - prev_extra_chars, FALSE, &line_num, NULL);
+      line = pango_layout_get_line_readonly (layout, line_num);
+      extra_chars = line->start_index + line->length - (blocks[i].text_length - prev_extra_chars);
+      pango_layout_set_text (layout, blocks[i].text + prev_extra_chars,
+	  blocks[i].text_length + extra_chars - prev_extra_chars);
+    } else {
+      pango_layout_set_text (layout, blocks[i].text + extra_chars, blocks[i].text_length - extra_chars);
+      pango_layout_set_attributes (layout, blocks[i].attrs);
+      extra_chars = 0;
+    }
 
     if (fill)
       pango_cairo_show_layout (cr, layout);
     else
       pango_cairo_layout_path (cr, layout);
 
-    pango_layout_get_size (layout, NULL, &height);
+    pango_layout_get_pixel_size (layout, NULL, &height);
     cairo_rel_move_to (cr, -(blocks[i].left_margin + blocks[i].block_indent),
-	height / PANGO_SCALE);
+	height);
   }
 
   g_object_unref (layout);
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index 404fd75..795d5bc 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -42,6 +42,8 @@ typedef struct {
   const char		*text;
   int			text_length;
 
+  gboolean		end_paragraph;
+
   PangoAlignment	align;
   gboolean		justify;
   gboolean		bullet;
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 0c7bee5..e481a86 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -89,11 +89,11 @@ swfdec_edit_text_movie_generate_render_b
       break;
   }
   block->bullet = format->bullet;
-  block->indent = format->indent;
-  block->leading = format->leading;
-  block->block_indent = format->block_indent;
-  block->left_margin = format->left_margin;
-  block->right_margin = format->right_margin;
+  block->indent = format->indent * 20;
+  block->leading = format->leading * 20 * PANGO_SCALE;
+  block->block_indent = format->block_indent * 20;
+  block->left_margin = format->left_margin * 20;
+  block->right_margin = format->right_margin * 20;
 
   length = swfdec_as_array_get_length (format->tab_stops);
   block->tab_stops = pango_tab_array_new (length, TRUE);
@@ -244,34 +244,88 @@ static void
 swfdec_edit_text_movie_generate_render_blocks (SwfdecEditTextMovie *text)
 {
   const char *p, *end;
-  int lines, i;
+  SwfdecTextFormat *format, *format_prev;
+  GSList *iter;
+  int num, i;
 
   g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
 
-  lines = 0;
+  num = 0;
+  iter = text->formats;
+  format = ((SwfdecFormatIndex *)(iter->data))->format;
   p = text->text_display;
   while (p != NULL && *p != '\0') {
-    lines++;
-    p = strchr (p, '\r');
-    if (p != NULL) p++;
+    num++;
+    end = strchr (p, '\r');
+    if (end == NULL)
+      end = strchr (p, '\0');
+
+    while (iter != NULL &&
+	((SwfdecFormatIndex *)(iter->data))->index < end - text->text_display)
+    {
+      format_prev = format;
+      format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+      if (format_prev->align != format->align ||
+	  format_prev->bullet != format->bullet ||
+	  format_prev->indent != format->indent ||
+	  format_prev->leading != format->leading ||
+	  format_prev->block_indent != format->block_indent ||
+	  format_prev->left_margin != format->left_margin)
+      {
+	end = text->text_display + ((SwfdecFormatIndex *)(iter->data))->index;
+	break;
+      }
+
+      iter = iter->next;
+    }
+
+    p = end;
+    if (*p == '\r') p++;
   }
 
-  text->blocks = g_new0 (SwfdecTextRenderBlock, lines + 1);
+  text->blocks = g_new0 (SwfdecTextRenderBlock, num + 1);
 
   i = 0;
+  iter = text->formats;
+  format = ((SwfdecFormatIndex *)(iter->data))->format;
   p = text->text_display;
   while (*p != '\0') {
-    g_assert (i < lines);
+    g_assert (i < num);
     end = strchr (p, '\r');
     if (end == NULL)
       end = strchr (p, '\0');
 
-    swfdec_edit_text_movie_generate_render_block (text, &text->blocks[i++],
+    while (iter != NULL &&
+	((SwfdecFormatIndex *)(iter->data))->index < end - text->text_display)
+    {
+      format_prev = format;
+      format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+      if (format_prev->align != format->align ||
+	  format_prev->bullet != format->bullet ||
+	  format_prev->indent != format->indent ||
+	  format_prev->leading != format->leading ||
+	  format_prev->block_indent != format->block_indent ||
+	  format_prev->left_margin != format->left_margin)
+      {
+	end = text->text_display + ((SwfdecFormatIndex *)(iter->data))->index;
+	break;
+      }
+
+      iter = iter->next;
+    }
+
+    swfdec_edit_text_movie_generate_render_block (text, &text->blocks[i],
 	p - text->text_display, end - text->text_display);
+    text->blocks[i].end_paragraph = (*end == '\r' || *end == '\0');
 
     p = end;
     if (*p == '\r') p++;
+
+    i++;
   }
+  g_assert (i == num);
 }
 
 static void
@@ -374,10 +428,10 @@ swfdec_edit_text_movie_init_movie (Swfde
   text->format_new->align = text->text->align;
   text->format_new->font = text->text->font->name;
   text->format_new->size = text->text->size / 20;
-  text->format_new->left_margin = text->text->left_margin;
-  text->format_new->right_margin = text->text->right_margin;
-  text->format_new->indent = text->text->indent;
-  text->format_new->leading = text->text->leading;
+  text->format_new->left_margin = text->text->left_margin / 20;
+  text->format_new->right_margin = text->text->right_margin / 20;
+  text->format_new->indent = text->text->indent / 20;
+  text->format_new->leading = text->text->leading / 20;
 
   // text
   if (text->text->text_input != NULL) {
diff-tree 4cc78ad6b8c0044a9151dc0ed20fd165a6bec0e2 (from 0282849f8cb6e306abe7a0240df4211968ed8c34)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Tue Oct 9 15:20:22 2007 +0300

    Work on TextField's rendering

diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index eace361..d610f50 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -89,6 +89,7 @@ swfdec_edit_text_render (SwfdecEditText 
   guint i;
   PangoLayout *layout;
   guint width;
+  int height;
   //SwfdecColor color;
 
   g_return_if_fail (SWFDEC_IS_EDIT_TEXT (text));
@@ -97,19 +98,21 @@ swfdec_edit_text_render (SwfdecEditText 
   g_return_if_fail (trans != NULL);
   g_return_if_fail (inval != NULL);
 
-  layout = pango_cairo_create_layout (cr);
-
   cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
       SWFDEC_GRAPHIC (text)->extents.y0);
 
   /*color = swfdec_color_apply_transform (text->color, trans);
   swfdec_color_set_source (cr, color);*/
 
+  layout = pango_cairo_create_layout (cr);
+
   for (i = 0; blocks[i].text != NULL; i++) {
     cairo_rel_move_to (cr, blocks[i].left_margin + blocks[i].block_indent, 0);
     width = SWFDEC_GRAPHIC (text)->extents.x1 -
       SWFDEC_GRAPHIC (text)->extents.x0 - blocks[i].left_margin -
       blocks[i].right_margin - blocks[i].block_indent;
+
+    pango_cairo_update_layout (cr, layout);
     pango_layout_set_width (layout, width * PANGO_SCALE);
 
     // TODO: bullet
@@ -126,7 +129,12 @@ swfdec_edit_text_render (SwfdecEditText 
       pango_cairo_show_layout (cr, layout);
     else
       pango_cairo_layout_path (cr, layout);
+
+    pango_layout_get_size (layout, NULL, &height);
+    cairo_rel_move_to (cr, -(blocks[i].left_margin + blocks[i].block_indent),
+	height / PANGO_SCALE);
   }
+
   g_object_unref (layout);
 }
 
@@ -178,8 +186,8 @@ tag_func_define_edit_text (SwfdecSwfDeco
     } else {
       SWFDEC_ERROR ("id %u does not specify a font", id);
     }
-    text->height = swfdec_bits_get_u16 (b);
-    SWFDEC_LOG ("  height = %u", text->height);
+    text->size = swfdec_bits_get_u16 (b);
+    SWFDEC_LOG ("  size = %u", text->size);
   }
   if (has_color) {
     text->color = swfdec_bits_get_rgba (b);
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index bd800be..404fd75 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -74,8 +74,6 @@ struct _SwfdecEditText
   gboolean		selectable;
 
   gboolean		embed_fonts;
-  SwfdecFont *		font;
-  guint			height;
 
   gboolean		wrap;
   gboolean		multiline;
@@ -84,8 +82,10 @@ struct _SwfdecEditText
   gboolean		border;
 
   /* only to be passed to the movie object */
+  SwfdecFont *		font;
   char *		text_input;
   char *		variable;
+  guint			size;
   SwfdecColor		color;
   SwfdecTextAlign	align;
   guint			left_margin;
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 42eedcd..0c7bee5 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -27,6 +27,7 @@
 #include "swfdec_as_context.h"
 #include "swfdec_as_strings.h"
 #include "swfdec_text_format.h"
+#include "swfdec_font.h"
 #include "swfdec_debug.h"
 #include "swfdec_player_internal.h"
 
@@ -265,7 +266,7 @@ swfdec_edit_text_movie_generate_render_b
     if (end == NULL)
       end = strchr (p, '\0');
 
-    swfdec_edit_text_movie_generate_render_block (text, &text->blocks[i],
+    swfdec_edit_text_movie_generate_render_block (text, &text->blocks[i++],
 	p - text->text_display, end - text->text_display);
 
     p = end;
@@ -371,6 +372,8 @@ swfdec_edit_text_movie_init_movie (Swfde
   swfdec_text_format_set_defaults (text->format_new);
   text->format_new->color = text->text->color;
   text->format_new->align = text->text->align;
+  text->format_new->font = text->text->font->name;
+  text->format_new->size = text->text->size / 20;
   text->format_new->left_margin = text->text->left_margin;
   text->format_new->right_margin = text->text->right_margin;
   text->format_new->indent = text->text->indent;
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 0e8084d..6fdafeb 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -570,7 +570,7 @@ swfdec_edit_text_movie_createTextField (
   edittext->multiline = FALSE;
   edittext->auto_size = SWFDEC_AUTO_SIZE_NONE;
   edittext->border = FALSE;
-  edittext->height = 0; // FIXME
+  edittext->size = 240; // FIXME: Correct?
 
   edittext->text_input = NULL;
   edittext->variable = NULL;
diff-tree 0282849f8cb6e306abe7a0240df4211968ed8c34 (from 430974e10f51267f0eccc3a4b7197c5607ee3338)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Tue Oct 9 12:38:52 2007 +0300

    Work on some of the the TextField's rendering code
    
    Fix reading a value from EditText tag to wrong field

diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index ca222a8..eace361 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -87,10 +87,9 @@ swfdec_edit_text_render (SwfdecEditText 
     const SwfdecRect *inval, gboolean fill)
 {
   guint i;
-  PangoFontDescription *desc;
   PangoLayout *layout;
   guint width;
-  SwfdecColor color;
+  //SwfdecColor color;
 
   g_return_if_fail (SWFDEC_IS_EDIT_TEXT (text));
   g_return_if_fail (cr != NULL);
@@ -98,41 +97,31 @@ swfdec_edit_text_render (SwfdecEditText 
   g_return_if_fail (trans != NULL);
   g_return_if_fail (inval != NULL);
 
-  // is this correct?
-  if (text->font == NULL) {
-    SWFDEC_ERROR ("no font to render with");
-    return;
-  }
-  if (text->font->desc == NULL) {
-    SWFDEC_INFO ("font %d has no cairo font description",
-	SWFDEC_CHARACTER (text->font)->id);
-    desc = pango_font_description_new ();
-    pango_font_description_set_family (desc, "Sans");
-  } else {
-    desc = pango_font_description_copy (text->font->desc);
-  }
-  pango_font_description_set_absolute_size (desc, text->height * PANGO_SCALE);
   layout = pango_cairo_create_layout (cr);
-  pango_layout_set_font_description (layout, desc);
-  pango_font_description_free (desc);
 
   cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
       SWFDEC_GRAPHIC (text)->extents.y0);
 
-  color = swfdec_color_apply_transform (text->color, trans);
-  swfdec_color_set_source (cr, color);
+  /*color = swfdec_color_apply_transform (text->color, trans);
+  swfdec_color_set_source (cr, color);*/
 
   for (i = 0; blocks[i].text != NULL; i++) {
-    cairo_rel_move_to (cr, blocks[i].left_margin, 0);
+    cairo_rel_move_to (cr, blocks[i].left_margin + blocks[i].block_indent, 0);
     width = SWFDEC_GRAPHIC (text)->extents.x1 -
       SWFDEC_GRAPHIC (text)->extents.x0 - blocks[i].left_margin -
-      blocks[i].right_margin;
+      blocks[i].right_margin - blocks[i].block_indent;
     pango_layout_set_width (layout, width * PANGO_SCALE);
 
+    // TODO: bullet
+
     pango_layout_set_text (layout, blocks[i].text, blocks[i].text_length);
-    pango_layout_set_attributes (layout, blocks[i].attrs);
     pango_layout_set_alignment (layout, blocks[i].align);
     pango_layout_set_justify (layout, blocks[i].justify);
+    pango_layout_set_indent (layout, blocks[i].indent);
+    pango_layout_set_spacing (layout, blocks[i].leading);
+    pango_layout_set_tabs (layout, blocks[i].tab_stops);
+    pango_layout_set_attributes (layout, blocks[i].attrs);
+
     if (fill)
       pango_cairo_show_layout (cr, layout);
     else
@@ -224,7 +213,7 @@ tag_func_define_edit_text (SwfdecSwfDeco
     text->left_margin = swfdec_bits_get_u16 (b);
     text->right_margin = swfdec_bits_get_u16 (b);
     text->indent = swfdec_bits_get_u16 (b);
-    text->letter_spacing = swfdec_bits_get_s16 (b);
+    text->leading = swfdec_bits_get_s16 (b);
   }
   text->variable = swfdec_bits_get_string (b);
   if (text->variable && *text->variable == 0) {
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index 7306724..bd800be 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -91,7 +91,7 @@ struct _SwfdecEditText
   guint			left_margin;
   guint			right_margin;
   guint			indent;
-  int			letter_spacing;
+  int			leading;
 };
 
 struct _SwfdecEditTextClass
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 1c0d5b0..42eedcd 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -374,7 +374,7 @@ swfdec_edit_text_movie_init_movie (Swfde
   text->format_new->left_margin = text->text->left_margin;
   text->format_new->right_margin = text->text->right_margin;
   text->format_new->indent = text->text->indent;
-  text->format_new->letter_spacing = text->text->letter_spacing;
+  text->format_new->leading = text->text->leading;
 
   // text
   if (text->text->text_input != NULL) {
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index d9db049..0e8084d 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -579,7 +579,7 @@ swfdec_edit_text_movie_createTextField (
   edittext->left_margin = 0;
   edittext->right_margin = 0;
   edittext->indent = 0;
-  edittext->letter_spacing = 0;
+  edittext->leading = 0;
 
   edittext->graphic.extents.x0 = x;
   edittext->graphic.extents.x1 = x + width;
diff-tree 430974e10f51267f0eccc3a4b7197c5607ee3338 (from 9890471b37348185213b75317e54a82ddd38435a)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Tue Oct 9 12:23:33 2007 +0300

    Convert some more properties when generating TextField's render blocks

diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 3b142c9..1c0d5b0 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -47,9 +47,11 @@ swfdec_edit_text_movie_generate_render_b
   SwfdecTextFormat *format, *format_prev;
   guint index_;
   GSList *iter;
-  PangoAttribute *attr_bold, *attr_color/*, *attr_font*/, *attr_italic/*,
-		 *attr_kerning, *attr_letter_spacing, *attr_size*/,
-		 *attr_underline;
+  gint32 length, i;
+  SwfdecAsValue val;
+  PangoAttribute *attr_bold, *attr_color, *attr_font, *attr_italic,
+		 *attr_letter_spacing, *attr_size, *attr_underline;
+  // TODO: kerning
 
   g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
   g_assert (block != NULL);
@@ -91,7 +93,15 @@ swfdec_edit_text_movie_generate_render_b
   block->block_indent = format->block_indent;
   block->left_margin = format->left_margin;
   block->right_margin = format->right_margin;
-  //block->tab_stops = format->tab_stops;
+
+  length = swfdec_as_array_get_length (format->tab_stops);
+  block->tab_stops = pango_tab_array_new (length, TRUE);
+  for (i = 0; i < length; i++) {
+    swfdec_as_array_get_value (format->tab_stops, i, &val);
+    g_assert (SWFDEC_AS_VALUE_IS_NUMBER (&val));
+    pango_tab_array_set_tab (block->tab_stops, i, PANGO_TAB_LEFT,
+	SWFDEC_AS_VALUE_GET_NUMBER (&val));
+  }
 
   block->attrs = pango_attr_list_new ();
 
@@ -104,10 +114,22 @@ swfdec_edit_text_movie_generate_render_b
       SWFDEC_COLOR_G (format->color), SWFDEC_COLOR_B (format->color));
   attr_color->start_index = 0;
 
+  if (text->text->embed_fonts)
+    SWFDEC_FIXME ("Using embed fonts in TextField not supported");
+  attr_font = pango_attr_family_new (format->font);
+  attr_font->start_index = 0;
+
   attr_italic = pango_attr_style_new (
       (format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
   attr_italic->start_index = 0;
 
+  attr_letter_spacing = pango_attr_letter_spacing_new (
+      format->letter_spacing * 20 * PANGO_SCALE); // FIXME: correct scaling?
+  attr_letter_spacing->start_index = 0;
+
+  attr_size = pango_attr_size_new_absolute (format->size * 20 * PANGO_SCALE);
+  attr_size->start_index = 0;
+
   attr_underline = pango_attr_underline_new (
       (format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
   attr_underline->start_index = 0;
@@ -139,6 +161,16 @@ swfdec_edit_text_movie_generate_render_b
       attr_color->start_index = index_ - start_index;
     }
 
+    if (format_prev->font != format->font) {
+      attr_font->end_index = index_ - start_index;
+      pango_attr_list_insert (block->attrs, attr_font);
+
+      if (text->text->embed_fonts)
+	SWFDEC_FIXME ("Using embed fonts in TextField not supported");
+      attr_font = pango_attr_family_new (format->font);
+      attr_font->start_index = index_ - start_index;
+    }
+
     if (format_prev->italic != format->italic) {
       attr_italic->end_index = index_ - start_index;
       pango_attr_list_insert (block->attrs, attr_italic);
@@ -148,6 +180,25 @@ swfdec_edit_text_movie_generate_render_b
       attr_italic->start_index = index_ - start_index;
     }
 
+    if (format_prev->letter_spacing != format->letter_spacing) {
+      attr_letter_spacing->end_index = index_ - start_index;
+      pango_attr_list_insert (block->attrs, attr_letter_spacing);
+
+      // FIXME: correct scaling?
+      attr_letter_spacing = pango_attr_letter_spacing_new (
+	  format->letter_spacing * 20 * PANGO_SCALE);
+      attr_letter_spacing->start_index = index_ - start_index;
+    }
+
+    if (format_prev->size != format->size) {
+      attr_size->end_index = index_ - start_index;
+      pango_attr_list_insert (block->attrs, attr_size);
+
+      attr_size =
+	pango_attr_size_new_absolute (format->size * 20 * PANGO_SCALE);
+      attr_size->start_index = index_ - start_index;
+    }
+
     if (format_prev->underline != format->underline) {
       attr_underline->end_index = index_ - start_index;
       pango_attr_list_insert (block->attrs, attr_underline);
@@ -167,10 +218,22 @@ swfdec_edit_text_movie_generate_render_b
   pango_attr_list_insert (block->attrs, attr_color);
   attr_color = NULL;
 
+  attr_font->end_index = end_index - start_index;
+  pango_attr_list_insert (block->attrs, attr_font);
+  attr_font = NULL;
+
   attr_italic->end_index = end_index - start_index;
   pango_attr_list_insert (block->attrs, attr_italic);
   attr_italic = NULL;
 
+  attr_letter_spacing->end_index = end_index - start_index;
+  pango_attr_list_insert (block->attrs, attr_letter_spacing);
+  attr_letter_spacing = NULL;
+
+  attr_size->end_index = end_index - start_index;
+  pango_attr_list_insert (block->attrs, attr_size);
+  attr_size = NULL;
+
   attr_underline->end_index = end_index - start_index;
   pango_attr_list_insert (block->attrs, attr_underline);
   attr_underline = NULL;
diff-tree 9890471b37348185213b75317e54a82ddd38435a (from 1ef1155633f367962d1081efcbb878333c1c4e2b)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Tue Oct 9 12:03:42 2007 +0300

    More work on TextField's render block generation code

diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index d2190ee..3b142c9 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -44,12 +44,12 @@ static void
 swfdec_edit_text_movie_generate_render_block (SwfdecEditTextMovie *text,
     SwfdecTextRenderBlock *block, guint start_index, guint end_index)
 {
-  SwfdecTextFormat *format;
+  SwfdecTextFormat *format, *format_prev;
   guint index_;
   GSList *iter;
-  PangoAttribute *attr_bold/*, *attr_color, *attr_font, *attr_italic,
-		 *attr_kerning, *attr_letter_spacing, *attr_size,
-		 *attr_underline*/;
+  PangoAttribute *attr_bold, *attr_color/*, *attr_font*/, *attr_italic/*,
+		 *attr_kerning, *attr_letter_spacing, *attr_size*/,
+		 *attr_underline;
 
   g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
   g_assert (block != NULL);
@@ -95,39 +95,85 @@ swfdec_edit_text_movie_generate_render_b
 
   block->attrs = pango_attr_list_new ();
 
-  if (format->bold) {
-    attr_bold = pango_attr_weight_new (PANGO_WEIGHT_BOLD);
-    attr_bold->start_index = 0;
-  } else {
-    attr_bold = NULL;
-  }
+  // Open attributes
+  attr_bold = pango_attr_weight_new (
+      (format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
+  attr_bold->start_index = 0;
+
+  attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color),
+      SWFDEC_COLOR_G (format->color), SWFDEC_COLOR_B (format->color));
+  attr_color->start_index = 0;
+
+  attr_italic = pango_attr_style_new (
+      (format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
+  attr_italic->start_index = 0;
+
+  attr_underline = pango_attr_underline_new (
+      (format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
+  attr_underline->start_index = 0;
 
   for (iter = iter->next;
       iter != NULL && ((SwfdecFormatIndex *)(iter->data))->index < end_index;
       iter = iter->next)
   {
+    format_prev = format;
     index_ = ((SwfdecFormatIndex *)(iter->data))->index;
     format = ((SwfdecFormatIndex *)(iter->data))->format;
 
-    // Close attributes
-    if (attr_bold && !format->bold) {
+    // Change attributes if necessary
+    if (format_prev->bold != format->bold) {
       attr_bold->end_index = index_ - start_index;
       pango_attr_list_insert (block->attrs, attr_bold);
-      attr_bold = NULL;
-    }
 
-    // Open attributes
-    if (!attr_bold && format->bold) {
-      attr_bold = pango_attr_weight_new (PANGO_WEIGHT_BOLD);
+      attr_bold = pango_attr_weight_new (
+	  (format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
       attr_bold->start_index = index_ - start_index;
     }
+
+    if (format_prev->color != format->color) {
+      attr_color->end_index = index_ - start_index;
+      pango_attr_list_insert (block->attrs, attr_color);
+
+      attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color),
+	  SWFDEC_COLOR_G (format->color), SWFDEC_COLOR_B (format->color));
+      attr_color->start_index = index_ - start_index;
+    }
+
+    if (format_prev->italic != format->italic) {
+      attr_italic->end_index = index_ - start_index;
+      pango_attr_list_insert (block->attrs, attr_italic);
+
+      attr_italic = pango_attr_style_new (
+	  (format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
+      attr_italic->start_index = index_ - start_index;
+    }
+
+    if (format_prev->underline != format->underline) {
+      attr_underline->end_index = index_ - start_index;
+      pango_attr_list_insert (block->attrs, attr_underline);
+
+      attr_underline = pango_attr_underline_new (
+	  (format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
+      attr_underline->start_index = index_ - start_index;
+    }
   }
 
   // Close attributes
-  if (attr_bold) {
-    attr_bold->end_index = end_index - start_index;
-    pango_attr_list_insert (block->attrs, attr_bold);
-  }
+  attr_bold->end_index = end_index - start_index;
+  pango_attr_list_insert (block->attrs, attr_bold);
+  attr_bold = NULL;
+
+  attr_color->end_index = end_index - start_index;
+  pango_attr_list_insert (block->attrs, attr_color);
+  attr_color = NULL;
+
+  attr_italic->end_index = end_index - start_index;
+  pango_attr_list_insert (block->attrs, attr_italic);
+  attr_italic = NULL;
+
+  attr_underline->end_index = end_index - start_index;
+  pango_attr_list_insert (block->attrs, attr_underline);
+  attr_underline = NULL;
 }
 
 static void
diff-tree 1ef1155633f367962d1081efcbb878333c1c4e2b (from f8743bb0683162655db1d631247e2192fbb1ddab)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Tue Oct 9 11:29:31 2007 +0300

    Rewrite some of TextField's render block generation code

diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index 6f69125..7306724 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -42,18 +42,17 @@ typedef struct {
   const char		*text;
   int			text_length;
 
+  PangoAlignment	align;
+  gboolean		justify;
   gboolean		bullet;
   int			indent;
   int			leading;
   int			block_indent;
   int			left_margin;
   int			right_margin;
-  int			letter_spacing;
-  PangoTabArray *	tabs;
+  PangoTabArray *	tab_stops;
 
   PangoAttrList *	attrs;
-  PangoAlignment	align;
-  gboolean		justify;
 } SwfdecTextRenderBlock;
 
 typedef enum {
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index ad511a0..d2190ee 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -41,14 +41,102 @@ swfdec_edit_text_movie_update_extents (S
 }
 
 static void
+swfdec_edit_text_movie_generate_render_block (SwfdecEditTextMovie *text,
+    SwfdecTextRenderBlock *block, guint start_index, guint end_index)
+{
+  SwfdecTextFormat *format;
+  guint index_;
+  GSList *iter;
+  PangoAttribute *attr_bold/*, *attr_color, *attr_font, *attr_italic,
+		 *attr_kerning, *attr_letter_spacing, *attr_size,
+		 *attr_underline*/;
+
+  g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+  g_assert (block != NULL);
+  g_assert (start_index < end_index);
+  g_assert (end_index <= strlen (text->text_display));
+
+  block->text = text->text_display + start_index;
+  block->text_length = end_index - start_index;
+
+  g_assert (text->formats != NULL);
+  for (iter = text->formats; iter->next != NULL &&
+      ((SwfdecFormatIndex *)(iter->next->data))->index <= start_index;
+      iter = iter->next);
+
+  index_ = start_index;
+  format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+  switch (format->align) {
+    case SWFDEC_TEXT_ALIGN_LEFT:
+      block->align = PANGO_ALIGN_LEFT;
+      block->justify = FALSE;
+      break;
+    case SWFDEC_TEXT_ALIGN_RIGHT:
+      block->align = PANGO_ALIGN_RIGHT;
+      block->justify = FALSE;
+      break;
+    case SWFDEC_TEXT_ALIGN_CENTER:
+      block->align = PANGO_ALIGN_CENTER;
+      block->justify = FALSE;
+      break;
+    case SWFDEC_TEXT_ALIGN_JUSTIFY:
+      block->align = PANGO_ALIGN_LEFT;
+      block->justify = TRUE;
+      break;
+  }
+  block->bullet = format->bullet;
+  block->indent = format->indent;
+  block->leading = format->leading;
+  block->block_indent = format->block_indent;
+  block->left_margin = format->left_margin;
+  block->right_margin = format->right_margin;
+  //block->tab_stops = format->tab_stops;
+
+  block->attrs = pango_attr_list_new ();
+
+  if (format->bold) {
+    attr_bold = pango_attr_weight_new (PANGO_WEIGHT_BOLD);
+    attr_bold->start_index = 0;
+  } else {
+    attr_bold = NULL;
+  }
+
+  for (iter = iter->next;
+      iter != NULL && ((SwfdecFormatIndex *)(iter->data))->index < end_index;
+      iter = iter->next)
+  {
+    index_ = ((SwfdecFormatIndex *)(iter->data))->index;
+    format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+    // Close attributes
+    if (attr_bold && !format->bold) {
+      attr_bold->end_index = index_ - start_index;
+      pango_attr_list_insert (block->attrs, attr_bold);
+      attr_bold = NULL;
+    }
+
+    // Open attributes
+    if (!attr_bold && format->bold) {
+      attr_bold = pango_attr_weight_new (PANGO_WEIGHT_BOLD);
+      attr_bold->start_index = index_ - start_index;
+    }
+  }
+
+  // Close attributes
+  if (attr_bold) {
+    attr_bold->end_index = end_index - start_index;
+    pango_attr_list_insert (block->attrs, attr_bold);
+  }
+}
+
+static void
 swfdec_edit_text_movie_generate_render_blocks (SwfdecEditTextMovie *text)
 {
-  SwfdecFormatIndex *findex;
-  GSList *iter, *start;
-  PangoAttribute *attr;
   const char *p, *end;
-  int i, lines;
-  guint start_index, end_index, findex_end_index;
+  int lines, i;
+
+  g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
 
   lines = 0;
   p = text->text_display;
@@ -60,11 +148,7 @@ swfdec_edit_text_movie_generate_render_b
 
   text->blocks = g_new0 (SwfdecTextRenderBlock, lines + 1);
 
-  if (lines == 0)
-    return;
-
   i = 0;
-  start = text->formats;
   p = text->text_display;
   while (*p != '\0') {
     g_assert (i < lines);
@@ -72,70 +156,11 @@ swfdec_edit_text_movie_generate_render_b
     if (end == NULL)
       end = strchr (p, '\0');
 
-    start_index = p - text->text_display;
-    end_index = end - text->text_display;
-
-    text->blocks[i].text = p;
-    text->blocks[i].text_length = end - p;
-    text->blocks[i].attrs = pango_attr_list_new ();
-
-    while (start->next != NULL &&
-	((SwfdecFormatIndex *)(start->next))->index < start_index) {
-      start = start->next;
-    }
-
-    // things we only set on start of paragraph
-    findex = start->data;
-    switch (findex->format->align) {
-      case SWFDEC_TEXT_ALIGN_LEFT:
-	text->blocks[i].align = PANGO_ALIGN_LEFT;
-	text->blocks[i].justify = FALSE;
-	break;
-      case SWFDEC_TEXT_ALIGN_RIGHT:
-	text->blocks[i].align = PANGO_ALIGN_RIGHT;
-	text->blocks[i].justify = FALSE;
-	break;
-      case SWFDEC_TEXT_ALIGN_CENTER:
-	text->blocks[i].align = PANGO_ALIGN_CENTER;
-	text->blocks[i].justify = FALSE;
-	break;
-      case SWFDEC_TEXT_ALIGN_JUSTIFY:
-	text->blocks[i].align = PANGO_ALIGN_LEFT;
-	text->blocks[i].justify = TRUE;
-	break;
-    }
-    text->blocks[i].bullet = findex->format->bullet;
-    text->blocks[i].indent = findex->format->indent;
-    text->blocks[i].leading = findex->format->leading;
-    text->blocks[i].block_indent = findex->format->block_indent;
-    text->blocks[i].left_margin = findex->format->left_margin;
-    text->blocks[i].right_margin = findex->format->right_margin;
-    text->blocks[i].letter_spacing = findex->format->letter_spacing;
-    //PangoTabArray *	tabs;
-
-    for (iter = start;
-	iter != NULL && ((SwfdecFormatIndex *)iter)->index < end_index;
-	iter = iter->next)
-    {
-      findex = iter->data;
-      g_assert (findex != NULL);
-      g_assert (SWFDEC_IS_TEXT_FORMAT (findex->format));
-
-      findex_end_index = (iter->next != NULL ?
-	  ((SwfdecFormatIndex *)(iter->next))->index :
-	  strlen (text->text_display));
-
-      attr = pango_attr_size_new_absolute (findex->format->size * 20 * PANGO_SCALE);
-      attr->start_index = (findex->index < start_index ?
-	  0 : findex->index - start_index);
-      attr->end_index = (findex_end_index > end_index ?
-	  end_index - start_index : findex_end_index - start_index);
-      pango_attr_list_change (text->blocks[i].attrs, attr);
-    };
+    swfdec_edit_text_movie_generate_render_block (text, &text->blocks[i],
+	p - text->text_display, end - text->text_display);
 
     p = end;
-    if (*p != '\0') p++;
-    i++;
+    if (*p == '\r') p++;
   }
 }
 
@@ -187,8 +212,8 @@ swfdec_edit_text_movie_dispose (GObject 
     for (i = 0; text->blocks[i].text != NULL; i++) {
       if (text->blocks[i].attrs != NULL)
 	pango_attr_list_unref (text->blocks[i].attrs);
-      if (text->blocks[i].tabs != NULL)
-	pango_tab_array_free (text->blocks[i].tabs);
+      if (text->blocks[i].tab_stops != NULL)
+	pango_tab_array_free (text->blocks[i].tab_stops);
     }
     g_free (text->blocks);
     text->blocks = NULL;
diff-tree f8743bb0683162655db1d631247e2192fbb1ddab (from a079fdc1e101c9e6d41d781b1d3849af8a72a614)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Tue Oct 9 10:47:49 2007 +0300

    Add an embedFonts property for TextField, doesn't actually do anything yet

diff --git a/libswfdec/swfdec_as_strings.c b/libswfdec/swfdec_as_strings.c
index 03fbcb0..16ebc05 100644
--- a/libswfdec/swfdec_as_strings.c
+++ b/libswfdec/swfdec_as_strings.c
@@ -391,6 +391,7 @@ const char swfdec_as_strings[] = 
   SWFDEC_AS_CONSTANT_STRING ("Times New Roman")
   SWFDEC_AS_CONSTANT_STRING ("condenseWhite")
   SWFDEC_AS_CONSTANT_STRING ("textColor")
+  SWFDEC_AS_CONSTANT_STRING ("embedFonts")
   /* add more here */
 ;
 
diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index 67a57a6..ca222a8 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -146,7 +146,7 @@ tag_func_define_edit_text (SwfdecSwfDeco
 {
   SwfdecEditText *text;
   guint id;
-  int reserved, use_outlines;
+  int reserved;
   gboolean has_font, has_color, has_max_length, has_layout, has_text;
   SwfdecBits *b = &s->b;
 
@@ -177,7 +177,7 @@ tag_func_define_edit_text (SwfdecSwfDeco
   text->border = swfdec_bits_getbit (b);
   reserved = swfdec_bits_getbit (b);
   text->html = swfdec_bits_getbit (b);
-  use_outlines = swfdec_bits_getbit (b); /* FIXME: what's this? */
+  text->embed_fonts = swfdec_bits_getbit (b);
   if (has_font) {
     SwfdecCharacter *font;
 
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index 1d64b15..6f69125 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -74,14 +74,15 @@ struct _SwfdecEditText
   guint			max_length;
   gboolean		selectable;
 
-  SwfdecFont *	  	font;
+  gboolean		embed_fonts;
+  SwfdecFont *		font;
+  guint			height;
 
   gboolean		wrap;
   gboolean		multiline;
   SwfdecAutoSize	auto_size;
 
   gboolean		border;
-  guint			height;
 
   /* only to be passed to the movie object */
   char *		text_input;
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 842e141..d9db049 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -408,6 +408,31 @@ swfdec_edit_text_movie_set_condenseWhite
 }
 
 static void
+swfdec_edit_text_movie_get_embedFonts (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecEditTextMovie *text;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+
+  SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->embed_fonts);
+}
+
+static void
+swfdec_edit_text_movie_set_embedFonts (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecEditTextMovie *text;
+  gboolean value;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "b", &value);
+
+  text->text->embed_fonts = value;
+}
+
+static void
 swfdec_edit_text_movie_get_length (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
@@ -663,6 +688,9 @@ swfdec_edit_text_movie_construct (Swfdec
     swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_condenseWhite,
 	swfdec_edit_text_movie_get_condenseWhite,
 	swfdec_edit_text_movie_set_condenseWhite);
+    swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_embedFonts,
+	swfdec_edit_text_movie_get_embedFonts,
+	swfdec_edit_text_movie_set_embedFonts);
     swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_length,
 	swfdec_edit_text_movie_get_length, NULL);
     swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
diff-tree a079fdc1e101c9e6d41d781b1d3849af8a72a614 (from 5bbd4e6bb6fff4353a975df6f133c0e4eeb69532)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Oct 8 17:21:02 2007 +0300

    Fix if clause being reversed, causing TextField's setNewTextFormat not to work

diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 7319594..842e141 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -472,7 +472,7 @@ swfdec_edit_text_movie_setNewTextFormat 
 
   SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "o", &obj);
 
-  if (SWFDEC_IS_TEXT_FORMAT (obj))
+  if (!SWFDEC_IS_TEXT_FORMAT (obj))
     return;
 
   text->format_new = swfdec_text_format_copy (SWFDEC_TEXT_FORMAT (obj));
diff-tree 5bbd4e6bb6fff4353a975df6f133c0e4eeb69532 (from cfa5063b34a130b2380894a03841030394c11c11)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Oct 8 17:16:42 2007 +0300

    TextField: Add setNewTextFormat/getNewTextFormat methods and textColor property

diff --git a/libswfdec/swfdec_as_strings.c b/libswfdec/swfdec_as_strings.c
index 99478ab..03fbcb0 100644
--- a/libswfdec/swfdec_as_strings.c
+++ b/libswfdec/swfdec_as_strings.c
@@ -390,6 +390,7 @@ const char swfdec_as_strings[] = 
   SWFDEC_AS_CONSTANT_STRING ("TextFormat")
   SWFDEC_AS_CONSTANT_STRING ("Times New Roman")
   SWFDEC_AS_CONSTANT_STRING ("condenseWhite")
+  SWFDEC_AS_CONSTANT_STRING ("textColor")
   /* add more here */
 ;
 
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 5282cd6..7319594 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -418,6 +418,66 @@ swfdec_edit_text_movie_get_length (Swfde
   SWFDEC_AS_VALUE_SET_INT (ret, strlen (text->text_display));
 }
 
+static void
+swfdec_edit_text_movie_get_textColor (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecEditTextMovie *text;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+
+  swfdec_as_object_get_variable (SWFDEC_AS_OBJECT (text->format_new),
+      SWFDEC_AS_STR_color, ret);
+}
+
+static void
+swfdec_edit_text_movie_set_textColor (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecEditTextMovie *text;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+
+  if (argc < 1)
+    return;
+
+  swfdec_as_object_set_variable (SWFDEC_AS_OBJECT (text->format_new),
+      SWFDEC_AS_STR_color, &argv[0]);
+}
+
+SWFDEC_AS_NATIVE (104, 104, swfdec_edit_text_movie_getNewTextFormat)
+void
+swfdec_edit_text_movie_getNewTextFormat (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecEditTextMovie *text;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+
+  SWFDEC_AS_VALUE_SET_OBJECT (ret,
+      SWFDEC_AS_OBJECT (swfdec_text_format_copy (text->format_new)));
+}
+
+SWFDEC_AS_NATIVE (104, 105, swfdec_edit_text_movie_setNewTextFormat)
+void
+swfdec_edit_text_movie_setNewTextFormat (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecEditTextMovie *text;
+  SwfdecAsObject *obj;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "o", &obj);
+
+  if (SWFDEC_IS_TEXT_FORMAT (obj))
+    return;
+
+  text->format_new = swfdec_text_format_copy (SWFDEC_TEXT_FORMAT (obj));
+}
+
 SWFDEC_AS_NATIVE (104, 102, swfdec_edit_text_movie_setTextFormat)
 void
 swfdec_edit_text_movie_setTextFormat (SwfdecAsContext *cx,
@@ -605,6 +665,9 @@ swfdec_edit_text_movie_construct (Swfdec
 	swfdec_edit_text_movie_set_condenseWhite);
     swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_length,
 	swfdec_edit_text_movie_get_length, NULL);
+    swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
+	swfdec_edit_text_movie_get_textColor,
+	swfdec_edit_text_movie_set_textColor);
 
     SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
   }
diff --git a/libswfdec/swfdec_initialize.as b/libswfdec/swfdec_initialize.as
index 82abb91..6429bda 100644
--- a/libswfdec/swfdec_initialize.as
+++ b/libswfdec/swfdec_initialize.as
@@ -279,6 +279,8 @@ ASSetPropFlags (MovieClip.prototype, nul
 
 TextField = ASconstructor (104, 0);
 TextField.prototype.setTextFormat = ASnative (104, 102);
+TextField.prototype.getNewTextFormat = ASnative (104, 104);
+TextField.prototype.setNewTextFormat = ASnative (104, 105);
 
 /* TextFormat */
 
diff --git a/libswfdec/swfdec_initialize.h b/libswfdec/swfdec_initialize.h
index f29de69..95ac4db 100644
--- a/libswfdec/swfdec_initialize.h
+++ b/libswfdec/swfdec_initialize.h
@@ -2,7 +2,7 @@
 
 /* compiled from swfdec_initialize.as */
 const unsigned char swfdec_initialize[] = {
-  0x88, 0xCF, 0x06, 0xB3,  0x00, 0x41, 0x53, 0x53,  0x65, 0x74, 0x4E, 0x61,  0x74, 0x69, 0x76, 0x65,
+  0x88, 0xF1, 0x06, 0xB5,  0x00, 0x41, 0x53, 0x53,  0x65, 0x74, 0x4E, 0x61,  0x74, 0x69, 0x76, 0x65,
   0x00, 0x41, 0x53, 0x6E,  0x61, 0x74, 0x69, 0x76,  0x65, 0x00, 0x41, 0x53,  0x53, 0x65, 0x74, 0x4E,
   0x61, 0x74, 0x69, 0x76,  0x65, 0x41, 0x63, 0x63,  0x65, 0x73, 0x73, 0x6F,  0x72, 0x00, 0x4F, 0x62,
   0x6A, 0x65, 0x63, 0x74,  0x00, 0x72, 0x65, 0x67,  0x69, 0x73, 0x74, 0x65,  0x72, 0x43, 0x6C, 0x61,
@@ -78,448 +78,455 @@ const unsigned char swfdec_initialize[] 
   0x69, 0x65, 0x6C, 0x64,  0x00, 0x67, 0x65, 0x74,  0x44, 0x65, 0x70, 0x74,  0x68, 0x2C, 0x63, 0x72,
   0x65, 0x61, 0x74, 0x65,  0x45, 0x6D, 0x70, 0x74,  0x79, 0x4D, 0x6F, 0x76,  0x69, 0x65, 0x43, 0x6C,
   0x69, 0x70, 0x00, 0x54,  0x65, 0x78, 0x74, 0x46,  0x69, 0x65, 0x6C, 0x64,  0x00, 0x73, 0x65, 0x74,
-  0x54, 0x65, 0x78, 0x74,  0x46, 0x6F, 0x72, 0x6D,  0x61, 0x74, 0x00, 0x54,  0x65, 0x78, 0x74, 0x46,
-  0x6F, 0x72, 0x6D, 0x61,  0x74, 0x00, 0x53, 0x74,  0x79, 0x6C, 0x65, 0x53,  0x68, 0x65, 0x65, 0x74,
-  0x00, 0x5F, 0x63, 0x6F,  0x70, 0x79, 0x00, 0x6F,  0x62, 0x6A, 0x65, 0x63,  0x74, 0x00, 0x6F, 0x5F,
-  0x6E, 0x65, 0x77, 0x00,  0x70, 0x72, 0x6F, 0x70,  0x00, 0x63, 0x6C, 0x65,  0x61, 0x72, 0x00, 0x5F,
-  0x63, 0x73, 0x73, 0x00,  0x5F, 0x73, 0x74, 0x79,  0x6C, 0x65, 0x73, 0x00,  0x67, 0x65, 0x74, 0x53,
-  0x74, 0x79, 0x6C, 0x65,  0x00, 0x6E, 0x61, 0x6D,  0x65, 0x00, 0x73, 0x65,  0x74, 0x53, 0x74, 0x79,
-  0x6C, 0x65, 0x00, 0x73,  0x74, 0x79, 0x6C, 0x65,  0x00, 0x64, 0x6F, 0x54,  0x72, 0x61, 0x6E, 0x73,
-  0x66, 0x6F, 0x72, 0x6D,  0x00, 0x67, 0x65, 0x74,  0x53, 0x74, 0x79, 0x6C,  0x65, 0x4E, 0x61, 0x6D,
-  0x65, 0x73, 0x00, 0x74,  0x6D, 0x70, 0x00, 0x6E,  0x61, 0x6D, 0x65, 0x73,  0x00, 0x74, 0x72, 0x61,
-  0x6E, 0x73, 0x66, 0x6F,  0x72, 0x6D, 0x00, 0x66,  0x6F, 0x72, 0x6D, 0x61,  0x74, 0x00, 0x74, 0x65,
-  0x78, 0x74, 0x41, 0x6C,  0x69, 0x67, 0x6E, 0x00,  0x61, 0x6C, 0x69, 0x67,  0x6E, 0x00, 0x66, 0x6F,
-  0x6E, 0x74, 0x57, 0x65,  0x69, 0x67, 0x68, 0x74,  0x00, 0x62, 0x6F, 0x6C,  0x64, 0x00, 0x6E, 0x6F,
-  0x72, 0x6D, 0x61, 0x6C,  0x00, 0x63, 0x6F, 0x6C,  0x6F, 0x72, 0x00, 0x70,  0x61, 0x72, 0x73, 0x65,
-  0x43, 0x6F, 0x6C, 0x6F,  0x72, 0x00, 0x64, 0x69,  0x73, 0x70, 0x6C, 0x61,  0x79, 0x00, 0x66, 0x6F,
-  0x6E, 0x74, 0x46, 0x61,  0x6D, 0x69, 0x6C, 0x79,  0x00, 0x66, 0x6F, 0x6E,  0x74, 0x00, 0x70, 0x61,
-  0x72, 0x73, 0x65, 0x43,  0x53, 0x53, 0x46, 0x6F,  0x6E, 0x74, 0x46, 0x61,  0x6D, 0x69, 0x6C, 0x79,
-  0x00, 0x74, 0x65, 0x78,  0x74, 0x49, 0x6E, 0x64,  0x65, 0x6E, 0x74, 0x00,  0x69, 0x6E, 0x64, 0x65,
-  0x6E, 0x74, 0x00, 0x70,  0x61, 0x72, 0x73, 0x65,  0x49, 0x6E, 0x74, 0x00,  0x66, 0x6F, 0x6E, 0x74,
-  0x53, 0x74, 0x79, 0x6C,  0x65, 0x00, 0x69, 0x74,  0x61, 0x6C, 0x69, 0x63,  0x00, 0x6B, 0x65, 0x72,
-  0x6E, 0x69, 0x6E, 0x67,  0x00, 0x74, 0x72, 0x75,  0x65, 0x00, 0x66, 0x61,  0x6C, 0x73, 0x65, 0x00,
-  0x6C, 0x65, 0x61, 0x64,  0x69, 0x6E, 0x67, 0x00,  0x6D, 0x61, 0x72, 0x67,  0x69, 0x6E, 0x4C, 0x65,
-  0x66, 0x74, 0x00, 0x6C,  0x65, 0x66, 0x74, 0x4D,  0x61, 0x72, 0x67, 0x69,  0x6E, 0x00, 0x6C, 0x65,
-  0x74, 0x74, 0x65, 0x72,  0x53, 0x70, 0x61, 0x63,  0x69, 0x6E, 0x67, 0x00,  0x6D, 0x61, 0x72, 0x67,
-  0x69, 0x6E, 0x52, 0x69,  0x67, 0x68, 0x74, 0x00,  0x72, 0x69, 0x67, 0x68,  0x74, 0x4D, 0x61, 0x72,
-  0x67, 0x69, 0x6E, 0x00,  0x66, 0x6F, 0x6E, 0x74,  0x53, 0x69, 0x7A, 0x65,  0x00, 0x73, 0x69, 0x7A,
-  0x65, 0x00, 0x74, 0x65,  0x78, 0x74, 0x44, 0x65,  0x63, 0x6F, 0x72, 0x61,  0x74, 0x69, 0x6F, 0x6E,
-  0x00, 0x75, 0x6E, 0x64,  0x65, 0x72, 0x6C, 0x69,  0x6E, 0x65, 0x00, 0x6E,  0x6F, 0x6E, 0x65, 0x00,
-  0x70, 0x61, 0x72, 0x73,  0x65, 0x43, 0x53, 0x53,  0x00, 0x63, 0x73, 0x73,  0x00, 0x70, 0x61, 0x72,
-  0x73, 0x65, 0x43, 0x53,  0x53, 0x49, 0x6E, 0x74,  0x65, 0x72, 0x6E, 0x61,  0x6C, 0x00, 0x72, 0x65,
-  0x73, 0x75, 0x6C, 0x74,  0x00, 0x6E, 0x75, 0x6C,  0x6C, 0x00, 0x70, 0x61,  0x72, 0x73, 0x65, 0x00,
-  0x73, 0x65, 0x74, 0x49,  0x6E, 0x74, 0x65, 0x72,  0x76, 0x61, 0x6C, 0x00,  0x63, 0x6C, 0x65, 0x61,
-  0x72, 0x49, 0x6E, 0x74,  0x65, 0x72, 0x76, 0x61,  0x6C, 0x00, 0x73, 0x65,  0x74, 0x54, 0x69, 0x6D,
-  0x65, 0x6F, 0x75, 0x74,  0x00, 0x63, 0x6C, 0x65,  0x61, 0x72, 0x54, 0x69,  0x6D, 0x65, 0x6F, 0x75,
-  0x74, 0x00, 0x9B, 0x12,  0x00, 0x41, 0x73, 0x42,  0x72, 0x6F, 0x61, 0x64,  0x63, 0x61, 0x73, 0x74,
-  0x65, 0x72, 0x00, 0x00,  0x00, 0x00, 0x00, 0x9B,  0x0D, 0x00, 0x4C, 0x6F,  0x61, 0x64, 0x56, 0x61,
-  0x72, 0x73, 0x00, 0x00,  0x00, 0x00, 0x00, 0x96,  0x13, 0x00, 0x08, 0x00,  0x07, 0x00, 0x00, 0x00,
-  0x00, 0x07, 0x04, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x1D, 0x96,
-  0x13, 0x00, 0x08, 0x02,  0x07, 0x01, 0x00, 0x00,  0x00, 0x07, 0x04, 0x00,  0x00, 0x00, 0x07, 0x02,
-  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x03,  0x1C, 0x96, 0x13, 0x00,
-  0x08, 0x04, 0x07, 0x08,  0x00, 0x00, 0x00, 0x07,  0x65, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x08, 0x00,  0x07, 0x07, 0x00, 0x00,  0x00, 0x02, 0x08, 0x03,
-  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x02, 0x00,
-  0x08, 0x06, 0x1C, 0x96,  0x13, 0x00, 0x08, 0x07,  0x07, 0x0C, 0x00, 0x00,  0x00, 0x07, 0x65, 0x00,
-  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x06,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x08, 0x9B, 0x07,  0x00, 0x00, 0x01, 0x00,  0x78, 0x00, 0x3C, 0x00,
-  0x96, 0x02, 0x00, 0x08,  0x0A, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x0B, 0x52, 0x17,  0x96, 0x02, 0x00, 0x08,  0x0A, 0x1C, 0x96, 0x07,
-  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x0C, 0x4E, 0x96,
-  0x02, 0x00, 0x08, 0x0D,  0x52, 0x17, 0x96, 0x02,  0x00, 0x05, 0x01, 0x3E,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x06, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x0B,  0x9B, 0x07, 0x00, 0x00,  0x01, 0x00, 0x78, 0x00,
-  0x8F, 0x00, 0x96, 0x04,  0x00, 0x08, 0x0E, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0C, 0x4E,
-  0x3C, 0x96, 0x02, 0x00,  0x08, 0x0F, 0x41, 0x96,  0x07, 0x00, 0x08, 0x0F,  0x07, 0x00, 0x00, 0x00,
-  0x00, 0x3C, 0x99, 0x02,  0x00, 0x09, 0x00, 0x96,  0x02, 0x00, 0x08, 0x0F,  0x4C, 0x1C, 0x50, 0x1D,
-  0x96, 0x02, 0x00, 0x08,  0x0F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0E, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x10, 0x4E, 0x48, 0x12,  0x9D, 0x02, 0x00, 0x42,  0x00, 0x96, 0x02, 0x00,  0x08, 0x0E, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x0F,  0x1C, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x0A, 0x1C,  0x49, 0x12, 0x9D, 0x02,
-  0x00, 0x23, 0x00, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x0F, 0x1C, 0x96, 0x07,
-  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x0E,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x11, 0x52, 0x17,
-  0x96, 0x02, 0x00, 0x05,  0x01, 0x3E, 0x99, 0x02,  0x00, 0x9C, 0xFF, 0x96,  0x02, 0x00, 0x05, 0x00,
-  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x06, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x12, 0x9B, 0x07, 0x00,
-  0x00, 0x01, 0x00, 0x6F,  0x00, 0x73, 0x00, 0x96,  0x02, 0x00, 0x08, 0x13,  0x1C, 0x96, 0x13, 0x00,
-  0x08, 0x07, 0x07, 0x0C,  0x00, 0x00, 0x00, 0x07,  0x65, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x13, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x08,
-  0x08, 0x06, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x08,  0x4E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x13, 0x1C,
-  0x96, 0x04, 0x00, 0x08,  0x0B, 0x08, 0x06, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x0B, 0x4E, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x13,  0x1C, 0x96, 0x07, 0x00,  0x08, 0x0C, 0x07, 0x00,  0x00, 0x00, 0x00, 0x42,
-  0x4F, 0x96, 0x09, 0x00,  0x07, 0x83, 0x00, 0x00,  0x00, 0x08, 0x14, 0x08,  0x13, 0x1C, 0x96, 0x07,
-  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x4F, 0x96,  0x08, 0x00, 0x07, 0x83,
-  0x00, 0x00, 0x00, 0x02,  0x08, 0x06, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,
-  0x05, 0x3D, 0x17, 0x96,  0x8C, 0x00, 0x08, 0x15,  0x08, 0x16, 0x07, 0x12,  0x00, 0x00, 0x00, 0x08,
-  0x17, 0x07, 0x08, 0x00,  0x00, 0x00, 0x08, 0x18,  0x07, 0x14, 0x00, 0x00,  0x00, 0x08, 0x19, 0x07,
-  0x11, 0x00, 0x00, 0x00,  0x08, 0x1A, 0x07, 0x2E,  0x00, 0x00, 0x00, 0x08,  0x1B, 0x07, 0x28, 0x00,
-  0x00, 0x00, 0x08, 0x1C,  0x07, 0x23, 0x00, 0x00,  0x00, 0x08, 0x1D, 0x07,  0x0D, 0x00, 0x00, 0x00,
-  0x08, 0x1E, 0x07, 0x1B,  0x00, 0x00, 0x00, 0x08,  0x1F, 0x07, 0x24, 0x00,  0x00, 0x00, 0x08, 0x20,
-  0x07, 0x2D, 0x00, 0x00,  0x00, 0x08, 0x21, 0x07,  0x25, 0x00, 0x00, 0x00,  0x08, 0x22, 0x07, 0x22,
-  0x00, 0x00, 0x00, 0x08,  0x23, 0x07, 0x21, 0x00,  0x00, 0x00, 0x08, 0x24,  0x07, 0x27, 0x00, 0x00,
-  0x00, 0x08, 0x25, 0x07,  0x10, 0x00, 0x00, 0x00,  0x08, 0x26, 0x07, 0x20,  0x00, 0x00, 0x00, 0x08,
-  0x27, 0x07, 0x09, 0x00,  0x00, 0x00, 0x08, 0x28,  0x07, 0x26, 0x00, 0x00,  0x00, 0x07, 0x13, 0x00,
-  0x00, 0x00, 0x43, 0x1D,  0x96, 0x09, 0x00, 0x08,  0x29, 0x07, 0x20, 0x03,  0x00, 0x00, 0x08, 0x15,
-  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x00, 0x3D,  0x17, 0x96, 0x02, 0x00,
-  0x08, 0x15, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x06, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x12, 0x52,  0x17, 0x96, 0x08, 0x00,  0x07, 0x07, 0x00, 0x00,  0x00, 0x02, 0x08, 0x15,
-  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x07, 0x00,
-  0x08, 0x2A, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,  0x1D, 0x96, 0x02, 0x00,  0x08, 0x2A, 0x1C, 0x96,
-  0x13, 0x00, 0x08, 0x2B,  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x05, 0x00,  0x00, 0x00, 0x07, 0x02,
-  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2A,  0x1C, 0x96, 0x13, 0x00,
-  0x08, 0x2C, 0x07, 0x01,  0x00, 0x00, 0x00, 0x07,  0x05, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2A, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,
-  0x00, 0x00, 0x00, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x12, 0x52,  0x17, 0x96, 0x08, 0x00,
-  0x07, 0x07, 0x00, 0x00,  0x00, 0x02, 0x08, 0x2A,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,
-  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x07, 0x00,  0x08, 0x2D, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,
-  0x1D, 0x96, 0x02, 0x00,  0x08, 0x2D, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
-  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x12, 0x52,  0x17, 0x96, 0x0E, 0x00,  0x07, 0x01, 0x00, 0x00,
-  0x00, 0x08, 0x2E, 0x07,  0x9A, 0x02, 0x00, 0x00,  0x08, 0x2D, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x04,
-  0x00, 0x00, 0x00, 0x08,  0x02, 0x3D, 0x17, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x30, 0x4E, 0x96,  0x04, 0x00, 0x08, 0x31,  0x08, 0x32, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x33,  0x07, 0x00, 0x00, 0x00,
-  0x00, 0x07, 0x2D, 0x01,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x34,
-  0x07, 0x03, 0x00, 0x00,  0x00, 0x07, 0x2D, 0x01,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
-  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
-  0x02, 0x00, 0x08, 0x35,  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x36, 0x9B, 0x09,
-  0x00, 0x00, 0x01, 0x00,  0x73, 0x72, 0x63, 0x00,  0x64, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
-  0x96, 0x04, 0x00, 0x08,  0x37, 0x05, 0x01, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x38, 0x1C, 0x96, 0x01,
-  0x00, 0x02, 0x49, 0x12,  0x9D, 0x02, 0x00, 0x19,  0x00, 0x96, 0x09, 0x00,  0x05, 0x00, 0x07, 0x01,
-  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x35, 0x52,  0x17, 0x99, 0x02, 0x00,
-  0x2C, 0x00, 0x96, 0x02,  0x00, 0x08, 0x38, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
-  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x34,  0x52, 0x17, 0x96, 0x09,  0x00, 0x05, 0x01, 0x07,
-  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x35,  0x52, 0x17, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x39,
-  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0xB3, 0x00,  0x96, 0x03, 0x00, 0x08,  0x3A, 0x02, 0x3C, 0x96,
-  0x02, 0x00, 0x08, 0x09,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,  0x02, 0x49, 0x9D, 0x02,
-  0x00, 0x91, 0x00, 0x96,  0x04, 0x00, 0x08, 0x0A,  0x04, 0x00, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x3A,
-  0x1C, 0x96, 0x01, 0x00,  0x02, 0x49, 0x9D, 0x02,  0x00, 0x41, 0x00, 0x96,  0x02, 0x00, 0x08, 0x3A,
-  0x4C, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x3D, 0x08,  0x0A, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
-  0x00, 0x00, 0x08, 0x3B,  0x3D, 0x47, 0x96, 0x02,  0x00, 0x08, 0x3C, 0x47,  0x96, 0x02, 0x00, 0x08,
-  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0A, 0x1C,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,
-  0x00, 0x08, 0x3B, 0x3D,  0x47, 0x47, 0x1D, 0x99,  0x02, 0x00, 0x33, 0x00,  0x96, 0x04, 0x00, 0x08,
-  0x3A, 0x08, 0x0A, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x3B, 0x3D, 0x96,
-  0x02, 0x00, 0x08, 0x3C,  0x47, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x0A,
-  0x1C, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x3B,  0x3D, 0x47, 0x1D, 0x99,
-  0x02, 0x00, 0x61, 0xFF,  0x96, 0x02, 0x00, 0x08,  0x3A, 0x1C, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,
-  0x2F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x3E, 0x9B, 0x05, 0x00,
-  0x00, 0x00, 0x00, 0x0D,  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x3F,
-  0x4E, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
-  0x02, 0x00, 0x08, 0x40,  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x0D, 0x00,  0x96, 0x02, 0x00, 0x08,
-  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x41, 0x4E,  0x3E, 0x4F, 0x96, 0x08,  0x00, 0x07, 0x83, 0x00,
-  0x00, 0x00, 0x02, 0x08,  0x2F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,
-  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x13, 0x00, 0x08,  0x42, 0x07, 0x00, 0x00,
-  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x1D,
-  0x96, 0x02, 0x00, 0x08,  0x42, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
-  0x44, 0x07, 0x01, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
-  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x42, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
-  0x96, 0x13, 0x00, 0x08,  0x45, 0x07, 0x02, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
-  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x42, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x46, 0x07, 0x03, 0x00,  0x00, 0x00, 0x07, 0xFD,
-  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
-  0x42, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x47, 0x07, 0x04, 0x00,
-  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x42, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
-  0x48, 0x07, 0x05, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
-  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x42, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
-  0x96, 0x13, 0x00, 0x08,  0x39, 0x07, 0x06, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
-  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x42, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x49, 0x07, 0x07, 0x00,  0x00, 0x00, 0x07, 0xFD,
-  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
-  0x42, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x4A, 0x07, 0x08, 0x00,
-  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
-  0x96, 0x13, 0x00, 0x08,  0x4B, 0x07, 0x09, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
-  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x1D,  0x96, 0x02, 0x00, 0x08,  0x4B, 0x1C, 0x96, 0x10,
-  0x00, 0x08, 0x30, 0x08,  0x4C, 0x07, 0x01, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
-  0x42, 0x40, 0x4F, 0x96,  0x09, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x30, 0x08, 0x4B, 0x1C,
+  0x54, 0x65, 0x78, 0x74,  0x46, 0x6F, 0x72, 0x6D,  0x61, 0x74, 0x00, 0x67,  0x65, 0x74, 0x4E, 0x65,
+  0x77, 0x54, 0x65, 0x78,  0x74, 0x46, 0x6F, 0x72,  0x6D, 0x61, 0x74, 0x00,  0x73, 0x65, 0x74, 0x4E,
+  0x65, 0x77, 0x54, 0x65,  0x78, 0x74, 0x46, 0x6F,  0x72, 0x6D, 0x61, 0x74,  0x00, 0x54, 0x65, 0x78,
+  0x74, 0x46, 0x6F, 0x72,  0x6D, 0x61, 0x74, 0x00,  0x53, 0x74, 0x79, 0x6C,  0x65, 0x53, 0x68, 0x65,
+  0x65, 0x74, 0x00, 0x5F,  0x63, 0x6F, 0x70, 0x79,  0x00, 0x6F, 0x62, 0x6A,  0x65, 0x63, 0x74, 0x00,
+  0x6F, 0x5F, 0x6E, 0x65,  0x77, 0x00, 0x70, 0x72,  0x6F, 0x70, 0x00, 0x63,  0x6C, 0x65, 0x61, 0x72,
+  0x00, 0x5F, 0x63, 0x73,  0x73, 0x00, 0x5F, 0x73,  0x74, 0x79, 0x6C, 0x65,  0x73, 0x00, 0x67, 0x65,
+  0x74, 0x53, 0x74, 0x79,  0x6C, 0x65, 0x00, 0x6E,  0x61, 0x6D, 0x65, 0x00,  0x73, 0x65, 0x74, 0x53,
+  0x74, 0x79, 0x6C, 0x65,  0x00, 0x73, 0x74, 0x79,  0x6C, 0x65, 0x00, 0x64,  0x6F, 0x54, 0x72, 0x61,
+  0x6E, 0x73, 0x66, 0x6F,  0x72, 0x6D, 0x00, 0x67,  0x65, 0x74, 0x53, 0x74,  0x79, 0x6C, 0x65, 0x4E,
+  0x61, 0x6D, 0x65, 0x73,  0x00, 0x74, 0x6D, 0x70,  0x00, 0x6E, 0x61, 0x6D,  0x65, 0x73, 0x00, 0x74,
+  0x72, 0x61, 0x6E, 0x73,  0x66, 0x6F, 0x72, 0x6D,  0x00, 0x66, 0x6F, 0x72,  0x6D, 0x61, 0x74, 0x00,
+  0x74, 0x65, 0x78, 0x74,  0x41, 0x6C, 0x69, 0x67,  0x6E, 0x00, 0x61, 0x6C,  0x69, 0x67, 0x6E, 0x00,
+  0x66, 0x6F, 0x6E, 0x74,  0x57, 0x65, 0x69, 0x67,  0x68, 0x74, 0x00, 0x62,  0x6F, 0x6C, 0x64, 0x00,
+  0x6E, 0x6F, 0x72, 0x6D,  0x61, 0x6C, 0x00, 0x63,  0x6F, 0x6C, 0x6F, 0x72,  0x00, 0x70, 0x61, 0x72,
+  0x73, 0x65, 0x43, 0x6F,  0x6C, 0x6F, 0x72, 0x00,  0x64, 0x69, 0x73, 0x70,  0x6C, 0x61, 0x79, 0x00,
+  0x66, 0x6F, 0x6E, 0x74,  0x46, 0x61, 0x6D, 0x69,  0x6C, 0x79, 0x00, 0x66,  0x6F, 0x6E, 0x74, 0x00,
+  0x70, 0x61, 0x72, 0x73,  0x65, 0x43, 0x53, 0x53,  0x46, 0x6F, 0x6E, 0x74,  0x46, 0x61, 0x6D, 0x69,
+  0x6C, 0x79, 0x00, 0x74,  0x65, 0x78, 0x74, 0x49,  0x6E, 0x64, 0x65, 0x6E,  0x74, 0x00, 0x69, 0x6E,
+  0x64, 0x65, 0x6E, 0x74,  0x00, 0x70, 0x61, 0x72,  0x73, 0x65, 0x49, 0x6E,  0x74, 0x00, 0x66, 0x6F,
+  0x6E, 0x74, 0x53, 0x74,  0x79, 0x6C, 0x65, 0x00,  0x69, 0x74, 0x61, 0x6C,  0x69, 0x63, 0x00, 0x6B,
+  0x65, 0x72, 0x6E, 0x69,  0x6E, 0x67, 0x00, 0x74,  0x72, 0x75, 0x65, 0x00,  0x66, 0x61, 0x6C, 0x73,
+  0x65, 0x00, 0x6C, 0x65,  0x61, 0x64, 0x69, 0x6E,  0x67, 0x00, 0x6D, 0x61,  0x72, 0x67, 0x69, 0x6E,
+  0x4C, 0x65, 0x66, 0x74,  0x00, 0x6C, 0x65, 0x66,  0x74, 0x4D, 0x61, 0x72,  0x67, 0x69, 0x6E, 0x00,
+  0x6C, 0x65, 0x74, 0x74,  0x65, 0x72, 0x53, 0x70,  0x61, 0x63, 0x69, 0x6E,  0x67, 0x00, 0x6D, 0x61,
+  0x72, 0x67, 0x69, 0x6E,  0x52, 0x69, 0x67, 0x68,  0x74, 0x00, 0x72, 0x69,  0x67, 0x68, 0x74, 0x4D,
+  0x61, 0x72, 0x67, 0x69,  0x6E, 0x00, 0x66, 0x6F,  0x6E, 0x74, 0x53, 0x69,  0x7A, 0x65, 0x00, 0x73,
+  0x69, 0x7A, 0x65, 0x00,  0x74, 0x65, 0x78, 0x74,  0x44, 0x65, 0x63, 0x6F,  0x72, 0x61, 0x74, 0x69,
+  0x6F, 0x6E, 0x00, 0x75,  0x6E, 0x64, 0x65, 0x72,  0x6C, 0x69, 0x6E, 0x65,  0x00, 0x6E, 0x6F, 0x6E,
+  0x65, 0x00, 0x70, 0x61,  0x72, 0x73, 0x65, 0x43,  0x53, 0x53, 0x00, 0x63,  0x73, 0x73, 0x00, 0x70,
+  0x61, 0x72, 0x73, 0x65,  0x43, 0x53, 0x53, 0x49,  0x6E, 0x74, 0x65, 0x72,  0x6E, 0x61, 0x6C, 0x00,
+  0x72, 0x65, 0x73, 0x75,  0x6C, 0x74, 0x00, 0x6E,  0x75, 0x6C, 0x6C, 0x00,  0x70, 0x61, 0x72, 0x73,
+  0x65, 0x00, 0x73, 0x65,  0x74, 0x49, 0x6E, 0x74,  0x65, 0x72, 0x76, 0x61,  0x6C, 0x00, 0x63, 0x6C,
+  0x65, 0x61, 0x72, 0x49,  0x6E, 0x74, 0x65, 0x72,  0x76, 0x61, 0x6C, 0x00,  0x73, 0x65, 0x74, 0x54,
+  0x69, 0x6D, 0x65, 0x6F,  0x75, 0x74, 0x00, 0x63,  0x6C, 0x65, 0x61, 0x72,  0x54, 0x69, 0x6D, 0x65,
+  0x6F, 0x75, 0x74, 0x00,  0x9B, 0x12, 0x00, 0x41,  0x73, 0x42, 0x72, 0x6F,  0x61, 0x64, 0x63, 0x61,
+  0x73, 0x74, 0x65, 0x72,  0x00, 0x00, 0x00, 0x00,  0x00, 0x9B, 0x0D, 0x00,  0x4C, 0x6F, 0x61, 0x64,
+  0x56, 0x61, 0x72, 0x73,  0x00, 0x00, 0x00, 0x00,  0x00, 0x96, 0x13, 0x00,  0x08, 0x00, 0x07, 0x00,
+  0x00, 0x00, 0x00, 0x07,  0x04, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
+  0x1D, 0x96, 0x13, 0x00,  0x08, 0x02, 0x07, 0x01,  0x00, 0x00, 0x00, 0x07,  0x04, 0x00, 0x00, 0x00,
+  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x1D, 0x96, 0x02, 0x00,  0x08, 0x03, 0x1C, 0x96,
+  0x13, 0x00, 0x08, 0x04,  0x07, 0x08, 0x00, 0x00,  0x00, 0x07, 0x65, 0x00,  0x00, 0x00, 0x07, 0x02,
+  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x08, 0x00, 0x07, 0x07,  0x00, 0x00, 0x00, 0x02,
+  0x08, 0x03, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,
+  0x02, 0x00, 0x08, 0x06,  0x1C, 0x96, 0x13, 0x00,  0x08, 0x07, 0x07, 0x0C,  0x00, 0x00, 0x00, 0x07,
+  0x65, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x06, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x08,  0x9B, 0x07, 0x00, 0x00,  0x01, 0x00, 0x78, 0x00,
+  0x3C, 0x00, 0x96, 0x02,  0x00, 0x08, 0x0A, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
+  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x0B,  0x52, 0x17, 0x96, 0x02,  0x00, 0x08, 0x0A, 0x1C,
+  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x0C,
+  0x4E, 0x96, 0x02, 0x00,  0x08, 0x0D, 0x52, 0x17,  0x96, 0x02, 0x00, 0x05,  0x01, 0x3E, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0x06,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x0B, 0x9B, 0x07,  0x00, 0x00, 0x01, 0x00,
+  0x78, 0x00, 0x8F, 0x00,  0x96, 0x04, 0x00, 0x08,  0x0E, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x0C, 0x4E, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x0F,  0x41, 0x96, 0x07, 0x00,  0x08, 0x0F, 0x07, 0x00,
+  0x00, 0x00, 0x00, 0x3C,  0x99, 0x02, 0x00, 0x09,  0x00, 0x96, 0x02, 0x00,  0x08, 0x0F, 0x4C, 0x1C,
+  0x50, 0x1D, 0x96, 0x02,  0x00, 0x08, 0x0F, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x0E, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x10, 0x4E,  0x48, 0x12, 0x9D, 0x02,  0x00, 0x42, 0x00, 0x96,  0x02, 0x00, 0x08, 0x0E,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x0F, 0x1C, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x0A, 0x1C, 0x49, 0x12,
+  0x9D, 0x02, 0x00, 0x23,  0x00, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x0F, 0x1C,
+  0x96, 0x07, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x0E, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x11,
+  0x52, 0x17, 0x96, 0x02,  0x00, 0x05, 0x01, 0x3E,  0x99, 0x02, 0x00, 0x9C,  0xFF, 0x96, 0x02, 0x00,
+  0x05, 0x00, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x12, 0x9B,
+  0x07, 0x00, 0x00, 0x01,  0x00, 0x6F, 0x00, 0x73,  0x00, 0x96, 0x02, 0x00,  0x08, 0x13, 0x1C, 0x96,
+  0x13, 0x00, 0x08, 0x07,  0x07, 0x0C, 0x00, 0x00,  0x00, 0x07, 0x65, 0x00,  0x00, 0x00, 0x07, 0x02,
+  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x13,  0x1C, 0x96, 0x04, 0x00,
+  0x08, 0x08, 0x08, 0x06,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x08, 0x4E, 0x4F,  0x96, 0x02, 0x00, 0x08,
+  0x13, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x0B, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0B, 0x4E,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x13, 0x1C, 0x96,  0x07, 0x00, 0x08, 0x0C,  0x07, 0x00, 0x00, 0x00,
+  0x00, 0x42, 0x4F, 0x96,  0x09, 0x00, 0x07, 0x83,  0x00, 0x00, 0x00, 0x08,  0x14, 0x08, 0x13, 0x1C,
+  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x4F, 0x96, 0x08, 0x00,
+  0x07, 0x83, 0x00, 0x00,  0x00, 0x02, 0x08, 0x06,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,
+  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x8C, 0x00,  0x08, 0x15, 0x08, 0x16,  0x07, 0x12, 0x00, 0x00,
+  0x00, 0x08, 0x17, 0x07,  0x08, 0x00, 0x00, 0x00,  0x08, 0x18, 0x07, 0x14,  0x00, 0x00, 0x00, 0x08,
+  0x19, 0x07, 0x11, 0x00,  0x00, 0x00, 0x08, 0x1A,  0x07, 0x2E, 0x00, 0x00,  0x00, 0x08, 0x1B, 0x07,
+  0x28, 0x00, 0x00, 0x00,  0x08, 0x1C, 0x07, 0x23,  0x00, 0x00, 0x00, 0x08,  0x1D, 0x07, 0x0D, 0x00,
+  0x00, 0x00, 0x08, 0x1E,  0x07, 0x1B, 0x00, 0x00,  0x00, 0x08, 0x1F, 0x07,  0x24, 0x00, 0x00, 0x00,
+  0x08, 0x20, 0x07, 0x2D,  0x00, 0x00, 0x00, 0x08,  0x21, 0x07, 0x25, 0x00,  0x00, 0x00, 0x08, 0x22,
+  0x07, 0x22, 0x00, 0x00,  0x00, 0x08, 0x23, 0x07,  0x21, 0x00, 0x00, 0x00,  0x08, 0x24, 0x07, 0x27,
+  0x00, 0x00, 0x00, 0x08,  0x25, 0x07, 0x10, 0x00,  0x00, 0x00, 0x08, 0x26,  0x07, 0x20, 0x00, 0x00,
+  0x00, 0x08, 0x27, 0x07,  0x09, 0x00, 0x00, 0x00,  0x08, 0x28, 0x07, 0x26,  0x00, 0x00, 0x00, 0x07,
+  0x13, 0x00, 0x00, 0x00,  0x43, 0x1D, 0x96, 0x09,  0x00, 0x08, 0x29, 0x07,  0x20, 0x03, 0x00, 0x00,
+  0x08, 0x15, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x00, 0x3D, 0x17, 0x96,
+  0x02, 0x00, 0x08, 0x15,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x06, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x12, 0x52, 0x17, 0x96,  0x08, 0x00, 0x07, 0x07,  0x00, 0x00, 0x00, 0x02,
+  0x08, 0x15, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,
+  0x07, 0x00, 0x08, 0x2A,  0x07, 0x00, 0x00, 0x00,  0x00, 0x43, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x2A,
+  0x1C, 0x96, 0x13, 0x00,  0x08, 0x2B, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,  0x05, 0x00, 0x00, 0x00,
+  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2A, 0x1C, 0x96,
+  0x13, 0x00, 0x08, 0x2C,  0x07, 0x01, 0x00, 0x00,  0x00, 0x07, 0x05, 0x00,  0x00, 0x00, 0x07, 0x02,
+  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2A,  0x1C, 0x96, 0x07, 0x00,
+  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x06, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x12, 0x52, 0x17, 0x96,
+  0x08, 0x00, 0x07, 0x07,  0x00, 0x00, 0x00, 0x02,  0x08, 0x2A, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,
+  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,  0x07, 0x00, 0x08, 0x2D,  0x07, 0x00, 0x00, 0x00,
+  0x00, 0x43, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x2D,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,
+  0x00, 0x08, 0x06, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x12, 0x52, 0x17, 0x96,  0x0E, 0x00, 0x07, 0x01,
+  0x00, 0x00, 0x00, 0x08,  0x2E, 0x07, 0x9A, 0x02,  0x00, 0x00, 0x08, 0x2D,  0x1C, 0x96, 0x07, 0x00,
+  0x07, 0x04, 0x00, 0x00,  0x00, 0x08, 0x02, 0x3D,  0x17, 0x96, 0x02, 0x00,  0x08, 0x2F, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x04, 0x00,  0x08, 0x31, 0x08, 0x32,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x33, 0x07, 0x00,
+  0x00, 0x00, 0x00, 0x07,  0x2D, 0x01, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
+  0x08, 0x34, 0x07, 0x03,  0x00, 0x00, 0x00, 0x07,  0x2D, 0x01, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
+  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
+  0x4E, 0x96, 0x02, 0x00,  0x08, 0x35, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x36,
+  0x9B, 0x09, 0x00, 0x00,  0x01, 0x00, 0x73, 0x72,  0x63, 0x00, 0x64, 0x00,  0x96, 0x02, 0x00, 0x08,
+  0x09, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x37, 0x05,  0x01, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x38, 0x1C,
+  0x96, 0x01, 0x00, 0x02,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x19, 0x00, 0x96,  0x09, 0x00, 0x05, 0x00,
+  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x35, 0x52, 0x17, 0x99,
+  0x02, 0x00, 0x2C, 0x00,  0x96, 0x02, 0x00, 0x08,  0x38, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
+  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x34, 0x52, 0x17,  0x96, 0x09, 0x00, 0x05,
+  0x01, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x35, 0x52, 0x17,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,
+  0x08, 0x39, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,  0xB3, 0x00, 0x96, 0x03,  0x00, 0x08, 0x3A, 0x02,
+  0x3C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x46, 0x87,  0x01, 0x00, 0x00, 0x96,  0x01, 0x00, 0x02, 0x49,
+  0x9D, 0x02, 0x00, 0x91,  0x00, 0x96, 0x04, 0x00,  0x08, 0x0A, 0x04, 0x00,  0x3C, 0x96, 0x02, 0x00,
+  0x08, 0x3A, 0x1C, 0x96,  0x01, 0x00, 0x02, 0x49,  0x9D, 0x02, 0x00, 0x41,  0x00, 0x96, 0x02, 0x00,
+  0x08, 0x3A, 0x4C, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x3D, 0x08, 0x0A, 0x1C,  0x96, 0x07, 0x00, 0x07,
+  0x01, 0x00, 0x00, 0x00,  0x08, 0x3B, 0x3D, 0x47,  0x96, 0x02, 0x00, 0x08,  0x3C, 0x47, 0x96, 0x02,
+  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x0A, 0x1C, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,
+  0x00, 0x00, 0x00, 0x08,  0x3B, 0x3D, 0x47, 0x47,  0x1D, 0x99, 0x02, 0x00,  0x33, 0x00, 0x96, 0x04,
+  0x00, 0x08, 0x3A, 0x08,  0x0A, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x3B,
+  0x3D, 0x96, 0x02, 0x00,  0x08, 0x3C, 0x47, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x0A, 0x1C, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x3B, 0x3D, 0x47,
+  0x1D, 0x99, 0x02, 0x00,  0x61, 0xFF, 0x96, 0x02,  0x00, 0x08, 0x3A, 0x1C,  0x3E, 0x4F, 0x96, 0x02,
+  0x00, 0x08, 0x2F, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x3E, 0x9B,
+  0x05, 0x00, 0x00, 0x00,  0x00, 0x0D, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x3F, 0x4E, 0x3E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
+  0x4E, 0x96, 0x02, 0x00,  0x08, 0x40, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,  0x0D, 0x00, 0x96, 0x02,
+  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x41, 0x4E, 0x3E, 0x4F,  0x96, 0x08, 0x00, 0x07,
+  0x83, 0x00, 0x00, 0x00,  0x02, 0x08, 0x2F, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x07,
+  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x13,  0x00, 0x08, 0x42, 0x07,
+  0x00, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,
+  0x3D, 0x1D, 0x96, 0x02,  0x00, 0x08, 0x42, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
+  0x00, 0x08, 0x44, 0x07,  0x01, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
+  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x42, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x45, 0x07,  0x02, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,
+  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x42, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x46, 0x07,  0x03, 0x00, 0x00, 0x00,
+  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
+  0x00, 0x08, 0x42, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x47, 0x07,
+  0x04, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
+  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x42, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
+  0x00, 0x08, 0x48, 0x07,  0x05, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
+  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x42, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x39, 0x07,  0x06, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,
+  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x42, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x49, 0x07,  0x07, 0x00, 0x00, 0x00,
+  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
+  0x00, 0x08, 0x42, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x4A, 0x07,
+  0x08, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
+  0x3D, 0x4F, 0x96, 0x13,  0x00, 0x08, 0x4B, 0x07,  0x09, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,
+  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,  0x3D, 0x1D, 0x96, 0x02,  0x00, 0x08, 0x4B, 0x1C,
+  0x96, 0x10, 0x00, 0x08,  0x30, 0x08, 0x4C, 0x07,  0x01, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
+  0x00, 0x08, 0x42, 0x40,  0x4F, 0x96, 0x09, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x30, 0x08,
+  0x4B, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x02,
+  0x00, 0x08, 0x4B, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x33, 0x07,
+  0x00, 0x00, 0x00, 0x00,  0x07, 0x2D, 0x01, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
+  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x4B, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
+  0x00, 0x08, 0x4D, 0x07,  0x0A, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
+  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x4B, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x4E, 0x07,  0x0B, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,
+  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x4B, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x4F, 0x07,  0x0C, 0x00, 0x00, 0x00,
+  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
+  0x00, 0x08, 0x4B, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x35, 0x9B,
+  0x05, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x4B, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x36, 0x9B, 0x09, 0x00,  0x00, 0x01, 0x00, 0x73,
+  0x72, 0x63, 0x00, 0x72,  0x00, 0x96, 0x02, 0x00,  0x08, 0x38, 0x1C, 0x96,  0x01, 0x00, 0x02, 0x49,
+  0x12, 0x9D, 0x02, 0x00,  0x27, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x04, 0x00, 0x08,
+  0x37, 0x05, 0x00, 0x4F,  0x96, 0x09, 0x00, 0x05,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x35, 0x52, 0x17,  0x99, 0x02, 0x00, 0x3A,  0x00, 0x96, 0x02, 0x00,
+  0x08, 0x09, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x37,  0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x38,
+  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x4F, 0x52, 0x17, 0x96,  0x09, 0x00, 0x05, 0x01,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x35, 0x52, 0x17, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x4B, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x3E, 0x9B, 0x05, 0x00,  0x00, 0x00, 0x00, 0x0D,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x3F,  0x4E, 0x3E, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0x4B,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x40,
+  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x0D, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x41, 0x4E,  0x3E, 0x4F, 0x96, 0x07,  0x00, 0x08, 0x50, 0x07,  0x00, 0x00, 0x00, 0x00,
+  0x43, 0x1D, 0x96, 0x02,  0x00, 0x08, 0x50, 0x1C,  0x96, 0x07, 0x00, 0x08,  0x51, 0x07, 0x00, 0x00,
+  0x00, 0x00, 0x43, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x50, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x51, 0x4E,
+  0x96, 0x13, 0x00, 0x08,  0x52, 0x07, 0x00, 0x00,  0x00, 0x00, 0x07, 0x0B,  0x00, 0x00, 0x00, 0x07,
+  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x07, 0x00, 0x07,  0x00, 0x00, 0x00, 0x00,
+  0x08, 0x50, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x51,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x52, 0x52, 0x17,
+  0x96, 0x02, 0x00, 0x08,  0x50, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x51, 0x4E,  0x96, 0x02, 0x00, 0x08,
+  0x52, 0x3A, 0x17, 0x96,  0x02, 0x00, 0x08, 0x53,  0x9B, 0x0C, 0x00, 0x00,  0x01, 0x00, 0x74, 0x61,
+  0x72, 0x67, 0x65, 0x74,  0x00, 0x27, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x04, 0x00,
+  0x08, 0x54, 0x08, 0x54,  0x1C, 0x4F, 0x96, 0x08,  0x00, 0x07, 0x07, 0x00,  0x00, 0x00, 0x02, 0x08,
+  0x09, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x1D, 0x96,
+  0x09, 0x00, 0x08, 0x55,  0x07, 0xBC, 0x02, 0x00,  0x00, 0x08, 0x53, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x30, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x00,  0x3D, 0x17, 0x96, 0x08,
+  0x00, 0x07, 0x07, 0x00,  0x00, 0x00, 0x02, 0x08,  0x53, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
   0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x02, 0x00, 0x08,
-  0x4B, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x33, 0x07, 0x00, 0x00,
-  0x00, 0x00, 0x07, 0x2D,  0x01, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x4B, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
-  0x4D, 0x07, 0x0A, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
-  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x4B, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
-  0x96, 0x13, 0x00, 0x08,  0x4E, 0x07, 0x0B, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
-  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x4B, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x4F, 0x07, 0x0C, 0x00,  0x00, 0x00, 0x07, 0xFD,
-  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
-  0x4B, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x35, 0x9B, 0x05, 0x00,
-  0x00, 0x00, 0x00, 0x00,  0x00, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x4B, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x36, 0x9B,  0x09, 0x00, 0x00, 0x01,  0x00, 0x73, 0x72, 0x63,
-  0x00, 0x72, 0x00, 0x96,  0x02, 0x00, 0x08, 0x38,  0x1C, 0x96, 0x01, 0x00,  0x02, 0x49, 0x12, 0x9D,
-  0x02, 0x00, 0x27, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x37, 0x05,
-  0x00, 0x4F, 0x96, 0x09,  0x00, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x35,  0x52, 0x17, 0x99, 0x02,  0x00, 0x3A, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,
-  0x1C, 0x96, 0x04, 0x00,  0x08, 0x37, 0x05, 0x01,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x38, 0x1C, 0x96,
-  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x4F, 0x52,
-  0x17, 0x96, 0x09, 0x00,  0x05, 0x01, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x35, 0x52,  0x17, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x4B, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x3E, 0x9B,  0x05, 0x00, 0x00, 0x00,  0x00, 0x0D, 0x00, 0x96,
-  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x3F, 0x4E, 0x3E,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x4B, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x40, 0x9B, 0x05,
-  0x00, 0x00, 0x00, 0x00,  0x0D, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x41, 0x4E, 0x3E, 0x4F,  0x96, 0x07, 0x00, 0x08,  0x50, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x1D,
-  0x96, 0x02, 0x00, 0x08,  0x50, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x51, 0x07,  0x00, 0x00, 0x00, 0x00,
-  0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x50, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x51, 0x4E, 0x96, 0x13,
-  0x00, 0x08, 0x52, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0x0B, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
-  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x07,  0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x08, 0x50,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x51, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x52,  0x52, 0x17, 0x96, 0x02,
-  0x00, 0x08, 0x50, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x51, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x52, 0x3A,
-  0x17, 0x96, 0x02, 0x00,  0x08, 0x53, 0x9B, 0x0C,  0x00, 0x00, 0x01, 0x00,  0x74, 0x61, 0x72, 0x67,
-  0x65, 0x74, 0x00, 0x27,  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x54,
-  0x08, 0x54, 0x1C, 0x4F,  0x96, 0x08, 0x00, 0x07,  0x07, 0x00, 0x00, 0x00,  0x02, 0x08, 0x09, 0x1C,
-  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x1D, 0x96, 0x09, 0x00,
-  0x08, 0x55, 0x07, 0xBC,  0x02, 0x00, 0x00, 0x08,  0x53, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
-  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x00, 0x3D, 0x17,  0x96, 0x08, 0x00, 0x07,
-  0x07, 0x00, 0x00, 0x00,  0x02, 0x08, 0x53, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x07,
-  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x02,  0x00, 0x08, 0x56, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x57, 0x9B,  0x0C, 0x00, 0x00, 0x01,
-  0x00, 0x6D, 0x65, 0x74,  0x68, 0x6F, 0x64, 0x00,  0x5B, 0x00, 0x96, 0x09,  0x00, 0x08, 0x5A, 0x07,
-  0x00, 0x00, 0x00, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x59,  0x52, 0x3C, 0x96, 0x02,
-  0x00, 0x08, 0x5A, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x5B, 0x49, 0x9D, 0x02,  0x00, 0x2D, 0x00, 0x96,
-  0x02, 0x00, 0x08, 0x5A,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x5C, 0x49, 0x9D,  0x02, 0x00, 0x0E, 0x00,
-  0x96, 0x05, 0x00, 0x07,  0x00, 0x00, 0x00, 0x00,  0x3E, 0x99, 0x02, 0x00,  0x09, 0x00, 0x96, 0x05,
-  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x3E, 0x99,  0x02, 0x00, 0x09, 0x00,  0x96, 0x05, 0x00, 0x07,
-  0x02, 0x00, 0x00, 0x00,  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x56, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x5D, 0x9B,  0x17, 0x00, 0x00, 0x03,  0x00, 0x75, 0x72, 0x6C,
-  0x00, 0x74, 0x61, 0x72,  0x67, 0x65, 0x74, 0x00,  0x6D, 0x65, 0x74, 0x68,  0x6F, 0x64, 0x00, 0x97,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x54, 0x1C, 0x44,  0x96, 0x02, 0x00, 0x08,  0x5E, 0x49, 0x12, 0x9D,
-  0x02, 0x00, 0x08, 0x00,  0x96, 0x04, 0x00, 0x08,  0x54, 0x08, 0x4C, 0x1D,  0x96, 0x04, 0x00, 0x08,
-  0x5F, 0x08, 0x58, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x57,  0x52, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x5F, 0x1C,  0x96, 0x05, 0x00, 0x07,
-  0x00, 0x00, 0x00, 0x00,  0x49, 0x9D, 0x02, 0x00,  0x3E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x5F, 0x1C,
-  0x96, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x49, 0x9D, 0x02, 0x00,  0x15, 0x00, 0x96, 0x02,
-  0x00, 0x08, 0x60, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x54, 0x1C, 0x9A, 0x01,  0x00, 0x02, 0x99, 0x02,
-  0x00, 0x10, 0x00, 0x96,  0x02, 0x00, 0x08, 0x60,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x54, 0x1C, 0x9A,
-  0x01, 0x00, 0x01, 0x99,  0x02, 0x00, 0x10, 0x00,  0x96, 0x02, 0x00, 0x08,  0x60, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x54, 0x1C,  0x9A, 0x01, 0x00, 0x00,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x61, 0x9B, 0x10,  0x00, 0x00, 0x02, 0x00,
-  0x75, 0x72, 0x6C, 0x00,  0x6D, 0x65, 0x74, 0x68,  0x6F, 0x64, 0x00, 0x9A,  0x00, 0x96, 0x04, 0x00,
-  0x08, 0x5F, 0x08, 0x58,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x57, 0x52, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x20, 0x96, 0x02,
-  0x00, 0x08, 0x5F, 0x1C,  0x96, 0x05, 0x00, 0x07,  0x00, 0x00, 0x00, 0x00,  0x49, 0x9D, 0x02, 0x00,
-  0x4A, 0x00, 0x96, 0x02,  0x00, 0x08, 0x5F, 0x1C,  0x96, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
-  0x49, 0x9D, 0x02, 0x00,  0x1B, 0x00, 0x96, 0x02,  0x00, 0x08, 0x60, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x62, 0x4E,  0x9A, 0x01, 0x00, 0xC2,  0x99, 0x02, 0x00, 0x16,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x60, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x62, 0x4E, 0x9A,  0x01, 0x00, 0xC1, 0x99,  0x02, 0x00, 0x16, 0x00,  0x96, 0x02, 0x00, 0x08,
-  0x60, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x62, 0x4E, 0x9A, 0x01,
-  0x00, 0xC0, 0x96, 0x01,  0x00, 0x02, 0x20, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x56, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x63, 0x9B, 0x10, 0x00,  0x00, 0x02, 0x00, 0x75,
-  0x72, 0x6C, 0x00, 0x6D,  0x65, 0x74, 0x68, 0x6F,  0x64, 0x00, 0x9A, 0x00,  0x96, 0x04, 0x00, 0x08,
-  0x5F, 0x08, 0x58, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x57,  0x52, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x20, 0x96, 0x02, 0x00,
-  0x08, 0x5F, 0x1C, 0x96,  0x05, 0x00, 0x07, 0x00,  0x00, 0x00, 0x00, 0x49,  0x9D, 0x02, 0x00, 0x4A,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x5F, 0x1C, 0x96,  0x05, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x49,
-  0x9D, 0x02, 0x00, 0x1B,  0x00, 0x96, 0x02, 0x00,  0x08, 0x60, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x09,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x62, 0x4E, 0x9A,  0x01, 0x00, 0x42, 0x99,  0x02, 0x00, 0x16, 0x00,
-  0x96, 0x02, 0x00, 0x08,  0x60, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x62, 0x4E, 0x9A, 0x01,  0x00, 0x41, 0x99, 0x02,  0x00, 0x16, 0x00, 0x96,  0x02, 0x00, 0x08, 0x60,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x62,  0x4E, 0x9A, 0x01, 0x00,
-  0x40, 0x96, 0x01, 0x00,  0x02, 0x20, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x64,  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,
-  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x65,  0x07, 0x01, 0x00, 0x00,
-  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x66,
-  0x07, 0x04, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
-  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
-  0x13, 0x00, 0x08, 0x67,  0x07, 0x05, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,
-  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x40,  0x07, 0x06, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,
-  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x3E,  0x07, 0x07, 0x00, 0x00,
-  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x68,
-  0x07, 0x0A, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
-  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
-  0x13, 0x00, 0x08, 0x69,  0x07, 0x0C, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,
-  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x6A,  0x07, 0x0D, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,
-  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x6B,  0x07, 0x0E, 0x00, 0x00,
-  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x6C,
-  0x07, 0x0F, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
-  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
-  0x13, 0x00, 0x08, 0x6D,  0x07, 0x10, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,
-  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x6E,  0x07, 0x11, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,
-  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x6F,  0x07, 0x12, 0x00, 0x00,
-  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x70,
-  0x07, 0x13, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
-  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
-  0x13, 0x00, 0x08, 0x71,  0x07, 0x14, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,
-  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x72,  0x07, 0x15, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,
-  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x73,  0x07, 0x00, 0x00, 0x00,
-  0x00, 0x07, 0x85, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x74,
-  0x07, 0xC8, 0x00, 0x00,  0x00, 0x07, 0x68, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
-  0x01, 0x3D, 0x4F, 0x96,  0x09, 0x00, 0x07, 0x80,  0x00, 0x00, 0x00, 0x08,  0x75, 0x08, 0x56, 0x1C,
+  0x56, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x57, 0x9B, 0x0C, 0x00,
+  0x00, 0x01, 0x00, 0x6D,  0x65, 0x74, 0x68, 0x6F,  0x64, 0x00, 0x5B, 0x00,  0x96, 0x09, 0x00, 0x08,
+  0x5A, 0x07, 0x00, 0x00,  0x00, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x59, 0x52, 0x3C,
+  0x96, 0x02, 0x00, 0x08,  0x5A, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x5B, 0x49,  0x9D, 0x02, 0x00, 0x2D,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x5A, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x5C,  0x49, 0x9D, 0x02, 0x00,
+  0x0E, 0x00, 0x96, 0x05,  0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x3E, 0x99,  0x02, 0x00, 0x09, 0x00,
+  0x96, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x3E, 0x99, 0x02, 0x00,  0x09, 0x00, 0x96, 0x05,
+  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x56, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x5D, 0x9B, 0x17, 0x00,  0x00, 0x03, 0x00, 0x75,
+  0x72, 0x6C, 0x00, 0x74,  0x61, 0x72, 0x67, 0x65,  0x74, 0x00, 0x6D, 0x65,  0x74, 0x68, 0x6F, 0x64,
+  0x00, 0x97, 0x00, 0x96,  0x02, 0x00, 0x08, 0x54,  0x1C, 0x44, 0x96, 0x02,  0x00, 0x08, 0x5E, 0x49,
+  0x12, 0x9D, 0x02, 0x00,  0x08, 0x00, 0x96, 0x04,  0x00, 0x08, 0x54, 0x08,  0x4C, 0x1D, 0x96, 0x04,
+  0x00, 0x08, 0x5F, 0x08,  0x58, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x57, 0x52, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x5F, 0x1C, 0x96, 0x05,
+  0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x49, 0x9D,  0x02, 0x00, 0x3E, 0x00,  0x96, 0x02, 0x00, 0x08,
+  0x5F, 0x1C, 0x96, 0x05,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x49, 0x9D,  0x02, 0x00, 0x15, 0x00,
+  0x96, 0x02, 0x00, 0x08,  0x60, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x54, 0x1C,  0x9A, 0x01, 0x00, 0x02,
+  0x99, 0x02, 0x00, 0x10,  0x00, 0x96, 0x02, 0x00,  0x08, 0x60, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x54,
+  0x1C, 0x9A, 0x01, 0x00,  0x01, 0x99, 0x02, 0x00,  0x10, 0x00, 0x96, 0x02,  0x00, 0x08, 0x60, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x54, 0x1C, 0x9A, 0x01,  0x00, 0x00, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x61,  0x9B, 0x10, 0x00, 0x00,
+  0x02, 0x00, 0x75, 0x72,  0x6C, 0x00, 0x6D, 0x65,  0x74, 0x68, 0x6F, 0x64,  0x00, 0x9A, 0x00, 0x96,
+  0x04, 0x00, 0x08, 0x5F,  0x08, 0x58, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
+  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x57, 0x52,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x20,
+  0x96, 0x02, 0x00, 0x08,  0x5F, 0x1C, 0x96, 0x05,  0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x49, 0x9D,
+  0x02, 0x00, 0x4A, 0x00,  0x96, 0x02, 0x00, 0x08,  0x5F, 0x1C, 0x96, 0x05,  0x00, 0x07, 0x01, 0x00,
+  0x00, 0x00, 0x49, 0x9D,  0x02, 0x00, 0x1B, 0x00,  0x96, 0x02, 0x00, 0x08,  0x60, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x62, 0x4E, 0x9A, 0x01,  0x00, 0xC2, 0x99, 0x02,
+  0x00, 0x16, 0x00, 0x96,  0x02, 0x00, 0x08, 0x60,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x62,  0x4E, 0x9A, 0x01, 0x00,  0xC1, 0x99, 0x02, 0x00,  0x16, 0x00, 0x96, 0x02,
+  0x00, 0x08, 0x60, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x62, 0x4E,
+  0x9A, 0x01, 0x00, 0xC0,  0x96, 0x01, 0x00, 0x02,  0x20, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x56, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x63, 0x9B,  0x10, 0x00, 0x00, 0x02,
+  0x00, 0x75, 0x72, 0x6C,  0x00, 0x6D, 0x65, 0x74,  0x68, 0x6F, 0x64, 0x00,  0x9A, 0x00, 0x96, 0x04,
+  0x00, 0x08, 0x5F, 0x08,  0x58, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x57, 0x52, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x20, 0x96,
+  0x02, 0x00, 0x08, 0x5F,  0x1C, 0x96, 0x05, 0x00,  0x07, 0x00, 0x00, 0x00,  0x00, 0x49, 0x9D, 0x02,
+  0x00, 0x4A, 0x00, 0x96,  0x02, 0x00, 0x08, 0x5F,  0x1C, 0x96, 0x05, 0x00,  0x07, 0x01, 0x00, 0x00,
+  0x00, 0x49, 0x9D, 0x02,  0x00, 0x1B, 0x00, 0x96,  0x02, 0x00, 0x08, 0x60,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x62,  0x4E, 0x9A, 0x01, 0x00,  0x42, 0x99, 0x02, 0x00,
+  0x16, 0x00, 0x96, 0x02,  0x00, 0x08, 0x60, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x62, 0x4E,  0x9A, 0x01, 0x00, 0x41,  0x99, 0x02, 0x00, 0x16,  0x00, 0x96, 0x02, 0x00,
+  0x08, 0x60, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x62, 0x4E, 0x9A,
+  0x01, 0x00, 0x40, 0x96,  0x01, 0x00, 0x02, 0x20,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x64, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,
+  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x65, 0x07, 0x01,
+  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
+  0x08, 0x66, 0x07, 0x04,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
+  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
+  0x4E, 0x96, 0x13, 0x00,  0x08, 0x67, 0x07, 0x05,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
+  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x40, 0x07, 0x06,  0x00, 0x00, 0x00, 0x07,
+  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x3E, 0x07, 0x07,
+  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
+  0x08, 0x68, 0x07, 0x0A,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
+  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
+  0x4E, 0x96, 0x13, 0x00,  0x08, 0x69, 0x07, 0x0C,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
+  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6A, 0x07, 0x0D,  0x00, 0x00, 0x00, 0x07,
+  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6B, 0x07, 0x0E,
+  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
+  0x08, 0x6C, 0x07, 0x0F,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
+  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
+  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6D, 0x07, 0x10,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
+  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6E, 0x07, 0x11,  0x00, 0x00, 0x00, 0x07,
+  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6F, 0x07, 0x12,
+  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
+  0x08, 0x70, 0x07, 0x13,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
+  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
+  0x4E, 0x96, 0x13, 0x00,  0x08, 0x71, 0x07, 0x14,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
+  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x72, 0x07, 0x15,  0x00, 0x00, 0x00, 0x07,
+  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x73, 0x07, 0x00,
+  0x00, 0x00, 0x00, 0x07,  0x85, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
+  0x08, 0x74, 0x07, 0xC8,  0x00, 0x00, 0x00, 0x07,  0x68, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
+  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x09, 0x00,  0x07, 0x80, 0x00, 0x00,  0x00, 0x08, 0x75, 0x08,
+  0x56, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,
+  0x08, 0x05, 0x3D, 0x17,  0x96, 0x08, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x02, 0x08, 0x56, 0x1C,
   0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,
-  0x3D, 0x17, 0x96, 0x08,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x02, 0x08,  0x56, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,
-  0x96, 0x13, 0x00, 0x08,  0x76, 0x07, 0x00, 0x00,  0x00, 0x00, 0x07, 0x68,  0x00, 0x00, 0x00, 0x07,
-  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x1D,  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x77, 0x07, 0x66, 0x00,  0x00, 0x00, 0x07, 0x68,
-  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x13, 0x00, 0x08,
-  0x78, 0x07, 0x00, 0x00,  0x00, 0x00, 0x07, 0x6E,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
-  0x08, 0x43, 0x3D, 0x1D,  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x13,  0x00, 0x08, 0x79, 0x07,
-  0x00, 0x00, 0x00, 0x00,  0x07, 0x71, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,
-  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x79, 0x4E, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x7A, 0x9B, 0x07, 0x00,  0x00, 0x01, 0x00, 0x6F,
-  0x00, 0x67, 0x00, 0x96,  0x02, 0x00, 0x08, 0x13,  0x1C, 0x44, 0x96, 0x02,  0x00, 0x08, 0x7B, 0x49,
-  0x12, 0x12, 0x9D, 0x02,  0x00, 0x05, 0x00, 0x96,  0x01, 0x00, 0x02, 0x3E,  0x96, 0x07, 0x00, 0x08,
-  0x7C, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x13, 0x46, 0x87, 0x01,
-  0x00, 0x00, 0x96, 0x01,  0x00, 0x02, 0x49, 0x9D,  0x02, 0x00, 0x27, 0x00,  0x96, 0x04, 0x00, 0x08,
-  0x7D, 0x04, 0x00, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x7C, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7D, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x13, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7D, 0x1C,  0x4E, 0x4F, 0x99, 0x02,
-  0x00, 0xCB, 0xFF, 0x96,  0x02, 0x00, 0x08, 0x7C,  0x1C, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x79, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,
-  0x08, 0x7E, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,  0x24, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
-  0x96, 0x07, 0x00, 0x08,  0x7F, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x4F,  0x96, 0x02, 0x00, 0x08,
-  0x09, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x80, 0x07,  0x00, 0x00, 0x00, 0x00,  0x43, 0x4F, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x79, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,
-  0x4E, 0x96, 0x02, 0x00,  0x08, 0x81, 0x9B, 0x0A,  0x00, 0x00, 0x01, 0x00,  0x6E, 0x61, 0x6D, 0x65,
-  0x00, 0x25, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7F, 0x4E, 0x96,
-  0x02, 0x00, 0x08, 0x82,  0x1C, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7A, 0x52, 0x3E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x79,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x83,
-  0x9B, 0x10, 0x00, 0x00,  0x02, 0x00, 0x6E, 0x61,  0x6D, 0x65, 0x00, 0x73,  0x74, 0x79, 0x6C, 0x65,
-  0x00, 0x67, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7F, 0x4E, 0x12,
-  0x12, 0x9D, 0x02, 0x00,  0x12, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x07, 0x00, 0x08,
-  0x7F, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x7F, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x82, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x84, 0x1C,
-  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7A,
-  0x52, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x82, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
-  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x85,  0x52, 0x17, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x79, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,
-  0x08, 0x86, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,  0x5B, 0x00, 0x96, 0x04,  0x00, 0x08, 0x87, 0x08,
-  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7F, 0x4E,  0x3C, 0x96, 0x07, 0x00,  0x08, 0x88, 0x07, 0x00,
-  0x00, 0x00, 0x00, 0x42,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x87, 0x46, 0x87,  0x01, 0x00, 0x00, 0x96,
-  0x01, 0x00, 0x02, 0x49,  0x9D, 0x02, 0x00, 0x25,  0x00, 0x96, 0x04, 0x00,  0x08, 0x7D, 0x04, 0x00,
-  0x3C, 0x96, 0x02, 0x00,  0x08, 0x7D, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
-  0x88, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0D, 0x52,  0x17, 0x99, 0x02, 0x00,  0xCD, 0xFF, 0x96, 0x02,
-  0x00, 0x08, 0x88, 0x1C,  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x79, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x85, 0x9B, 0x0A, 0x00,
-  0x00, 0x01, 0x00, 0x6E,  0x61, 0x6D, 0x65, 0x00,  0x5C, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x80, 0x4E, 0x12, 0x12,  0x9D, 0x02, 0x00, 0x12,  0x00, 0x96, 0x02, 0x00,
-  0x08, 0x09, 0x1C, 0x96,  0x07, 0x00, 0x08, 0x80,  0x07, 0x00, 0x00, 0x00,  0x00, 0x43, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x80, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x82,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7F,  0x4E, 0x96, 0x02, 0x00,
-  0x08, 0x82, 0x1C, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x89,  0x52, 0x4F, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x79, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x89, 0x9B, 0x0B,
-  0x00, 0x00, 0x01, 0x00,  0x73, 0x74, 0x79, 0x6C,  0x65, 0x00, 0x9D, 0x03,  0x96, 0x02, 0x00, 0x08,
-  0x84, 0x1C, 0x96, 0x01,  0x00, 0x02, 0x49, 0x12,  0x9D, 0x02, 0x00, 0x05,  0x00, 0x96, 0x01, 0x00,
-  0x02, 0x3E, 0x96, 0x09,  0x00, 0x08, 0x8A, 0x07,  0x00, 0x00, 0x00, 0x00,  0x08, 0x78, 0x40, 0x3C,
-  0x96, 0x02, 0x00, 0x08,  0x84, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x8B, 0x4E,  0x12, 0x9D, 0x02, 0x00,
-  0x15, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8A, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x8C, 0x08, 0x84, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x8B, 0x4E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x84,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x8D, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x8E,  0x49, 0x9D, 0x02, 0x00,  0x2B, 0x00, 0x96, 0x02,
-  0x00, 0x08, 0x84, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x8D, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x8F, 0x49,
-  0x12, 0x9D, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8A, 0x1C,  0x96, 0x04, 0x00, 0x08,
-  0x8E, 0x05, 0x00, 0x4F,  0x99, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8A, 0x1C, 0x96,
-  0x04, 0x00, 0x08, 0x8E,  0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x84,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x90, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x41,  0x00, 0x96, 0x04, 0x00,  0x08, 0x87, 0x08, 0x84,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x90, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
-  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x91, 0x52,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x87, 0x1C, 0x96,
-  0x01, 0x00, 0x02, 0x49,  0x12, 0x12, 0x9D, 0x02,  0x00, 0x0F, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8A,
-  0x1C, 0x96, 0x04, 0x00,  0x08, 0x90, 0x08, 0x87,  0x1C, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x8A, 0x1C,
-  0x96, 0x04, 0x00, 0x08,  0x92, 0x08, 0x84, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x92, 0x4E, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x84,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x93, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x26,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x8A, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x94,  0x08, 0x84, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x93,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x95, 0x52, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x84,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x96, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8A, 0x1C, 0x96,
-  0x04, 0x00, 0x08, 0x97,  0x08, 0x84, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x96,  0x4E, 0x96, 0x07, 0x00,
-  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x98, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x84, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x99,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x9A, 0x49, 0x9D,  0x02, 0x00, 0x2B, 0x00,
-  0x96, 0x02, 0x00, 0x08,  0x84, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x99, 0x4E,  0x96, 0x02, 0x00, 0x08,
-  0x8F, 0x49, 0x12, 0x9D,  0x02, 0x00, 0x0E, 0x00,  0x96, 0x02, 0x00, 0x08,  0x8A, 0x1C, 0x96, 0x04,
-  0x00, 0x08, 0x9A, 0x05,  0x00, 0x4F, 0x99, 0x02,  0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8A,
-  0x1C, 0x96, 0x04, 0x00,  0x08, 0x9A, 0x05, 0x01,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x84, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x9B,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x9C, 0x49, 0x9D,  0x02, 0x00, 0x4F, 0x00,
-  0x96, 0x02, 0x00, 0x08,  0x84, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x9B, 0x4E,  0x96, 0x02, 0x00, 0x08,
-  0x9D, 0x49, 0x9D, 0x02,  0x00, 0x25, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8A,  0x1C, 0x96, 0x04, 0x00,
-  0x08, 0x9B, 0x08, 0x84,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x9B, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,
-  0x00, 0x00, 0x00, 0x08,  0x98, 0x3D, 0x4F, 0x99,  0x02, 0x00, 0x0E, 0x00,  0x96, 0x02, 0x00, 0x08,
-  0x8A, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x9B, 0x05,  0x00, 0x4F, 0x99, 0x02,  0x00, 0x0E, 0x00, 0x96,
-  0x02, 0x00, 0x08, 0x8A,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x9B, 0x05, 0x01,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x84, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x9E,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,
-  0x02, 0x00, 0x08, 0x8A,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x9E, 0x08, 0x84,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x9E, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x98, 0x3D, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x84,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x9F, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x8A, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA0,  0x08, 0x84, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x9F,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x98, 0x3D,
-  0x4F, 0x96, 0x02, 0x00,  0x08, 0x84, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA1,  0x4E, 0x12, 0x9D, 0x02,
-  0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8A,  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA1, 0x08, 0x84,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA1, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
-  0x98, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x84,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA2, 0x4E, 0x12,
-  0x9D, 0x02, 0x00, 0x20,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8A, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA3,
-  0x08, 0x84, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA2,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,
-  0x00, 0x08, 0x98, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x84, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA4,
-  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x3B, 0x00, 0x96,  0x04, 0x00, 0x08, 0x87,  0x08, 0x84, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0xA4,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x98, 0x3D,
-  0x3C, 0x96, 0x07, 0x00,  0x07, 0x00, 0x00, 0x00,  0x00, 0x08, 0x87, 0x1C,  0x48, 0x12, 0x9D, 0x02,
-  0x00, 0x0F, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8A,  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA5, 0x08, 0x87,
-  0x1C, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x84, 0x1C,  0x96, 0x02, 0x00, 0x08,  0xA6, 0x4E, 0x96, 0x02,
-  0x00, 0x08, 0xA7, 0x49,  0x9D, 0x02, 0x00, 0x2B,  0x00, 0x96, 0x02, 0x00,  0x08, 0x84, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0xA6,  0x4E, 0x96, 0x02, 0x00,  0x08, 0xA8, 0x49, 0x12,  0x9D, 0x02, 0x00, 0x0E,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x8A, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA7,  0x05, 0x00, 0x4F, 0x99,
-  0x02, 0x00, 0x0E, 0x00,  0x96, 0x02, 0x00, 0x08,  0x8A, 0x1C, 0x96, 0x04,  0x00, 0x08, 0xA7, 0x05,
-  0x01, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x8A, 0x1C,  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x79, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,
-  0xA9, 0x9B, 0x09, 0x00,  0x00, 0x01, 0x00, 0x63,  0x73, 0x73, 0x00, 0xC8,  0x00, 0x96, 0x04, 0x00,
-  0x08, 0xAC, 0x08, 0xAA,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0xAB, 0x52, 0x3C, 0x96,  0x02, 0x00, 0x08, 0xAC,  0x1C, 0x44, 0x96, 0x02,
-  0x00, 0x08, 0xAD, 0x49,  0x12, 0x9D, 0x02, 0x00,  0x06, 0x00, 0x96, 0x02,  0x00, 0x05, 0x00, 0x3E,
-  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7F, 0x4E,  0x12, 0x12, 0x9D, 0x02,
-  0x00, 0x12, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x07, 0x00,  0x08, 0x7F, 0x07, 0x00,
-  0x00, 0x00, 0x00, 0x43,  0x4F, 0x96, 0x02, 0x00,  0x08, 0xAC, 0x46, 0x87,  0x01, 0x00, 0x00, 0x96,
-  0x01, 0x00, 0x02, 0x49,  0x9D, 0x02, 0x00, 0x56,  0x00, 0x96, 0x04, 0x00,  0x08, 0x7D, 0x04, 0x00,
-  0x3C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7F,  0x4E, 0x96, 0x02, 0x00,
-  0x08, 0x7D, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xAC,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7D, 0x1C, 0x4E,
-  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7A,
-  0x52, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x7D, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
-  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x85,  0x52, 0x17, 0x99, 0x02,  0x00, 0x9C, 0xFF, 0x96,
-  0x02, 0x00, 0x05, 0x01,  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x79, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x04, 0x00, 0x08,  0xAE, 0x08, 0x76, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x79, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,
-  0xA9, 0x4E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x79, 0x4E, 0x96,
-  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x33, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,
-  0x2D, 0x01, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x79,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
-  0x02, 0x00, 0x08, 0x35,  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x79,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
-  0x02, 0x00, 0x08, 0x36,  0x9B, 0x09, 0x00, 0x00,  0x01, 0x00, 0x73, 0x72,  0x63, 0x00, 0x6B, 0x00,
-  0x96, 0x02, 0x00, 0x08,  0x38, 0x1C, 0x96, 0x01,  0x00, 0x02, 0x49, 0x12,  0x9D, 0x02, 0x00, 0x19,
-  0x00, 0x96, 0x09, 0x00,  0x05, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x35, 0x52,  0x17, 0x99, 0x02, 0x00,  0x41, 0x00, 0x96, 0x04,  0x00, 0x08, 0xAC, 0x08,
-  0x38, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0xAE, 0x52, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x37, 0x08,
-  0xAC, 0x1C, 0x4F, 0x96,  0x02, 0x00, 0x08, 0xAC,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,
-  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x35, 0x52, 0x17, 0x4F,  0x96, 0x02, 0x00, 0x08,
-  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x79, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
-  0x00, 0x08, 0xAB, 0x07,  0x65, 0x00, 0x00, 0x00,  0x07, 0x71, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
-  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x79, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x95, 0x07, 0x66, 0x00,
+  0x3D, 0x17, 0x96, 0x13,  0x00, 0x08, 0x76, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0x68, 0x00, 0x00,
+  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,  0x3D, 0x1D, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x77, 0x07,  0x66, 0x00, 0x00, 0x00,
+  0x07, 0x68, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
+  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x78, 0x07,
+  0x68, 0x00, 0x00, 0x00,  0x07, 0x68, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
+  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
+  0x00, 0x08, 0x79, 0x07,  0x69, 0x00, 0x00, 0x00,  0x07, 0x68, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
+  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x13,  0x00, 0x08, 0x7A, 0x07,  0x00, 0x00, 0x00, 0x00,
+  0x07, 0x6E, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,  0x3D, 0x1D, 0x96, 0x02,
+  0x00, 0x08, 0x76, 0x1C,  0x96, 0x13, 0x00, 0x08,  0x7B, 0x07, 0x00, 0x00,  0x00, 0x00, 0x07, 0x71,
+  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
+  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7B, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,
+  0x00, 0x08, 0x7C, 0x9B,  0x07, 0x00, 0x00, 0x01,  0x00, 0x6F, 0x00, 0x67,  0x00, 0x96, 0x02, 0x00,
+  0x08, 0x13, 0x1C, 0x44,  0x96, 0x02, 0x00, 0x08,  0x7D, 0x49, 0x12, 0x12,  0x9D, 0x02, 0x00, 0x05,
+  0x00, 0x96, 0x01, 0x00,  0x02, 0x3E, 0x96, 0x07,  0x00, 0x08, 0x7E, 0x07,  0x00, 0x00, 0x00, 0x00,
+  0x43, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x13, 0x46,  0x87, 0x01, 0x00, 0x00,  0x96, 0x01, 0x00, 0x02,
+  0x49, 0x9D, 0x02, 0x00,  0x27, 0x00, 0x96, 0x04,  0x00, 0x08, 0x7F, 0x04,  0x00, 0x3C, 0x96, 0x02,
+  0x00, 0x08, 0x7E, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x13, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x7F, 0x1C, 0x4E, 0x4F,  0x99, 0x02, 0x00, 0xCB,  0xFF, 0x96, 0x02, 0x00,
+  0x08, 0x7E, 0x1C, 0x3E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7B,
+  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x80,  0x9B, 0x05, 0x00, 0x00,
+  0x00, 0x00, 0x24, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x81, 0x07,
+  0x00, 0x00, 0x00, 0x00,  0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x07, 0x00, 0x08,
+  0x82, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x4F,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x7B,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x83,
+  0x9B, 0x0A, 0x00, 0x00,  0x01, 0x00, 0x6E, 0x61,  0x6D, 0x65, 0x00, 0x25,  0x00, 0x96, 0x02, 0x00,
+  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x81,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x84, 0x1C, 0x4E,
+  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7C,
+  0x52, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7B, 0x4E, 0x96,
+  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x85, 0x9B, 0x10,  0x00, 0x00, 0x02, 0x00,
+  0x6E, 0x61, 0x6D, 0x65,  0x00, 0x73, 0x74, 0x79,  0x6C, 0x65, 0x00, 0x67,  0x00, 0x96, 0x02, 0x00,
+  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x81,  0x4E, 0x12, 0x12, 0x9D,  0x02, 0x00, 0x12, 0x00,
+  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x81, 0x07,  0x00, 0x00, 0x00, 0x00,
+  0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x81, 0x4E, 0x96, 0x02,
+  0x00, 0x08, 0x84, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x86, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
+  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7C, 0x52, 0x4F,  0x96, 0x02, 0x00, 0x08,
+  0x84, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x87, 0x52, 0x17,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7B,
+  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x88,  0x9B, 0x05, 0x00, 0x00,
+  0x00, 0x00, 0x5B, 0x00,  0x96, 0x04, 0x00, 0x08,  0x89, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x81, 0x4E, 0x3C, 0x96,  0x07, 0x00, 0x08, 0x8A,  0x07, 0x00, 0x00, 0x00,  0x00, 0x42, 0x3C, 0x96,
+  0x02, 0x00, 0x08, 0x89,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,  0x02, 0x49, 0x9D, 0x02,
+  0x00, 0x25, 0x00, 0x96,  0x04, 0x00, 0x08, 0x7F,  0x04, 0x00, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x7F,
+  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x8A, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x0D, 0x52, 0x17, 0x99,  0x02, 0x00, 0xCD, 0xFF,  0x96, 0x02, 0x00, 0x08,  0x8A, 0x1C, 0x3E, 0x4F,
+  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7B, 0x4E,  0x96, 0x02, 0x00, 0x08,
+  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x87, 0x9B,  0x0A, 0x00, 0x00, 0x01,  0x00, 0x6E, 0x61, 0x6D,
+  0x65, 0x00, 0x5C, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x82, 0x4E,
+  0x12, 0x12, 0x9D, 0x02,  0x00, 0x12, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x07, 0x00,
+  0x08, 0x82, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x82,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x84, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x09,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x81, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x84,  0x1C, 0x4E, 0x96, 0x07,
+  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x8B, 0x52, 0x4F,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7B,  0x4E, 0x96, 0x02, 0x00,
+  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x8B,  0x9B, 0x0B, 0x00, 0x00,  0x01, 0x00, 0x73, 0x74,
+  0x79, 0x6C, 0x65, 0x00,  0x9D, 0x03, 0x96, 0x02,  0x00, 0x08, 0x86, 0x1C,  0x96, 0x01, 0x00, 0x02,
+  0x49, 0x12, 0x9D, 0x02,  0x00, 0x05, 0x00, 0x96,  0x01, 0x00, 0x02, 0x3E,  0x96, 0x09, 0x00, 0x08,
+  0x8C, 0x07, 0x00, 0x00,  0x00, 0x00, 0x08, 0x7A,  0x40, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x86, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x8D, 0x4E, 0x12, 0x9D,  0x02, 0x00, 0x15, 0x00,  0x96, 0x02, 0x00, 0x08,
+  0x8C, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x8E, 0x08,  0x86, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x8D, 0x4E,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x86, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x8F,  0x4E, 0x96, 0x02, 0x00,
+  0x08, 0x90, 0x49, 0x9D,  0x02, 0x00, 0x2B, 0x00,  0x96, 0x02, 0x00, 0x08,  0x86, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x8F, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x91, 0x49, 0x12, 0x9D,  0x02, 0x00, 0x0E, 0x00,
+  0x96, 0x02, 0x00, 0x08,  0x8C, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x90, 0x05,  0x00, 0x4F, 0x99, 0x02,
+  0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8C,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x90, 0x05, 0x01,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x86, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x92,  0x4E, 0x12, 0x9D, 0x02,
+  0x00, 0x41, 0x00, 0x96,  0x04, 0x00, 0x08, 0x89,  0x08, 0x86, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x92,
+  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x93, 0x52, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x01, 0x00,  0x02, 0x49, 0x12, 0x12,
+  0x9D, 0x02, 0x00, 0x0F,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8C, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x92,
+  0x08, 0x89, 0x1C, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x8C, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x94, 0x08,
+  0x86, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x94, 0x4E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x86, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x95,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x26, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8C,
+  0x1C, 0x96, 0x04, 0x00,  0x08, 0x96, 0x08, 0x86,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x95, 0x4E, 0x96,
+  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x97, 0x52,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x86, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x98,  0x4E, 0x12, 0x9D, 0x02,
+  0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8C,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x99, 0x08, 0x86,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x98, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
+  0x9A, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x86,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x9B, 0x4E, 0x96,
+  0x02, 0x00, 0x08, 0x9C,  0x49, 0x9D, 0x02, 0x00,  0x2B, 0x00, 0x96, 0x02,  0x00, 0x08, 0x86, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x9B, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x91, 0x49,  0x12, 0x9D, 0x02, 0x00,
+  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8C, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x9C, 0x05, 0x00, 0x4F,
+  0x99, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8C, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x9C,
+  0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x86,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x9D, 0x4E, 0x96,
+  0x02, 0x00, 0x08, 0x9E,  0x49, 0x9D, 0x02, 0x00,  0x4F, 0x00, 0x96, 0x02,  0x00, 0x08, 0x86, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x9D, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x9F, 0x49,  0x9D, 0x02, 0x00, 0x25,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x8C, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x9D,  0x08, 0x86, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x9D,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x9A, 0x3D,
+  0x4F, 0x99, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8C, 0x1C,  0x96, 0x04, 0x00, 0x08,
+  0x9D, 0x05, 0x00, 0x4F,  0x99, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8C, 0x1C, 0x96,
+  0x04, 0x00, 0x08, 0x9D,  0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x86,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0xA0, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8C, 0x1C, 0x96,
+  0x04, 0x00, 0x08, 0xA0,  0x08, 0x86, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA0,  0x4E, 0x96, 0x07, 0x00,
+  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x9A, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x86, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0xA1,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8C,
+  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA2, 0x08, 0x86,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA1, 0x4E, 0x96,
+  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x9A, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x86,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA3, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,  0x00, 0x96, 0x02, 0x00,
+  0x08, 0x8C, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA3,  0x08, 0x86, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA3,
+  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x9A, 0x3D,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x86, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA4,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,
+  0x02, 0x00, 0x08, 0x8C,  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA5, 0x08, 0x86,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0xA4, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x9A, 0x3D, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0x86,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA6, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x3B,
+  0x00, 0x96, 0x04, 0x00,  0x08, 0x89, 0x08, 0x86,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA6, 0x4E, 0x96,
+  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x9A, 0x3D, 0x3C, 0x96,  0x07, 0x00, 0x07, 0x00,
+  0x00, 0x00, 0x00, 0x08,  0x89, 0x1C, 0x48, 0x12,  0x9D, 0x02, 0x00, 0x0F,  0x00, 0x96, 0x02, 0x00,
+  0x08, 0x8C, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA7,  0x08, 0x89, 0x1C, 0x4F,  0x96, 0x02, 0x00, 0x08,
+  0x86, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xA8, 0x4E,  0x96, 0x02, 0x00, 0x08,  0xA9, 0x49, 0x9D, 0x02,
+  0x00, 0x2B, 0x00, 0x96,  0x02, 0x00, 0x08, 0x86,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA8, 0x4E, 0x96,
+  0x02, 0x00, 0x08, 0xAA,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8C,
+  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA9, 0x05, 0x00,  0x4F, 0x99, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,
+  0x00, 0x08, 0x8C, 0x1C,  0x96, 0x04, 0x00, 0x08,  0xA9, 0x05, 0x01, 0x4F,  0x96, 0x02, 0x00, 0x08,
+  0x8C, 0x1C, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7B, 0x4E,
+  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xAB, 0x9B,  0x09, 0x00, 0x00, 0x01,
+  0x00, 0x63, 0x73, 0x73,  0x00, 0xC8, 0x00, 0x96,  0x04, 0x00, 0x08, 0xAE,  0x08, 0xAC, 0x1C, 0x96,
+  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xAD, 0x52,
+  0x3C, 0x96, 0x02, 0x00,  0x08, 0xAE, 0x1C, 0x44,  0x96, 0x02, 0x00, 0x08,  0xAF, 0x49, 0x12, 0x9D,
+  0x02, 0x00, 0x06, 0x00,  0x96, 0x02, 0x00, 0x05,  0x00, 0x3E, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x81, 0x4E, 0x12, 0x12,  0x9D, 0x02, 0x00, 0x12,  0x00, 0x96, 0x02, 0x00,
+  0x08, 0x09, 0x1C, 0x96,  0x07, 0x00, 0x08, 0x81,  0x07, 0x00, 0x00, 0x00,  0x00, 0x43, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0xAE,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,  0x02, 0x49, 0x9D, 0x02,
+  0x00, 0x56, 0x00, 0x96,  0x04, 0x00, 0x08, 0x7F,  0x04, 0x00, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x09,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x81, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x7F,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0xAE, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7F,  0x1C, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
+  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7C, 0x52, 0x4F,  0x96, 0x02, 0x00, 0x08,
+  0x7F, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x87, 0x52, 0x17,  0x99, 0x02, 0x00, 0x9C,  0xFF, 0x96, 0x02, 0x00,  0x05, 0x01, 0x3E, 0x4F,
+  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7B, 0x4E,  0x96, 0x02, 0x00, 0x08,
+  0x30, 0x4E, 0x96, 0x04,  0x00, 0x08, 0xB0, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7B, 0x4E,
+  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xAB, 0x4E,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7B,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
+  0x13, 0x00, 0x08, 0x33,  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x2D, 0x01,  0x00, 0x00, 0x07, 0x02,
+  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x7B, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x35, 0x9B, 0x05,
+  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x7B, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x36, 0x9B, 0x09,
+  0x00, 0x00, 0x01, 0x00,  0x73, 0x72, 0x63, 0x00,  0x6B, 0x00, 0x96, 0x02,  0x00, 0x08, 0x38, 0x1C,
+  0x96, 0x01, 0x00, 0x02,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x19, 0x00, 0x96,  0x09, 0x00, 0x05, 0x00,
+  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x35, 0x52, 0x17, 0x99,
+  0x02, 0x00, 0x41, 0x00,  0x96, 0x04, 0x00, 0x08,  0xAE, 0x08, 0x38, 0x1C,  0x96, 0x07, 0x00, 0x07,
+  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xB0,  0x52, 0x3C, 0x96, 0x02,
+  0x00, 0x08, 0x09, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x37, 0x08, 0xAE, 0x1C,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0xAE, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x35, 0x52,  0x17, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x7B, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0xAD, 0x07, 0x65, 0x00,
   0x00, 0x00, 0x07, 0x71,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x79, 0x4E,  0x96, 0x02, 0x00, 0x08,
-  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x91, 0x07,  0x67, 0x00, 0x00, 0x00,  0x07, 0x71, 0x00, 0x00,
-  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x08,  0x00, 0x07, 0x03, 0x04,
-  0x00, 0x00, 0x02, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x79, 0x4E,  0x96, 0x02, 0x00, 0x08,
-  0x30, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x09,
-  0x00, 0x07, 0x03, 0x04,  0x00, 0x00, 0x08, 0x79,  0x08, 0x76, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,
-  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,  0x13, 0x00, 0x08, 0xAF,  0x07, 0x00, 0x00, 0x00,
-  0x00, 0x07, 0xFA, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x1D, 0x96,
-  0x13, 0x00, 0x08, 0xB0,  0x07, 0x01, 0x00, 0x00,  0x00, 0x07, 0xFA, 0x00,  0x00, 0x00, 0x07, 0x02,
-  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x1D, 0x96,  0x13, 0x00, 0x08, 0xB1,  0x07, 0x02, 0x00, 0x00,
-  0x00, 0x07, 0xFA, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x1D, 0x96,
-  0x04, 0x00, 0x08, 0xB2,  0x08, 0xB0, 0x1C, 0x1D,  0x96, 0x03, 0x00, 0x08,  0x13, 0x02, 0x1D, 0x96,
-  0x0D, 0x00, 0x07, 0x06,  0x00, 0x00, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x02, 0x08, 0x09, 0x1C,
-  0x96, 0x07, 0x00, 0x07,  0x04, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x00
+  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7B, 0x4E,  0x96, 0x02, 0x00, 0x08,
+  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x97, 0x07,  0x66, 0x00, 0x00, 0x00,  0x07, 0x71, 0x00, 0x00,
+  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x7B, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
+  0x93, 0x07, 0x67, 0x00,  0x00, 0x00, 0x07, 0x71,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
+  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x08, 0x00, 0x07,  0x03, 0x04, 0x00, 0x00,  0x02, 0x08, 0x76, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x7B, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,
+  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x09, 0x00, 0x07,  0x03, 0x04, 0x00, 0x00,
+  0x08, 0x7B, 0x08, 0x76,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,
+  0x17, 0x96, 0x13, 0x00,  0x08, 0xB1, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,  0xFA, 0x00, 0x00, 0x00,
+  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x1D, 0x96, 0x13, 0x00,  0x08, 0xB2, 0x07, 0x01,
+  0x00, 0x00, 0x00, 0x07,  0xFA, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
+  0x1D, 0x96, 0x13, 0x00,  0x08, 0xB3, 0x07, 0x02,  0x00, 0x00, 0x00, 0x07,  0xFA, 0x00, 0x00, 0x00,
+  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x1D, 0x96, 0x04, 0x00,  0x08, 0xB4, 0x08, 0xB2,
+  0x1C, 0x1D, 0x96, 0x03,  0x00, 0x08, 0x13, 0x02,  0x1D, 0x96, 0x0D, 0x00,  0x07, 0x06, 0x00, 0x00,
+  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x02, 0x08,  0x09, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x04, 0x00,
+  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x00
 };
 
diff-tree cfa5063b34a130b2380894a03841030394c11c11 (from 53a62445414e6d6e66dabb20604bc70b68d4fc1e)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Oct 8 17:15:46 2007 +0300

    Reset TextField's new text format when resetting html text in version < 8

diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 1d4de65..ad511a0 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -368,6 +368,8 @@ swfdec_edit_text_movie_set_text (SwfdecE
   text->formats = NULL;
 
   // add the default style
+  if (html && SWFDEC_AS_OBJECT (text)->context->version < 8)
+    swfdec_text_format_set_defaults (text->format_new);
   block = g_new (SwfdecFormatIndex, 1);
   block->index = 0;
   g_assert (SWFDEC_IS_TEXT_FORMAT (text->format_new));
diff-tree 53a62445414e6d6e66dabb20604bc70b68d4fc1e (from aff70f7cd9e4e902f0132197434338e80bdaacaf)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Oct 8 16:50:00 2007 +0300

    Cleanup the tag parsing code in TextField a little and fix a segfault

diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index ebe9548..3bfb688 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -174,8 +174,10 @@ swfdec_edit_text_movie_html_parse_tag (P
   g_return_val_if_fail (p != NULL, NULL);
   g_return_val_if_fail (*p == '<', NULL);
 
+  p++;
+
   // closing tag or opening tag?
-  if (*(p + 1) == '/') {
+  if (*p == '/') {
     close = TRUE;
     p++;
   } else {
@@ -184,19 +186,20 @@ swfdec_edit_text_movie_html_parse_tag (P
 
   // find the end of the name
   end = p + strcspn (p, "> \r\n\t");
+
   if (*end == '\0')
-    return end;
+    return NULL;
 
   // don't count trailing / as part of the name if it's followed by >
   // we still act like it's a normal opening tag even if it has /
   if (*end == '>' && *(end - 1) == '/')
     end = end - 1;
 
-  if (end == p + 1) // empty name
+  if (end == p) // empty name
     return NULL;
 
-  name = p + 1;
-  name_length = end - (p + 1);
+  name = p;
+  name_length = end - p;
 
   if (close)
   {
@@ -209,6 +212,8 @@ swfdec_edit_text_movie_html_parse_tag (P
     if (tag != NULL && name_length == tag->name_length &&
 	!g_strncasecmp (name, tag->name, name_length))
     {
+      tag->end_index = data->text->len;
+
       if (data->cx->version == 6) {
 	if ((name_length == 1 && !g_strncasecmp (name, "p", 1)) ||
 	    (name_length == 2 && !g_strncasecmp (name, "li", 2))) {
@@ -216,8 +221,6 @@ swfdec_edit_text_movie_html_parse_tag (P
 	}
       }
 
-      tag->end_index = data->text->len;
-
       data->tags_open = g_slist_remove (data->tags_open, tag);
       data->tags_closed = g_slist_prepend (data->tags_closed, tag);
     }
@@ -321,7 +324,6 @@ swfdec_edit_text_movie_html_parse (Swfde
 {
   ParserData data;
   const char *p;
-  char *string, *r;
 
   g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
   g_return_if_fail (str != NULL);
@@ -332,7 +334,7 @@ swfdec_edit_text_movie_html_parse (Swfde
   data.tags_closed = NULL;
 
   p = str;
-  while (*p != '\0' && p != NULL) {
+  while (p != NULL && *p != '\0') {
     if (*p == '<') {
       if (strncmp (p + 1, "!--", strlen ("!--")) == 0) {
 	p = swfdec_edit_text_movie_html_parse_comment (&data, p);
@@ -363,13 +365,8 @@ swfdec_edit_text_movie_html_parse (Swfde
   }
 
   // set parsed text
-  // change all \n to \r
-  string = g_string_free (data.text, FALSE);
-  r = string;
-  while ((r = strchr (r, '\n')) != NULL) {
-    *r = '\r';
-  }
-  text->text_display = swfdec_as_context_give_string (data.cx, string);
+  text->text_display =
+    swfdec_as_context_give_string (data.cx, g_string_free (data.text, FALSE));
 
   // add parsed styles
   while (data.tags_closed != NULL) {
diff-tree aff70f7cd9e4e902f0132197434338e80bdaacaf (from 695e5ffc7244512b90b59abd6b05b1e214519176)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Oct 8 15:01:52 2007 +0300

    Add back parsing of BR and adding \r after P and LI, but only in version 6

diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 3b64aef..ebe9548 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -209,6 +209,13 @@ swfdec_edit_text_movie_html_parse_tag (P
     if (tag != NULL && name_length == tag->name_length &&
 	!g_strncasecmp (name, tag->name, name_length))
     {
+      if (data->cx->version == 6) {
+	if ((name_length == 1 && !g_strncasecmp (name, "p", 1)) ||
+	    (name_length == 2 && !g_strncasecmp (name, "li", 2))) {
+	  data->text = g_string_append_c (data->text, '\r');
+	}
+      }
+
       tag->end_index = data->text->len;
 
       data->tags_open = g_slist_remove (data->tags_open, tag);
@@ -221,29 +228,35 @@ swfdec_edit_text_movie_html_parse_tag (P
   }
   else
   {
-    SwfdecAsObject *object;
-    SwfdecAsValue val;
+    if (data->cx->version == 6 &&
+	(name_length == 2 && !g_strncasecmp (name, "br", 2))) {
+      data->text = g_string_append_c (data->text, '\r');
+      tag = NULL;
+    } else {
+      SwfdecAsObject *object;
+      SwfdecAsValue val;
 
-    tag = g_new0 (ParserTag, 1);
-    tag->name = name;
-    tag->name_length = name_length;
-    tag->format = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (data->cx));
-    tag->index = data->text->len;
-
-    data->tags_open = g_slist_prepend (data->tags_open, tag);
-
-    // set format based on tag
-    object = SWFDEC_AS_OBJECT (tag->format);
-    SWFDEC_AS_VALUE_SET_BOOLEAN (&val, TRUE);
-
-    if (tag->name_length == 2 && !g_strncasecmp (tag->name, "li", 2)) {
-      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bullet, &val);
-    } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "b", 1)) {
-      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bold, &val);
-    } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "i", 1)) {
-      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_italic, &val);
-    } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "u", 1)) {
-      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_underline, &val);
+      tag = g_new0 (ParserTag, 1);
+      tag->name = name;
+      tag->name_length = name_length;
+      tag->format = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (data->cx));
+      tag->index = data->text->len;
+
+      data->tags_open = g_slist_prepend (data->tags_open, tag);
+
+      // set format based on tag
+      object = SWFDEC_AS_OBJECT (tag->format);
+      SWFDEC_AS_VALUE_SET_BOOLEAN (&val, TRUE);
+
+      if (tag->name_length == 2 && !g_strncasecmp (tag->name, "li", 2)) {
+	swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bullet, &val);
+      } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "b", 1)) {
+	swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bold, &val);
+      } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "i", 1)) {
+	swfdec_as_object_set_variable (object, SWFDEC_AS_STR_italic, &val);
+      } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "u", 1)) {
+	swfdec_as_object_set_variable (object, SWFDEC_AS_STR_underline, &val);
+      }
     }
 
     // parse attributes
@@ -335,6 +348,14 @@ swfdec_edit_text_movie_html_parse (Swfde
   // close remaining tags
   while (data.tags_open != NULL) {
     ParserTag *tag = (ParserTag *)data.tags_open->data;
+
+    if (data.cx->version == 6) {
+      if ((tag->name_length == 1 && !g_strncasecmp (tag->name, "p", 1)) ||
+	  (tag->name_length == 2 && !g_strncasecmp (tag->name, "li", 2))) {
+	data.text = g_string_append_c (data.text, '\r');
+      }
+    }
+
     tag->end_index = data.text->len;
 
     data.tags_open = g_slist_remove (data.tags_open, tag);
diff-tree 695e5ffc7244512b90b59abd6b05b1e214519176 (from f3df9870b3eb74365280076c80d95921f31de3e9)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Oct 8 15:01:08 2007 +0300

    Add TextField's length property

diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 9d09436..5282cd6 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -407,6 +407,17 @@ swfdec_edit_text_movie_set_condenseWhite
   text->condense_white = value;
 }
 
+static void
+swfdec_edit_text_movie_get_length (SwfdecAsContext *cx, SwfdecAsObject *object,
+    guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+  SwfdecEditTextMovie *text;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+
+  SWFDEC_AS_VALUE_SET_INT (ret, strlen (text->text_display));
+}
+
 SWFDEC_AS_NATIVE (104, 102, swfdec_edit_text_movie_setTextFormat)
 void
 swfdec_edit_text_movie_setTextFormat (SwfdecAsContext *cx,
@@ -592,6 +603,8 @@ swfdec_edit_text_movie_construct (Swfdec
     swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_condenseWhite,
 	swfdec_edit_text_movie_get_condenseWhite,
 	swfdec_edit_text_movie_set_condenseWhite);
+    swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_length,
+	swfdec_edit_text_movie_get_length, NULL);
 
     SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
   }
diff-tree f3df9870b3eb74365280076c80d95921f31de3e9 (from e8305de5e71dd707438af425e7177ba8b85f05c7)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Oct 8 14:36:44 2007 +0300

    Add support for TextField's condenseWhite property. Don't parse BR tag
    
    Also fixed an assert when HTML input had empty tags

diff --git a/libswfdec/swfdec_as_strings.c b/libswfdec/swfdec_as_strings.c
index 22339f2..99478ab 100644
--- a/libswfdec/swfdec_as_strings.c
+++ b/libswfdec/swfdec_as_strings.c
@@ -389,6 +389,7 @@ const char swfdec_as_strings[] = 
   SWFDEC_AS_CONSTANT_STRING ("html")
   SWFDEC_AS_CONSTANT_STRING ("TextFormat")
   SWFDEC_AS_CONSTANT_STRING ("Times New Roman")
+  SWFDEC_AS_CONSTANT_STRING ("condenseWhite")
   /* add more here */
 ;
 
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 86861f8..9d09436 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -382,6 +382,31 @@ swfdec_edit_text_movie_set_html (SwfdecA
   text->text->html = value;
 }
 
+static void
+swfdec_edit_text_movie_get_condenseWhite (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecEditTextMovie *text;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+
+  SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->condense_white);
+}
+
+static void
+swfdec_edit_text_movie_set_condenseWhite (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecEditTextMovie *text;
+  gboolean value;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "b", &value);
+
+  text->condense_white = value;
+}
+
 SWFDEC_AS_NATIVE (104, 102, swfdec_edit_text_movie_setTextFormat)
 void
 swfdec_edit_text_movie_setTextFormat (SwfdecAsContext *cx,
@@ -564,6 +589,9 @@ swfdec_edit_text_movie_construct (Swfdec
 	swfdec_edit_text_movie_set_htmlText);
     swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_html,
 	swfdec_edit_text_movie_get_html, swfdec_edit_text_movie_set_html);
+    swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_condenseWhite,
+	swfdec_edit_text_movie_get_condenseWhite,
+	swfdec_edit_text_movie_set_condenseWhite);
 
     SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
   }
diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 68140c9..3b64aef 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -188,6 +188,7 @@ swfdec_edit_text_movie_html_parse_tag (P
     return end;
 
   // don't count trailing / as part of the name if it's followed by >
+  // we still act like it's a normal opening tag even if it has /
   if (*end == '>' && *(end - 1) == '/')
     end = end - 1;
 
@@ -220,34 +221,29 @@ swfdec_edit_text_movie_html_parse_tag (P
   }
   else
   {
-    if (name_length == 2 && !g_strncasecmp (name, "br", 2)) {
-      tag = NULL;
-      data->text = g_string_append_c (data->text, '\n');
-    } else {
-      SwfdecAsObject *object;
-      SwfdecAsValue val;
+    SwfdecAsObject *object;
+    SwfdecAsValue val;
 
-      tag = g_new0 (ParserTag, 1);
-      tag->name = name;
-      tag->name_length = name_length;
-      tag->format = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (data->cx));
-      tag->index = data->text->len;
-
-      data->tags_open = g_slist_prepend (data->tags_open, tag);
-
-      // set format based on tag
-      object = SWFDEC_AS_OBJECT (tag->format);
-      SWFDEC_AS_VALUE_SET_BOOLEAN (&val, TRUE);
-
-      if (tag->name_length == 2 && !g_strncasecmp (tag->name, "li", 2)) {
-	swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bullet, &val);
-      } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "b", 1)) {
-	swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bold, &val);
-      } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "i", 1)) {
-	swfdec_as_object_set_variable (object, SWFDEC_AS_STR_italic, &val);
-      } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "u", 1)) {
-	swfdec_as_object_set_variable (object, SWFDEC_AS_STR_underline, &val);
-      }
+    tag = g_new0 (ParserTag, 1);
+    tag->name = name;
+    tag->name_length = name_length;
+    tag->format = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (data->cx));
+    tag->index = data->text->len;
+
+    data->tags_open = g_slist_prepend (data->tags_open, tag);
+
+    // set format based on tag
+    object = SWFDEC_AS_OBJECT (tag->format);
+    SWFDEC_AS_VALUE_SET_BOOLEAN (&val, TRUE);
+
+    if (tag->name_length == 2 && !g_strncasecmp (tag->name, "li", 2)) {
+      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bullet, &val);
+    } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "b", 1)) {
+      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bold, &val);
+    } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "i", 1)) {
+      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_italic, &val);
+    } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "u", 1)) {
+      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_underline, &val);
     }
 
     // parse attributes
@@ -270,7 +266,8 @@ swfdec_edit_text_movie_html_parse_tag (P
 }
 
 static const char *
-swfdec_edit_text_movie_html_parse_text (ParserData *data, const char *p)
+swfdec_edit_text_movie_html_parse_text (ParserData *data, const char *p,
+    gboolean condense_white)
 {
   const char *end;
 
@@ -278,13 +275,32 @@ swfdec_edit_text_movie_html_parse_text (
   g_return_val_if_fail (p != NULL, NULL);
   g_return_val_if_fail (*p != '\0' && *p != '<', NULL);
 
-  end = strchr (p, '<');
-  if (end == NULL)
-    end = strchr (p, '\0');
+  // get the text
+  // if condense_white: all whitespace blocks are converted to a single space
+  // if not: all \n are converted to \r
+  while (*p != '\0' && *p != '<') {
+    if (condense_white) {
+      end = p + strcspn (p, "< \n\r\t");
+    } else {
+      end = p + strcspn (p, "<\n");
+    }
 
-  data->text = g_string_append_len (data->text, p, end - p);
+    data->text = g_string_append_len (data->text, p, end - p);
 
-  return end;
+    if (g_ascii_isspace (*end)) {
+      if (condense_white) {
+	data->text = g_string_append_c (data->text, ' ');
+	p = end + strspn (end, " \n\r\t");
+      } else {
+	data->text = g_string_append_c (data->text, '\r');
+	p = end + 1;
+      }
+    } else {
+      p = end;
+    }
+  }
+
+  return p;
 }
 
 void
@@ -311,7 +327,8 @@ swfdec_edit_text_movie_html_parse (Swfde
 	p = swfdec_edit_text_movie_html_parse_tag (&data, p);
       }
     } else {
-      p = swfdec_edit_text_movie_html_parse_text (&data, p);
+      p = swfdec_edit_text_movie_html_parse_text (&data, p,
+	  text->condense_white);
     }
   }
 
@@ -337,8 +354,10 @@ swfdec_edit_text_movie_html_parse (Swfde
   while (data.tags_closed != NULL) {
     ParserTag *tag = (ParserTag *)data.tags_closed->data;
 
-    swfdec_edit_text_movie_set_text_format (text, tag->format, tag->index,
-	tag->end_index);
+    if (tag->index != tag->end_index) {
+      swfdec_edit_text_movie_set_text_format (text, tag->format, tag->index,
+	  tag->end_index);
+    }
 
     data.tags_closed = g_slist_remove (data.tags_closed, tag);
   }
diff-tree e8305de5e71dd707438af425e7177ba8b85f05c7 (from 58936937c2ec040c6ab701c6f723262bdbcb8824)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Oct 8 13:51:21 2007 +0300

    Init some TextField's NewFormat's properties from the EditText tag

diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index e8c829f..67a57a6 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -224,7 +224,7 @@ tag_func_define_edit_text (SwfdecSwfDeco
     text->left_margin = swfdec_bits_get_u16 (b);
     text->right_margin = swfdec_bits_get_u16 (b);
     text->indent = swfdec_bits_get_u16 (b);
-    text->spacing = swfdec_bits_get_s16 (b);
+    text->letter_spacing = swfdec_bits_get_s16 (b);
   }
   text->variable = swfdec_bits_get_string (b);
   if (text->variable && *text->variable == 0) {
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index aae2354..1d64b15 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -48,7 +48,7 @@ typedef struct {
   int			block_indent;
   int			left_margin;
   int			right_margin;
-  int			spacing;
+  int			letter_spacing;
   PangoTabArray *	tabs;
 
   PangoAttrList *	attrs;
@@ -91,7 +91,7 @@ struct _SwfdecEditText
   guint			left_margin;
   guint			right_margin;
   guint			indent;
-  int			spacing;
+  int			letter_spacing;
 };
 
 struct _SwfdecEditTextClass
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 22bc876..1d4de65 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -110,7 +110,7 @@ swfdec_edit_text_movie_generate_render_b
     text->blocks[i].block_indent = findex->format->block_indent;
     text->blocks[i].left_margin = findex->format->left_margin;
     text->blocks[i].right_margin = findex->format->right_margin;
-    text->blocks[i].spacing = findex->format->letter_spacing;
+    text->blocks[i].letter_spacing = findex->format->letter_spacing;
     //PangoTabArray *	tabs;
 
     for (iter = start;
@@ -235,13 +235,12 @@ swfdec_edit_text_movie_init_movie (Swfde
   // format
   text->format_new = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (cx));
   swfdec_text_format_set_defaults (text->format_new);
+  text->format_new->color = text->text->color;
   text->format_new->align = text->text->align;
-  /*SwfdecColor		color;
-  SwfdecTextAlign	align;
-  guint			left_margin;
-  guint			right_margin;
-  guint			indent;
-  int			spacing;*/
+  text->format_new->left_margin = text->text->left_margin;
+  text->format_new->right_margin = text->text->right_margin;
+  text->format_new->indent = text->text->indent;
+  text->format_new->letter_spacing = text->text->letter_spacing;
 
   // text
   if (text->text->text_input != NULL) {
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 4809758..86861f8 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -458,7 +458,7 @@ swfdec_edit_text_movie_createTextField (
   edittext->left_margin = 0;
   edittext->right_margin = 0;
   edittext->indent = 0;
-  edittext->spacing = 0;
+  edittext->letter_spacing = 0;
 
   edittext->graphic.extents.x0 = x;
   edittext->graphic.extents.x1 = x + width;
diff-tree 58936937c2ec040c6ab701c6f723262bdbcb8824 (from 3527f5e267dabbcf6aadfe273b0379e9fc81b325)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Oct 8 13:46:46 2007 +0300

    Always use \r not \n in TextField

diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 9b60c52..22bc876 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -54,7 +54,7 @@ swfdec_edit_text_movie_generate_render_b
   p = text->text_display;
   while (p != NULL && *p != '\0') {
     lines++;
-    p = strchr (p, '\n');
+    p = strchr (p, '\r');
     if (p != NULL) p++;
   }
 
@@ -68,7 +68,7 @@ swfdec_edit_text_movie_generate_render_b
   p = text->text_display;
   while (*p != '\0') {
     g_assert (i < lines);
-    end = strchr (p, '\n');
+    end = strchr (p, '\r');
     if (end == NULL)
       end = strchr (p, '\0');
 
@@ -378,7 +378,20 @@ swfdec_edit_text_movie_set_text (SwfdecE
   if (html) {
     swfdec_edit_text_movie_html_parse (text, str);
   } else {
-    text->text_display = str;
+    // change all \n to \r
+    if (strchr (str, '\n') != NULL) {
+      char *string, *p;
+
+      string = g_strdup (str);
+      p = string;
+      while ((p = strchr (p, '\n')) != NULL) {
+	*p = '\r';
+      }
+      text->text_display = swfdec_as_context_give_string (
+	  SWFDEC_AS_OBJECT (text)->context, string);
+    } else {
+      text->text_display = str;
+    }
   }
 
   swfdec_edit_text_movie_format_changed (text);
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index f24aa3f..4809758 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -328,14 +328,14 @@ swfdec_edit_text_movie_get_htmlText (Swf
 
   p = text->text_display;
   while (*p != '\0') {
-    end = strchr (p, '\n');
+    end = strchr (p, '\r');
     if (end == NULL)
       end = strchr (p, '\0');
 
     string = swfdec_edit_text_movie_htmlText_append_paragraph (text, string,
 	p - text->text_display, end - text->text_display);
 
-    if (*end == '\n') {
+    if (*end == '\r') {
       p = end + 1;
     } else {
       p = end;
diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 3857ead..68140c9 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -292,6 +292,7 @@ swfdec_edit_text_movie_html_parse (Swfde
 {
   ParserData data;
   const char *p;
+  char *string, *r;
 
   g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
   g_return_if_fail (str != NULL);
@@ -324,8 +325,13 @@ swfdec_edit_text_movie_html_parse (Swfde
   }
 
   // set parsed text
-  text->text_display = swfdec_as_context_give_string (data.cx,
-      g_string_free (data.text, FALSE));
+  // change all \n to \r
+  string = g_string_free (data.text, FALSE);
+  r = string;
+  while ((r = strchr (r, '\n')) != NULL) {
+    *r = '\r';
+  }
+  text->text_display = swfdec_as_context_give_string (data.cx, string);
 
   // add parsed styles
   while (data.tags_closed != NULL) {
diff-tree 3527f5e267dabbcf6aadfe273b0379e9fc81b325 (from eb0fc792b94551a0a0841de2184cf445d1f53a94)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Oct 8 13:26:07 2007 +0300

    Don't add newline after </p> and </li> in the HTML parser

diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 64b4313..3857ead 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -208,12 +208,6 @@ swfdec_edit_text_movie_html_parse_tag (P
     if (tag != NULL && name_length == tag->name_length &&
 	!g_strncasecmp (name, tag->name, name_length))
     {
-      // add paragraph for closing P and LI tags
-      if ((name_length == 1 && !g_strncasecmp (name, "p", 1)) ||
-	  (name_length == 2 && !g_strncasecmp (name, "li", 2))) {
-	data->text = g_string_append_c (data->text, '\n');
-      }
-
       tag->end_index = data->text->len;
 
       data->tags_open = g_slist_remove (data->tags_open, tag);
@@ -323,12 +317,6 @@ swfdec_edit_text_movie_html_parse (Swfde
   // close remaining tags
   while (data.tags_open != NULL) {
     ParserTag *tag = (ParserTag *)data.tags_open->data;
-
-    // add paragraph for closing P and LI tags
-    if ((tag->name_length == 1 && !g_strncasecmp (tag->name, "p", 1)) ||
-	(tag->name_length == 2 && !g_strncasecmp (tag->name, "li", 2))) {
-      data.text = g_string_append_c (data.text, '\n');
-    }
     tag->end_index = data.text->len;
 
     data.tags_open = g_slist_remove (data.tags_open, tag);
diff-tree eb0fc792b94551a0a0841de2184cf445d1f53a94 (from 9a810fc0102c339e21512015086f10b1b20f36a8)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Oct 8 12:32:26 2007 +0300

    Add support for parsing rest of the HTML tags/attributes for TextField

diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 545fcc2..64b4313 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -53,11 +53,68 @@ swfdec_edit_text_movie_html_tag_set_attr
   SWFDEC_AS_VALUE_SET_STRING (&val, swfdec_as_context_give_string (
 	object->context, g_strndup (value, value_length)));
 
-  if (tag->name_length == 1 && !g_strncasecmp (tag->name, "p", 1)) {
-    if (name_length == 5 && !g_strncasecmp (name, "align", 5)) {
+  if (tag->name_length == 10 && !g_strncasecmp (tag->name, "textformat", 10))
+  {
+    if (name_length == 10 && !g_strncasecmp (name, "leftmargin", 10))
+    {
+      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_leftMargin, &val);
+    }
+    else if (name_length == 11 && !g_strncasecmp (name, "rightmargin", 11))
+    {
+      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_rightMargin, &val);
+    }
+    else if (name_length == 6 && !g_strncasecmp (name, "indent", 6))
+    {
+      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_indent, &val);
+    }
+    else if (name_length == 11 && !g_strncasecmp (name, "blockindent", 11))
+    {
+      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_blockIndent, &val);
+    }
+    else if (name_length == 8 && !g_strncasecmp (name, "tabstops", 8))
+    {
+      // FIXME
+      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_tabStops, &val);
+    }
+  }
+  else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "p", 1))
+  {
+    if (name_length == 5 && !g_strncasecmp (name, "align", 5))
+    {
       swfdec_as_object_set_variable (object, SWFDEC_AS_STR_align, &val);
     }
   }
+  else if (tag->name_length == 4 && !g_strncasecmp (tag->name, "font", 4))
+  {
+    if (name_length == 4 && !g_strncasecmp (name, "face", 4))
+    {
+      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_font, &val);
+    }
+    else if (name_length == 4 && !g_strncasecmp (name, "size", 4))
+    {
+      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_size, &val);
+    }
+    else if (name_length == 13 && !g_strncasecmp (name, "letterspacing", 13))
+    {
+      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_letterSpacing,
+	  &val);
+    }
+    else if (name_length == 7 && !g_strncasecmp (name, "kerning", 7))
+    {
+      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_kerning, &val);
+    }
+  }
+  else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "a", 1))
+  {
+    if (name_length == 4 && !g_strncasecmp (name, "href", 4))
+    {
+      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_url, &val);
+    }
+    else if (name_length == 6 && !g_strncasecmp (name, "target", 6))
+    {
+      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_target, &val);
+    }
+  }
 }
 
 static const char *
@@ -66,7 +123,6 @@ swfdec_edit_text_movie_html_parse_attrib
   const char *end, *name, *value;
   int name_length, value_length;
 
-  g_return_val_if_fail (tag != NULL, NULL);
   g_return_val_if_fail ((*p != '>' && *p != '\0'), p);
 
   end = p + strcspn (p, "=> \r\n\t");
@@ -96,8 +152,10 @@ swfdec_edit_text_movie_html_parse_attrib
   value = p + 1;
   value_length = end - (p + 1);
 
-  swfdec_edit_text_movie_html_tag_set_attribute (tag, name, name_length, value,
-      value_length);
+  if (tag != NULL) {
+    swfdec_edit_text_movie_html_tag_set_attribute (tag, name, name_length,
+	value, value_length);
+  }
 
   g_return_val_if_fail (end + 1 > p, NULL);
 
@@ -172,12 +230,30 @@ swfdec_edit_text_movie_html_parse_tag (P
       tag = NULL;
       data->text = g_string_append_c (data->text, '\n');
     } else {
+      SwfdecAsObject *object;
+      SwfdecAsValue val;
+
       tag = g_new0 (ParserTag, 1);
       tag->name = name;
       tag->name_length = name_length;
       tag->format = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (data->cx));
       tag->index = data->text->len;
+
       data->tags_open = g_slist_prepend (data->tags_open, tag);
+
+      // set format based on tag
+      object = SWFDEC_AS_OBJECT (tag->format);
+      SWFDEC_AS_VALUE_SET_BOOLEAN (&val, TRUE);
+
+      if (tag->name_length == 2 && !g_strncasecmp (tag->name, "li", 2)) {
+	swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bullet, &val);
+      } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "b", 1)) {
+	swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bold, &val);
+      } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "i", 1)) {
+	swfdec_as_object_set_variable (object, SWFDEC_AS_STR_italic, &val);
+      } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "u", 1)) {
+	swfdec_as_object_set_variable (object, SWFDEC_AS_STR_underline, &val);
+      }
     }
 
     // parse attributes
diff-tree 9a810fc0102c339e21512015086f10b1b20f36a8 (from 9d7df1f3b27a19af1a73bf4be734dcc0bd4daf40)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Oct 8 12:13:15 2007 +0300

    More work on TextField's HTML parser
    
    Now sets the formats and parses p tag's align attribute

diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 78fc8f4..9b60c52 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -294,6 +294,61 @@ swfdec_edit_text_movie_init (SwfdecEditT
 }
 
 void
+swfdec_edit_text_movie_set_text_format (SwfdecEditTextMovie *text,
+    SwfdecTextFormat *format, guint start_index, guint end_index)
+{
+  SwfdecFormatIndex *findex, *findex_new;
+  guint findex_end_index;
+  GSList *iter, *next;
+
+  g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+  g_return_if_fail (SWFDEC_IS_TEXT_FORMAT (format));
+  g_return_if_fail (start_index < end_index);
+  g_return_if_fail (end_index <= strlen (text->text_display));
+
+  g_assert (text->formats != NULL);
+  g_assert (text->formats->data != NULL);
+  g_assert (((SwfdecFormatIndex *)text->formats->data)->index == 0);
+  for (iter = text->formats; iter != NULL &&
+      ((SwfdecFormatIndex *)iter->data)->index < end_index;
+      iter = next)
+  {
+    next = iter->next;
+    findex = iter->data;
+    if (iter->next != NULL) {
+      findex_end_index =
+	((SwfdecFormatIndex *)iter->next->data)->index;
+    } else {
+      findex_end_index = strlen (text->text_display);
+    }
+
+    if (findex_end_index < start_index)
+      continue;
+
+    if (findex_end_index > end_index) {
+      findex_new = g_new (SwfdecFormatIndex, 1);
+      findex_new->index = end_index;
+      findex_new->format = swfdec_text_format_copy (findex->format);
+
+      iter = g_slist_insert (iter, findex_new, 1);
+    }
+
+    if (findex->index < start_index) {
+      findex_new = g_new (SwfdecFormatIndex, 1);
+      findex_new->index = start_index;
+      findex_new->format = swfdec_text_format_copy (findex->format);
+      swfdec_text_format_add (findex_new->format, format);
+
+      iter = g_slist_insert (iter, findex_new, 1);
+    } else {
+      swfdec_text_format_add (findex->format, format);
+    }
+  }
+
+  swfdec_edit_text_movie_format_changed (text);
+}
+
+void
 swfdec_edit_text_movie_set_text (SwfdecEditTextMovie *text, const char *str,
     gboolean html)
 {
diff --git a/libswfdec/swfdec_edittext_movie.h b/libswfdec/swfdec_edittext_movie.h
index ac0efd2..b589cdb 100644
--- a/libswfdec/swfdec_edittext_movie.h
+++ b/libswfdec/swfdec_edittext_movie.h
@@ -94,6 +94,10 @@ void		swfdec_edit_text_movie_set_text		(
 							 const char *		str,
 							 gboolean		html);
 void		swfdec_edit_text_movie_format_changed	(SwfdecEditTextMovie *	text);
+void		swfdec_edit_text_movie_set_text_format	(SwfdecEditTextMovie *	text,
+							 SwfdecTextFormat *	format,
+							 guint			start_index,
+							 guint			end_index);
 
 /* implemented in swfdec_html_parser.c */
 void		swfdec_edit_text_movie_html_parse	(SwfdecEditTextMovie *	text, 
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 28fe823..f24aa3f 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -41,9 +41,7 @@ swfdec_edit_text_movie_get_text (SwfdecA
 {
   SwfdecEditTextMovie *text;
 
-  if (!SWFDEC_IS_EDIT_TEXT_MOVIE (object))
-    return;
-  text = SWFDEC_EDIT_TEXT_MOVIE (object);
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
 
   SWFDEC_AS_VALUE_SET_STRING (ret, (text->text_display != NULL ?
 	swfdec_as_context_get_string (cx, text->text_display) :
@@ -391,11 +389,9 @@ swfdec_edit_text_movie_setTextFormat (Sw
     SwfdecAsValue *ret)
 {
   SwfdecEditTextMovie *text;
-  int i;
-  SwfdecFormatIndex *findex, *findex_new;
   SwfdecTextFormat *format;
-  guint findex_end_index, start_index, end_index;
-  GSList *iter, *next;
+  guint start_index, end_index;
+  int i;
 
   SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
 
@@ -425,46 +421,7 @@ swfdec_edit_text_movie_setTextFormat (Sw
 
   format = SWFDEC_TEXT_FORMAT (SWFDEC_AS_VALUE_GET_OBJECT (&argv[i]));
 
-  g_assert (text->formats != NULL);
-  g_assert (text->formats->data != NULL);
-  g_assert (((SwfdecFormatIndex *)text->formats->data)->index == 0);
-  for (iter = text->formats; iter != NULL &&
-      ((SwfdecFormatIndex *)iter->data)->index < end_index;
-      iter = next)
-  {
-    next = iter->next;
-    findex = iter->data;
-    if (iter->next != NULL) {
-      findex_end_index =
-	((SwfdecFormatIndex *)iter->next->data)->index;
-    } else {
-      findex_end_index = strlen (text->text_display);
-    }
-
-    if (findex_end_index < start_index)
-      continue;
-
-    if (findex_end_index > end_index) {
-      findex_new = g_new (SwfdecFormatIndex, 1);
-      findex_new->index = end_index;
-      findex_new->format = swfdec_text_format_copy (findex->format);
-
-      iter = g_slist_insert (iter, findex_new, 1);
-    }
-
-    if (findex->index < start_index) {
-      findex_new = g_new (SwfdecFormatIndex, 1);
-      findex_new->index = start_index;
-      findex_new->format = swfdec_text_format_copy (findex->format);
-      swfdec_text_format_add (findex_new->format, format);
-
-      iter = g_slist_insert (iter, findex_new, 1);
-    } else {
-      swfdec_text_format_add (findex->format, format);
-    }
-  }
-
-  swfdec_edit_text_movie_format_changed (text);
+  swfdec_edit_text_movie_set_text_format (text, format, start_index, end_index);
 }
 
 SWFDEC_AS_NATIVE (104, 200, swfdec_edit_text_movie_createTextField)
diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 2329b9a..545fcc2 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -6,6 +6,7 @@
 #include <string.h>
 
 #include "swfdec_edittext_movie.h"
+#include "swfdec_as_strings.h"
 #include "swfdec_font.h"
 #include "swfdec_debug.h"
 
@@ -41,6 +42,24 @@ swfdec_edit_text_movie_html_parse_commen
   return end;
 }
 
+static void
+swfdec_edit_text_movie_html_tag_set_attribute (ParserTag *tag,
+    const char *name, int name_length, const char *value, int value_length)
+{
+  SwfdecAsValue val;
+  SwfdecAsObject *object;
+
+  object = SWFDEC_AS_OBJECT (tag->format);
+  SWFDEC_AS_VALUE_SET_STRING (&val, swfdec_as_context_give_string (
+	object->context, g_strndup (value, value_length)));
+
+  if (tag->name_length == 1 && !g_strncasecmp (tag->name, "p", 1)) {
+    if (name_length == 5 && !g_strncasecmp (name, "align", 5)) {
+      swfdec_as_object_set_variable (object, SWFDEC_AS_STR_align, &val);
+    }
+  }
+}
+
 static const char *
 swfdec_edit_text_movie_html_parse_attribute (ParserTag *tag, const char *p)
 {
@@ -77,6 +96,9 @@ swfdec_edit_text_movie_html_parse_attrib
   value = p + 1;
   value_length = end - (p + 1);
 
+  swfdec_edit_text_movie_html_tag_set_attribute (tag, name, name_length, value,
+      value_length);
+
   g_return_val_if_fail (end + 1 > p, NULL);
 
   return end + 1;
@@ -222,6 +244,32 @@ swfdec_edit_text_movie_html_parse (Swfde
     }
   }
 
+  // close remaining tags
+  while (data.tags_open != NULL) {
+    ParserTag *tag = (ParserTag *)data.tags_open->data;
+
+    // add paragraph for closing P and LI tags
+    if ((tag->name_length == 1 && !g_strncasecmp (tag->name, "p", 1)) ||
+	(tag->name_length == 2 && !g_strncasecmp (tag->name, "li", 2))) {
+      data.text = g_string_append_c (data.text, '\n');
+    }
+    tag->end_index = data.text->len;
+
+    data.tags_open = g_slist_remove (data.tags_open, tag);
+    data.tags_closed = g_slist_prepend (data.tags_closed, tag);
+  }
+
+  // set parsed text
   text->text_display = swfdec_as_context_give_string (data.cx,
       g_string_free (data.text, FALSE));
+
+  // add parsed styles
+  while (data.tags_closed != NULL) {
+    ParserTag *tag = (ParserTag *)data.tags_closed->data;
+
+    swfdec_edit_text_movie_set_text_format (text, tag->format, tag->index,
+	tag->end_index);
+
+    data.tags_closed = g_slist_remove (data.tags_closed, tag);
+  }
 }
diff --git a/libswfdec/swfdec_text_format.c b/libswfdec/swfdec_text_format.c
index 07f15d6..55e767f 100644
--- a/libswfdec/swfdec_text_format.c
+++ b/libswfdec/swfdec_text_format.c
@@ -321,12 +321,12 @@ swfdec_text_format_do_get_align (SwfdecA
     case SWFDEC_TEXT_ALIGN_LEFT:
       SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_left);
       break;
-    case SWFDEC_TEXT_ALIGN_CENTER:
-      SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_center);
-      break;
     case SWFDEC_TEXT_ALIGN_RIGHT:
       SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_right);
       break;
+    case SWFDEC_TEXT_ALIGN_CENTER:
+      SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_center);
+      break;
     case SWFDEC_TEXT_ALIGN_JUSTIFY:
       SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_justify);
       break;
@@ -356,12 +356,12 @@ swfdec_text_format_do_set_align (SwfdecA
   if (!g_ascii_strcasecmp (s, "left")) {
     format->align = SWFDEC_TEXT_ALIGN_LEFT;
     swfdec_text_format_mark_set (format, PROP_ALIGN);
-  } else if (!g_ascii_strcasecmp (s, "center")) {
-    format->align = SWFDEC_TEXT_ALIGN_CENTER;
-    swfdec_text_format_mark_set (format, PROP_ALIGN);
   } else if (!g_ascii_strcasecmp (s, "right")) {
     format->align = SWFDEC_TEXT_ALIGN_RIGHT;
     swfdec_text_format_mark_set (format, PROP_ALIGN);
+  } else if (!g_ascii_strcasecmp (s, "center")) {
+    format->align = SWFDEC_TEXT_ALIGN_CENTER;
+    swfdec_text_format_mark_set (format, PROP_ALIGN);
   } else if (!g_ascii_strcasecmp (s, "justify")) {
     format->align = SWFDEC_TEXT_ALIGN_JUSTIFY;
     swfdec_text_format_mark_set (format, PROP_ALIGN);
diff --git a/libswfdec/swfdec_text_format.h b/libswfdec/swfdec_text_format.h
index 38de7ac..91d242f 100644
--- a/libswfdec/swfdec_text_format.h
+++ b/libswfdec/swfdec_text_format.h
@@ -40,8 +40,8 @@ typedef struct _SwfdecTextFormatClass Sw
 
 typedef enum {
   SWFDEC_TEXT_ALIGN_LEFT,
-  SWFDEC_TEXT_ALIGN_CENTER,
   SWFDEC_TEXT_ALIGN_RIGHT,
+  SWFDEC_TEXT_ALIGN_CENTER,
   SWFDEC_TEXT_ALIGN_JUSTIFY
 } SwfdecTextAlign;
 
diff-tree 9d7df1f3b27a19af1a73bf4be734dcc0bd4daf40 (from 2579b881b63118994ff3bc522419043439210f31)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Oct 8 11:22:45 2007 +0300

    Start working on HTML parsing for TextFields
    
    Added some invalidate calls
    Removed some debug prints

diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index ecb833a..e8c829f 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -123,8 +123,6 @@ swfdec_edit_text_render (SwfdecEditText 
   swfdec_color_set_source (cr, color);
 
   for (i = 0; blocks[i].text != NULL; i++) {
-    g_print ("render! %i\n", i);
-
     cairo_rel_move_to (cr, blocks[i].left_margin, 0);
     width = SWFDEC_GRAPHIC (text)->extents.x1 -
       SWFDEC_GRAPHIC (text)->extents.x0 - blocks[i].left_margin -
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index e991f9b..aae2354 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -29,7 +29,6 @@
 
 G_BEGIN_DECLS
 
-typedef struct _SwfdecParagraph SwfdecParagraph; /* see swfdec_html_parser.c */
 typedef struct _SwfdecEditText SwfdecEditText;
 typedef struct _SwfdecEditTextClass SwfdecEditTextClass;
 
@@ -105,12 +104,6 @@ GType			swfdec_edit_text_get_type	(void)
 int			tag_func_define_edit_text	(SwfdecSwfDecoder *	s,
 							 guint			tag);
 
-/* implemented in swfdec_html_parser.c */
-SwfdecParagraph *	swfdec_paragraph_html_parse   	(SwfdecEditText *	text, 
-							 const char *		str);
-SwfdecParagraph *	swfdec_paragraph_text_parse	(SwfdecEditText *       text,
-							 const char *		str);
-void			swfdec_paragraph_free		(SwfdecParagraph *	paragraphs);
 void			swfdec_edit_text_render		(SwfdecEditText *	text,
 							 cairo_t *		cr,
 							 const SwfdecTextRenderBlock *	blocks,
@@ -118,6 +111,5 @@ void			swfdec_edit_text_render		(SwfdecE
 							 const SwfdecRect *	rect,
 							 gboolean		fill);
 
-
 G_END_DECLS
 #endif
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 6a8aae9..78fc8f4 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -125,23 +125,18 @@ swfdec_edit_text_movie_generate_render_b
 	  ((SwfdecFormatIndex *)(iter->next))->index :
 	  strlen (text->text_display));
 
-      g_print (":: %i - %i\n", findex->index, findex_end_index);
-
       attr = pango_attr_size_new_absolute (findex->format->size * 20 * PANGO_SCALE);
       attr->start_index = (findex->index < start_index ?
 	  0 : findex->index - start_index);
       attr->end_index = (findex_end_index > end_index ?
 	  end_index - start_index : findex_end_index - start_index);
       pango_attr_list_change (text->blocks[i].attrs, attr);
-      g_print (":: %i-%i :: %i\n", attr->start_index, attr->end_index, findex->format->size);
     };
 
     p = end;
     if (*p != '\0') p++;
     i++;
   }
-
-  g_print (":: %s\n", text->blocks[0].text);
 }
 
 static void
@@ -177,6 +172,8 @@ swfdec_edit_text_movie_format_changed (S
     }
     g_free (text->blocks);
     text->blocks = NULL;
+
+    swfdec_movie_invalidate (SWFDEC_MOVIE (text));
   }
 }
 
@@ -221,7 +218,7 @@ swfdec_edit_text_movie_iterate (SwfdecMo
   if (text->text_input == s)
     return;
 
-  swfdec_edit_text_movie_set_text (text, s);
+  swfdec_edit_text_movie_set_text (text, s, text->text->html);
 }
 
 static void
@@ -249,7 +246,8 @@ swfdec_edit_text_movie_init_movie (Swfde
   // text
   if (text->text->text_input != NULL) {
     swfdec_edit_text_movie_set_text (text,
-	swfdec_as_context_get_string (cx, text->text->text_input));
+	swfdec_as_context_get_string (cx, text->text->text_input),
+	text->text->html);
   }
 
   // variable
@@ -263,7 +261,7 @@ swfdec_edit_text_movie_init_movie (Swfde
       s = swfdec_as_value_to_string (parent->context, &val);
       g_assert (s);
       if (text->text_input != s)
-	swfdec_edit_text_movie_set_text (text, s);
+	swfdec_edit_text_movie_set_text (text, s, text->text->html);
     } else {
       SWFDEC_LOG ("setting variable %s to \"%s\"", text->variable,
 	  text->text_input ? text->text_input : "");
@@ -296,15 +294,14 @@ swfdec_edit_text_movie_init (SwfdecEditT
 }
 
 void
-swfdec_edit_text_movie_set_text (SwfdecEditTextMovie *text, const char *str)
+swfdec_edit_text_movie_set_text (SwfdecEditTextMovie *text, const char *str,
+    gboolean html)
 {
   SwfdecFormatIndex *block;
   GSList *iter;
 
   g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
 
-  g_print ("SET_TEXT!\n");
-
   text->text_input = str;
 
   // remove old formatting info
@@ -323,14 +320,11 @@ swfdec_edit_text_movie_set_text (SwfdecE
   block->format = text->format_new;
   text->formats = g_slist_prepend (text->formats, block);
 
-  //if (text->text->html == FALSE) {
+  if (html) {
+    swfdec_edit_text_movie_html_parse (text, str);
+  } else {
     text->text_display = str;
-  /*} else {
-    swfdec_edit_text_text_parse_html (str, &text->text_display,
-	&text->formats);
-  }*/
-
-  swfdec_edit_text_movie_generate_render_blocks (text);
+  }
 
-  swfdec_movie_invalidate (SWFDEC_MOVIE (text));
+  swfdec_edit_text_movie_format_changed (text);
 }
diff --git a/libswfdec/swfdec_edittext_movie.h b/libswfdec/swfdec_edittext_movie.h
index e5a5869..ac0efd2 100644
--- a/libswfdec/swfdec_edittext_movie.h
+++ b/libswfdec/swfdec_edittext_movie.h
@@ -91,8 +91,13 @@ struct _SwfdecEditTextMovieClass {
 GType		swfdec_edit_text_movie_get_type		(void);
 
 void		swfdec_edit_text_movie_set_text		(SwfdecEditTextMovie *	movie,
-							 const char *		str);
+							 const char *		str,
+							 gboolean		html);
 void		swfdec_edit_text_movie_format_changed	(SwfdecEditTextMovie *	text);
 
+/* implemented in swfdec_html_parser.c */
+void		swfdec_edit_text_movie_html_parse	(SwfdecEditTextMovie *	text, 
+							 const char *		str);
+
 G_END_DECLS
 #endif
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 45d7c3b..28fe823 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -60,7 +60,7 @@ swfdec_edit_text_movie_do_set_text (Swfd
 
   SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "s", &value);
 
-  swfdec_edit_text_movie_set_text (text, value);
+  swfdec_edit_text_movie_set_text (text, value, FALSE);
 }
 
 static const char *
@@ -358,7 +358,7 @@ swfdec_edit_text_movie_set_htmlText (Swf
 
   SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "s", &value);
 
-  swfdec_edit_text_movie_set_text (text, value);
+  swfdec_edit_text_movie_set_text (text, value, text->text->html);
 }
 
 static void
@@ -475,14 +475,38 @@ swfdec_edit_text_movie_createTextField (
 {
   SwfdecMovie *movie, *parent;
   SwfdecEditText *edittext;
-  int depth;
+  int depth, x, y, width, height;
   const char *name;
   SwfdecAsFunction *fun;
   SwfdecAsValue val;
 
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, (gpointer)&parent, "si", &name, &depth);
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, (gpointer)&parent, "siiiii", &name, &depth, &x, &y, &width, &height);
 
   edittext = g_object_new (SWFDEC_TYPE_EDIT_TEXT, NULL);
+  edittext->html = FALSE;
+  edittext->input = FALSE;
+  edittext->password = FALSE;
+  edittext->selectable = TRUE;
+  edittext->font = NULL; // FIXME
+  edittext->wrap = FALSE;
+  edittext->multiline = FALSE;
+  edittext->auto_size = SWFDEC_AUTO_SIZE_NONE;
+  edittext->border = FALSE;
+  edittext->height = 0; // FIXME
+
+  edittext->text_input = NULL;
+  edittext->variable = NULL;
+  edittext->color = 0;
+  edittext->align = SWFDEC_TEXT_ALIGN_LEFT;
+  edittext->left_margin = 0;
+  edittext->right_margin = 0;
+  edittext->indent = 0;
+  edittext->spacing = 0;
+
+  edittext->graphic.extents.x0 = x;
+  edittext->graphic.extents.x1 = x + width;
+  edittext->graphic.extents.y0 = y;
+  edittext->graphic.extents.y1 = y + height;
 
   movie = swfdec_movie_find (parent, depth);
   if (movie)
diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 7f3ffa0..2329b9a 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -4,402 +4,224 @@
 
 #include <stdlib.h>
 #include <string.h>
-#include <pango/pango.h>
-#include "swfdec_edittext.h"
+
+#include "swfdec_edittext_movie.h"
 #include "swfdec_font.h"
 #include "swfdec_debug.h"
 
-struct _SwfdecParagraph {
-  char *		text;		/* the text to display */
-  PangoAttrList *	attrs;		/* attributes for the text */
-  PangoAlignment	align;		/* alignment of this paragraph */
-
-  /* used when parsing */
-  guint			start;		/* start index of text */
-  guint			end;		/* end index of text */
-};
+typedef struct {
+  const char *		name;
+  int			name_length;
+  guint			index;
+  guint			end_index;
+  SwfdecTextFormat	*format;
+} ParserTag;
 
 typedef struct {
-  SwfdecEditText *	text;		/* element we're parsing for */
-  GArray *		out;     	/* all the paragraphs we've created so far, will be the out value */
-  GString *		str;		/* the text we've parsed so far */
-  GList *		attributes;	/* PangoAttribute list we're currently in */
-  GList *		attributes_completed;	/* completed attributes, oldest last */
-  GList *		paragraphs;	/* SwfdecParagraph list we're currrently in */
+  SwfdecAsContext	*cx;
+  GString *		text;
+  GSList *		tags_open;
+  GSList *		tags_closed;
 } ParserData;
 
-static void
-swfdec_paragraph_init (SwfdecEditText *text, SwfdecParagraph *paragraph)
-{
-  paragraph->align = text->align;
-  paragraph->attrs = pango_attr_list_new ();
-  paragraph->text = NULL;
-}
-
-static void
-swfdec_paragraph_finish (SwfdecParagraph *paragraph)
+static const char *
+swfdec_edit_text_movie_html_parse_comment (ParserData *data, const char *p)
 {
-  g_free (paragraph->text);
-  pango_attr_list_unref (paragraph->attrs);
-}
+  const char *end;
 
-static SwfdecParagraph *
-paragraph_start (ParserData *data)
-{
-  SwfdecParagraph *paragraph;
+  g_return_val_if_fail (data != NULL, NULL);
+  g_return_val_if_fail (p != NULL, NULL);
+  g_return_val_if_fail (strncmp (p, "<!--", strlen ("<!--")) == 0, NULL);
 
-  g_array_set_size (data->out, data->out->len + 1);
-  paragraph = &g_array_index (data->out, SwfdecParagraph, data->out->len - 1);
-  swfdec_paragraph_init (data->text, paragraph);
-  paragraph->start = data->str->len;
-
-  data->paragraphs = g_list_prepend (data->paragraphs, GUINT_TO_POINTER (data->out->len - 1));
-  return paragraph;
-}
+  end = strstr (p, "-->");
+  if (end != NULL)
+    end += strlen("-->");
 
-static void
-paragraph_end (ParserData *data, GError **error)
-{
-  SwfdecParagraph *paragraph = &g_array_index (data->out, SwfdecParagraph, GPOINTER_TO_UINT (data->paragraphs->data));
-  paragraph->end = data->str->len;
-  data->paragraphs = g_list_remove (data->paragraphs, data->paragraphs->data);
+  // return NULL if no end found
+  return end;
 }
 
-static void
-attribute_start (ParserData *data, PangoAttribute *attribute)
+static const char *
+swfdec_edit_text_movie_html_parse_attribute (ParserTag *tag, const char *p)
 {
-  attribute->start_index = data->str->len;
-  data->attributes = g_list_prepend (data->attributes, attribute);
-}
+  const char *end, *name, *value;
+  int name_length, value_length;
 
-static void
-attribute_end (ParserData *data, GError **error)
-{
-  PangoAttribute *attribute;
+  g_return_val_if_fail (tag != NULL, NULL);
+  g_return_val_if_fail ((*p != '>' && *p != '\0'), p);
 
-  attribute = data->attributes->data;
-  g_assert (attribute);
-  attribute->end_index = data->str->len;
-  data->attributes = g_list_remove (data->attributes, data->attributes->data);
-  data->attributes_completed = g_list_prepend (data->attributes_completed, attribute);
-}
+  end = p + strcspn (p, "=> \r\n\t");
+  if (end - p <= 0)
+    return NULL; // Correct?
 
-static void
-font_start (ParserData *data, const gchar **names, const gchar **values, 
-    GError **error)
-{
-  PangoAttribute *attr;
-  guint i;
+  name = p;
+  name_length = end - p;
 
-  data->attributes = g_list_prepend (data->attributes, NULL);
+  p = end + strspn (end, " \r\n\t");
+  if (*p != '=')
+    return NULL; // FIXME: Correct?
+  p = p + 1;
+  p = p + strspn (p, " \r\n\t");
 
-  for (i = 0; names[i]; i++) {
-    if (g_ascii_strcasecmp (names[i], "face") == 0) {
-      attr = pango_attr_family_new (values[i]);
-      attribute_start (data, attr);
-    } else if (g_ascii_strcasecmp (names[i], "size") == 0) {
-      const char *parse = values[i];
-      char *end;
-      guint size;
-      if (parse[0] == '+' || parse[0] == '-') {
-	SWFDEC_ERROR ("FIXME: implement relative font sizes!");
-	parse++;
-      }
-      size = strtoul (parse, &end, 10);
-      if (*end != '\0') {
-	g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_INVALID_CONTENT,
-	    "value \"%s\" is not valid for \"size\" attribute", values[i]);
-	return;
-      }
-      size *= 20 * PANGO_SCALE;
-      attr = pango_attr_size_new_absolute (size);
-      attribute_start (data, attr);
-    } else if (g_ascii_strcasecmp (names[i], "color") == 0) {
-      PangoColor color;
-      if (!pango_color_parse (&color, values[i])) {
-	g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_INVALID_CONTENT,
-	    "value \"%s\" is not valid for \"color\" attribute", values[i]);
-	return;
-      }
-      attr = pango_attr_foreground_new (color.red, color.green, color.blue);
-      attribute_start (data, attr);
-    } else {
-      g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE,
-	  "unknown attribute %s", names[i]);
-      return;
-    }
-  }
-}
+  if (*p != '"' && *p != '\'')
+    return NULL; // FIXME: Correct?
 
-static void
-font_end (ParserData *data, GError **error)
-{
-  while (data->attributes->data)
-    attribute_end (data, error);
-  data->attributes = g_list_remove (data->attributes, data->attributes->data);
-}
+  end = p + 1;
+  do {
+    end = strchr (end, *p);
+  } while (end != NULL && *(end - 1) == '\\');
 
-static void
-p_start (ParserData *data, const gchar **names, const gchar **values, 
-    GError **error)
-{
-  guint i;
-  SwfdecParagraph *paragraph = paragraph_start (data);
+  if (end == NULL)
+    return NULL; // FIXME: Correct?
 
-  for (i = 0; names[i]; i++) {
-    if (g_ascii_strcasecmp (names[i], "align") == 0) {
-      if (g_ascii_strcasecmp (values[i], "left") == 0) {
-	paragraph->align = PANGO_ALIGN_LEFT;
-      } else if (g_ascii_strcasecmp (values[i], "right") == 0) {
-	paragraph->align = PANGO_ALIGN_RIGHT;
-      } else if (g_ascii_strcasecmp (values[i], "center") == 0) {
-	paragraph->align = PANGO_ALIGN_CENTER;
-      } else {
-	g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_INVALID_CONTENT,
-	    "value \"%s\" is not valid for \"align\" attribute", values[i]);
-	return;
-      }
-    } else {
-      g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE,
-	  "unknown attribute %s", names[i]);
-      return;
-    }
-  }
-}
+  value = p + 1;
+  value_length = end - (p + 1);
 
-typedef struct {
-  const char *		name;
-  void			(* start)	(ParserData *		data,
-					 const gchar **		attribute_names,
-					 const gchar **		attribute_values, 
-					 GError **		error);
-  void			(* end)		(ParserData *		data,
-					 GError **		error);
-} ParserElement;
-
-/* NB: must be sorted alphabetically */
-ParserElement elements[] = {
-  { "font", font_start, font_end },
-  { "p", p_start, paragraph_end }
-};
+  g_return_val_if_fail (end + 1 > p, NULL);
 
-static int
-element_compare (gconstpointer a, gconstpointer b)
-{
-  return g_ascii_strcasecmp (((const ParserElement *) a)->name, ((const ParserElement *) b)->name);
+  return end + 1;
 }
 
-static ParserElement *
-swfdec_html_parser_find_element (const char *name)
+static const char *
+swfdec_edit_text_movie_html_parse_tag (ParserData *data, const char *p)
 {
-  ParserElement find = { name, NULL, NULL };
-
-  return bsearch (&find, elements, G_N_ELEMENTS (elements), 
-      sizeof (ParserElement), element_compare);
-}
+  ParserTag *tag;
+  const char *name, *end;
+  int name_length;
+  gboolean close;
 
-static void 
-swfdec_html_parser_start_element (GMarkupParseContext *context, 
-    const gchar *element_name, const gchar **attribute_names,
-    const gchar **attribute_values, gpointer user_data, GError **error)
-{
-  ParserElement *element = swfdec_html_parser_find_element (element_name);
+  g_return_val_if_fail (data != NULL, NULL);
+  g_return_val_if_fail (p != NULL, NULL);
+  g_return_val_if_fail (*p == '<', NULL);
 
-  if (element == NULL) {
-    g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ELEMENT,
-	"unknown element %s", element_name);
-    return;
+  // closing tag or opening tag?
+  if (*(p + 1) == '/') {
+    close = TRUE;
+    p++;
+  } else {
+    close = FALSE;
   }
-  element->start (user_data, attribute_names, attribute_values, error);
-}
 
-static void 
-swfdec_html_parser_end_element (GMarkupParseContext *context, 
-    const gchar *element_name, gpointer user_data, GError **error)
-{
-  ParserElement *element = swfdec_html_parser_find_element (element_name);
+  // find the end of the name
+  end = p + strcspn (p, "> \r\n\t");
+  if (*end == '\0')
+    return end;
 
-  if (element == NULL) {
-    g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ELEMENT,
-	"unknown element %s", element_name);
-    return;
-  }
-  element->end (user_data, error);
-}
+  // don't count trailing / as part of the name if it's followed by >
+  if (*end == '>' && *(end - 1) == '/')
+    end = end - 1;
 
-static void 
-swfdec_html_parser_text (GMarkupParseContext *context, const gchar *text, 
-    gsize text_len, gpointer user_data, GError **error)
-{
-  ParserData *data = user_data;
-  g_string_append_len (data->str, text, text_len);
-}
+  if (end == p + 1) // empty name
+    return NULL;
 
-static void 
-swfdec_html_parser_error (GMarkupParseContext *context, GError *error, gpointer user_data)
-{
-  SWFDEC_ERROR ("error parsing html content: %s", error->message);
-}
+  name = p + 1;
+  name_length = end - (p + 1);
 
-static const GMarkupParser parser = {
-  swfdec_html_parser_start_element,
-  swfdec_html_parser_end_element,
-  swfdec_html_parser_text,
-  NULL,
-  swfdec_html_parser_error,
-};
+  if (close)
+  {
+    if (data->tags_open != NULL) {
+      tag = (ParserTag *)data->tags_open->data;
+    } else {
+      tag = NULL;
+    }
 
-static void G_GNUC_UNUSED 
-dump (ParserData *data)
-{
-  guint i;
-  GList *walk;
+    if (tag != NULL && name_length == tag->name_length &&
+	!g_strncasecmp (name, tag->name, name_length))
+    {
+      // add paragraph for closing P and LI tags
+      if ((name_length == 1 && !g_strncasecmp (name, "p", 1)) ||
+	  (name_length == 2 && !g_strncasecmp (name, "li", 2))) {
+	data->text = g_string_append_c (data->text, '\n');
+      }
 
-  g_print ("paragraphs:\n");
-  for (i = 0; i < data->out->len; i++) {
-    SwfdecParagraph *paragraph = &g_array_index (data->out, SwfdecParagraph, i);
-    g_print ("%3u -%3u %*s\n", paragraph->start, paragraph->end, 
-	paragraph->end - paragraph->start, data->str->str + paragraph->start);
-  }
-  g_print ("attributes:\n");
-  for (walk = g_list_last (data->attributes_completed); walk; walk = walk->prev) {
-    PangoAttribute *attr = walk->data;
-    g_print ("%3u -%3u %u\n", attr->start_index, attr->end_index, attr->klass->type);
-  }
-}
+      tag->end_index = data->text->len;
 
-SwfdecParagraph *
-swfdec_paragraph_html_parse (SwfdecEditText *text, const char *str)
-{
-  ParserData data = { NULL, };
-  GMarkupParseContext *context;
-  GError *error = NULL;
-  SwfdecParagraph *retval;
-
-  g_return_val_if_fail (SWFDEC_IS_EDIT_TEXT (text), NULL);
-  g_return_val_if_fail (str != NULL, NULL);
-
-  data.text = text;
-  data.out = g_array_new (TRUE, TRUE, sizeof (SwfdecParagraph));
-  data.str = g_string_new ("");
-  context = g_markup_parse_context_new (&parser, 0, &data, NULL);
-  if (g_markup_parse_context_parse (context, str, strlen (str), &error) &&
-      g_markup_parse_context_end_parse (context, &error)) {
-    guint i;
-    GList *walk;
-
-    //dump (&data);
-    data.attributes_completed = g_list_reverse (data.attributes_completed);
-    for (i = 0; i < data.out->len; i++) {
-      SwfdecParagraph *para = &g_array_index (data.out, SwfdecParagraph, i);
-      para->text = g_strndup (data.str->str + para->start, 
-	  para->end - para->start);
-      for (walk = data.attributes_completed; walk; walk = walk->next) {
-	PangoAttribute *tmp = walk->data;
-	if (tmp->start_index >= para->end || 
-	    tmp->end_index <= para->start)
-	  continue;
-	tmp = pango_attribute_copy (tmp);
-	if (tmp->start_index > para->start)
-	  tmp->start_index -= para->start;
-	else
-	  tmp->start_index = 0;
-	tmp->end_index = MIN (tmp->end_index, para->end) - para->start;
-	if (para->attrs == NULL)
-	  para->attrs = pango_attr_list_new ();
-	pango_attr_list_change (para->attrs, tmp);
-      }
+      data->tags_open = g_slist_remove (data->tags_open, tag);
+      data->tags_closed = g_slist_prepend (data->tags_closed, tag);
     }
-    g_assert (data.attributes == NULL);
-    retval = (SwfdecParagraph *) g_array_free (data.out, FALSE);
-  } else {
-    GList *walk;
-    g_array_free (data.out, TRUE);
-    retval = NULL;
-    for (walk = data.attributes; walk; walk = walk->next) {
-      if (walk->data)
-	pango_attribute_destroy (walk->data);
+
+    end = strchr (end, '>');
+    if (end != NULL)
+      end += 1;
+  }
+  else
+  {
+    if (name_length == 2 && !g_strncasecmp (name, "br", 2)) {
+      tag = NULL;
+      data->text = g_string_append_c (data->text, '\n');
+    } else {
+      tag = g_new0 (ParserTag, 1);
+      tag->name = name;
+      tag->name_length = name_length;
+      tag->format = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (data->cx));
+      tag->index = data->text->len;
+      data->tags_open = g_slist_prepend (data->tags_open, tag);
+    }
+
+    // parse attributes
+    end = end + strspn (end, " \r\n\t");
+    while (*end != '\0' && *end != '>' && (*end != '/' || *(end + 1) != '>')) {
+      end = swfdec_edit_text_movie_html_parse_attribute (tag, end);
+      if (end == NULL)
+	break;
+      end = end + strspn (end, " \r\n\t");
+    }
+    if (end != NULL) {
+      if (*end == '/')
+	end += 1;
+      if (*end == '>')
+	end += 1;
     }
-    g_list_free (data.attributes);
   }
-  g_list_foreach (data.attributes_completed, (GFunc) pango_attribute_destroy, NULL);
-  g_list_free (data.paragraphs);
-  g_string_free (data.str, TRUE);
-  g_markup_parse_context_free (context);
-  return retval;
-}
 
-SwfdecParagraph *
-swfdec_paragraph_text_parse (SwfdecEditText *text, const char *str)
-{
-  SwfdecParagraph *ret;
-    
-  g_return_val_if_fail (SWFDEC_IS_EDIT_TEXT (text), NULL);
-  g_return_val_if_fail (str != NULL, NULL);
-
-  ret = g_new0 (SwfdecParagraph, 2);
-  swfdec_paragraph_init (text, ret);
-  ret->text = g_strdup (str);
-  return ret;
+  return end;
 }
 
-void
-swfdec_paragraph_free (SwfdecParagraph *paragraphs)
+static const char *
+swfdec_edit_text_movie_html_parse_text (ParserData *data, const char *p)
 {
-  guint i;
+  const char *end;
 
-  for (i = 0; paragraphs[i].text != NULL; i++) {
-    swfdec_paragraph_finish (&paragraphs[i]);
-  }
-  g_free (paragraphs);
+  g_return_val_if_fail (data != NULL, NULL);
+  g_return_val_if_fail (p != NULL, NULL);
+  g_return_val_if_fail (*p != '\0' && *p != '<', NULL);
+
+  end = strchr (p, '<');
+  if (end == NULL)
+    end = strchr (p, '\0');
+
+  data->text = g_string_append_len (data->text, p, end - p);
+
+  return end;
 }
 
 void
-swfdec_edit_text_render (SwfdecEditText *text, cairo_t *cr, const SwfdecParagraph *paragraph,
-    const SwfdecColorTransform *trans, const SwfdecRect *inval, gboolean fill)
+swfdec_edit_text_movie_html_parse (SwfdecEditTextMovie *text, const char *str)
 {
-  guint i;
-  PangoFontDescription *desc;
-  PangoLayout *layout;
-  guint width;
-  SwfdecColor color;
-
-  g_return_if_fail (SWFDEC_IS_EDIT_TEXT (text));
-  g_return_if_fail (cr != NULL);
-  g_return_if_fail (paragraph != NULL);
-  g_return_if_fail (trans != NULL);
-  g_return_if_fail (inval != NULL);
-
-  if (text->font == NULL) {
-    SWFDEC_ERROR ("no font to render with");
-    return;
-  }
-  if (text->font->desc == NULL) {
-    desc = pango_font_description_new ();
-    pango_font_description_set_family (desc, "Sans");
-    SWFDEC_INFO ("font %d has no cairo font description", SWFDEC_CHARACTER (text->font)->id);
-  } else {
-    desc = pango_font_description_copy (text->font->desc);
-  }
-  pango_font_description_set_absolute_size (desc, text->height * PANGO_SCALE);
-  layout = pango_cairo_create_layout (cr);
-  pango_layout_set_font_description (layout, desc);
-  pango_font_description_free (desc);
-  width = SWFDEC_GRAPHIC (text)->extents.x1 - SWFDEC_GRAPHIC (text)->extents.x0 - text->left_margin - text->right_margin;
-  cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0 + text->left_margin, SWFDEC_GRAPHIC (text)->extents.y0);
-  pango_layout_set_width (layout, width * PANGO_SCALE);
-  color = swfdec_color_apply_transform (text->color, trans);
-  swfdec_color_set_source (cr, color);
-
-  for (i = 0; paragraph[i].text != NULL; i++) {
-    pango_layout_set_text (layout, paragraph[i].text, -1);
-    pango_layout_set_attributes (layout, paragraph[i].attrs);
-    pango_layout_set_alignment (layout, paragraph[i].align);
-    if (fill)
-      pango_cairo_show_layout (cr, layout);
-    else
-      pango_cairo_layout_path (cr, layout);
+  ParserData data;
+  const char *p;
+
+  g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+  g_return_if_fail (str != NULL);
+
+  data.cx = SWFDEC_AS_OBJECT (text)->context;
+  data.text = g_string_new ("");
+  data.tags_open = NULL;
+  data.tags_closed = NULL;
+
+  p = str;
+  while (*p != '\0' && p != NULL) {
+    if (*p == '<') {
+      if (strncmp (p + 1, "!--", strlen ("!--")) == 0) {
+	p = swfdec_edit_text_movie_html_parse_comment (&data, p);
+      } else {
+	p = swfdec_edit_text_movie_html_parse_tag (&data, p);
+      }
+    } else {
+      p = swfdec_edit_text_movie_html_parse_text (&data, p);
+    }
   }
-  g_object_unref (layout);
-}
 
+  text->text_display = swfdec_as_context_give_string (data.cx,
+      g_string_free (data.text, FALSE));
+}
diff-tree 2579b881b63118994ff3bc522419043439210f31 (from f9d7d2396fe0a7653829a14f3b9da571130eb519)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 5 16:58:32 2007 +0300

    Some more small cleanups of htmlText stuff

diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 59f5b9e..45d7c3b 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -45,12 +45,15 @@ swfdec_edit_text_movie_get_text (SwfdecA
     return;
   text = SWFDEC_EDIT_TEXT_MOVIE (object);
 
-  SWFDEC_AS_VALUE_SET_STRING (ret, (text->text_display != NULL ? swfdec_as_context_get_string (cx, text->text_display) : SWFDEC_AS_STR_EMPTY));
+  SWFDEC_AS_VALUE_SET_STRING (ret, (text->text_display != NULL ?
+	swfdec_as_context_get_string (cx, text->text_display) :
+	SWFDEC_AS_STR_EMPTY));
 }
 
 static void
-swfdec_edit_text_movie_do_set_text (SwfdecAsContext *cx, SwfdecAsObject *object,
-    guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+swfdec_edit_text_movie_do_set_text (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
 {
   SwfdecEditTextMovie *text;
   const char *value;
@@ -60,22 +63,6 @@ swfdec_edit_text_movie_do_set_text (Swfd
   swfdec_edit_text_movie_set_text (text, value);
 }
 
-/*
- * Order of tags:
- * TEXTFORMAT / P or LI / FONT / A / B / I / U
- *
- * Order of attributes:
- * TEXTFORMAT:
- * LEFTMARGIN / RIGHTMARGIN / INDENT / LEADING / BLOCKINDENT / TABSTOPS
- * P: ALIGN
- * LI: none
- * FONT: FACE / SIZE / COLOR / LETTERSPACING / KERNING
- * A: HREF / TARGET
- * B: none
- * I: none
- * U: none
- */
-
 static const char *
 align_to_string (SwfdecTextAlign align)
 {
@@ -93,6 +80,21 @@ align_to_string (SwfdecTextAlign align)
   }
 }
 
+/*
+ * Order of tags:
+ * TEXTFORMAT / P or LI / FONT / A / B / I / U
+ *
+ * Order of attributes:
+ * TEXTFORMAT:
+ * LEFTMARGIN / RIGHTMARGIN / INDENT / LEADING / BLOCKINDENT / TABSTOPS
+ * P: ALIGN
+ * LI: none
+ * FONT: FACE / SIZE / COLOR / LETTERSPACING / KERNING
+ * A: HREF / TARGET
+ * B: none
+ * I: none
+ * U: none
+ */
 static GString *
 swfdec_edit_text_movie_htmlText_append_paragraph (SwfdecEditTextMovie *text,
     GString *string, guint start_index, guint end_index)
@@ -162,7 +164,10 @@ swfdec_edit_text_movie_htmlText_append_p
     bullet = FALSE;
   }
 
-  g_string_append_printf (string, "<FONT FACE=\"%s\" SIZE=\"%i\" COLOR=\"#%06X\" LETTERSPACING=\"%i\" KERNING=\"%i\">", format->font, format->size, format->color, (int)format->letter_spacing, (format->kerning ? 1 : 0));
+  // note we don't escape format->font, even thought it can have evil chars
+  g_string_append_printf (string, "<FONT FACE=\"%s\" SIZE=\"%i\" COLOR=\"#%06X\" LETTERSPACING=\"%i\" KERNING=\"%i\">",
+      format->font, format->size, format->color, (int)format->letter_spacing,
+      (format->kerning ? 1 : 0));
   fonts = g_slist_prepend (NULL, format);
 
   if (format->url != SWFDEC_AS_STR_EMPTY)
@@ -244,6 +249,7 @@ swfdec_edit_text_movie_htmlText_append_p
       fonts = g_slist_prepend (fonts, format);
 
       string = g_string_append (string, "<FONT");
+      // note we don't escape format->font, even thought it can have evil chars
       if (format->font != format_font->font)
 	g_string_append_printf (string, " FACE=\"%s\"", format->font);
       if (format->size != format_font->size)
@@ -553,7 +559,8 @@ swfdec_edit_text_movie_construct (Swfdec
     swfdec_as_object_add (object, cx, sizeof (SwfdecEditTextMovie));
     swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
     if (SWFDEC_AS_VALUE_IS_OBJECT (&val)) {
-      swfdec_as_object_set_constructor (object, SWFDEC_AS_VALUE_GET_OBJECT (&val));
+      swfdec_as_object_set_constructor (object,
+	  SWFDEC_AS_VALUE_GET_OBJECT (&val));
     } else {
       SWFDEC_INFO ("\"TextField\" is not an object");
     }
diff-tree f9d7d2396fe0a7653829a14f3b9da571130eb519 (from 6f7385eaeef2eabff08c40f724f22d5a8fe6f052)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 5 16:53:19 2007 +0300

    Clean up htmlText code somewhat. Fix a typo.

diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 5e6ccd2..59f5b9e 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -76,17 +76,6 @@ swfdec_edit_text_movie_do_set_text (Swfd
  * U: none
  */
 
-typedef enum {
-  CHANGE_LEVEL_NONE,
-  CHANGE_LEVEL_UNDERLINE,
-  CHANGE_LEVEL_ITALIC,
-  CHANGE_LEVEL_BOLD,
-  CHANGE_LEVEL_A,
-  CHANGE_LEVEL_FONT,
-  CHANGE_LEVEL_P,
-  CHANGE_LEVEL_TEXTFORMAT,
-} ChangeLevel;
-
 static const char *
 align_to_string (SwfdecTextAlign align)
 {
@@ -109,10 +98,9 @@ swfdec_edit_text_movie_htmlText_append_p
     GString *string, guint start_index, guint end_index)
 {
   SwfdecTextFormat *format, *format_prev, *format_font;
-  GSList *iter, *fonts;
+  GSList *iter, *fonts, *iter_font;
   guint index_, index_prev;
-  int change_level;
-  gboolean textformat, bullet;
+  gboolean textformat, bullet, font;
   char *escaped;
 
   g_return_val_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text), string);
@@ -209,56 +197,45 @@ swfdec_edit_text_movie_htmlText_append_p
 	format->color != format_prev->color ||
 	(int)format->letter_spacing != (int)format_prev->letter_spacing ||
 	format->kerning != format_prev->kerning) {
-      change_level = CHANGE_LEVEL_FONT;
-    } else if (format->url != format_prev->url ||
-	format->target != format_prev->target) {
-      change_level = CHANGE_LEVEL_A;
-    } else if (format->bold != format_prev->bold) {
-      change_level = CHANGE_LEVEL_BOLD;
-    } else if (format->italic != format_prev->italic) {
-      change_level = CHANGE_LEVEL_ITALIC;
-    } else if (format->underline != format_prev->underline) {
-      change_level = CHANGE_LEVEL_UNDERLINE;
-    } else {
-      change_level = CHANGE_LEVEL_NONE;
+      font = TRUE;
+    } else if (format->url == format_prev->url &&
+	format->target == format_prev->target &&
+	format->bold == format_prev->bold &&
+	format->italic == format_prev->italic &&
+	format->underline == format_prev->underline) {
+      continue;
     }
 
     // Close tags
-    if (change_level >= CHANGE_LEVEL_UNDERLINE) {
-      GSList *iter_font;
-      for (iter_font = fonts; iter_font != NULL; iter_font = iter_font->next)
-      {
-	format_font = (SwfdecTextFormat *)iter_font->data;
-	if (format->font == format_font->font &&
-	  format->size == format_font->size &&
-	  format->color == format_font->color &&
-	  (int)format->letter_spacing == (int)format_font->letter_spacing &&
-	  format->kerning == format_font->kerning) {
-	  break;
-	}
+    for (iter_font = fonts; iter_font != NULL; iter_font = iter_font->next)
+    {
+      format_font = (SwfdecTextFormat *)iter_font->data;
+      if (format->font == format_font->font &&
+	format->size == format_font->size &&
+	format->color == format_font->color &&
+	(int)format->letter_spacing == (int)format_font->letter_spacing &&
+	format->kerning == format_font->kerning) {
+	break;
       }
-      if (iter_font != NULL) {
-	while (fonts != iter_font) {
-	  string = g_string_append (string, "</FONT>");
-	  fonts = g_slist_remove (fonts, fonts->data);
-	}
+    }
+    if (iter_font != NULL) {
+      while (fonts != iter_font) {
+	string = g_string_append (string, "</FONT>");
+	fonts = g_slist_remove (fonts, fonts->data);
       }
     }
-    if (format_prev->underline && change_level >= CHANGE_LEVEL_UNDERLINE)
+    if (format_prev->underline)
       string = g_string_append (string, "</U>");
-    if (format_prev->italic && change_level >= CHANGE_LEVEL_UNDERLINE)
+    if (format_prev->italic)
       string = g_string_append (string, "</I>");
-    if (format_prev->bold && change_level >= CHANGE_LEVEL_UNDERLINE)
+    if (format_prev->bold)
       string = g_string_append (string, "</B>");
-    if (format_prev->url != SWFDEC_AS_STR_EMPTY &&
-	change_level >= CHANGE_LEVEL_UNDERLINE) {
+    if (format_prev->url != SWFDEC_AS_STR_EMPTY)
       string = g_string_append (string, "</A>");
-    }
 
     // Open tags
     format_font = (SwfdecTextFormat *)fonts->data;
-    if (change_level >= CHANGE_LEVEL_FONT &&
-	(format->font != format_font->font ||
+    if (font && (format->font != format_font->font ||
 	 format->size != format_font->size ||
 	 format->color != format_font->color ||
 	 (int)format->letter_spacing != (int)format_font->letter_spacing ||
@@ -268,7 +245,7 @@ swfdec_edit_text_movie_htmlText_append_p
 
       string = g_string_append (string, "<FONT");
       if (format->font != format_font->font)
-	g_string_append_printf (string, " FONT=\"%s\"", format->font);
+	g_string_append_printf (string, " FACE=\"%s\"", format->font);
       if (format->size != format_font->size)
 	g_string_append_printf (string, " SIZE=\"%i\"", format->size);
       if (format->color != format_font->color)
@@ -283,16 +260,15 @@ swfdec_edit_text_movie_htmlText_append_p
       }
       string = g_string_append (string, ">");
     }
-    if (format->url != SWFDEC_AS_STR_EMPTY &&
-	change_level >= CHANGE_LEVEL_UNDERLINE) {
+    if (format->url != SWFDEC_AS_STR_EMPTY) {
       g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
 	  format->url, format->target);
     }
-    if (format->bold && change_level >= CHANGE_LEVEL_UNDERLINE)
+    if (format->bold)
       string = g_string_append (string, "<B>");
-    if (format->italic && change_level >= CHANGE_LEVEL_UNDERLINE)
+    if (format->italic)
       string = g_string_append (string, "<I>");
-    if (format->underline && change_level >= CHANGE_LEVEL_UNDERLINE)
+    if (format->underline)
       string = g_string_append (string, "<U>");
   }
 
diff-tree 6f7385eaeef2eabff08c40f724f22d5a8fe6f052 (from 8934731cee4ff841b5dce2cb1cde77ee2ddc290a)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 5 14:41:57 2007 +0300

    Escape text when getting TextField's htmlText

diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 7d9cf1a..5e6ccd2 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -31,6 +31,7 @@
 #include "swfdec_as_internal.h"
 #include "swfdec_as_context.h"
 #include "swfdec_as_frame_internal.h"
+#include "swfdec_xml.h"
 #include "swfdec_internal.h"
 #include "swfdec_player_internal.h"
 
@@ -112,6 +113,7 @@ swfdec_edit_text_movie_htmlText_append_p
   guint index_, index_prev;
   int change_level;
   gboolean textformat, bullet;
+  char *escaped;
 
   g_return_val_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text), string);
   g_return_val_if_fail (string != NULL, string);
@@ -195,8 +197,11 @@ swfdec_edit_text_movie_htmlText_append_p
     index_ = ((SwfdecFormatIndex *)(iter->data))->index;
     format = ((SwfdecFormatIndex *)(iter->data))->format;
 
-    string = g_string_append_len (string, text->text_display + index_prev,
+    escaped = swfdec_xml_escape_len (text->text_display + index_prev,
 	index_ - index_prev);
+    string = g_string_append (string, escaped);
+    g_free (escaped);
+    escaped = NULL;
 
     // Figure out what tags need to be rewritten
     if (format->font != format_prev->font ||
@@ -291,8 +296,10 @@ swfdec_edit_text_movie_htmlText_append_p
       string = g_string_append (string, "<U>");
   }
 
-  string = g_string_append_len (string, text->text_display + index_,
+  escaped = swfdec_xml_escape_len (text->text_display + index_,
       end_index - index_);
+  string = g_string_append (string, escaped);
+  g_free (escaped);
 
   if (format->underline)
     string = g_string_append (string, "</U>");
diff-tree 8934731cee4ff841b5dce2cb1cde77ee2ddc290a (from 1ec09c33f77bdb0e6315f87e6e57e3e3667b8ae3)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 5 14:35:08 2007 +0300

    Add swfdec_xml_escape_len and swfdec_xml_unescape_len functions

diff --git a/libswfdec/swfdec_xml.c b/libswfdec/swfdec_xml.c
index 06a4101..2e2a558 100644
--- a/libswfdec/swfdec_xml.c
+++ b/libswfdec/swfdec_xml.c
@@ -77,7 +77,7 @@ static EntityConversion xml_entities[] =
 };
 
 char *
-swfdec_xml_escape (const char *orginal)
+swfdec_xml_escape_len (const char *orginal, gssize length)
 {
   int i;
   const char *p, *start;
@@ -86,7 +86,7 @@ swfdec_xml_escape (const char *orginal)
   string = g_string_new ("");
 
   p = start = orginal;
-  while (*(p += strcspn (p, "&<>\"'")) != '\0') {
+  while (*(p += strcspn (p, "&<>\"'")) != '\0' && p - orginal < length) {
     string = g_string_append_len (string, start, p - start);
 
     // escape it
@@ -101,13 +101,19 @@ swfdec_xml_escape (const char *orginal)
     p++;
     start = p;
   }
-  string = g_string_append (string, start);
+  string = g_string_append_len (string, start, length - (start - orginal));
 
   return g_string_free (string, FALSE);
 }
 
 char *
-swfdec_xml_unescape (const char *orginal)
+swfdec_xml_escape (const char *orginal)
+{
+  return swfdec_xml_escape_len (orginal, strlen (orginal));
+}
+
+char *
+swfdec_xml_unescape_len (const char *orginal, gssize length)
 {
   int i;
   const char *p, *start;
@@ -116,7 +122,7 @@ swfdec_xml_unescape (const char *orginal
   string = g_string_new ("");
 
   p = start = orginal;
-  while ((p = strchr (p, '&')) != NULL) {
+  while ((p = strchr (p, '&')) != NULL && p - orginal < length) {
     string = g_string_append_len (string, start, p - start);
 
     for (i = 0; xml_entities[i].escaped != NULL; i++) {
@@ -134,11 +140,17 @@ swfdec_xml_unescape (const char *orginal
 
     start = p;
   }
-  string = g_string_append (string, start);
+  string = g_string_append_len (string, start, length - (start - orginal));
 
   return g_string_free (string, FALSE);
 }
 
+char *
+swfdec_xml_unescape (const char *orginal)
+{
+  return swfdec_xml_unescape_len (orginal, strlen (orginal));
+}
+
 // this is never declared, only available as ASnative (100, 5)
 SWFDEC_AS_NATIVE (100, 5, swfdec_xml_do_escape)
 void
diff --git a/libswfdec/swfdec_xml.h b/libswfdec/swfdec_xml.h
index c06562d..9d82d6a 100644
--- a/libswfdec/swfdec_xml.h
+++ b/libswfdec/swfdec_xml.h
@@ -70,7 +70,9 @@ struct _SwfdecXmlClass {
 GType		swfdec_xml_get_type	(void);
 
 char *		swfdec_xml_escape	(const char *orginal);
+char *		swfdec_xml_escape_len	(const char *orginal, gssize length);
 char *		swfdec_xml_unescape	(const char *orginal);
+char *		swfdec_xml_unescape_len	(const char *orginal, gssize length);
 
 G_END_DECLS
 #endif
diff-tree 1ec09c33f77bdb0e6315f87e6e57e3e3667b8ae3 (from fc7deb5a55fe2ed2178cd8b446d7ac298529f491)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 5 14:23:42 2007 +0300

    Add textformat generation to finish get part of TextField's htmlText property

diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 8e81e38..7d9cf1a 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -111,7 +111,7 @@ swfdec_edit_text_movie_htmlText_append_p
   GSList *iter, *fonts;
   guint index_, index_prev;
   int change_level;
-  gboolean bullet;
+  gboolean textformat, bullet;
 
   g_return_val_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text), string);
   g_return_val_if_fail (string != NULL, string);
@@ -125,8 +125,46 @@ swfdec_edit_text_movie_htmlText_append_p
   index_ = start_index;
   format = ((SwfdecFormatIndex *)(iter->data))->format;
 
+  if (format->left_margin != 0 || format->right_margin != 0 ||
+      format->indent != 0 || format->leading != 0 ||
+      format->block_indent != 0 ||
+      swfdec_as_array_get_length (format->tab_stops) > 0)
+  {
+    string = g_string_append (string, "<TEXTFORMAT");
+    if (format->left_margin) {
+      g_string_append_printf (string, " LEFTMARGIN=\"%i\"",
+	  format->left_margin);
+    }
+    if (format->right_margin) {
+      g_string_append_printf (string, " RIGHTMARGIN=\"%i\"",
+	  format->right_margin);
+    }
+    if (format->indent)
+      g_string_append_printf (string, " INDENT=\"%i\"", format->indent);
+    if (format->leading)
+      g_string_append_printf (string, " LEADING=\"%i\"", format->leading);
+    if (format->block_indent) {
+      g_string_append_printf (string, " BLOCKINDENT=\"%i\"",
+	  format->block_indent);
+    }
+    if (swfdec_as_array_get_length (format->tab_stops) > 0) {
+      SwfdecAsValue val;
+      SWFDEC_AS_VALUE_SET_OBJECT (&val, SWFDEC_AS_OBJECT  (format->tab_stops));
+      g_string_append_printf (string, " TABSTOPS=\"%s\"",
+	  swfdec_as_value_to_string (SWFDEC_AS_OBJECT
+	    (format->tab_stops)->context, &val));
+    }
+    string = g_string_append (string, ">");
+
+    textformat = TRUE;
+  }
+  else
+  {
+    textformat = FALSE;
+  }
+
   if (format->bullet) {
-    g_string_append (string, "<LI>");
+    string = g_string_append (string, "<LI>");
     bullet = TRUE;
   } else {
     g_string_append_printf (string, "<P ALIGN=\"%s\">",
@@ -272,6 +310,8 @@ swfdec_edit_text_movie_htmlText_append_p
   } else {
     string = g_string_append (string, "</P>");
   }
+  if (textformat)
+    string = g_string_append (string, "</TEXTFORMAT>");
 
   return string;
 }
diff-tree fc7deb5a55fe2ed2178cd8b446d7ac298529f491 (from 0c2bac0188760f412bc84d683bf8a700c5a161fe)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 5 14:12:37 2007 +0300

    Improve htmlText property support in TextField when text has paragraphs

diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 48ef525..8e81e38 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -103,172 +103,166 @@ align_to_string (SwfdecTextAlign align)
   }
 }
 
-static void
-swfdec_edit_text_movie_get_htmlText (SwfdecAsContext *cx,
-    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
-    SwfdecAsValue *ret)
+static GString *
+swfdec_edit_text_movie_htmlText_append_paragraph (SwfdecEditTextMovie *text,
+    GString *string, guint start_index, guint end_index)
 {
-  SwfdecEditTextMovie *text;
   SwfdecTextFormat *format, *format_prev, *format_font;
-  GString *string;
   GSList *iter, *fonts;
   guint index_, index_prev;
   int change_level;
-  gboolean bullet = FALSE;
-
-  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
-
-  if (text->text->html == FALSE) {
-    swfdec_edit_text_movie_get_text (cx, object, argc, argv, ret);
-    return;
-  }
-
-  if (text->text_display == NULL) {
-    SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_EMPTY);
-    return;
-  }
+  gboolean bullet;
 
-  string = g_string_new ("");
-
-  fonts = NULL;
-  index_prev = 0;
-  format_prev = NULL;
-  for (iter = text->formats; iter != NULL; iter = iter->next)
+  g_return_val_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text), string);
+  g_return_val_if_fail (string != NULL, string);
+  g_return_val_if_fail (start_index < end_index, string);
+
+  g_return_val_if_fail (text->formats != NULL, string);
+  for (iter = text->formats; iter->next != NULL &&
+      ((SwfdecFormatIndex *)(iter->next->data))->index <= start_index;
+      iter = iter->next);
+
+  index_ = start_index;
+  format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+  if (format->bullet) {
+    g_string_append (string, "<LI>");
+    bullet = TRUE;
+  } else {
+    g_string_append_printf (string, "<P ALIGN=\"%s\">",
+	align_to_string (format->align));
+    bullet = FALSE;
+  }
+
+  g_string_append_printf (string, "<FONT FACE=\"%s\" SIZE=\"%i\" COLOR=\"#%06X\" LETTERSPACING=\"%i\" KERNING=\"%i\">", format->font, format->size, format->color, (int)format->letter_spacing, (format->kerning ? 1 : 0));
+  fonts = g_slist_prepend (NULL, format);
+
+  if (format->url != SWFDEC_AS_STR_EMPTY)
+    g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
+	format->url, format->target);
+  if (format->bold)
+    string = g_string_append (string, "<B>");
+  if (format->italic)
+    string = g_string_append (string, "<I>");
+  if (format->underline)
+    string = g_string_append (string, "<U>");
+
+  // special case: use <= instead of < to add some extra markup
+  for (iter = iter->next;
+      iter != NULL && ((SwfdecFormatIndex *)(iter->data))->index <= end_index;
+      iter = iter->next)
   {
+    index_prev = index_;
+    format_prev = format;
     index_ = ((SwfdecFormatIndex *)(iter->data))->index;
     format = ((SwfdecFormatIndex *)(iter->data))->format;
 
     string = g_string_append_len (string, text->text_display + index_prev,
 	index_ - index_prev);
 
-    if (format_prev == NULL) {
-      if (format->bullet) {
-	g_string_append (string, "<LI>");
-	bullet = TRUE;
-      } else {
-	g_string_append_printf (string, "<P ALIGN=\"%s\">",
-	    align_to_string (format->align));
-	bullet = FALSE;
-      }
-      g_string_append_printf (string, "<FONT FACE=\"%s\" SIZE=\"%i\" COLOR=\"#%06X\" LETTERSPACING=\"%i\" KERNING=\"%i\">", format->font, format->size, format->color, (int)format->letter_spacing, (format->kerning ? 1 : 0));
-      fonts = g_slist_prepend (fonts, format);
-      if (format->url != SWFDEC_AS_STR_EMPTY)
-	g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
-	    format->url, format->target);
-      if (format->bold)
-	string = g_string_append (string, "<B>");
-      if (format->italic)
-	string = g_string_append (string, "<I>");
-      if (format->underline)
-	string = g_string_append (string, "<U>");
+    // Figure out what tags need to be rewritten
+    if (format->font != format_prev->font ||
+	format->size != format_prev->size ||
+	format->color != format_prev->color ||
+	(int)format->letter_spacing != (int)format_prev->letter_spacing ||
+	format->kerning != format_prev->kerning) {
+      change_level = CHANGE_LEVEL_FONT;
+    } else if (format->url != format_prev->url ||
+	format->target != format_prev->target) {
+      change_level = CHANGE_LEVEL_A;
+    } else if (format->bold != format_prev->bold) {
+      change_level = CHANGE_LEVEL_BOLD;
+    } else if (format->italic != format_prev->italic) {
+      change_level = CHANGE_LEVEL_ITALIC;
+    } else if (format->underline != format_prev->underline) {
+      change_level = CHANGE_LEVEL_UNDERLINE;
     } else {
-      // Figure out what tags need to be rewritten
-      if (format->font != format_prev->font ||
-	  format->size != format_prev->size ||
-	  format->color != format_prev->color ||
-	  (int)format->letter_spacing != (int)format_prev->letter_spacing ||
-	  format->kerning != format_prev->kerning) {
-	change_level = CHANGE_LEVEL_FONT;
-      } else if (format->url != format_prev->url ||
-	  format->target != format_prev->target) {
-	change_level = CHANGE_LEVEL_A;
-      } else if (format->bold != format_prev->bold) {
-	change_level = CHANGE_LEVEL_BOLD;
-      } else if (format->italic != format_prev->italic) {
-	change_level = CHANGE_LEVEL_ITALIC;
-      } else if (format->underline != format_prev->underline) {
-	change_level = CHANGE_LEVEL_UNDERLINE;
-      } else {
-	change_level = CHANGE_LEVEL_NONE;
-      }
+      change_level = CHANGE_LEVEL_NONE;
+    }
 
-      // Close tags
-      if (change_level >= CHANGE_LEVEL_UNDERLINE) {
-	GSList *iter_font;
-	for (iter_font = fonts; iter_font != NULL; iter_font = iter_font->next)
-	{
-	  format_font = (SwfdecTextFormat *)iter_font->data;
-	  if (format->font == format_font->font &&
-	    format->size == format_font->size &&
-	    format->color == format_font->color &&
-	    (int)format->letter_spacing == (int)format_font->letter_spacing &&
-	    format->kerning == format_font->kerning) {
-	    break;
-	  }
-	}
-	if (iter_font != NULL) {
-	  while (fonts != iter_font) {
-	    string = g_string_append (string, "</FONT>");
-	    fonts = g_slist_remove (fonts, fonts->data);
-	  }
+    // Close tags
+    if (change_level >= CHANGE_LEVEL_UNDERLINE) {
+      GSList *iter_font;
+      for (iter_font = fonts; iter_font != NULL; iter_font = iter_font->next)
+      {
+	format_font = (SwfdecTextFormat *)iter_font->data;
+	if (format->font == format_font->font &&
+	  format->size == format_font->size &&
+	  format->color == format_font->color &&
+	  (int)format->letter_spacing == (int)format_font->letter_spacing &&
+	  format->kerning == format_font->kerning) {
+	  break;
 	}
       }
-      if (format_prev->underline && change_level >= CHANGE_LEVEL_UNDERLINE)
-	string = g_string_append (string, "</U>");
-      if (format_prev->italic && change_level >= CHANGE_LEVEL_UNDERLINE)
-	string = g_string_append (string, "</I>");
-      if (format_prev->bold && change_level >= CHANGE_LEVEL_UNDERLINE)
-	string = g_string_append (string, "</B>");
-      if (format_prev->url != SWFDEC_AS_STR_EMPTY &&
-	  change_level >= CHANGE_LEVEL_UNDERLINE) {
-	string = g_string_append (string, "</A>");
+      if (iter_font != NULL) {
+	while (fonts != iter_font) {
+	  string = g_string_append (string, "</FONT>");
+	  fonts = g_slist_remove (fonts, fonts->data);
+	}
       }
+    }
+    if (format_prev->underline && change_level >= CHANGE_LEVEL_UNDERLINE)
+      string = g_string_append (string, "</U>");
+    if (format_prev->italic && change_level >= CHANGE_LEVEL_UNDERLINE)
+      string = g_string_append (string, "</I>");
+    if (format_prev->bold && change_level >= CHANGE_LEVEL_UNDERLINE)
+      string = g_string_append (string, "</B>");
+    if (format_prev->url != SWFDEC_AS_STR_EMPTY &&
+	change_level >= CHANGE_LEVEL_UNDERLINE) {
+      string = g_string_append (string, "</A>");
+    }
 
-      // Open tags
-      format_font = (SwfdecTextFormat *)fonts->data;
-      if (change_level >= CHANGE_LEVEL_FONT &&
-	  (format->font != format_font->font ||
-	   format->size != format_font->size ||
-	   format->color != format_font->color ||
-	   (int)format->letter_spacing != (int)format_font->letter_spacing ||
-	   format->kerning != format_font->kerning))
-      {
-	fonts = g_slist_prepend (fonts, format);
+    // Open tags
+    format_font = (SwfdecTextFormat *)fonts->data;
+    if (change_level >= CHANGE_LEVEL_FONT &&
+	(format->font != format_font->font ||
+	 format->size != format_font->size ||
+	 format->color != format_font->color ||
+	 (int)format->letter_spacing != (int)format_font->letter_spacing ||
+	 format->kerning != format_font->kerning))
+    {
+      fonts = g_slist_prepend (fonts, format);
 
-	string = g_string_append (string, "<FONT");
-	if (format->font != format_font->font)
-	  g_string_append_printf (string, " FONT=\"%s\"", format->font);
-	if (format->size != format_font->size)
-	  g_string_append_printf (string, " SIZE=\"%i\"", format->size);
-	if (format->color != format_font->color)
-	  g_string_append_printf (string, " COLOR=\"#%06X\"", format->color);
-	if ((int)format->letter_spacing != (int)format_font->letter_spacing) {
-	  g_string_append_printf (string, " LETTERSPACING=\"%i\"",
-	      (int)format->letter_spacing);
-	}
-	if (format->kerning != format_font->kerning) {
-	  g_string_append_printf (string, " KERNING=\"%i\"",
-	      (format->kerning ? 1 : 0));
-	}
-	string = g_string_append (string, ">");
+      string = g_string_append (string, "<FONT");
+      if (format->font != format_font->font)
+	g_string_append_printf (string, " FONT=\"%s\"", format->font);
+      if (format->size != format_font->size)
+	g_string_append_printf (string, " SIZE=\"%i\"", format->size);
+      if (format->color != format_font->color)
+	g_string_append_printf (string, " COLOR=\"#%06X\"", format->color);
+      if ((int)format->letter_spacing != (int)format_font->letter_spacing) {
+	g_string_append_printf (string, " LETTERSPACING=\"%i\"",
+	    (int)format->letter_spacing);
       }
-      if (format->url != SWFDEC_AS_STR_EMPTY &&
-	  change_level >= CHANGE_LEVEL_UNDERLINE) {
-	g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
-	    format->url, format->target);
+      if (format->kerning != format_font->kerning) {
+	g_string_append_printf (string, " KERNING=\"%i\"",
+	    (format->kerning ? 1 : 0));
       }
-      if (format->bold && change_level >= CHANGE_LEVEL_UNDERLINE)
-	string = g_string_append (string, "<B>");
-      if (format->italic && change_level >= CHANGE_LEVEL_UNDERLINE)
-	string = g_string_append (string, "<I>");
-      if (format->underline && change_level >= CHANGE_LEVEL_UNDERLINE)
-	string = g_string_append (string, "<U>");
+      string = g_string_append (string, ">");
     }
-
-    index_prev = index_;
-    format_prev = format;
+    if (format->url != SWFDEC_AS_STR_EMPTY &&
+	change_level >= CHANGE_LEVEL_UNDERLINE) {
+      g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
+	  format->url, format->target);
+    }
+    if (format->bold && change_level >= CHANGE_LEVEL_UNDERLINE)
+      string = g_string_append (string, "<B>");
+    if (format->italic && change_level >= CHANGE_LEVEL_UNDERLINE)
+      string = g_string_append (string, "<I>");
+    if (format->underline && change_level >= CHANGE_LEVEL_UNDERLINE)
+      string = g_string_append (string, "<U>");
   }
-  string = g_string_append (string, text->text_display + index_prev);
 
-  g_assert (format_prev != NULL);
+  string = g_string_append_len (string, text->text_display + index_,
+      end_index - index_);
 
-  if (format_prev->underline)
+  if (format->underline)
     string = g_string_append (string, "</U>");
-  if (format_prev->italic)
+  if (format->italic)
     string = g_string_append (string, "</I>");
-  if (format_prev->bold)
+  if (format->bold)
     string = g_string_append (string, "</B>");
-  if (format_prev->url != SWFDEC_AS_STR_EMPTY)
+  if (format->url != SWFDEC_AS_STR_EMPTY)
     string = g_string_append (string, "</A>");
   for (iter = fonts; iter != NULL; iter = iter->next)
     string = g_string_append (string, "</FONT>");
@@ -279,6 +273,48 @@ swfdec_edit_text_movie_get_htmlText (Swf
     string = g_string_append (string, "</P>");
   }
 
+  return string;
+}
+
+static void
+swfdec_edit_text_movie_get_htmlText (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecEditTextMovie *text;
+  const char *p, *end;
+  GString *string;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+
+  if (text->text->html == FALSE) {
+    swfdec_edit_text_movie_get_text (cx, object, argc, argv, ret);
+    return;
+  }
+
+  if (text->text_display == NULL) {
+    SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_EMPTY);
+    return;
+  }
+
+  string = g_string_new ("");
+
+  p = text->text_display;
+  while (*p != '\0') {
+    end = strchr (p, '\n');
+    if (end == NULL)
+      end = strchr (p, '\0');
+
+    string = swfdec_edit_text_movie_htmlText_append_paragraph (text, string,
+	p - text->text_display, end - text->text_display);
+
+    if (*end == '\n') {
+      p = end + 1;
+    } else {
+      p = end;
+    }
+  }
+
   SWFDEC_AS_VALUE_SET_STRING (ret,
       swfdec_as_context_give_string (cx, g_string_free (string, FALSE)));
 }
diff-tree 0c2bac0188760f412bc84d683bf8a700c5a161fe (from 849f5a1b22fc821d0f9d3b4ddf8066b99d951512)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 5 13:26:08 2007 +0300

    Restructure EditText rendering etc. code
    
    Not really in working state at the moment

diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index ed641e8..ecb833a 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -45,8 +45,7 @@ swfdec_edit_text_create_movie (SwfdecGra
   SwfdecEditTextMovie *ret = g_object_new (SWFDEC_TYPE_EDIT_TEXT_MOVIE, NULL);
 
   ret->text = text;
-  if (text->text)
-    swfdec_edit_text_movie_set_text (ret, text->text);
+
   *size = sizeof (SwfdecEditTextMovie);
 
   return SWFDEC_MOVIE (ret);
@@ -57,11 +56,11 @@ swfdec_edit_text_dispose (GObject *objec
 {
   SwfdecEditText *text = SWFDEC_EDIT_TEXT (object);
 
-  g_free (text->text);
-  text->text = NULL;
+  g_free (text->text_input);
+  text->text_input = NULL;
   g_free (text->variable);
   text->variable = NULL;
-  
+
   G_OBJECT_CLASS (swfdec_edit_text_parent_class)->dispose (object);
 }
 
@@ -82,6 +81,68 @@ swfdec_edit_text_init (SwfdecEditText * 
   text->max_length = G_MAXUINT;
 }
 
+void
+swfdec_edit_text_render (SwfdecEditText *text, cairo_t *cr,
+    const SwfdecTextRenderBlock *blocks, const SwfdecColorTransform *trans,
+    const SwfdecRect *inval, gboolean fill)
+{
+  guint i;
+  PangoFontDescription *desc;
+  PangoLayout *layout;
+  guint width;
+  SwfdecColor color;
+
+  g_return_if_fail (SWFDEC_IS_EDIT_TEXT (text));
+  g_return_if_fail (cr != NULL);
+  g_return_if_fail (blocks != NULL);
+  g_return_if_fail (trans != NULL);
+  g_return_if_fail (inval != NULL);
+
+  // is this correct?
+  if (text->font == NULL) {
+    SWFDEC_ERROR ("no font to render with");
+    return;
+  }
+  if (text->font->desc == NULL) {
+    SWFDEC_INFO ("font %d has no cairo font description",
+	SWFDEC_CHARACTER (text->font)->id);
+    desc = pango_font_description_new ();
+    pango_font_description_set_family (desc, "Sans");
+  } else {
+    desc = pango_font_description_copy (text->font->desc);
+  }
+  pango_font_description_set_absolute_size (desc, text->height * PANGO_SCALE);
+  layout = pango_cairo_create_layout (cr);
+  pango_layout_set_font_description (layout, desc);
+  pango_font_description_free (desc);
+
+  cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
+      SWFDEC_GRAPHIC (text)->extents.y0);
+
+  color = swfdec_color_apply_transform (text->color, trans);
+  swfdec_color_set_source (cr, color);
+
+  for (i = 0; blocks[i].text != NULL; i++) {
+    g_print ("render! %i\n", i);
+
+    cairo_rel_move_to (cr, blocks[i].left_margin, 0);
+    width = SWFDEC_GRAPHIC (text)->extents.x1 -
+      SWFDEC_GRAPHIC (text)->extents.x0 - blocks[i].left_margin -
+      blocks[i].right_margin;
+    pango_layout_set_width (layout, width * PANGO_SCALE);
+
+    pango_layout_set_text (layout, blocks[i].text, blocks[i].text_length);
+    pango_layout_set_attributes (layout, blocks[i].attrs);
+    pango_layout_set_alignment (layout, blocks[i].align);
+    pango_layout_set_justify (layout, blocks[i].justify);
+    if (fill)
+      pango_cairo_show_layout (cr, layout);
+    else
+      pango_cairo_layout_path (cr, layout);
+  }
+  g_object_unref (layout);
+}
+
 int
 tag_func_define_edit_text (SwfdecSwfDecoder * s, guint tag)
 {
@@ -90,7 +151,7 @@ tag_func_define_edit_text (SwfdecSwfDeco
   int reserved, use_outlines;
   gboolean has_font, has_color, has_max_length, has_layout, has_text;
   SwfdecBits *b = &s->b;
-  
+
   id = swfdec_bits_get_u16 (b);
   SWFDEC_LOG ("  id = %u", id);
   text = swfdec_swf_decoder_create_character (s, id, SWFDEC_TYPE_EDIT_TEXT);
@@ -106,12 +167,13 @@ tag_func_define_edit_text (SwfdecSwfDeco
   text->wrap = swfdec_bits_getbit (b);
   text->multiline = swfdec_bits_getbit (b);
   text->password = swfdec_bits_getbit (b);
-  text->readonly = swfdec_bits_getbit (b);
+  text->input = !swfdec_bits_getbit (b);
   has_color = swfdec_bits_getbit (b);
   has_max_length = swfdec_bits_getbit (b);
   has_font = swfdec_bits_getbit (b);
   reserved = swfdec_bits_getbit (b);
-  text->autosize = swfdec_bits_getbit (b);
+  text->auto_size =
+    (swfdec_bits_getbit (b) ? SWFDEC_AUTO_SIZE_LEFT : SWFDEC_AUTO_SIZE_NONE);
   has_layout = swfdec_bits_getbit (b);
   text->selectable = !swfdec_bits_getbit (b);
   text->border = swfdec_bits_getbit (b);
@@ -146,16 +208,16 @@ tag_func_define_edit_text (SwfdecSwfDeco
     guint align = swfdec_bits_get_u8 (b);
     switch (align) {
       case 0:
-	text->align = PANGO_ALIGN_LEFT;
+	text->align = SWFDEC_TEXT_ALIGN_LEFT;
 	break;
       case 1:
-	text->align = PANGO_ALIGN_RIGHT;
+	text->align = SWFDEC_TEXT_ALIGN_RIGHT;
 	break;
       case 2:
-	text->align = PANGO_ALIGN_CENTER;
+	text->align = SWFDEC_TEXT_ALIGN_CENTER;
 	break;
       case 3:
-	text->justify = TRUE;
+	text->align = SWFDEC_TEXT_ALIGN_JUSTIFY;
 	break;
       default:
 	SWFDEC_ERROR ("undefined align value %u", align);
@@ -172,7 +234,7 @@ tag_func_define_edit_text (SwfdecSwfDeco
     text->variable = NULL;
   }
   if (has_text)
-    text->text = swfdec_bits_get_string (b);
+    text->text_input = swfdec_bits_get_string (b);
 
   return SWFDEC_STATUS_OK;
 }
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index be38c4d..e991f9b 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -25,6 +25,7 @@
 #include <libswfdec/swfdec_color.h>
 #include <libswfdec/swfdec_graphic.h>
 #include <libswfdec/swfdec_player.h>
+#include <libswfdec/swfdec_text_format.h>
 
 G_BEGIN_DECLS
 
@@ -38,36 +39,60 @@ typedef struct _SwfdecEditTextClass Swfd
 #define SWFDEC_EDIT_TEXT(obj)                    (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_EDIT_TEXT, SwfdecEditText))
 #define SWFDEC_EDIT_TEXT_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_EDIT_TEXT, SwfdecEditTextClass))
 
+typedef struct {
+  const char		*text;
+  int			text_length;
+
+  gboolean		bullet;
+  int			indent;
+  int			leading;
+  int			block_indent;
+  int			left_margin;
+  int			right_margin;
+  int			spacing;
+  PangoTabArray *	tabs;
+
+  PangoAttrList *	attrs;
+  PangoAlignment	align;
+  gboolean		justify;
+} SwfdecTextRenderBlock;
+
+typedef enum {
+  SWFDEC_AUTO_SIZE_NONE,
+  SWFDEC_AUTO_SIZE_LEFT,
+  SWFDEC_AUTO_SIZE_CENTER,
+  SWFDEC_AUTO_SIZE_RIGHT
+} SwfdecAutoSize;
+
 struct _SwfdecEditText
 {
   SwfdecGraphic		graphic;
 
-  /* text info */
-  char *		text;		/* initial displayed text or NULL if none */
-  gboolean		password;	/* if text is a password and should be displayed as '*' */
-  guint		max_length;	/* maximum number of characters */
-  gboolean		html;		/* text is pseudo-html */
+  gboolean		html;
+
+  gboolean		input;
+  gboolean		password;
+  guint			max_length;
+  gboolean		selectable;
+
+  SwfdecFont *	  	font;
 
-  /* layout info */
-  SwfdecFont *	  	font;		/* font or NULL for default */
   gboolean		wrap;
   gboolean		multiline;
-  PangoAlignment	align;
-  gboolean		justify;
-  guint		indent;		/* first line indentation */
-  int			spacing;	/* spacing between lines */
-  /* visual info */
-  SwfdecColor		color;		/* text color */
-  gboolean		selectable;
-  gboolean		border;		/* draw a border around the text field */
-  guint		height;
-  guint		left_margin;
-  guint		right_margin;
-  gboolean		autosize;	/* FIXME: implement */
-
-  /* variable info */
-  char *		variable;	/* full name of the variable in dot notation */
-  gboolean		readonly;
+  SwfdecAutoSize	auto_size;
+
+  gboolean		border;
+  guint			height;
+
+  /* only to be passed to the movie object */
+  char *		text_input;
+  char *		variable;
+  SwfdecColor		color;
+  SwfdecTextAlign	align;
+  guint			left_margin;
+  guint			right_margin;
+  guint			indent;
+  int			spacing;
 };
 
 struct _SwfdecEditTextClass
@@ -88,7 +113,7 @@ SwfdecParagraph *	swfdec_paragraph_text_
 void			swfdec_paragraph_free		(SwfdecParagraph *	paragraphs);
 void			swfdec_edit_text_render		(SwfdecEditText *	text,
 							 cairo_t *		cr,
-							 const SwfdecParagraph *	paragraph,
+							 const SwfdecTextRenderBlock *	blocks,
 							 const SwfdecColorTransform *	trans,
 							 const SwfdecRect *	rect,
 							 gboolean		fill);
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 0613025..6a8aae9 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -21,9 +21,12 @@
 #include "config.h"
 #endif
 
+#include <string.h>
+
 #include "swfdec_edittext_movie.h"
 #include "swfdec_as_context.h"
 #include "swfdec_as_strings.h"
+#include "swfdec_text_format.h"
 #include "swfdec_debug.h"
 #include "swfdec_player_internal.h"
 
@@ -38,7 +41,111 @@ swfdec_edit_text_movie_update_extents (S
 }
 
 static void
-swfdec_edit_text_movie_render (SwfdecMovie *movie, cairo_t *cr, 
+swfdec_edit_text_movie_generate_render_blocks (SwfdecEditTextMovie *text)
+{
+  SwfdecFormatIndex *findex;
+  GSList *iter, *start;
+  PangoAttribute *attr;
+  const char *p, *end;
+  int i, lines;
+  guint start_index, end_index, findex_end_index;
+
+  lines = 0;
+  p = text->text_display;
+  while (p != NULL && *p != '\0') {
+    lines++;
+    p = strchr (p, '\n');
+    if (p != NULL) p++;
+  }
+
+  text->blocks = g_new0 (SwfdecTextRenderBlock, lines + 1);
+
+  if (lines == 0)
+    return;
+
+  i = 0;
+  start = text->formats;
+  p = text->text_display;
+  while (*p != '\0') {
+    g_assert (i < lines);
+    end = strchr (p, '\n');
+    if (end == NULL)
+      end = strchr (p, '\0');
+
+    start_index = p - text->text_display;
+    end_index = end - text->text_display;
+
+    text->blocks[i].text = p;
+    text->blocks[i].text_length = end - p;
+    text->blocks[i].attrs = pango_attr_list_new ();
+
+    while (start->next != NULL &&
+	((SwfdecFormatIndex *)(start->next))->index < start_index) {
+      start = start->next;
+    }
+
+    // things we only set on start of paragraph
+    findex = start->data;
+    switch (findex->format->align) {
+      case SWFDEC_TEXT_ALIGN_LEFT:
+	text->blocks[i].align = PANGO_ALIGN_LEFT;
+	text->blocks[i].justify = FALSE;
+	break;
+      case SWFDEC_TEXT_ALIGN_RIGHT:
+	text->blocks[i].align = PANGO_ALIGN_RIGHT;
+	text->blocks[i].justify = FALSE;
+	break;
+      case SWFDEC_TEXT_ALIGN_CENTER:
+	text->blocks[i].align = PANGO_ALIGN_CENTER;
+	text->blocks[i].justify = FALSE;
+	break;
+      case SWFDEC_TEXT_ALIGN_JUSTIFY:
+	text->blocks[i].align = PANGO_ALIGN_LEFT;
+	text->blocks[i].justify = TRUE;
+	break;
+    }
+    text->blocks[i].bullet = findex->format->bullet;
+    text->blocks[i].indent = findex->format->indent;
+    text->blocks[i].leading = findex->format->leading;
+    text->blocks[i].block_indent = findex->format->block_indent;
+    text->blocks[i].left_margin = findex->format->left_margin;
+    text->blocks[i].right_margin = findex->format->right_margin;
+    text->blocks[i].spacing = findex->format->letter_spacing;
+    //PangoTabArray *	tabs;
+
+    for (iter = start;
+	iter != NULL && ((SwfdecFormatIndex *)iter)->index < end_index;
+	iter = iter->next)
+    {
+      findex = iter->data;
+      g_assert (findex != NULL);
+      g_assert (SWFDEC_IS_TEXT_FORMAT (findex->format));
+
+      findex_end_index = (iter->next != NULL ?
+	  ((SwfdecFormatIndex *)(iter->next))->index :
+	  strlen (text->text_display));
+
+      g_print (":: %i - %i\n", findex->index, findex_end_index);
+
+      attr = pango_attr_size_new_absolute (findex->format->size * 20 * PANGO_SCALE);
+      attr->start_index = (findex->index < start_index ?
+	  0 : findex->index - start_index);
+      attr->end_index = (findex_end_index > end_index ?
+	  end_index - start_index : findex_end_index - start_index);
+      pango_attr_list_change (text->blocks[i].attrs, attr);
+      g_print (":: %i-%i :: %i\n", attr->start_index, attr->end_index, findex->format->size);
+    };
+
+    p = end;
+    if (*p != '\0') p++;
+    i++;
+  }
+
+  g_print (":: %s\n", text->blocks[0].text);
+}
+
+static void
+swfdec_edit_text_movie_render (SwfdecMovie *movie, cairo_t *cr,
     const SwfdecColorTransform *trans, const SwfdecRect *inval, gboolean fill)
 {
   SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (movie);
@@ -49,22 +156,46 @@ swfdec_edit_text_movie_render (SwfdecMov
 	movie->extents.y1 - movie->extents.y0);
     return;
   }
-  if (text->paragraph == NULL)
+
+  if (text->blocks == NULL)
+    swfdec_edit_text_movie_generate_render_blocks (text);
+
+  if (text->blocks[0].text == NULL)
     return;
-  swfdec_edit_text_render (text->text, cr, text->paragraph, trans, inval, fill);
+  swfdec_edit_text_render (text->text, cr, text->blocks, trans, inval, fill);
+}
+
+void
+swfdec_edit_text_movie_format_changed (SwfdecEditTextMovie *text)
+{
+  int i;
+
+  if (text->blocks != NULL) {
+    for (i = 0; text->blocks[i].text != NULL; i++) {
+      // tabs
+      pango_attr_list_unref (text->blocks[i].attrs);
+    }
+    g_free (text->blocks);
+    text->blocks = NULL;
+  }
 }
 
 static void
 swfdec_edit_text_movie_dispose (GObject *object)
 {
-  SwfdecEditTextMovie *movie = SWFDEC_EDIT_TEXT_MOVIE (object);
+  int i;
+  SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (object);
 
-  if (movie->paragraph) {
-    swfdec_paragraph_free (movie->paragraph);
-    movie->paragraph = NULL;
+  if (text->blocks) {
+    for (i = 0; text->blocks[i].text != NULL; i++) {
+      if (text->blocks[i].attrs != NULL)
+	pango_attr_list_unref (text->blocks[i].attrs);
+      if (text->blocks[i].tabs != NULL)
+	pango_tab_array_free (text->blocks[i].tabs);
+    }
+    g_free (text->blocks);
+    text->blocks = NULL;
   }
-  g_free (movie->str);
-  movie->str = NULL;
 
   G_OBJECT_CLASS (swfdec_edit_text_movie_parent_class)->dispose (object);
 }
@@ -87,7 +218,7 @@ swfdec_edit_text_movie_iterate (SwfdecMo
 
   s = swfdec_as_value_to_string (parent->context, &val);
   g_assert (s);
-  if (text->str && g_str_equal (s, text->str))
+  if (text->text_input == s)
     return;
 
   swfdec_edit_text_movie_set_text (text, s);
@@ -97,30 +228,52 @@ static void
 swfdec_edit_text_movie_init_movie (SwfdecMovie *movie)
 {
   SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (movie);
+  SwfdecAsContext *cx;
   SwfdecAsObject *parent;
   SwfdecAsValue val = { 0, };
   const char *s;
 
-  if (text->text->variable == NULL)
-    return;
+  cx = SWFDEC_AS_OBJECT (movie)->context;
 
-  parent = SWFDEC_AS_OBJECT (movie->parent);
-  swfdec_as_context_eval (parent->context, parent, text->text->variable, &val);
-  if (!SWFDEC_AS_VALUE_IS_UNDEFINED (&val)) {
-    s = swfdec_as_value_to_string (parent->context, &val);
-    g_assert (s);
-    if (text->str && g_str_equal (s, text->str))
-      return;
-
-    swfdec_edit_text_movie_set_text (text, s);
-    return;
+  // format
+  text->format_new = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (cx));
+  swfdec_text_format_set_defaults (text->format_new);
+  text->format_new->align = text->text->align;
+  /*SwfdecColor		color;
+  SwfdecTextAlign	align;
+  guint			left_margin;
+  guint			right_margin;
+  guint			indent;
+  int			spacing;*/
+
+  // text
+  if (text->text->text_input != NULL) {
+    swfdec_edit_text_movie_set_text (text,
+	swfdec_as_context_get_string (cx, text->text->text_input));
   }
 
-  SWFDEC_LOG ("setting variable %s to \"%s\"", text->text->variable, 
-      text->str ? text->str : "");
-  s = text->str ? swfdec_as_context_get_string (parent->context, text->str) : SWFDEC_AS_STR_EMPTY;
-  SWFDEC_AS_VALUE_SET_STRING (&val, s);
-  swfdec_as_context_eval_set (parent->context, parent, text->text->variable, &val);
+  // variable
+  if (text->text->variable != NULL)
+  {
+    text->variable = swfdec_as_context_get_string (cx, text->text->variable);
+
+    parent = SWFDEC_AS_OBJECT (movie->parent);
+    swfdec_as_context_eval (parent->context, parent, text->variable, &val);
+    if (!SWFDEC_AS_VALUE_IS_UNDEFINED (&val)) {
+      s = swfdec_as_value_to_string (parent->context, &val);
+      g_assert (s);
+      if (text->text_input != s)
+	swfdec_edit_text_movie_set_text (text, s);
+    } else {
+      SWFDEC_LOG ("setting variable %s to \"%s\"", text->variable,
+	  text->text_input ? text->text_input : "");
+      s = text->text_input ? swfdec_as_context_get_string (parent->context,
+	  text->text_input) : SWFDEC_AS_STR_EMPTY;
+      SWFDEC_AS_VALUE_SET_STRING (&val, s);
+      swfdec_as_context_eval_set (parent->context, parent, text->variable,
+	  &val);
+    }
+  }
 }
 
 static void
@@ -138,28 +291,46 @@ swfdec_edit_text_movie_class_init (Swfde
 }
 
 static void
-swfdec_edit_text_movie_init (SwfdecEditTextMovie *movie)
+swfdec_edit_text_movie_init (SwfdecEditTextMovie *text)
 {
 }
 
 void
-swfdec_edit_text_movie_set_text (SwfdecEditTextMovie *movie, const char *str)
+swfdec_edit_text_movie_set_text (SwfdecEditTextMovie *text, const char *str)
 {
-  g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (movie));
+  SwfdecFormatIndex *block;
+  GSList *iter;
 
-  if (movie->paragraph) {
-    swfdec_paragraph_free (movie->paragraph);
-  }
-  g_free (movie->str);
-  movie->str = g_strdup (str);
-  if (movie->str) {
-    if (movie->text->html)
-      movie->paragraph = swfdec_paragraph_html_parse (movie->text, movie->str);
-    else
-      movie->paragraph = swfdec_paragraph_text_parse (movie->text, movie->str);
-  } else {
-    movie->paragraph = NULL;
+  g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+
+  g_print ("SET_TEXT!\n");
+
+  text->text_input = str;
+
+  // remove old formatting info
+  iter = text->formats;
+  while (iter) {
+    g_free (iter->data);
+    iter = g_slist_next (iter);
   }
-  swfdec_movie_invalidate (SWFDEC_MOVIE (movie));
-}
+  g_slist_free (text->formats);
+  text->formats = NULL;
+
+  // add the default style
+  block = g_new (SwfdecFormatIndex, 1);
+  block->index = 0;
+  g_assert (SWFDEC_IS_TEXT_FORMAT (text->format_new));
+  block->format = text->format_new;
+  text->formats = g_slist_prepend (text->formats, block);
+
+  //if (text->text->html == FALSE) {
+    text->text_display = str;
+  /*} else {
+    swfdec_edit_text_text_parse_html (str, &text->text_display,
+	&text->formats);
+  }*/
 
+  swfdec_edit_text_movie_generate_render_blocks (text);
+
+  swfdec_movie_invalidate (SWFDEC_MOVIE (text));
+}
diff --git a/libswfdec/swfdec_edittext_movie.h b/libswfdec/swfdec_edittext_movie.h
index 4f4ed64..e5a5869 100644
--- a/libswfdec/swfdec_edittext_movie.h
+++ b/libswfdec/swfdec_edittext_movie.h
@@ -22,6 +22,8 @@
 
 #include <libswfdec/swfdec_movie.h>
 #include <libswfdec/swfdec_edittext.h>
+#include <libswfdec/swfdec_style_sheet.h>
+#include <libswfdec/swfdec_text_format.h>
 
 G_BEGIN_DECLS
 
@@ -35,12 +37,51 @@ typedef struct _SwfdecEditTextMovieClass
 #define SWFDEC_EDIT_TEXT_MOVIE(obj)                    (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_EDIT_TEXT_MOVIE, SwfdecEditTextMovie))
 #define SWFDEC_EDIT_TEXT_MOVIE_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_EDIT_TEXT_MOVIE, SwfdecEditTextMovieClass))
 
+typedef struct {
+  guint			index;
+  SwfdecTextFormat *	format;
+} SwfdecFormatIndex;
+
+typedef enum {
+  SWFDEC_ANTI_ALIAS_TYPE_NORMAL,
+  SWFDEC_ANTI_ALIAS_TYPE_ADVANCED
+} SwfdecAntiAliasType;
+
+typedef enum {
+  SWFDEC_GRID_FIT_TYPE_NONE,
+  SWFDEC_GRID_FIT_TYPE_PIXEL,
+  SWFDEC_GRID_FIT_TYPE_SUBPIXEL
+} SwfdecGridFitType;
+
 struct _SwfdecEditTextMovie {
   SwfdecMovie		movie;
 
   SwfdecEditText *	text;		/* the edit_text object we render */
-  char *		str;		/* the string that gets rendered */
-  SwfdecParagraph *	paragraph;	/* edit_text parsed to paragraph */
+
+  const char *		text_input;
+  const char *		text_display;
+
+  const char *		variable;
+
+  SwfdecTextFormat *	format_new;
+  GSList *		formats;
+
+  SwfdecAntiAliasType	anti_alias_type;
+  gboolean		background_fill;
+  guint			border_color;
+  gboolean		condense_white;
+  gboolean		embed_fonts;
+  SwfdecGridFitType	grid_fit_type;
+  guint			hscroll;
+  gboolean		mouse_wheel_enabled;
+  const char *		restrict_;
+  guint			scroll;
+  int			sharpness;
+  SwfdecStyleSheet *	style_sheet;
+  int			thickness;
+
+  /* for rendering */
+  SwfdecTextRenderBlock *blocks;
 };
 
 struct _SwfdecEditTextMovieClass {
@@ -51,6 +92,7 @@ GType		swfdec_edit_text_movie_get_type		
 
 void		swfdec_edit_text_movie_set_text		(SwfdecEditTextMovie *	movie,
 							 const char *		str);
+void		swfdec_edit_text_movie_format_changed	(SwfdecEditTextMovie *	text);
 
 G_END_DECLS
 #endif
diff --git a/test/dump.c b/test/dump.c
index f91c4f8..9543418 100644
--- a/test/dump.c
+++ b/test/dump.c
@@ -230,7 +230,7 @@ dump_shape (SwfdecShape *shape)
 static void
 dump_edit_text (SwfdecEditText *text)
 {
-  g_print ("  %s\n", text->text ? text->text : "");
+  g_print ("  %s\n", text->text_input ? text->text_input : "");
   if (verbose) {
     if (text->variable)
       g_print ("  variable %s\n", text->variable);
diff-tree 849f5a1b22fc821d0f9d3b4ddf8066b99d951512 (from 165881ed0ac89d6b7fce24603d0d04e213e04669)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 5 13:25:19 2007 +0300

    Forgot to add setTextFormat to .as file

diff --git a/libswfdec/swfdec_initialize.as b/libswfdec/swfdec_initialize.as
index 267dc33..82abb91 100644
--- a/libswfdec/swfdec_initialize.as
+++ b/libswfdec/swfdec_initialize.as
@@ -278,6 +278,7 @@ ASSetPropFlags (MovieClip.prototype, nul
 /* TextField */
 
 TextField = ASconstructor (104, 0);
+TextField.prototype.setTextFormat = ASnative (104, 102);
 
 /* TextFormat */
 
diff --git a/libswfdec/swfdec_initialize.h b/libswfdec/swfdec_initialize.h
index f019e11..f29de69 100644
--- a/libswfdec/swfdec_initialize.h
+++ b/libswfdec/swfdec_initialize.h
@@ -2,7 +2,7 @@
 
 /* compiled from swfdec_initialize.as */
 const unsigned char swfdec_initialize[] = {
-  0x88, 0xC1, 0x06, 0xB2,  0x00, 0x41, 0x53, 0x53,  0x65, 0x74, 0x4E, 0x61,  0x74, 0x69, 0x76, 0x65,
+  0x88, 0xCF, 0x06, 0xB3,  0x00, 0x41, 0x53, 0x53,  0x65, 0x74, 0x4E, 0x61,  0x74, 0x69, 0x76, 0x65,
   0x00, 0x41, 0x53, 0x6E,  0x61, 0x74, 0x69, 0x76,  0x65, 0x00, 0x41, 0x53,  0x53, 0x65, 0x74, 0x4E,
   0x61, 0x74, 0x69, 0x76,  0x65, 0x41, 0x63, 0x63,  0x65, 0x73, 0x73, 0x6F,  0x72, 0x00, 0x4F, 0x62,
   0x6A, 0x65, 0x63, 0x74,  0x00, 0x72, 0x65, 0x67,  0x69, 0x73, 0x74, 0x65,  0x72, 0x43, 0x6C, 0x61,
@@ -77,446 +77,449 @@ const unsigned char swfdec_initialize[] 
   0x43, 0x6C, 0x69, 0x70,  0x00, 0x63, 0x72, 0x65,  0x61, 0x74, 0x65, 0x54,  0x65, 0x78, 0x74, 0x46,
   0x69, 0x65, 0x6C, 0x64,  0x00, 0x67, 0x65, 0x74,  0x44, 0x65, 0x70, 0x74,  0x68, 0x2C, 0x63, 0x72,
   0x65, 0x61, 0x74, 0x65,  0x45, 0x6D, 0x70, 0x74,  0x79, 0x4D, 0x6F, 0x76,  0x69, 0x65, 0x43, 0x6C,
-  0x69, 0x70, 0x00, 0x54,  0x65, 0x78, 0x74, 0x46,  0x69, 0x65, 0x6C, 0x64,  0x00, 0x54, 0x65, 0x78,
-  0x74, 0x46, 0x6F, 0x72,  0x6D, 0x61, 0x74, 0x00,  0x53, 0x74, 0x79, 0x6C,  0x65, 0x53, 0x68, 0x65,
-  0x65, 0x74, 0x00, 0x5F,  0x63, 0x6F, 0x70, 0x79,  0x00, 0x6F, 0x62, 0x6A,  0x65, 0x63, 0x74, 0x00,
-  0x6F, 0x5F, 0x6E, 0x65,  0x77, 0x00, 0x70, 0x72,  0x6F, 0x70, 0x00, 0x63,  0x6C, 0x65, 0x61, 0x72,
-  0x00, 0x5F, 0x63, 0x73,  0x73, 0x00, 0x5F, 0x73,  0x74, 0x79, 0x6C, 0x65,  0x73, 0x00, 0x67, 0x65,
-  0x74, 0x53, 0x74, 0x79,  0x6C, 0x65, 0x00, 0x6E,  0x61, 0x6D, 0x65, 0x00,  0x73, 0x65, 0x74, 0x53,
-  0x74, 0x79, 0x6C, 0x65,  0x00, 0x73, 0x74, 0x79,  0x6C, 0x65, 0x00, 0x64,  0x6F, 0x54, 0x72, 0x61,
-  0x6E, 0x73, 0x66, 0x6F,  0x72, 0x6D, 0x00, 0x67,  0x65, 0x74, 0x53, 0x74,  0x79, 0x6C, 0x65, 0x4E,
-  0x61, 0x6D, 0x65, 0x73,  0x00, 0x74, 0x6D, 0x70,  0x00, 0x6E, 0x61, 0x6D,  0x65, 0x73, 0x00, 0x74,
-  0x72, 0x61, 0x6E, 0x73,  0x66, 0x6F, 0x72, 0x6D,  0x00, 0x66, 0x6F, 0x72,  0x6D, 0x61, 0x74, 0x00,
-  0x74, 0x65, 0x78, 0x74,  0x41, 0x6C, 0x69, 0x67,  0x6E, 0x00, 0x61, 0x6C,  0x69, 0x67, 0x6E, 0x00,
-  0x66, 0x6F, 0x6E, 0x74,  0x57, 0x65, 0x69, 0x67,  0x68, 0x74, 0x00, 0x62,  0x6F, 0x6C, 0x64, 0x00,
-  0x6E, 0x6F, 0x72, 0x6D,  0x61, 0x6C, 0x00, 0x63,  0x6F, 0x6C, 0x6F, 0x72,  0x00, 0x70, 0x61, 0x72,
-  0x73, 0x65, 0x43, 0x6F,  0x6C, 0x6F, 0x72, 0x00,  0x64, 0x69, 0x73, 0x70,  0x6C, 0x61, 0x79, 0x00,
-  0x66, 0x6F, 0x6E, 0x74,  0x46, 0x61, 0x6D, 0x69,  0x6C, 0x79, 0x00, 0x66,  0x6F, 0x6E, 0x74, 0x00,
-  0x70, 0x61, 0x72, 0x73,  0x65, 0x43, 0x53, 0x53,  0x46, 0x6F, 0x6E, 0x74,  0x46, 0x61, 0x6D, 0x69,
-  0x6C, 0x79, 0x00, 0x74,  0x65, 0x78, 0x74, 0x49,  0x6E, 0x64, 0x65, 0x6E,  0x74, 0x00, 0x69, 0x6E,
-  0x64, 0x65, 0x6E, 0x74,  0x00, 0x70, 0x61, 0x72,  0x73, 0x65, 0x49, 0x6E,  0x74, 0x00, 0x66, 0x6F,
-  0x6E, 0x74, 0x53, 0x74,  0x79, 0x6C, 0x65, 0x00,  0x69, 0x74, 0x61, 0x6C,  0x69, 0x63, 0x00, 0x6B,
-  0x65, 0x72, 0x6E, 0x69,  0x6E, 0x67, 0x00, 0x74,  0x72, 0x75, 0x65, 0x00,  0x66, 0x61, 0x6C, 0x73,
-  0x65, 0x00, 0x6C, 0x65,  0x61, 0x64, 0x69, 0x6E,  0x67, 0x00, 0x6D, 0x61,  0x72, 0x67, 0x69, 0x6E,
-  0x4C, 0x65, 0x66, 0x74,  0x00, 0x6C, 0x65, 0x66,  0x74, 0x4D, 0x61, 0x72,  0x67, 0x69, 0x6E, 0x00,
-  0x6C, 0x65, 0x74, 0x74,  0x65, 0x72, 0x53, 0x70,  0x61, 0x63, 0x69, 0x6E,  0x67, 0x00, 0x6D, 0x61,
-  0x72, 0x67, 0x69, 0x6E,  0x52, 0x69, 0x67, 0x68,  0x74, 0x00, 0x72, 0x69,  0x67, 0x68, 0x74, 0x4D,
-  0x61, 0x72, 0x67, 0x69,  0x6E, 0x00, 0x66, 0x6F,  0x6E, 0x74, 0x53, 0x69,  0x7A, 0x65, 0x00, 0x73,
-  0x69, 0x7A, 0x65, 0x00,  0x74, 0x65, 0x78, 0x74,  0x44, 0x65, 0x63, 0x6F,  0x72, 0x61, 0x74, 0x69,
-  0x6F, 0x6E, 0x00, 0x75,  0x6E, 0x64, 0x65, 0x72,  0x6C, 0x69, 0x6E, 0x65,  0x00, 0x6E, 0x6F, 0x6E,
-  0x65, 0x00, 0x70, 0x61,  0x72, 0x73, 0x65, 0x43,  0x53, 0x53, 0x00, 0x63,  0x73, 0x73, 0x00, 0x70,
-  0x61, 0x72, 0x73, 0x65,  0x43, 0x53, 0x53, 0x49,  0x6E, 0x74, 0x65, 0x72,  0x6E, 0x61, 0x6C, 0x00,
-  0x72, 0x65, 0x73, 0x75,  0x6C, 0x74, 0x00, 0x6E,  0x75, 0x6C, 0x6C, 0x00,  0x70, 0x61, 0x72, 0x73,
-  0x65, 0x00, 0x73, 0x65,  0x74, 0x49, 0x6E, 0x74,  0x65, 0x72, 0x76, 0x61,  0x6C, 0x00, 0x63, 0x6C,
-  0x65, 0x61, 0x72, 0x49,  0x6E, 0x74, 0x65, 0x72,  0x76, 0x61, 0x6C, 0x00,  0x73, 0x65, 0x74, 0x54,
-  0x69, 0x6D, 0x65, 0x6F,  0x75, 0x74, 0x00, 0x63,  0x6C, 0x65, 0x61, 0x72,  0x54, 0x69, 0x6D, 0x65,
-  0x6F, 0x75, 0x74, 0x00,  0x9B, 0x12, 0x00, 0x41,  0x73, 0x42, 0x72, 0x6F,  0x61, 0x64, 0x63, 0x61,
-  0x73, 0x74, 0x65, 0x72,  0x00, 0x00, 0x00, 0x00,  0x00, 0x9B, 0x0D, 0x00,  0x4C, 0x6F, 0x61, 0x64,
-  0x56, 0x61, 0x72, 0x73,  0x00, 0x00, 0x00, 0x00,  0x00, 0x96, 0x13, 0x00,  0x08, 0x00, 0x07, 0x00,
-  0x00, 0x00, 0x00, 0x07,  0x04, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
-  0x1D, 0x96, 0x13, 0x00,  0x08, 0x02, 0x07, 0x01,  0x00, 0x00, 0x00, 0x07,  0x04, 0x00, 0x00, 0x00,
-  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x1D, 0x96, 0x02, 0x00,  0x08, 0x03, 0x1C, 0x96,
-  0x13, 0x00, 0x08, 0x04,  0x07, 0x08, 0x00, 0x00,  0x00, 0x07, 0x65, 0x00,  0x00, 0x00, 0x07, 0x02,
-  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x08, 0x00, 0x07, 0x07,  0x00, 0x00, 0x00, 0x02,
-  0x08, 0x03, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,
-  0x02, 0x00, 0x08, 0x06,  0x1C, 0x96, 0x13, 0x00,  0x08, 0x07, 0x07, 0x0C,  0x00, 0x00, 0x00, 0x07,
-  0x65, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x06, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x08,  0x9B, 0x07, 0x00, 0x00,  0x01, 0x00, 0x78, 0x00,
-  0x3C, 0x00, 0x96, 0x02,  0x00, 0x08, 0x0A, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
-  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x0B,  0x52, 0x17, 0x96, 0x02,  0x00, 0x08, 0x0A, 0x1C,
-  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x0C,
-  0x4E, 0x96, 0x02, 0x00,  0x08, 0x0D, 0x52, 0x17,  0x96, 0x02, 0x00, 0x05,  0x01, 0x3E, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x06,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x0B, 0x9B, 0x07,  0x00, 0x00, 0x01, 0x00,
-  0x78, 0x00, 0x8F, 0x00,  0x96, 0x04, 0x00, 0x08,  0x0E, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x0C, 0x4E, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x0F,  0x41, 0x96, 0x07, 0x00,  0x08, 0x0F, 0x07, 0x00,
-  0x00, 0x00, 0x00, 0x3C,  0x99, 0x02, 0x00, 0x09,  0x00, 0x96, 0x02, 0x00,  0x08, 0x0F, 0x4C, 0x1C,
-  0x50, 0x1D, 0x96, 0x02,  0x00, 0x08, 0x0F, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x0E, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x10, 0x4E,  0x48, 0x12, 0x9D, 0x02,  0x00, 0x42, 0x00, 0x96,  0x02, 0x00, 0x08, 0x0E,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x0F, 0x1C, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x0A, 0x1C, 0x49, 0x12,
-  0x9D, 0x02, 0x00, 0x23,  0x00, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x0F, 0x1C,
-  0x96, 0x07, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x0E, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x11,
-  0x52, 0x17, 0x96, 0x02,  0x00, 0x05, 0x01, 0x3E,  0x99, 0x02, 0x00, 0x9C,  0xFF, 0x96, 0x02, 0x00,
-  0x05, 0x00, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x12, 0x9B,
-  0x07, 0x00, 0x00, 0x01,  0x00, 0x6F, 0x00, 0x73,  0x00, 0x96, 0x02, 0x00,  0x08, 0x13, 0x1C, 0x96,
-  0x13, 0x00, 0x08, 0x07,  0x07, 0x0C, 0x00, 0x00,  0x00, 0x07, 0x65, 0x00,  0x00, 0x00, 0x07, 0x02,
-  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x13,  0x1C, 0x96, 0x04, 0x00,
-  0x08, 0x08, 0x08, 0x06,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x08, 0x4E, 0x4F,  0x96, 0x02, 0x00, 0x08,
-  0x13, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x0B, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0B, 0x4E,
-  0x4F, 0x96, 0x02, 0x00,  0x08, 0x13, 0x1C, 0x96,  0x07, 0x00, 0x08, 0x0C,  0x07, 0x00, 0x00, 0x00,
-  0x00, 0x42, 0x4F, 0x96,  0x09, 0x00, 0x07, 0x83,  0x00, 0x00, 0x00, 0x08,  0x14, 0x08, 0x13, 0x1C,
-  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x4F, 0x96, 0x08, 0x00,
-  0x07, 0x83, 0x00, 0x00,  0x00, 0x02, 0x08, 0x06,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,
-  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x8C, 0x00,  0x08, 0x15, 0x08, 0x16,  0x07, 0x12, 0x00, 0x00,
-  0x00, 0x08, 0x17, 0x07,  0x08, 0x00, 0x00, 0x00,  0x08, 0x18, 0x07, 0x14,  0x00, 0x00, 0x00, 0x08,
-  0x19, 0x07, 0x11, 0x00,  0x00, 0x00, 0x08, 0x1A,  0x07, 0x2E, 0x00, 0x00,  0x00, 0x08, 0x1B, 0x07,
-  0x28, 0x00, 0x00, 0x00,  0x08, 0x1C, 0x07, 0x23,  0x00, 0x00, 0x00, 0x08,  0x1D, 0x07, 0x0D, 0x00,
-  0x00, 0x00, 0x08, 0x1E,  0x07, 0x1B, 0x00, 0x00,  0x00, 0x08, 0x1F, 0x07,  0x24, 0x00, 0x00, 0x00,
-  0x08, 0x20, 0x07, 0x2D,  0x00, 0x00, 0x00, 0x08,  0x21, 0x07, 0x25, 0x00,  0x00, 0x00, 0x08, 0x22,
-  0x07, 0x22, 0x00, 0x00,  0x00, 0x08, 0x23, 0x07,  0x21, 0x00, 0x00, 0x00,  0x08, 0x24, 0x07, 0x27,
-  0x00, 0x00, 0x00, 0x08,  0x25, 0x07, 0x10, 0x00,  0x00, 0x00, 0x08, 0x26,  0x07, 0x20, 0x00, 0x00,
-  0x00, 0x08, 0x27, 0x07,  0x09, 0x00, 0x00, 0x00,  0x08, 0x28, 0x07, 0x26,  0x00, 0x00, 0x00, 0x07,
-  0x13, 0x00, 0x00, 0x00,  0x43, 0x1D, 0x96, 0x09,  0x00, 0x08, 0x29, 0x07,  0x20, 0x03, 0x00, 0x00,
-  0x08, 0x15, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x00, 0x3D, 0x17, 0x96,
-  0x02, 0x00, 0x08, 0x15,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x06, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x12, 0x52, 0x17, 0x96,  0x08, 0x00, 0x07, 0x07,  0x00, 0x00, 0x00, 0x02,
-  0x08, 0x15, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,
-  0x07, 0x00, 0x08, 0x2A,  0x07, 0x00, 0x00, 0x00,  0x00, 0x43, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x2A,
-  0x1C, 0x96, 0x13, 0x00,  0x08, 0x2B, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,  0x05, 0x00, 0x00, 0x00,
-  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2A, 0x1C, 0x96,
-  0x13, 0x00, 0x08, 0x2C,  0x07, 0x01, 0x00, 0x00,  0x00, 0x07, 0x05, 0x00,  0x00, 0x00, 0x07, 0x02,
-  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2A,  0x1C, 0x96, 0x07, 0x00,
-  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x06, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x12, 0x52, 0x17, 0x96,
-  0x08, 0x00, 0x07, 0x07,  0x00, 0x00, 0x00, 0x02,  0x08, 0x2A, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,
-  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,  0x07, 0x00, 0x08, 0x2D,  0x07, 0x00, 0x00, 0x00,
-  0x00, 0x43, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x2D,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,
-  0x00, 0x08, 0x06, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x12, 0x52, 0x17, 0x96,  0x0E, 0x00, 0x07, 0x01,
-  0x00, 0x00, 0x00, 0x08,  0x2E, 0x07, 0x9A, 0x02,  0x00, 0x00, 0x08, 0x2D,  0x1C, 0x96, 0x07, 0x00,
-  0x07, 0x04, 0x00, 0x00,  0x00, 0x08, 0x02, 0x3D,  0x17, 0x96, 0x02, 0x00,  0x08, 0x2F, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x04, 0x00,  0x08, 0x31, 0x08, 0x32,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x33, 0x07, 0x00,
-  0x00, 0x00, 0x00, 0x07,  0x2D, 0x01, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
-  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
-  0x08, 0x34, 0x07, 0x03,  0x00, 0x00, 0x00, 0x07,  0x2D, 0x01, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
-  0x4E, 0x96, 0x02, 0x00,  0x08, 0x35, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x36,
-  0x9B, 0x09, 0x00, 0x00,  0x01, 0x00, 0x73, 0x72,  0x63, 0x00, 0x64, 0x00,  0x96, 0x02, 0x00, 0x08,
-  0x09, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x37, 0x05,  0x01, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x38, 0x1C,
-  0x96, 0x01, 0x00, 0x02,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x19, 0x00, 0x96,  0x09, 0x00, 0x05, 0x00,
-  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x35, 0x52, 0x17, 0x99,
-  0x02, 0x00, 0x2C, 0x00,  0x96, 0x02, 0x00, 0x08,  0x38, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
-  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x34, 0x52, 0x17,  0x96, 0x09, 0x00, 0x05,
-  0x01, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x35, 0x52, 0x17,
-  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,
-  0x08, 0x39, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,  0xB3, 0x00, 0x96, 0x03,  0x00, 0x08, 0x3A, 0x02,
-  0x3C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x46, 0x87,  0x01, 0x00, 0x00, 0x96,  0x01, 0x00, 0x02, 0x49,
-  0x9D, 0x02, 0x00, 0x91,  0x00, 0x96, 0x04, 0x00,  0x08, 0x0A, 0x04, 0x00,  0x3C, 0x96, 0x02, 0x00,
-  0x08, 0x3A, 0x1C, 0x96,  0x01, 0x00, 0x02, 0x49,  0x9D, 0x02, 0x00, 0x41,  0x00, 0x96, 0x02, 0x00,
-  0x08, 0x3A, 0x4C, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x3D, 0x08, 0x0A, 0x1C,  0x96, 0x07, 0x00, 0x07,
-  0x01, 0x00, 0x00, 0x00,  0x08, 0x3B, 0x3D, 0x47,  0x96, 0x02, 0x00, 0x08,  0x3C, 0x47, 0x96, 0x02,
-  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x0A, 0x1C, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,
-  0x00, 0x00, 0x00, 0x08,  0x3B, 0x3D, 0x47, 0x47,  0x1D, 0x99, 0x02, 0x00,  0x33, 0x00, 0x96, 0x04,
-  0x00, 0x08, 0x3A, 0x08,  0x0A, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x3B,
-  0x3D, 0x96, 0x02, 0x00,  0x08, 0x3C, 0x47, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x0A, 0x1C, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x3B, 0x3D, 0x47,
-  0x1D, 0x99, 0x02, 0x00,  0x61, 0xFF, 0x96, 0x02,  0x00, 0x08, 0x3A, 0x1C,  0x3E, 0x4F, 0x96, 0x02,
-  0x00, 0x08, 0x2F, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x3E, 0x9B,
-  0x05, 0x00, 0x00, 0x00,  0x00, 0x0D, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x3F, 0x4E, 0x3E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
-  0x4E, 0x96, 0x02, 0x00,  0x08, 0x40, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,  0x0D, 0x00, 0x96, 0x02,
-  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x41, 0x4E, 0x3E, 0x4F,  0x96, 0x08, 0x00, 0x07,
-  0x83, 0x00, 0x00, 0x00,  0x02, 0x08, 0x2F, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x07,
-  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x13,  0x00, 0x08, 0x42, 0x07,
-  0x00, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,
-  0x3D, 0x1D, 0x96, 0x02,  0x00, 0x08, 0x42, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
-  0x00, 0x08, 0x44, 0x07,  0x01, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
-  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x42, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x45, 0x07,  0x02, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,
-  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x42, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x46, 0x07,  0x03, 0x00, 0x00, 0x00,
-  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
-  0x00, 0x08, 0x42, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x47, 0x07,
-  0x04, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
-  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x42, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
-  0x00, 0x08, 0x48, 0x07,  0x05, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
-  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x42, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x39, 0x07,  0x06, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,
-  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x42, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x49, 0x07,  0x07, 0x00, 0x00, 0x00,
-  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
-  0x00, 0x08, 0x42, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x4A, 0x07,
-  0x08, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
-  0x3D, 0x4F, 0x96, 0x13,  0x00, 0x08, 0x4B, 0x07,  0x09, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,
-  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,  0x3D, 0x1D, 0x96, 0x02,  0x00, 0x08, 0x4B, 0x1C,
-  0x96, 0x10, 0x00, 0x08,  0x30, 0x08, 0x4C, 0x07,  0x01, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-  0x00, 0x08, 0x42, 0x40,  0x4F, 0x96, 0x09, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x30, 0x08,
-  0x4B, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x02,
-  0x00, 0x08, 0x4B, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x33, 0x07,
-  0x00, 0x00, 0x00, 0x00,  0x07, 0x2D, 0x01, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,
-  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x4B, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
-  0x00, 0x08, 0x4D, 0x07,  0x0A, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
-  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x4B, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x4E, 0x07,  0x0B, 0x00, 0x00, 0x00,  0x07, 0xFD, 0x00, 0x00,
-  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x4B, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x4F, 0x07,  0x0C, 0x00, 0x00, 0x00,
-  0x07, 0xFD, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
-  0x00, 0x08, 0x4B, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x35, 0x9B,
-  0x05, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x4B, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x36, 0x9B, 0x09, 0x00,  0x00, 0x01, 0x00, 0x73,
-  0x72, 0x63, 0x00, 0x72,  0x00, 0x96, 0x02, 0x00,  0x08, 0x38, 0x1C, 0x96,  0x01, 0x00, 0x02, 0x49,
-  0x12, 0x9D, 0x02, 0x00,  0x27, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x04, 0x00, 0x08,
-  0x37, 0x05, 0x00, 0x4F,  0x96, 0x09, 0x00, 0x05,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x35, 0x52, 0x17,  0x99, 0x02, 0x00, 0x3A,  0x00, 0x96, 0x02, 0x00,
-  0x08, 0x09, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x37,  0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x38,
-  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x4F, 0x52, 0x17, 0x96,  0x09, 0x00, 0x05, 0x01,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x35, 0x52, 0x17, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x4B, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x3E, 0x9B, 0x05, 0x00,  0x00, 0x00, 0x00, 0x0D,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x3F,  0x4E, 0x3E, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x4B,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x40,
-  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x0D, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x41, 0x4E,  0x3E, 0x4F, 0x96, 0x07,  0x00, 0x08, 0x50, 0x07,  0x00, 0x00, 0x00, 0x00,
-  0x43, 0x1D, 0x96, 0x02,  0x00, 0x08, 0x50, 0x1C,  0x96, 0x07, 0x00, 0x08,  0x51, 0x07, 0x00, 0x00,
-  0x00, 0x00, 0x43, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x50, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x51, 0x4E,
-  0x96, 0x13, 0x00, 0x08,  0x52, 0x07, 0x00, 0x00,  0x00, 0x00, 0x07, 0x0B,  0x00, 0x00, 0x00, 0x07,
-  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x07, 0x00, 0x07,  0x00, 0x00, 0x00, 0x00,
-  0x08, 0x50, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x51,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x52, 0x52, 0x17,
-  0x96, 0x02, 0x00, 0x08,  0x50, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x51, 0x4E,  0x96, 0x02, 0x00, 0x08,
-  0x52, 0x3A, 0x17, 0x96,  0x02, 0x00, 0x08, 0x53,  0x9B, 0x0C, 0x00, 0x00,  0x01, 0x00, 0x74, 0x61,
-  0x72, 0x67, 0x65, 0x74,  0x00, 0x27, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x04, 0x00,
-  0x08, 0x54, 0x08, 0x54,  0x1C, 0x4F, 0x96, 0x08,  0x00, 0x07, 0x07, 0x00,  0x00, 0x00, 0x02, 0x08,
-  0x09, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x1D, 0x96,
-  0x09, 0x00, 0x08, 0x55,  0x07, 0xBC, 0x02, 0x00,  0x00, 0x08, 0x53, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x30, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x00,  0x3D, 0x17, 0x96, 0x08,
-  0x00, 0x07, 0x07, 0x00,  0x00, 0x00, 0x02, 0x08,  0x53, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
+  0x69, 0x70, 0x00, 0x54,  0x65, 0x78, 0x74, 0x46,  0x69, 0x65, 0x6C, 0x64,  0x00, 0x73, 0x65, 0x74,
+  0x54, 0x65, 0x78, 0x74,  0x46, 0x6F, 0x72, 0x6D,  0x61, 0x74, 0x00, 0x54,  0x65, 0x78, 0x74, 0x46,
+  0x6F, 0x72, 0x6D, 0x61,  0x74, 0x00, 0x53, 0x74,  0x79, 0x6C, 0x65, 0x53,  0x68, 0x65, 0x65, 0x74,
+  0x00, 0x5F, 0x63, 0x6F,  0x70, 0x79, 0x00, 0x6F,  0x62, 0x6A, 0x65, 0x63,  0x74, 0x00, 0x6F, 0x5F,
+  0x6E, 0x65, 0x77, 0x00,  0x70, 0x72, 0x6F, 0x70,  0x00, 0x63, 0x6C, 0x65,  0x61, 0x72, 0x00, 0x5F,
+  0x63, 0x73, 0x73, 0x00,  0x5F, 0x73, 0x74, 0x79,  0x6C, 0x65, 0x73, 0x00,  0x67, 0x65, 0x74, 0x53,
+  0x74, 0x79, 0x6C, 0x65,  0x00, 0x6E, 0x61, 0x6D,  0x65, 0x00, 0x73, 0x65,  0x74, 0x53, 0x74, 0x79,
+  0x6C, 0x65, 0x00, 0x73,  0x74, 0x79, 0x6C, 0x65,  0x00, 0x64, 0x6F, 0x54,  0x72, 0x61, 0x6E, 0x73,
+  0x66, 0x6F, 0x72, 0x6D,  0x00, 0x67, 0x65, 0x74,  0x53, 0x74, 0x79, 0x6C,  0x65, 0x4E, 0x61, 0x6D,
+  0x65, 0x73, 0x00, 0x74,  0x6D, 0x70, 0x00, 0x6E,  0x61, 0x6D, 0x65, 0x73,  0x00, 0x74, 0x72, 0x61,
+  0x6E, 0x73, 0x66, 0x6F,  0x72, 0x6D, 0x00, 0x66,  0x6F, 0x72, 0x6D, 0x61,  0x74, 0x00, 0x74, 0x65,
+  0x78, 0x74, 0x41, 0x6C,  0x69, 0x67, 0x6E, 0x00,  0x61, 0x6C, 0x69, 0x67,  0x6E, 0x00, 0x66, 0x6F,
+  0x6E, 0x74, 0x57, 0x65,  0x69, 0x67, 0x68, 0x74,  0x00, 0x62, 0x6F, 0x6C,  0x64, 0x00, 0x6E, 0x6F,
+  0x72, 0x6D, 0x61, 0x6C,  0x00, 0x63, 0x6F, 0x6C,  0x6F, 0x72, 0x00, 0x70,  0x61, 0x72, 0x73, 0x65,
+  0x43, 0x6F, 0x6C, 0x6F,  0x72, 0x00, 0x64, 0x69,  0x73, 0x70, 0x6C, 0x61,  0x79, 0x00, 0x66, 0x6F,
+  0x6E, 0x74, 0x46, 0x61,  0x6D, 0x69, 0x6C, 0x79,  0x00, 0x66, 0x6F, 0x6E,  0x74, 0x00, 0x70, 0x61,
+  0x72, 0x73, 0x65, 0x43,  0x53, 0x53, 0x46, 0x6F,  0x6E, 0x74, 0x46, 0x61,  0x6D, 0x69, 0x6C, 0x79,
+  0x00, 0x74, 0x65, 0x78,  0x74, 0x49, 0x6E, 0x64,  0x65, 0x6E, 0x74, 0x00,  0x69, 0x6E, 0x64, 0x65,
+  0x6E, 0x74, 0x00, 0x70,  0x61, 0x72, 0x73, 0x65,  0x49, 0x6E, 0x74, 0x00,  0x66, 0x6F, 0x6E, 0x74,
+  0x53, 0x74, 0x79, 0x6C,  0x65, 0x00, 0x69, 0x74,  0x61, 0x6C, 0x69, 0x63,  0x00, 0x6B, 0x65, 0x72,
+  0x6E, 0x69, 0x6E, 0x67,  0x00, 0x74, 0x72, 0x75,  0x65, 0x00, 0x66, 0x61,  0x6C, 0x73, 0x65, 0x00,
+  0x6C, 0x65, 0x61, 0x64,  0x69, 0x6E, 0x67, 0x00,  0x6D, 0x61, 0x72, 0x67,  0x69, 0x6E, 0x4C, 0x65,
+  0x66, 0x74, 0x00, 0x6C,  0x65, 0x66, 0x74, 0x4D,  0x61, 0x72, 0x67, 0x69,  0x6E, 0x00, 0x6C, 0x65,
+  0x74, 0x74, 0x65, 0x72,  0x53, 0x70, 0x61, 0x63,  0x69, 0x6E, 0x67, 0x00,  0x6D, 0x61, 0x72, 0x67,
+  0x69, 0x6E, 0x52, 0x69,  0x67, 0x68, 0x74, 0x00,  0x72, 0x69, 0x67, 0x68,  0x74, 0x4D, 0x61, 0x72,
+  0x67, 0x69, 0x6E, 0x00,  0x66, 0x6F, 0x6E, 0x74,  0x53, 0x69, 0x7A, 0x65,  0x00, 0x73, 0x69, 0x7A,
+  0x65, 0x00, 0x74, 0x65,  0x78, 0x74, 0x44, 0x65,  0x63, 0x6F, 0x72, 0x61,  0x74, 0x69, 0x6F, 0x6E,
+  0x00, 0x75, 0x6E, 0x64,  0x65, 0x72, 0x6C, 0x69,  0x6E, 0x65, 0x00, 0x6E,  0x6F, 0x6E, 0x65, 0x00,
+  0x70, 0x61, 0x72, 0x73,  0x65, 0x43, 0x53, 0x53,  0x00, 0x63, 0x73, 0x73,  0x00, 0x70, 0x61, 0x72,
+  0x73, 0x65, 0x43, 0x53,  0x53, 0x49, 0x6E, 0x74,  0x65, 0x72, 0x6E, 0x61,  0x6C, 0x00, 0x72, 0x65,
+  0x73, 0x75, 0x6C, 0x74,  0x00, 0x6E, 0x75, 0x6C,  0x6C, 0x00, 0x70, 0x61,  0x72, 0x73, 0x65, 0x00,
+  0x73, 0x65, 0x74, 0x49,  0x6E, 0x74, 0x65, 0x72,  0x76, 0x61, 0x6C, 0x00,  0x63, 0x6C, 0x65, 0x61,
+  0x72, 0x49, 0x6E, 0x74,  0x65, 0x72, 0x76, 0x61,  0x6C, 0x00, 0x73, 0x65,  0x74, 0x54, 0x69, 0x6D,
+  0x65, 0x6F, 0x75, 0x74,  0x00, 0x63, 0x6C, 0x65,  0x61, 0x72, 0x54, 0x69,  0x6D, 0x65, 0x6F, 0x75,
+  0x74, 0x00, 0x9B, 0x12,  0x00, 0x41, 0x73, 0x42,  0x72, 0x6F, 0x61, 0x64,  0x63, 0x61, 0x73, 0x74,
+  0x65, 0x72, 0x00, 0x00,  0x00, 0x00, 0x00, 0x9B,  0x0D, 0x00, 0x4C, 0x6F,  0x61, 0x64, 0x56, 0x61,
+  0x72, 0x73, 0x00, 0x00,  0x00, 0x00, 0x00, 0x96,  0x13, 0x00, 0x08, 0x00,  0x07, 0x00, 0x00, 0x00,
+  0x00, 0x07, 0x04, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x1D, 0x96,
+  0x13, 0x00, 0x08, 0x02,  0x07, 0x01, 0x00, 0x00,  0x00, 0x07, 0x04, 0x00,  0x00, 0x00, 0x07, 0x02,
+  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x1D, 0x96,  0x02, 0x00, 0x08, 0x03,  0x1C, 0x96, 0x13, 0x00,
+  0x08, 0x04, 0x07, 0x08,  0x00, 0x00, 0x00, 0x07,  0x65, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
+  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x08, 0x00,  0x07, 0x07, 0x00, 0x00,  0x00, 0x02, 0x08, 0x03,
+  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x02, 0x00,
+  0x08, 0x06, 0x1C, 0x96,  0x13, 0x00, 0x08, 0x07,  0x07, 0x0C, 0x00, 0x00,  0x00, 0x07, 0x65, 0x00,
+  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x06,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x08, 0x9B, 0x07,  0x00, 0x00, 0x01, 0x00,  0x78, 0x00, 0x3C, 0x00,
+  0x96, 0x02, 0x00, 0x08,  0x0A, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x0B, 0x52, 0x17,  0x96, 0x02, 0x00, 0x08,  0x0A, 0x1C, 0x96, 0x07,
+  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x0C, 0x4E, 0x96,
+  0x02, 0x00, 0x08, 0x0D,  0x52, 0x17, 0x96, 0x02,  0x00, 0x05, 0x01, 0x3E,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x06, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x0B,  0x9B, 0x07, 0x00, 0x00,  0x01, 0x00, 0x78, 0x00,
+  0x8F, 0x00, 0x96, 0x04,  0x00, 0x08, 0x0E, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0C, 0x4E,
+  0x3C, 0x96, 0x02, 0x00,  0x08, 0x0F, 0x41, 0x96,  0x07, 0x00, 0x08, 0x0F,  0x07, 0x00, 0x00, 0x00,
+  0x00, 0x3C, 0x99, 0x02,  0x00, 0x09, 0x00, 0x96,  0x02, 0x00, 0x08, 0x0F,  0x4C, 0x1C, 0x50, 0x1D,
+  0x96, 0x02, 0x00, 0x08,  0x0F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0E, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x10, 0x4E, 0x48, 0x12,  0x9D, 0x02, 0x00, 0x42,  0x00, 0x96, 0x02, 0x00,  0x08, 0x0E, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x0F,  0x1C, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x0A, 0x1C,  0x49, 0x12, 0x9D, 0x02,
+  0x00, 0x23, 0x00, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x0F, 0x1C, 0x96, 0x07,
+  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x0E,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x11, 0x52, 0x17,
+  0x96, 0x02, 0x00, 0x05,  0x01, 0x3E, 0x99, 0x02,  0x00, 0x9C, 0xFF, 0x96,  0x02, 0x00, 0x05, 0x00,
+  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x06, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x12, 0x9B, 0x07, 0x00,
+  0x00, 0x01, 0x00, 0x6F,  0x00, 0x73, 0x00, 0x96,  0x02, 0x00, 0x08, 0x13,  0x1C, 0x96, 0x13, 0x00,
+  0x08, 0x07, 0x07, 0x0C,  0x00, 0x00, 0x00, 0x07,  0x65, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
+  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x13, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x08,
+  0x08, 0x06, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x08,  0x4E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x13, 0x1C,
+  0x96, 0x04, 0x00, 0x08,  0x0B, 0x08, 0x06, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x0B, 0x4E, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0x13,  0x1C, 0x96, 0x07, 0x00,  0x08, 0x0C, 0x07, 0x00,  0x00, 0x00, 0x00, 0x42,
+  0x4F, 0x96, 0x09, 0x00,  0x07, 0x83, 0x00, 0x00,  0x00, 0x08, 0x14, 0x08,  0x13, 0x1C, 0x96, 0x07,
+  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x4F, 0x96,  0x08, 0x00, 0x07, 0x83,
+  0x00, 0x00, 0x00, 0x02,  0x08, 0x06, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,
+  0x05, 0x3D, 0x17, 0x96,  0x8C, 0x00, 0x08, 0x15,  0x08, 0x16, 0x07, 0x12,  0x00, 0x00, 0x00, 0x08,
+  0x17, 0x07, 0x08, 0x00,  0x00, 0x00, 0x08, 0x18,  0x07, 0x14, 0x00, 0x00,  0x00, 0x08, 0x19, 0x07,
+  0x11, 0x00, 0x00, 0x00,  0x08, 0x1A, 0x07, 0x2E,  0x00, 0x00, 0x00, 0x08,  0x1B, 0x07, 0x28, 0x00,
+  0x00, 0x00, 0x08, 0x1C,  0x07, 0x23, 0x00, 0x00,  0x00, 0x08, 0x1D, 0x07,  0x0D, 0x00, 0x00, 0x00,
+  0x08, 0x1E, 0x07, 0x1B,  0x00, 0x00, 0x00, 0x08,  0x1F, 0x07, 0x24, 0x00,  0x00, 0x00, 0x08, 0x20,
+  0x07, 0x2D, 0x00, 0x00,  0x00, 0x08, 0x21, 0x07,  0x25, 0x00, 0x00, 0x00,  0x08, 0x22, 0x07, 0x22,
+  0x00, 0x00, 0x00, 0x08,  0x23, 0x07, 0x21, 0x00,  0x00, 0x00, 0x08, 0x24,  0x07, 0x27, 0x00, 0x00,
+  0x00, 0x08, 0x25, 0x07,  0x10, 0x00, 0x00, 0x00,  0x08, 0x26, 0x07, 0x20,  0x00, 0x00, 0x00, 0x08,
+  0x27, 0x07, 0x09, 0x00,  0x00, 0x00, 0x08, 0x28,  0x07, 0x26, 0x00, 0x00,  0x00, 0x07, 0x13, 0x00,
+  0x00, 0x00, 0x43, 0x1D,  0x96, 0x09, 0x00, 0x08,  0x29, 0x07, 0x20, 0x03,  0x00, 0x00, 0x08, 0x15,
+  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x00, 0x3D,  0x17, 0x96, 0x02, 0x00,
+  0x08, 0x15, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x06, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x12, 0x52,  0x17, 0x96, 0x08, 0x00,  0x07, 0x07, 0x00, 0x00,  0x00, 0x02, 0x08, 0x15,
+  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x07, 0x00,
+  0x08, 0x2A, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,  0x1D, 0x96, 0x02, 0x00,  0x08, 0x2A, 0x1C, 0x96,
+  0x13, 0x00, 0x08, 0x2B,  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x05, 0x00,  0x00, 0x00, 0x07, 0x02,
+  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2A,  0x1C, 0x96, 0x13, 0x00,
+  0x08, 0x2C, 0x07, 0x01,  0x00, 0x00, 0x00, 0x07,  0x05, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
+  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x2A, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,
+  0x00, 0x00, 0x00, 0x08,  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x12, 0x52,  0x17, 0x96, 0x08, 0x00,
+  0x07, 0x07, 0x00, 0x00,  0x00, 0x02, 0x08, 0x2A,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,
+  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x07, 0x00,  0x08, 0x2D, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,
+  0x1D, 0x96, 0x02, 0x00,  0x08, 0x2D, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
+  0x06, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x12, 0x52,  0x17, 0x96, 0x0E, 0x00,  0x07, 0x01, 0x00, 0x00,
+  0x00, 0x08, 0x2E, 0x07,  0x9A, 0x02, 0x00, 0x00,  0x08, 0x2D, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x04,
+  0x00, 0x00, 0x00, 0x08,  0x02, 0x3D, 0x17, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x30, 0x4E, 0x96,  0x04, 0x00, 0x08, 0x31,  0x08, 0x32, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x33,  0x07, 0x00, 0x00, 0x00,
+  0x00, 0x07, 0x2D, 0x01,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x34,
+  0x07, 0x03, 0x00, 0x00,  0x00, 0x07, 0x2D, 0x01,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
+  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
+  0x02, 0x00, 0x08, 0x35,  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x2F, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x36, 0x9B, 0x09,
+  0x00, 0x00, 0x01, 0x00,  0x73, 0x72, 0x63, 0x00,  0x64, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
+  0x96, 0x04, 0x00, 0x08,  0x37, 0x05, 0x01, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x38, 0x1C, 0x96, 0x01,
+  0x00, 0x02, 0x49, 0x12,  0x9D, 0x02, 0x00, 0x19,  0x00, 0x96, 0x09, 0x00,  0x05, 0x00, 0x07, 0x01,
+  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x35, 0x52,  0x17, 0x99, 0x02, 0x00,
+  0x2C, 0x00, 0x96, 0x02,  0x00, 0x08, 0x38, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
+  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x34,  0x52, 0x17, 0x96, 0x09,  0x00, 0x05, 0x01, 0x07,
+  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x35,  0x52, 0x17, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x39,
+  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0xB3, 0x00,  0x96, 0x03, 0x00, 0x08,  0x3A, 0x02, 0x3C, 0x96,
+  0x02, 0x00, 0x08, 0x09,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,  0x02, 0x49, 0x9D, 0x02,
+  0x00, 0x91, 0x00, 0x96,  0x04, 0x00, 0x08, 0x0A,  0x04, 0x00, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x3A,
+  0x1C, 0x96, 0x01, 0x00,  0x02, 0x49, 0x9D, 0x02,  0x00, 0x41, 0x00, 0x96,  0x02, 0x00, 0x08, 0x3A,
+  0x4C, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x3D, 0x08,  0x0A, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,
+  0x00, 0x00, 0x08, 0x3B,  0x3D, 0x47, 0x96, 0x02,  0x00, 0x08, 0x3C, 0x47,  0x96, 0x02, 0x00, 0x08,
+  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0A, 0x1C,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,
+  0x00, 0x08, 0x3B, 0x3D,  0x47, 0x47, 0x1D, 0x99,  0x02, 0x00, 0x33, 0x00,  0x96, 0x04, 0x00, 0x08,
+  0x3A, 0x08, 0x0A, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x3B, 0x3D, 0x96,
+  0x02, 0x00, 0x08, 0x3C,  0x47, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x0A,
+  0x1C, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x3B,  0x3D, 0x47, 0x1D, 0x99,
+  0x02, 0x00, 0x61, 0xFF,  0x96, 0x02, 0x00, 0x08,  0x3A, 0x1C, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,
+  0x2F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x3E, 0x9B, 0x05, 0x00,
+  0x00, 0x00, 0x00, 0x0D,  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x3F,
+  0x4E, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x2F,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
+  0x02, 0x00, 0x08, 0x40,  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x0D, 0x00,  0x96, 0x02, 0x00, 0x08,
+  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x41, 0x4E,  0x3E, 0x4F, 0x96, 0x08,  0x00, 0x07, 0x83, 0x00,
+  0x00, 0x00, 0x02, 0x08,  0x2F, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,
+  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x13, 0x00, 0x08,  0x42, 0x07, 0x00, 0x00,
+  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x1D,
+  0x96, 0x02, 0x00, 0x08,  0x42, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
+  0x44, 0x07, 0x01, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
+  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x42, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
+  0x96, 0x13, 0x00, 0x08,  0x45, 0x07, 0x02, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
+  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x42, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x46, 0x07, 0x03, 0x00,  0x00, 0x00, 0x07, 0xFD,
+  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
+  0x42, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x47, 0x07, 0x04, 0x00,
+  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
+  0x96, 0x02, 0x00, 0x08,  0x42, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
+  0x48, 0x07, 0x05, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
+  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x42, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
+  0x96, 0x13, 0x00, 0x08,  0x39, 0x07, 0x06, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
+  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x42, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x49, 0x07, 0x07, 0x00,  0x00, 0x00, 0x07, 0xFD,
+  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
+  0x42, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x4A, 0x07, 0x08, 0x00,
+  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
+  0x96, 0x13, 0x00, 0x08,  0x4B, 0x07, 0x09, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
+  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x1D,  0x96, 0x02, 0x00, 0x08,  0x4B, 0x1C, 0x96, 0x10,
+  0x00, 0x08, 0x30, 0x08,  0x4C, 0x07, 0x01, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
+  0x42, 0x40, 0x4F, 0x96,  0x09, 0x00, 0x07, 0x03,  0x00, 0x00, 0x00, 0x08,  0x30, 0x08, 0x4B, 0x1C,
   0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x02, 0x00, 0x08,
-  0x56, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x57, 0x9B, 0x0C, 0x00,
-  0x00, 0x01, 0x00, 0x6D,  0x65, 0x74, 0x68, 0x6F,  0x64, 0x00, 0x5B, 0x00,  0x96, 0x09, 0x00, 0x08,
-  0x5A, 0x07, 0x00, 0x00,  0x00, 0x00, 0x08, 0x58,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x59, 0x52, 0x3C,
-  0x96, 0x02, 0x00, 0x08,  0x5A, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x5B, 0x49,  0x9D, 0x02, 0x00, 0x2D,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x5A, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x5C,  0x49, 0x9D, 0x02, 0x00,
-  0x0E, 0x00, 0x96, 0x05,  0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x3E, 0x99,  0x02, 0x00, 0x09, 0x00,
-  0x96, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x3E, 0x99, 0x02, 0x00,  0x09, 0x00, 0x96, 0x05,
-  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x56, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x5D, 0x9B, 0x17, 0x00,  0x00, 0x03, 0x00, 0x75,
-  0x72, 0x6C, 0x00, 0x74,  0x61, 0x72, 0x67, 0x65,  0x74, 0x00, 0x6D, 0x65,  0x74, 0x68, 0x6F, 0x64,
-  0x00, 0x97, 0x00, 0x96,  0x02, 0x00, 0x08, 0x54,  0x1C, 0x44, 0x96, 0x02,  0x00, 0x08, 0x5E, 0x49,
-  0x12, 0x9D, 0x02, 0x00,  0x08, 0x00, 0x96, 0x04,  0x00, 0x08, 0x54, 0x08,  0x4C, 0x1D, 0x96, 0x04,
-  0x00, 0x08, 0x5F, 0x08,  0x58, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x57, 0x52, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x5F, 0x1C, 0x96, 0x05,
-  0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x49, 0x9D,  0x02, 0x00, 0x3E, 0x00,  0x96, 0x02, 0x00, 0x08,
-  0x5F, 0x1C, 0x96, 0x05,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x49, 0x9D,  0x02, 0x00, 0x15, 0x00,
-  0x96, 0x02, 0x00, 0x08,  0x60, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x54, 0x1C,  0x9A, 0x01, 0x00, 0x02,
-  0x99, 0x02, 0x00, 0x10,  0x00, 0x96, 0x02, 0x00,  0x08, 0x60, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x54,
-  0x1C, 0x9A, 0x01, 0x00,  0x01, 0x99, 0x02, 0x00,  0x10, 0x00, 0x96, 0x02,  0x00, 0x08, 0x60, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x54, 0x1C, 0x9A, 0x01,  0x00, 0x00, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x61,  0x9B, 0x10, 0x00, 0x00,
-  0x02, 0x00, 0x75, 0x72,  0x6C, 0x00, 0x6D, 0x65,  0x74, 0x68, 0x6F, 0x64,  0x00, 0x9A, 0x00, 0x96,
-  0x04, 0x00, 0x08, 0x5F,  0x08, 0x58, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
-  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x57, 0x52,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x20,
-  0x96, 0x02, 0x00, 0x08,  0x5F, 0x1C, 0x96, 0x05,  0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x49, 0x9D,
-  0x02, 0x00, 0x4A, 0x00,  0x96, 0x02, 0x00, 0x08,  0x5F, 0x1C, 0x96, 0x05,  0x00, 0x07, 0x01, 0x00,
-  0x00, 0x00, 0x49, 0x9D,  0x02, 0x00, 0x1B, 0x00,  0x96, 0x02, 0x00, 0x08,  0x60, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x62, 0x4E, 0x9A, 0x01,  0x00, 0xC2, 0x99, 0x02,
-  0x00, 0x16, 0x00, 0x96,  0x02, 0x00, 0x08, 0x60,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x62,  0x4E, 0x9A, 0x01, 0x00,  0xC1, 0x99, 0x02, 0x00,  0x16, 0x00, 0x96, 0x02,
-  0x00, 0x08, 0x60, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x62, 0x4E,
-  0x9A, 0x01, 0x00, 0xC0,  0x96, 0x01, 0x00, 0x02,  0x20, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x56, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x63, 0x9B,  0x10, 0x00, 0x00, 0x02,
-  0x00, 0x75, 0x72, 0x6C,  0x00, 0x6D, 0x65, 0x74,  0x68, 0x6F, 0x64, 0x00,  0x9A, 0x00, 0x96, 0x04,
-  0x00, 0x08, 0x5F, 0x08,  0x58, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x57, 0x52, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x20, 0x96,
-  0x02, 0x00, 0x08, 0x5F,  0x1C, 0x96, 0x05, 0x00,  0x07, 0x00, 0x00, 0x00,  0x00, 0x49, 0x9D, 0x02,
-  0x00, 0x4A, 0x00, 0x96,  0x02, 0x00, 0x08, 0x5F,  0x1C, 0x96, 0x05, 0x00,  0x07, 0x01, 0x00, 0x00,
-  0x00, 0x49, 0x9D, 0x02,  0x00, 0x1B, 0x00, 0x96,  0x02, 0x00, 0x08, 0x60,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x62,  0x4E, 0x9A, 0x01, 0x00,  0x42, 0x99, 0x02, 0x00,
-  0x16, 0x00, 0x96, 0x02,  0x00, 0x08, 0x60, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x62, 0x4E,  0x9A, 0x01, 0x00, 0x41,  0x99, 0x02, 0x00, 0x16,  0x00, 0x96, 0x02, 0x00,
-  0x08, 0x60, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x62, 0x4E, 0x9A,
-  0x01, 0x00, 0x40, 0x96,  0x01, 0x00, 0x02, 0x20,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x64, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,
-  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x65, 0x07, 0x01,
-  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
-  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
-  0x08, 0x66, 0x07, 0x04,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
-  0x4E, 0x96, 0x13, 0x00,  0x08, 0x67, 0x07, 0x05,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
-  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x40, 0x07, 0x06,  0x00, 0x00, 0x00, 0x07,
-  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x3E, 0x07, 0x07,
-  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
-  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
-  0x08, 0x68, 0x07, 0x0A,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
-  0x4E, 0x96, 0x13, 0x00,  0x08, 0x69, 0x07, 0x0C,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
-  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6A, 0x07, 0x0D,  0x00, 0x00, 0x00, 0x07,
-  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6B, 0x07, 0x0E,
-  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
-  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
-  0x08, 0x6C, 0x07, 0x0F,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
-  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6D, 0x07, 0x10,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
-  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6E, 0x07, 0x11,  0x00, 0x00, 0x00, 0x07,
-  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x6F, 0x07, 0x12,
-  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
-  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
-  0x08, 0x70, 0x07, 0x13,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,
-  0x4E, 0x96, 0x13, 0x00,  0x08, 0x71, 0x07, 0x14,  0x00, 0x00, 0x00, 0x07,  0x84, 0x03, 0x00, 0x00,
-  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x72, 0x07, 0x15,  0x00, 0x00, 0x00, 0x07,
-  0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x73, 0x07, 0x00,
-  0x00, 0x00, 0x00, 0x07,  0x85, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
-  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
-  0x08, 0x74, 0x07, 0xC8,  0x00, 0x00, 0x00, 0x07,  0x68, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x09, 0x00,  0x07, 0x80, 0x00, 0x00,  0x00, 0x08, 0x75, 0x08,
-  0x56, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,
-  0x08, 0x05, 0x3D, 0x17,  0x96, 0x08, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x02, 0x08, 0x56, 0x1C,
+  0x4B, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x33, 0x07, 0x00, 0x00,
+  0x00, 0x00, 0x07, 0x2D,  0x01, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
+  0x96, 0x02, 0x00, 0x08,  0x4B, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
+  0x4D, 0x07, 0x0A, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
+  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x4B, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
+  0x96, 0x13, 0x00, 0x08,  0x4E, 0x07, 0x0B, 0x00,  0x00, 0x00, 0x07, 0xFD,  0x00, 0x00, 0x00, 0x07,
+  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x4B, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x4F, 0x07, 0x0C, 0x00,  0x00, 0x00, 0x07, 0xFD,
+  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,
+  0x4B, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x35, 0x9B, 0x05, 0x00,
+  0x00, 0x00, 0x00, 0x00,  0x00, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x4B, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x36, 0x9B,  0x09, 0x00, 0x00, 0x01,  0x00, 0x73, 0x72, 0x63,
+  0x00, 0x72, 0x00, 0x96,  0x02, 0x00, 0x08, 0x38,  0x1C, 0x96, 0x01, 0x00,  0x02, 0x49, 0x12, 0x9D,
+  0x02, 0x00, 0x27, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x37, 0x05,
+  0x00, 0x4F, 0x96, 0x09,  0x00, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x35,  0x52, 0x17, 0x99, 0x02,  0x00, 0x3A, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,
+  0x1C, 0x96, 0x04, 0x00,  0x08, 0x37, 0x05, 0x01,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x38, 0x1C, 0x96,
+  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x4F, 0x52,
+  0x17, 0x96, 0x09, 0x00,  0x05, 0x01, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x35, 0x52,  0x17, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x4B, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x3E, 0x9B,  0x05, 0x00, 0x00, 0x00,  0x00, 0x0D, 0x00, 0x96,
+  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x3F, 0x4E, 0x3E,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x4B, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x40, 0x9B, 0x05,
+  0x00, 0x00, 0x00, 0x00,  0x0D, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x41, 0x4E, 0x3E, 0x4F,  0x96, 0x07, 0x00, 0x08,  0x50, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x1D,
+  0x96, 0x02, 0x00, 0x08,  0x50, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x51, 0x07,  0x00, 0x00, 0x00, 0x00,
+  0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x50, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x51, 0x4E, 0x96, 0x13,
+  0x00, 0x08, 0x52, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0x0B, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
+  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x07,  0x00, 0x07, 0x00, 0x00,  0x00, 0x00, 0x08, 0x50,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x51, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x52,  0x52, 0x17, 0x96, 0x02,
+  0x00, 0x08, 0x50, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x51, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x52, 0x3A,
+  0x17, 0x96, 0x02, 0x00,  0x08, 0x53, 0x9B, 0x0C,  0x00, 0x00, 0x01, 0x00,  0x74, 0x61, 0x72, 0x67,
+  0x65, 0x74, 0x00, 0x27,  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x54,
+  0x08, 0x54, 0x1C, 0x4F,  0x96, 0x08, 0x00, 0x07,  0x07, 0x00, 0x00, 0x00,  0x02, 0x08, 0x09, 0x1C,
+  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x1D, 0x96, 0x09, 0x00,
+  0x08, 0x55, 0x07, 0xBC,  0x02, 0x00, 0x00, 0x08,  0x53, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
+  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x00, 0x3D, 0x17,  0x96, 0x08, 0x00, 0x07,
+  0x07, 0x00, 0x00, 0x00,  0x02, 0x08, 0x53, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x07,
+  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x02,  0x00, 0x08, 0x56, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x57, 0x9B,  0x0C, 0x00, 0x00, 0x01,
+  0x00, 0x6D, 0x65, 0x74,  0x68, 0x6F, 0x64, 0x00,  0x5B, 0x00, 0x96, 0x09,  0x00, 0x08, 0x5A, 0x07,
+  0x00, 0x00, 0x00, 0x00,  0x08, 0x58, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x59,  0x52, 0x3C, 0x96, 0x02,
+  0x00, 0x08, 0x5A, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x5B, 0x49, 0x9D, 0x02,  0x00, 0x2D, 0x00, 0x96,
+  0x02, 0x00, 0x08, 0x5A,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x5C, 0x49, 0x9D,  0x02, 0x00, 0x0E, 0x00,
+  0x96, 0x05, 0x00, 0x07,  0x00, 0x00, 0x00, 0x00,  0x3E, 0x99, 0x02, 0x00,  0x09, 0x00, 0x96, 0x05,
+  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x3E, 0x99,  0x02, 0x00, 0x09, 0x00,  0x96, 0x05, 0x00, 0x07,
+  0x02, 0x00, 0x00, 0x00,  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x56, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x5D, 0x9B,  0x17, 0x00, 0x00, 0x03,  0x00, 0x75, 0x72, 0x6C,
+  0x00, 0x74, 0x61, 0x72,  0x67, 0x65, 0x74, 0x00,  0x6D, 0x65, 0x74, 0x68,  0x6F, 0x64, 0x00, 0x97,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x54, 0x1C, 0x44,  0x96, 0x02, 0x00, 0x08,  0x5E, 0x49, 0x12, 0x9D,
+  0x02, 0x00, 0x08, 0x00,  0x96, 0x04, 0x00, 0x08,  0x54, 0x08, 0x4C, 0x1D,  0x96, 0x04, 0x00, 0x08,
+  0x5F, 0x08, 0x58, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x57,  0x52, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x5F, 0x1C,  0x96, 0x05, 0x00, 0x07,
+  0x00, 0x00, 0x00, 0x00,  0x49, 0x9D, 0x02, 0x00,  0x3E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x5F, 0x1C,
+  0x96, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x49, 0x9D, 0x02, 0x00,  0x15, 0x00, 0x96, 0x02,
+  0x00, 0x08, 0x60, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x54, 0x1C, 0x9A, 0x01,  0x00, 0x02, 0x99, 0x02,
+  0x00, 0x10, 0x00, 0x96,  0x02, 0x00, 0x08, 0x60,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x54, 0x1C, 0x9A,
+  0x01, 0x00, 0x01, 0x99,  0x02, 0x00, 0x10, 0x00,  0x96, 0x02, 0x00, 0x08,  0x60, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x54, 0x1C,  0x9A, 0x01, 0x00, 0x00,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x61, 0x9B, 0x10,  0x00, 0x00, 0x02, 0x00,
+  0x75, 0x72, 0x6C, 0x00,  0x6D, 0x65, 0x74, 0x68,  0x6F, 0x64, 0x00, 0x9A,  0x00, 0x96, 0x04, 0x00,
+  0x08, 0x5F, 0x08, 0x58,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x57, 0x52, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x20, 0x96, 0x02,
+  0x00, 0x08, 0x5F, 0x1C,  0x96, 0x05, 0x00, 0x07,  0x00, 0x00, 0x00, 0x00,  0x49, 0x9D, 0x02, 0x00,
+  0x4A, 0x00, 0x96, 0x02,  0x00, 0x08, 0x5F, 0x1C,  0x96, 0x05, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
+  0x49, 0x9D, 0x02, 0x00,  0x1B, 0x00, 0x96, 0x02,  0x00, 0x08, 0x60, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x62, 0x4E,  0x9A, 0x01, 0x00, 0xC2,  0x99, 0x02, 0x00, 0x16,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x60, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x62, 0x4E, 0x9A,  0x01, 0x00, 0xC1, 0x99,  0x02, 0x00, 0x16, 0x00,  0x96, 0x02, 0x00, 0x08,
+  0x60, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x62, 0x4E, 0x9A, 0x01,
+  0x00, 0xC0, 0x96, 0x01,  0x00, 0x02, 0x20, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x56, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x63, 0x9B, 0x10, 0x00,  0x00, 0x02, 0x00, 0x75,
+  0x72, 0x6C, 0x00, 0x6D,  0x65, 0x74, 0x68, 0x6F,  0x64, 0x00, 0x9A, 0x00,  0x96, 0x04, 0x00, 0x08,
+  0x5F, 0x08, 0x58, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x57,  0x52, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x20, 0x96, 0x02, 0x00,
+  0x08, 0x5F, 0x1C, 0x96,  0x05, 0x00, 0x07, 0x00,  0x00, 0x00, 0x00, 0x49,  0x9D, 0x02, 0x00, 0x4A,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x5F, 0x1C, 0x96,  0x05, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x49,
+  0x9D, 0x02, 0x00, 0x1B,  0x00, 0x96, 0x02, 0x00,  0x08, 0x60, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x09,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x62, 0x4E, 0x9A,  0x01, 0x00, 0x42, 0x99,  0x02, 0x00, 0x16, 0x00,
+  0x96, 0x02, 0x00, 0x08,  0x60, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x62, 0x4E, 0x9A, 0x01,  0x00, 0x41, 0x99, 0x02,  0x00, 0x16, 0x00, 0x96,  0x02, 0x00, 0x08, 0x60,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x62,  0x4E, 0x9A, 0x01, 0x00,
+  0x40, 0x96, 0x01, 0x00,  0x02, 0x20, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x64,  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,
+  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x65,  0x07, 0x01, 0x00, 0x00,
+  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x66,
+  0x07, 0x04, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
+  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
+  0x13, 0x00, 0x08, 0x67,  0x07, 0x05, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,
+  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x40,  0x07, 0x06, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,
+  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x3E,  0x07, 0x07, 0x00, 0x00,
+  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x68,
+  0x07, 0x0A, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
+  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
+  0x13, 0x00, 0x08, 0x69,  0x07, 0x0C, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,
+  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x6A,  0x07, 0x0D, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,
+  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x6B,  0x07, 0x0E, 0x00, 0x00,
+  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x6C,
+  0x07, 0x0F, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
+  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
+  0x13, 0x00, 0x08, 0x6D,  0x07, 0x10, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,
+  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x6E,  0x07, 0x11, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,
+  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x6F,  0x07, 0x12, 0x00, 0x00,
+  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x70,
+  0x07, 0x13, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
+  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
+  0x13, 0x00, 0x08, 0x71,  0x07, 0x14, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,  0x00, 0x00, 0x07, 0x02,
+  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x72,  0x07, 0x15, 0x00, 0x00,  0x00, 0x07, 0x84, 0x03,
+  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x56,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x73,  0x07, 0x00, 0x00, 0x00,
+  0x00, 0x07, 0x85, 0x03,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0x56,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x74,
+  0x07, 0xC8, 0x00, 0x00,  0x00, 0x07, 0x68, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,
+  0x01, 0x3D, 0x4F, 0x96,  0x09, 0x00, 0x07, 0x80,  0x00, 0x00, 0x00, 0x08,  0x75, 0x08, 0x56, 0x1C,
   0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,
-  0x3D, 0x17, 0x96, 0x13,  0x00, 0x08, 0x76, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0x68, 0x00, 0x00,
-  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,  0x3D, 0x1D, 0x96, 0x13,  0x00, 0x08, 0x77, 0x07,
-  0x00, 0x00, 0x00, 0x00,  0x07, 0x6E, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,
-  0x3D, 0x1D, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,  0x96, 0x13, 0x00, 0x08,  0x78, 0x07, 0x00, 0x00,
-  0x00, 0x00, 0x07, 0x71,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x78, 0x4E,  0x96, 0x02, 0x00, 0x08,
-  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x79, 0x9B,  0x07, 0x00, 0x00, 0x01,  0x00, 0x6F, 0x00, 0x67,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x13, 0x1C, 0x44,  0x96, 0x02, 0x00, 0x08,  0x7A, 0x49, 0x12, 0x12,
-  0x9D, 0x02, 0x00, 0x05,  0x00, 0x96, 0x01, 0x00,  0x02, 0x3E, 0x96, 0x07,  0x00, 0x08, 0x7B, 0x07,
-  0x00, 0x00, 0x00, 0x00,  0x43, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x13, 0x46,  0x87, 0x01, 0x00, 0x00,
-  0x96, 0x01, 0x00, 0x02,  0x49, 0x9D, 0x02, 0x00,  0x27, 0x00, 0x96, 0x04,  0x00, 0x08, 0x7C, 0x04,
-  0x00, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x7B, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7C, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x13, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7C, 0x1C, 0x4E, 0x4F,  0x99, 0x02, 0x00, 0xCB,
-  0xFF, 0x96, 0x02, 0x00,  0x08, 0x7B, 0x1C, 0x3E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x78,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x7D,
-  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x24, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x07,
-  0x00, 0x08, 0x7E, 0x07,  0x00, 0x00, 0x00, 0x00,  0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
-  0x96, 0x07, 0x00, 0x08,  0x7F, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x4F,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x78,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
-  0x02, 0x00, 0x08, 0x80,  0x9B, 0x0A, 0x00, 0x00,  0x01, 0x00, 0x6E, 0x61,  0x6D, 0x65, 0x00, 0x25,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,  0x4E, 0x96, 0x02, 0x00,
-  0x08, 0x81, 0x1C, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x79,  0x52, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x78, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x82, 0x9B, 0x10,
-  0x00, 0x00, 0x02, 0x00,  0x6E, 0x61, 0x6D, 0x65,  0x00, 0x73, 0x74, 0x79,  0x6C, 0x65, 0x00, 0x67,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,  0x4E, 0x12, 0x12, 0x9D,
-  0x02, 0x00, 0x12, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x7E, 0x07,
-  0x00, 0x00, 0x00, 0x00,  0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x7E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x81, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x83, 0x1C, 0x96, 0x07,
-  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x79, 0x52, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x81, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x84, 0x52, 0x17,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x78,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x85,
-  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x5B, 0x00,  0x96, 0x04, 0x00, 0x08,  0x86, 0x08, 0x09, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x3C, 0x96,  0x07, 0x00, 0x08, 0x87,  0x07, 0x00, 0x00, 0x00,
-  0x00, 0x42, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x86,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,
-  0x02, 0x49, 0x9D, 0x02,  0x00, 0x25, 0x00, 0x96,  0x04, 0x00, 0x08, 0x7C,  0x04, 0x00, 0x3C, 0x96,
-  0x02, 0x00, 0x08, 0x7C,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x87, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x0D, 0x52, 0x17, 0x99,  0x02, 0x00, 0xCD, 0xFF,  0x96, 0x02, 0x00, 0x08,
-  0x87, 0x1C, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x78, 0x4E,
-  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x84, 0x9B,  0x0A, 0x00, 0x00, 0x01,
-  0x00, 0x6E, 0x61, 0x6D,  0x65, 0x00, 0x5C, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x7F, 0x4E,  0x12, 0x12, 0x9D, 0x02,  0x00, 0x12, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,
-  0x1C, 0x96, 0x07, 0x00,  0x08, 0x7F, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7F,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x81, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7E, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x81,
-  0x1C, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x88, 0x52, 0x4F,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x78,
-  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x88,  0x9B, 0x0B, 0x00, 0x00,
-  0x01, 0x00, 0x73, 0x74,  0x79, 0x6C, 0x65, 0x00,  0x9D, 0x03, 0x96, 0x02,  0x00, 0x08, 0x83, 0x1C,
-  0x96, 0x01, 0x00, 0x02,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x05, 0x00, 0x96,  0x01, 0x00, 0x02, 0x3E,
-  0x96, 0x09, 0x00, 0x08,  0x89, 0x07, 0x00, 0x00,  0x00, 0x00, 0x08, 0x77,  0x40, 0x3C, 0x96, 0x02,
-  0x00, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x8A, 0x4E, 0x12, 0x9D,  0x02, 0x00, 0x15, 0x00,
-  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x8B, 0x08,  0x83, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x8A, 0x4E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x8C,
-  0x4E, 0x96, 0x02, 0x00,  0x08, 0x8D, 0x49, 0x9D,  0x02, 0x00, 0x2B, 0x00,  0x96, 0x02, 0x00, 0x08,
-  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x8C, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x8E, 0x49, 0x12, 0x9D,
-  0x02, 0x00, 0x0E, 0x00,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x8D, 0x05,
-  0x00, 0x4F, 0x99, 0x02,  0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x04, 0x00,
-  0x08, 0x8D, 0x05, 0x01,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x8F,
-  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x41, 0x00, 0x96,  0x04, 0x00, 0x08, 0x86,  0x08, 0x83, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x8F,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x90, 0x52, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x86,  0x1C, 0x96, 0x01, 0x00,
-  0x02, 0x49, 0x12, 0x12,  0x9D, 0x02, 0x00, 0x0F,  0x00, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,
-  0x04, 0x00, 0x08, 0x8F,  0x08, 0x86, 0x1C, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x04,
-  0x00, 0x08, 0x91, 0x08,  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x91, 0x4E,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x92,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x26, 0x00, 0x96,
-  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x93, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x92, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x94, 0x52,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x95,
-  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x04, 0x00,
-  0x08, 0x96, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x95, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,
-  0x00, 0x00, 0x00, 0x08,  0x97, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x98, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x99,  0x49, 0x9D, 0x02, 0x00,  0x2B, 0x00, 0x96, 0x02,
-  0x00, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x98, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x8E, 0x49,
-  0x12, 0x9D, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,  0x96, 0x04, 0x00, 0x08,
-  0x99, 0x05, 0x00, 0x4F,  0x99, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,
-  0x04, 0x00, 0x08, 0x99,  0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x9A, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x9B,  0x49, 0x9D, 0x02, 0x00,  0x4F, 0x00, 0x96, 0x02,
-  0x00, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x9A, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x9C, 0x49,
-  0x9D, 0x02, 0x00, 0x25,  0x00, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x9A,
-  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x9A,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,
-  0x00, 0x08, 0x97, 0x3D,  0x4F, 0x99, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,
-  0x96, 0x04, 0x00, 0x08,  0x9A, 0x05, 0x00, 0x4F,  0x99, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,
-  0x08, 0x89, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x9A,  0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x83,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x9D, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,  0x00, 0x96, 0x02, 0x00,
-  0x08, 0x89, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x9D,  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x9D,
-  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x97, 0x3D,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x9E,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,
-  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x9F, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x9E, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x97, 0x3D, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA0, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA0,  0x08, 0x83, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0xA0,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x97, 0x3D,
-  0x4F, 0x96, 0x02, 0x00,  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA1,  0x4E, 0x12, 0x9D, 0x02,
-  0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA2, 0x08, 0x83,
+  0x3D, 0x17, 0x96, 0x08,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x02, 0x08,  0x56, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,
+  0x96, 0x13, 0x00, 0x08,  0x76, 0x07, 0x00, 0x00,  0x00, 0x00, 0x07, 0x68,  0x00, 0x00, 0x00, 0x07,
+  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x1D,  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x77, 0x07, 0x66, 0x00,  0x00, 0x00, 0x07, 0x68,
+  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x13, 0x00, 0x08,
+  0x78, 0x07, 0x00, 0x00,  0x00, 0x00, 0x07, 0x6E,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
+  0x08, 0x43, 0x3D, 0x1D,  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x13,  0x00, 0x08, 0x79, 0x07,
+  0x00, 0x00, 0x00, 0x00,  0x07, 0x71, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,
+  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x79, 0x4E, 0x96, 0x02,
+  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x7A, 0x9B, 0x07, 0x00,  0x00, 0x01, 0x00, 0x6F,
+  0x00, 0x67, 0x00, 0x96,  0x02, 0x00, 0x08, 0x13,  0x1C, 0x44, 0x96, 0x02,  0x00, 0x08, 0x7B, 0x49,
+  0x12, 0x12, 0x9D, 0x02,  0x00, 0x05, 0x00, 0x96,  0x01, 0x00, 0x02, 0x3E,  0x96, 0x07, 0x00, 0x08,
+  0x7C, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x13, 0x46, 0x87, 0x01,
+  0x00, 0x00, 0x96, 0x01,  0x00, 0x02, 0x49, 0x9D,  0x02, 0x00, 0x27, 0x00,  0x96, 0x04, 0x00, 0x08,
+  0x7D, 0x04, 0x00, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x7C, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7D, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x13, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7D, 0x1C,  0x4E, 0x4F, 0x99, 0x02,
+  0x00, 0xCB, 0xFF, 0x96,  0x02, 0x00, 0x08, 0x7C,  0x1C, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x79, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,
+  0x08, 0x7E, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,  0x24, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
+  0x96, 0x07, 0x00, 0x08,  0x7F, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x4F,  0x96, 0x02, 0x00, 0x08,
+  0x09, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x80, 0x07,  0x00, 0x00, 0x00, 0x00,  0x43, 0x4F, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x79, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,
+  0x4E, 0x96, 0x02, 0x00,  0x08, 0x81, 0x9B, 0x0A,  0x00, 0x00, 0x01, 0x00,  0x6E, 0x61, 0x6D, 0x65,
+  0x00, 0x25, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7F, 0x4E, 0x96,
+  0x02, 0x00, 0x08, 0x82,  0x1C, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7A, 0x52, 0x3E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x79,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x83,
+  0x9B, 0x10, 0x00, 0x00,  0x02, 0x00, 0x6E, 0x61,  0x6D, 0x65, 0x00, 0x73,  0x74, 0x79, 0x6C, 0x65,
+  0x00, 0x67, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7F, 0x4E, 0x12,
+  0x12, 0x9D, 0x02, 0x00,  0x12, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x07, 0x00, 0x08,
+  0x7F, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x7F, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x82, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x84, 0x1C,
+  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7A,
+  0x52, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x82, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
+  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x85,  0x52, 0x17, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x79, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,
+  0x08, 0x86, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,  0x5B, 0x00, 0x96, 0x04,  0x00, 0x08, 0x87, 0x08,
+  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7F, 0x4E,  0x3C, 0x96, 0x07, 0x00,  0x08, 0x88, 0x07, 0x00,
+  0x00, 0x00, 0x00, 0x42,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x87, 0x46, 0x87,  0x01, 0x00, 0x00, 0x96,
+  0x01, 0x00, 0x02, 0x49,  0x9D, 0x02, 0x00, 0x25,  0x00, 0x96, 0x04, 0x00,  0x08, 0x7D, 0x04, 0x00,
+  0x3C, 0x96, 0x02, 0x00,  0x08, 0x7D, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
+  0x88, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x0D, 0x52,  0x17, 0x99, 0x02, 0x00,  0xCD, 0xFF, 0x96, 0x02,
+  0x00, 0x08, 0x88, 0x1C,  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x79, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x85, 0x9B, 0x0A, 0x00,
+  0x00, 0x01, 0x00, 0x6E,  0x61, 0x6D, 0x65, 0x00,  0x5C, 0x00, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x80, 0x4E, 0x12, 0x12,  0x9D, 0x02, 0x00, 0x12,  0x00, 0x96, 0x02, 0x00,
+  0x08, 0x09, 0x1C, 0x96,  0x07, 0x00, 0x08, 0x80,  0x07, 0x00, 0x00, 0x00,  0x00, 0x43, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x80, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x82,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7F,  0x4E, 0x96, 0x02, 0x00,
+  0x08, 0x82, 0x1C, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x89,  0x52, 0x4F, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x79, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x89, 0x9B, 0x0B,
+  0x00, 0x00, 0x01, 0x00,  0x73, 0x74, 0x79, 0x6C,  0x65, 0x00, 0x9D, 0x03,  0x96, 0x02, 0x00, 0x08,
+  0x84, 0x1C, 0x96, 0x01,  0x00, 0x02, 0x49, 0x12,  0x9D, 0x02, 0x00, 0x05,  0x00, 0x96, 0x01, 0x00,
+  0x02, 0x3E, 0x96, 0x09,  0x00, 0x08, 0x8A, 0x07,  0x00, 0x00, 0x00, 0x00,  0x08, 0x78, 0x40, 0x3C,
+  0x96, 0x02, 0x00, 0x08,  0x84, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x8B, 0x4E,  0x12, 0x9D, 0x02, 0x00,
+  0x15, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8A, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x8C, 0x08, 0x84, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x8B, 0x4E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x84,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x8D, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x8E,  0x49, 0x9D, 0x02, 0x00,  0x2B, 0x00, 0x96, 0x02,
+  0x00, 0x08, 0x84, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x8D, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x8F, 0x49,
+  0x12, 0x9D, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x8A, 0x1C,  0x96, 0x04, 0x00, 0x08,
+  0x8E, 0x05, 0x00, 0x4F,  0x99, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8A, 0x1C, 0x96,
+  0x04, 0x00, 0x08, 0x8E,  0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x84,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x90, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x41,  0x00, 0x96, 0x04, 0x00,  0x08, 0x87, 0x08, 0x84,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x90, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
+  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x91, 0x52,  0x3C, 0x96, 0x02, 0x00,  0x08, 0x87, 0x1C, 0x96,
+  0x01, 0x00, 0x02, 0x49,  0x12, 0x12, 0x9D, 0x02,  0x00, 0x0F, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8A,
+  0x1C, 0x96, 0x04, 0x00,  0x08, 0x90, 0x08, 0x87,  0x1C, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x8A, 0x1C,
+  0x96, 0x04, 0x00, 0x08,  0x92, 0x08, 0x84, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x92, 0x4E, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0x84,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x93, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x26,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x8A, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x94,  0x08, 0x84, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x93,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x95, 0x52, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x84,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x96, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8A, 0x1C, 0x96,
+  0x04, 0x00, 0x08, 0x97,  0x08, 0x84, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x96,  0x4E, 0x96, 0x07, 0x00,
+  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x98, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x84, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x99,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x9A, 0x49, 0x9D,  0x02, 0x00, 0x2B, 0x00,
+  0x96, 0x02, 0x00, 0x08,  0x84, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x99, 0x4E,  0x96, 0x02, 0x00, 0x08,
+  0x8F, 0x49, 0x12, 0x9D,  0x02, 0x00, 0x0E, 0x00,  0x96, 0x02, 0x00, 0x08,  0x8A, 0x1C, 0x96, 0x04,
+  0x00, 0x08, 0x9A, 0x05,  0x00, 0x4F, 0x99, 0x02,  0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8A,
+  0x1C, 0x96, 0x04, 0x00,  0x08, 0x9A, 0x05, 0x01,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x84, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x9B,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x9C, 0x49, 0x9D,  0x02, 0x00, 0x4F, 0x00,
+  0x96, 0x02, 0x00, 0x08,  0x84, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x9B, 0x4E,  0x96, 0x02, 0x00, 0x08,
+  0x9D, 0x49, 0x9D, 0x02,  0x00, 0x25, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8A,  0x1C, 0x96, 0x04, 0x00,
+  0x08, 0x9B, 0x08, 0x84,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x9B, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,
+  0x00, 0x00, 0x00, 0x08,  0x98, 0x3D, 0x4F, 0x99,  0x02, 0x00, 0x0E, 0x00,  0x96, 0x02, 0x00, 0x08,
+  0x8A, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x9B, 0x05,  0x00, 0x4F, 0x99, 0x02,  0x00, 0x0E, 0x00, 0x96,
+  0x02, 0x00, 0x08, 0x8A,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x9B, 0x05, 0x01,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x84, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x9E,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,
+  0x02, 0x00, 0x08, 0x8A,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x9E, 0x08, 0x84,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x9E, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x98, 0x3D, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0x84,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x9F, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x8A, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA0,  0x08, 0x84, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x9F,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x98, 0x3D,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x84, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA1,  0x4E, 0x12, 0x9D, 0x02,
+  0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8A,  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA1, 0x08, 0x84,
   0x1C, 0x96, 0x02, 0x00,  0x08, 0xA1, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
-  0x97, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA3, 0x4E, 0x12,
-  0x9D, 0x02, 0x00, 0x3B,  0x00, 0x96, 0x04, 0x00,  0x08, 0x86, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0xA3, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x97, 0x3D, 0x3C, 0x96,
-  0x07, 0x00, 0x07, 0x00,  0x00, 0x00, 0x00, 0x08,  0x86, 0x1C, 0x48, 0x12,  0x9D, 0x02, 0x00, 0x0F,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA4,  0x08, 0x86, 0x1C, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xA5, 0x4E,  0x96, 0x02, 0x00, 0x08,
-  0xA6, 0x49, 0x9D, 0x02,  0x00, 0x2B, 0x00, 0x96,  0x02, 0x00, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0xA5, 0x4E, 0x96,  0x02, 0x00, 0x08, 0xA7,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x0E, 0x00, 0x96,
-  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA6, 0x05, 0x00,  0x4F, 0x99, 0x02, 0x00,
-  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,  0x96, 0x04, 0x00, 0x08,  0xA6, 0x05, 0x01, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x78, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xA8, 0x9B,
-  0x09, 0x00, 0x00, 0x01,  0x00, 0x63, 0x73, 0x73,  0x00, 0xC8, 0x00, 0x96,  0x04, 0x00, 0x08, 0xAB,
-  0x08, 0xA9, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0xAA, 0x52,  0x3C, 0x96, 0x02, 0x00,  0x08, 0xAB, 0x1C, 0x44,  0x96, 0x02, 0x00, 0x08,
-  0xAC, 0x49, 0x12, 0x9D,  0x02, 0x00, 0x06, 0x00,  0x96, 0x02, 0x00, 0x05,  0x00, 0x3E, 0x96, 0x02,
-  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x12, 0x12,  0x9D, 0x02, 0x00, 0x12,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x07, 0x00, 0x08, 0x7E,  0x07, 0x00, 0x00, 0x00,
-  0x00, 0x43, 0x4F, 0x96,  0x02, 0x00, 0x08, 0xAB,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,
-  0x02, 0x49, 0x9D, 0x02,  0x00, 0x56, 0x00, 0x96,  0x04, 0x00, 0x08, 0x7C,  0x04, 0x00, 0x3C, 0x96,
-  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7E, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x7C,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0xAB, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7C,  0x1C, 0x4E, 0x96, 0x07,
-  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x79, 0x52, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x7C, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x84, 0x52, 0x17,  0x99, 0x02, 0x00, 0x9C,  0xFF, 0x96, 0x02, 0x00,
-  0x05, 0x01, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x78, 0x4E,
-  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x04,  0x00, 0x08, 0xAD, 0x08,  0x76, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x78, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xA8, 0x4E,
-  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x78,  0x4E, 0x96, 0x02, 0x00,
-  0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x33,  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x2D, 0x01,
-  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x78, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,
-  0x08, 0x35, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x78, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,
-  0x08, 0x36, 0x9B, 0x09,  0x00, 0x00, 0x01, 0x00,  0x73, 0x72, 0x63, 0x00,  0x6B, 0x00, 0x96, 0x02,
-  0x00, 0x08, 0x38, 0x1C,  0x96, 0x01, 0x00, 0x02,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x19, 0x00, 0x96,
-  0x09, 0x00, 0x05, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x35, 0x52, 0x17, 0x99,  0x02, 0x00, 0x41, 0x00,  0x96, 0x04, 0x00, 0x08,  0xAB, 0x08, 0x38, 0x1C,
-  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xAD,
-  0x52, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x37, 0x08, 0xAB, 0x1C,
-  0x4F, 0x96, 0x02, 0x00,  0x08, 0xAB, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
-  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x35, 0x52,  0x17, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x78, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
-  0xAA, 0x07, 0x65, 0x00,  0x00, 0x00, 0x07, 0x71,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
-  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x78, 0x4E,
-  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x94, 0x07,  0x66, 0x00, 0x00, 0x00,
-  0x07, 0x71, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
-  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x78, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
-  0x96, 0x13, 0x00, 0x08,  0x90, 0x07, 0x67, 0x00,  0x00, 0x00, 0x07, 0x71,  0x00, 0x00, 0x00, 0x07,
-  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x08, 0x00, 0x07,  0x03, 0x04, 0x00, 0x00,
-  0x02, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x78, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
-  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x09, 0x00, 0x07,
-  0x03, 0x04, 0x00, 0x00,  0x08, 0x78, 0x08, 0x76,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,
-  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x13, 0x00,  0x08, 0xAE, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,
-  0xFA, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x1D, 0x96, 0x13, 0x00,
-  0x08, 0xAF, 0x07, 0x01,  0x00, 0x00, 0x00, 0x07,  0xFA, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-  0x00, 0x08, 0x01, 0x3D,  0x1D, 0x96, 0x13, 0x00,  0x08, 0xB0, 0x07, 0x02,  0x00, 0x00, 0x00, 0x07,
-  0xFA, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x1D, 0x96, 0x04, 0x00,
-  0x08, 0xB1, 0x08, 0xAF,  0x1C, 0x1D, 0x96, 0x03,  0x00, 0x08, 0x13, 0x02,  0x1D, 0x96, 0x0D, 0x00,
-  0x07, 0x06, 0x00, 0x00,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x02, 0x08,  0x09, 0x1C, 0x96, 0x07,
-  0x00, 0x07, 0x04, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x00
+  0x98, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x84,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA2, 0x4E, 0x12,
+  0x9D, 0x02, 0x00, 0x20,  0x00, 0x96, 0x02, 0x00,  0x08, 0x8A, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA3,
+  0x08, 0x84, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA2,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,
+  0x00, 0x08, 0x98, 0x3D,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x84, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA4,
+  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x3B, 0x00, 0x96,  0x04, 0x00, 0x08, 0x87,  0x08, 0x84, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0xA4,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x98, 0x3D,
+  0x3C, 0x96, 0x07, 0x00,  0x07, 0x00, 0x00, 0x00,  0x00, 0x08, 0x87, 0x1C,  0x48, 0x12, 0x9D, 0x02,
+  0x00, 0x0F, 0x00, 0x96,  0x02, 0x00, 0x08, 0x8A,  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA5, 0x08, 0x87,
+  0x1C, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x84, 0x1C,  0x96, 0x02, 0x00, 0x08,  0xA6, 0x4E, 0x96, 0x02,
+  0x00, 0x08, 0xA7, 0x49,  0x9D, 0x02, 0x00, 0x2B,  0x00, 0x96, 0x02, 0x00,  0x08, 0x84, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0xA6,  0x4E, 0x96, 0x02, 0x00,  0x08, 0xA8, 0x49, 0x12,  0x9D, 0x02, 0x00, 0x0E,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x8A, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA7,  0x05, 0x00, 0x4F, 0x99,
+  0x02, 0x00, 0x0E, 0x00,  0x96, 0x02, 0x00, 0x08,  0x8A, 0x1C, 0x96, 0x04,  0x00, 0x08, 0xA7, 0x05,
+  0x01, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x8A, 0x1C,  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x79, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,
+  0xA9, 0x9B, 0x09, 0x00,  0x00, 0x01, 0x00, 0x63,  0x73, 0x73, 0x00, 0xC8,  0x00, 0x96, 0x04, 0x00,
+  0x08, 0xAC, 0x08, 0xAA,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0xAB, 0x52, 0x3C, 0x96,  0x02, 0x00, 0x08, 0xAC,  0x1C, 0x44, 0x96, 0x02,
+  0x00, 0x08, 0xAD, 0x49,  0x12, 0x9D, 0x02, 0x00,  0x06, 0x00, 0x96, 0x02,  0x00, 0x05, 0x00, 0x3E,
+  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x7F, 0x4E,  0x12, 0x12, 0x9D, 0x02,
+  0x00, 0x12, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x07, 0x00,  0x08, 0x7F, 0x07, 0x00,
+  0x00, 0x00, 0x00, 0x43,  0x4F, 0x96, 0x02, 0x00,  0x08, 0xAC, 0x46, 0x87,  0x01, 0x00, 0x00, 0x96,
+  0x01, 0x00, 0x02, 0x49,  0x9D, 0x02, 0x00, 0x56,  0x00, 0x96, 0x04, 0x00,  0x08, 0x7D, 0x04, 0x00,
+  0x3C, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7F,  0x4E, 0x96, 0x02, 0x00,
+  0x08, 0x7D, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xAC,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7D, 0x1C, 0x4E,
+  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7A,
+  0x52, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x7D, 0x1C,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,
+  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x85,  0x52, 0x17, 0x99, 0x02,  0x00, 0x9C, 0xFF, 0x96,
+  0x02, 0x00, 0x05, 0x01,  0x3E, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x79, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x04, 0x00, 0x08,  0xAE, 0x08, 0x76, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x79, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x02, 0x00, 0x08,
+  0xA9, 0x4E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x79, 0x4E, 0x96,
+  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x33, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,
+  0x2D, 0x01, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x79,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
+  0x02, 0x00, 0x08, 0x35,  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x79,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
+  0x02, 0x00, 0x08, 0x36,  0x9B, 0x09, 0x00, 0x00,  0x01, 0x00, 0x73, 0x72,  0x63, 0x00, 0x6B, 0x00,
+  0x96, 0x02, 0x00, 0x08,  0x38, 0x1C, 0x96, 0x01,  0x00, 0x02, 0x49, 0x12,  0x9D, 0x02, 0x00, 0x19,
+  0x00, 0x96, 0x09, 0x00,  0x05, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x35, 0x52,  0x17, 0x99, 0x02, 0x00,  0x41, 0x00, 0x96, 0x04,  0x00, 0x08, 0xAC, 0x08,
+  0x38, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0xAE, 0x52, 0x3C,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x37, 0x08,
+  0xAC, 0x1C, 0x4F, 0x96,  0x02, 0x00, 0x08, 0xAC,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,
+  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x35, 0x52, 0x17, 0x4F,  0x96, 0x02, 0x00, 0x08,
+  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x79, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,
+  0x00, 0x08, 0xAB, 0x07,  0x65, 0x00, 0x00, 0x00,  0x07, 0x71, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,
+  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,
+  0x79, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,  0x95, 0x07, 0x66, 0x00,
+  0x00, 0x00, 0x07, 0x71,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,
+  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x79, 0x4E,  0x96, 0x02, 0x00, 0x08,
+  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x91, 0x07,  0x67, 0x00, 0x00, 0x00,  0x07, 0x71, 0x00, 0x00,
+  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x08,  0x00, 0x07, 0x03, 0x04,
+  0x00, 0x00, 0x02, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x79, 0x4E,  0x96, 0x02, 0x00, 0x08,
+  0x30, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x09,
+  0x00, 0x07, 0x03, 0x04,  0x00, 0x00, 0x08, 0x79,  0x08, 0x76, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x03,
+  0x00, 0x00, 0x00, 0x08,  0x05, 0x3D, 0x17, 0x96,  0x13, 0x00, 0x08, 0xAF,  0x07, 0x00, 0x00, 0x00,
+  0x00, 0x07, 0xFA, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x1D, 0x96,
+  0x13, 0x00, 0x08, 0xB0,  0x07, 0x01, 0x00, 0x00,  0x00, 0x07, 0xFA, 0x00,  0x00, 0x00, 0x07, 0x02,
+  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x1D, 0x96,  0x13, 0x00, 0x08, 0xB1,  0x07, 0x02, 0x00, 0x00,
+  0x00, 0x07, 0xFA, 0x00,  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x1D, 0x96,
+  0x04, 0x00, 0x08, 0xB2,  0x08, 0xB0, 0x1C, 0x1D,  0x96, 0x03, 0x00, 0x08,  0x13, 0x02, 0x1D, 0x96,
+  0x0D, 0x00, 0x07, 0x06,  0x00, 0x00, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x02, 0x08, 0x09, 0x1C,
+  0x96, 0x07, 0x00, 0x07,  0x04, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x00
 };
 
diff-tree 165881ed0ac89d6b7fce24603d0d04e213e04669 (from ec79c511d7a66f499ad24985a9462ffd678fd910)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 5 13:23:25 2007 +0300

    Add correct defaults for TextFormat's url, target and tabStops

diff --git a/libswfdec/swfdec_text_format.c b/libswfdec/swfdec_text_format.c
index c13fd6b..07f15d6 100644
--- a/libswfdec/swfdec_text_format.c
+++ b/libswfdec/swfdec_text_format.c
@@ -950,10 +950,11 @@ swfdec_text_format_set_defaults (SwfdecT
   format->left_margin = 0;
   format->letter_spacing = 0;
   format->right_margin = 0;
-  format->size = 12; // ??
-  format->tab_stops = NULL; // ??
-  format->target = NULL; // ??
-  format->url = NULL; // ??
+  format->size = 12;
+  format->tab_stops =
+    SWFDEC_AS_ARRAY (swfdec_as_array_new (SWFDEC_AS_OBJECT (format)->context));
+  format->target = SWFDEC_AS_STR_EMPTY;
+  format->url = SWFDEC_AS_STR_EMPTY;
   format->underline = FALSE;
 
   format->values_set = (1 << PROP_TOTAL) - 1;
diff-tree ec79c511d7a66f499ad24985a9462ffd678fd910 (from 23e1483d8ab172613da5dc7830554b41699b9bfb)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 5 13:22:53 2007 +0300

    Partially implement TextField's setTextFormat, html and htmlText

diff --git a/libswfdec/swfdec_as_strings.c b/libswfdec/swfdec_as_strings.c
index 2283bbe..22339f2 100644
--- a/libswfdec/swfdec_as_strings.c
+++ b/libswfdec/swfdec_as_strings.c
@@ -385,6 +385,8 @@ const char swfdec_as_strings[] = 
   SWFDEC_AS_CONSTANT_STRING ("block")
   SWFDEC_AS_CONSTANT_STRING ("TextField")
   SWFDEC_AS_CONSTANT_STRING ("text")
+  SWFDEC_AS_CONSTANT_STRING ("htmlText")
+  SWFDEC_AS_CONSTANT_STRING ("html")
   SWFDEC_AS_CONSTANT_STRING ("TextFormat")
   SWFDEC_AS_CONSTANT_STRING ("Times New Roman")
   /* add more here */
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index bd0a5df..48ef525 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -21,6 +21,8 @@
 #include "config.h"
 #endif
 
+#include <string.h>
+
 #include "swfdec_edittext.h"
 #include "swfdec_edittext_movie.h"
 #include "swfdec_as_strings.h"
@@ -33,7 +35,7 @@
 #include "swfdec_player_internal.h"
 
 static void
-swfdec_edittext_movie_get_text (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_edit_text_movie_get_text (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   SwfdecEditTextMovie *text;
@@ -42,29 +44,367 @@ swfdec_edittext_movie_get_text (SwfdecAs
     return;
   text = SWFDEC_EDIT_TEXT_MOVIE (object);
 
-  SWFDEC_AS_VALUE_SET_STRING (ret, (text->str != NULL ? swfdec_as_context_get_string (cx, text->str) : SWFDEC_AS_STR_EMPTY));
+  SWFDEC_AS_VALUE_SET_STRING (ret, (text->text_display != NULL ? swfdec_as_context_get_string (cx, text->text_display) : SWFDEC_AS_STR_EMPTY));
 }
 
 static void
-swfdec_edittext_movie_do_set_text (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_edit_text_movie_do_set_text (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   SwfdecEditTextMovie *text;
+  const char *value;
 
-  if (!SWFDEC_IS_EDIT_TEXT_MOVIE (object))
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "s", &value);
+
+  swfdec_edit_text_movie_set_text (text, value);
+}
+
+/*
+ * Order of tags:
+ * TEXTFORMAT / P or LI / FONT / A / B / I / U
+ *
+ * Order of attributes:
+ * TEXTFORMAT:
+ * LEFTMARGIN / RIGHTMARGIN / INDENT / LEADING / BLOCKINDENT / TABSTOPS
+ * P: ALIGN
+ * LI: none
+ * FONT: FACE / SIZE / COLOR / LETTERSPACING / KERNING
+ * A: HREF / TARGET
+ * B: none
+ * I: none
+ * U: none
+ */
+
+typedef enum {
+  CHANGE_LEVEL_NONE,
+  CHANGE_LEVEL_UNDERLINE,
+  CHANGE_LEVEL_ITALIC,
+  CHANGE_LEVEL_BOLD,
+  CHANGE_LEVEL_A,
+  CHANGE_LEVEL_FONT,
+  CHANGE_LEVEL_P,
+  CHANGE_LEVEL_TEXTFORMAT,
+} ChangeLevel;
+
+static const char *
+align_to_string (SwfdecTextAlign align)
+{
+  switch (align) {
+    case SWFDEC_TEXT_ALIGN_LEFT:
+      return "LEFT";
+    case SWFDEC_TEXT_ALIGN_RIGHT:
+      return "RIGHT";
+    case SWFDEC_TEXT_ALIGN_CENTER:
+      return "CENTER";
+    case SWFDEC_TEXT_ALIGN_JUSTIFY:
+      return "JUSTIFY";
+    default:
+      g_assert_not_reached ();
+  }
+}
+
+static void
+swfdec_edit_text_movie_get_htmlText (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecEditTextMovie *text;
+  SwfdecTextFormat *format, *format_prev, *format_font;
+  GString *string;
+  GSList *iter, *fonts;
+  guint index_, index_prev;
+  int change_level;
+  gboolean bullet = FALSE;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+
+  if (text->text->html == FALSE) {
+    swfdec_edit_text_movie_get_text (cx, object, argc, argv, ret);
     return;
-  text = SWFDEC_EDIT_TEXT_MOVIE (object);
+  }
+
+  if (text->text_display == NULL) {
+    SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_EMPTY);
+    return;
+  }
+
+  string = g_string_new ("");
+
+  fonts = NULL;
+  index_prev = 0;
+  format_prev = NULL;
+  for (iter = text->formats; iter != NULL; iter = iter->next)
+  {
+    index_ = ((SwfdecFormatIndex *)(iter->data))->index;
+    format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+    string = g_string_append_len (string, text->text_display + index_prev,
+	index_ - index_prev);
+
+    if (format_prev == NULL) {
+      if (format->bullet) {
+	g_string_append (string, "<LI>");
+	bullet = TRUE;
+      } else {
+	g_string_append_printf (string, "<P ALIGN=\"%s\">",
+	    align_to_string (format->align));
+	bullet = FALSE;
+      }
+      g_string_append_printf (string, "<FONT FACE=\"%s\" SIZE=\"%i\" COLOR=\"#%06X\" LETTERSPACING=\"%i\" KERNING=\"%i\">", format->font, format->size, format->color, (int)format->letter_spacing, (format->kerning ? 1 : 0));
+      fonts = g_slist_prepend (fonts, format);
+      if (format->url != SWFDEC_AS_STR_EMPTY)
+	g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
+	    format->url, format->target);
+      if (format->bold)
+	string = g_string_append (string, "<B>");
+      if (format->italic)
+	string = g_string_append (string, "<I>");
+      if (format->underline)
+	string = g_string_append (string, "<U>");
+    } else {
+      // Figure out what tags need to be rewritten
+      if (format->font != format_prev->font ||
+	  format->size != format_prev->size ||
+	  format->color != format_prev->color ||
+	  (int)format->letter_spacing != (int)format_prev->letter_spacing ||
+	  format->kerning != format_prev->kerning) {
+	change_level = CHANGE_LEVEL_FONT;
+      } else if (format->url != format_prev->url ||
+	  format->target != format_prev->target) {
+	change_level = CHANGE_LEVEL_A;
+      } else if (format->bold != format_prev->bold) {
+	change_level = CHANGE_LEVEL_BOLD;
+      } else if (format->italic != format_prev->italic) {
+	change_level = CHANGE_LEVEL_ITALIC;
+      } else if (format->underline != format_prev->underline) {
+	change_level = CHANGE_LEVEL_UNDERLINE;
+      } else {
+	change_level = CHANGE_LEVEL_NONE;
+      }
+
+      // Close tags
+      if (change_level >= CHANGE_LEVEL_UNDERLINE) {
+	GSList *iter_font;
+	for (iter_font = fonts; iter_font != NULL; iter_font = iter_font->next)
+	{
+	  format_font = (SwfdecTextFormat *)iter_font->data;
+	  if (format->font == format_font->font &&
+	    format->size == format_font->size &&
+	    format->color == format_font->color &&
+	    (int)format->letter_spacing == (int)format_font->letter_spacing &&
+	    format->kerning == format_font->kerning) {
+	    break;
+	  }
+	}
+	if (iter_font != NULL) {
+	  while (fonts != iter_font) {
+	    string = g_string_append (string, "</FONT>");
+	    fonts = g_slist_remove (fonts, fonts->data);
+	  }
+	}
+      }
+      if (format_prev->underline && change_level >= CHANGE_LEVEL_UNDERLINE)
+	string = g_string_append (string, "</U>");
+      if (format_prev->italic && change_level >= CHANGE_LEVEL_UNDERLINE)
+	string = g_string_append (string, "</I>");
+      if (format_prev->bold && change_level >= CHANGE_LEVEL_UNDERLINE)
+	string = g_string_append (string, "</B>");
+      if (format_prev->url != SWFDEC_AS_STR_EMPTY &&
+	  change_level >= CHANGE_LEVEL_UNDERLINE) {
+	string = g_string_append (string, "</A>");
+      }
+
+      // Open tags
+      format_font = (SwfdecTextFormat *)fonts->data;
+      if (change_level >= CHANGE_LEVEL_FONT &&
+	  (format->font != format_font->font ||
+	   format->size != format_font->size ||
+	   format->color != format_font->color ||
+	   (int)format->letter_spacing != (int)format_font->letter_spacing ||
+	   format->kerning != format_font->kerning))
+      {
+	fonts = g_slist_prepend (fonts, format);
+
+	string = g_string_append (string, "<FONT");
+	if (format->font != format_font->font)
+	  g_string_append_printf (string, " FONT=\"%s\"", format->font);
+	if (format->size != format_font->size)
+	  g_string_append_printf (string, " SIZE=\"%i\"", format->size);
+	if (format->color != format_font->color)
+	  g_string_append_printf (string, " COLOR=\"#%06X\"", format->color);
+	if ((int)format->letter_spacing != (int)format_font->letter_spacing) {
+	  g_string_append_printf (string, " LETTERSPACING=\"%i\"",
+	      (int)format->letter_spacing);
+	}
+	if (format->kerning != format_font->kerning) {
+	  g_string_append_printf (string, " KERNING=\"%i\"",
+	      (format->kerning ? 1 : 0));
+	}
+	string = g_string_append (string, ">");
+      }
+      if (format->url != SWFDEC_AS_STR_EMPTY &&
+	  change_level >= CHANGE_LEVEL_UNDERLINE) {
+	g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
+	    format->url, format->target);
+      }
+      if (format->bold && change_level >= CHANGE_LEVEL_UNDERLINE)
+	string = g_string_append (string, "<B>");
+      if (format->italic && change_level >= CHANGE_LEVEL_UNDERLINE)
+	string = g_string_append (string, "<I>");
+      if (format->underline && change_level >= CHANGE_LEVEL_UNDERLINE)
+	string = g_string_append (string, "<U>");
+    }
+
+    index_prev = index_;
+    format_prev = format;
+  }
+  string = g_string_append (string, text->text_display + index_prev);
+
+  g_assert (format_prev != NULL);
+
+  if (format_prev->underline)
+    string = g_string_append (string, "</U>");
+  if (format_prev->italic)
+    string = g_string_append (string, "</I>");
+  if (format_prev->bold)
+    string = g_string_append (string, "</B>");
+  if (format_prev->url != SWFDEC_AS_STR_EMPTY)
+    string = g_string_append (string, "</A>");
+  for (iter = fonts; iter != NULL; iter = iter->next)
+    string = g_string_append (string, "</FONT>");
+  g_slist_free (fonts);
+  if (bullet) {
+    string = g_string_append (string, "</LI>");
+  } else {
+    string = g_string_append (string, "</P>");
+  }
+
+  SWFDEC_AS_VALUE_SET_STRING (ret,
+      swfdec_as_context_give_string (cx, g_string_free (string, FALSE)));
+}
+
+static void
+swfdec_edit_text_movie_set_htmlText (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecEditTextMovie *text;
+  const char *value;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "s", &value);
+
+  swfdec_edit_text_movie_set_text (text, value);
+}
+
+static void
+swfdec_edit_text_movie_get_html (SwfdecAsContext *cx, SwfdecAsObject *object,
+    guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+  SwfdecEditTextMovie *text;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+
+  SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->html);
+}
+
+static void
+swfdec_edit_text_movie_set_html (SwfdecAsContext *cx, SwfdecAsObject *object,
+    guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+  SwfdecEditTextMovie *text;
+  gboolean value;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "b", &value);
+
+  text->text->html = value;
+}
+
+SWFDEC_AS_NATIVE (104, 102, swfdec_edit_text_movie_setTextFormat)
+void
+swfdec_edit_text_movie_setTextFormat (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *ret)
+{
+  SwfdecEditTextMovie *text;
+  int i;
+  SwfdecFormatIndex *findex, *findex_new;
+  SwfdecTextFormat *format;
+  guint findex_end_index, start_index, end_index;
+  GSList *iter, *next;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
 
   if (argc < 1)
     return;
 
-  swfdec_edit_text_movie_set_text (text,
-      swfdec_as_value_to_string (cx, &argv[0]));
+  i = 0;
+  if (argc >= 2) {
+    start_index = swfdec_as_value_to_integer (cx, &argv[i++]);
+    start_index = MIN (start_index, strlen (text->text_display));
+  } else {
+    start_index = 0;
+  }
+  if (argc >= 3) {
+    end_index = swfdec_as_value_to_integer (cx, &argv[i++]);
+    end_index = CLAMP (end_index, start_index, strlen (text->text_display));
+  } else {
+    end_index = strlen (text->text_display);
+  }
+  if (start_index == end_index)
+    return;
+
+  if (!SWFDEC_AS_VALUE_IS_OBJECT (&argv[i]))
+    return;
+  if (!SWFDEC_IS_TEXT_FORMAT (SWFDEC_AS_VALUE_GET_OBJECT (&argv[i])))
+    return;
+
+  format = SWFDEC_TEXT_FORMAT (SWFDEC_AS_VALUE_GET_OBJECT (&argv[i]));
+
+  g_assert (text->formats != NULL);
+  g_assert (text->formats->data != NULL);
+  g_assert (((SwfdecFormatIndex *)text->formats->data)->index == 0);
+  for (iter = text->formats; iter != NULL &&
+      ((SwfdecFormatIndex *)iter->data)->index < end_index;
+      iter = next)
+  {
+    next = iter->next;
+    findex = iter->data;
+    if (iter->next != NULL) {
+      findex_end_index =
+	((SwfdecFormatIndex *)iter->next->data)->index;
+    } else {
+      findex_end_index = strlen (text->text_display);
+    }
+
+    if (findex_end_index < start_index)
+      continue;
+
+    if (findex_end_index > end_index) {
+      findex_new = g_new (SwfdecFormatIndex, 1);
+      findex_new->index = end_index;
+      findex_new->format = swfdec_text_format_copy (findex->format);
+
+      iter = g_slist_insert (iter, findex_new, 1);
+    }
+
+    if (findex->index < start_index) {
+      findex_new = g_new (SwfdecFormatIndex, 1);
+      findex_new->index = start_index;
+      findex_new->format = swfdec_text_format_copy (findex->format);
+      swfdec_text_format_add (findex_new->format, format);
+
+      iter = g_slist_insert (iter, findex_new, 1);
+    } else {
+      swfdec_text_format_add (findex->format, format);
+    }
+  }
+
+  swfdec_edit_text_movie_format_changed (text);
 }
 
-SWFDEC_AS_NATIVE (104, 200, swfdec_edittext_movie_createTextField)
+SWFDEC_AS_NATIVE (104, 200, swfdec_edit_text_movie_createTextField)
 void
-swfdec_edittext_movie_createTextField (SwfdecAsContext *cx,
+swfdec_edit_text_movie_createTextField (SwfdecAsContext *cx,
     SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
     SwfdecAsValue *rval)
 {
@@ -117,7 +457,7 @@ swfdec_edittext_movie_createTextField (S
 }
 
 static void
-swfdec_edittext_movie_add_variable (SwfdecAsObject *object,
+swfdec_edit_text_movie_add_variable (SwfdecAsObject *object,
     const char *variable, SwfdecAsNative get, SwfdecAsNative set)
 {
   SwfdecAsFunction *get_func, *set_func;
@@ -141,9 +481,9 @@ swfdec_edittext_movie_add_variable (Swfd
   swfdec_as_object_add_variable (object, variable, get_func, set_func, 0);
 }
 
-SWFDEC_AS_CONSTRUCTOR (104, 0, swfdec_edittext_movie_construct, swfdec_edit_text_movie_get_type)
+SWFDEC_AS_CONSTRUCTOR (104, 0, swfdec_edit_text_movie_construct, swfdec_edit_text_movie_get_type)
 void
-swfdec_edittext_movie_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_edit_text_movie_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   if (!cx->frame->construct) {
@@ -170,8 +510,13 @@ swfdec_edittext_movie_construct (SwfdecA
     g_return_if_fail (SWFDEC_AS_VALUE_IS_OBJECT (&val));
     proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
 
-    swfdec_edittext_movie_add_variable (proto, SWFDEC_AS_STR_text,
-	swfdec_edittext_movie_get_text, swfdec_edittext_movie_do_set_text);
+    swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_text,
+	swfdec_edit_text_movie_get_text, swfdec_edit_text_movie_do_set_text);
+    swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_htmlText,
+	swfdec_edit_text_movie_get_htmlText,
+	swfdec_edit_text_movie_set_htmlText);
+    swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_html,
+	swfdec_edit_text_movie_get_html, swfdec_edit_text_movie_set_html);
 
     SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
   }
diff-tree 23e1483d8ab172613da5dc7830554b41699b9bfb (from 3f9e344e692a3e240ae00f16ad70f375c39c1d3e)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Fri Oct 5 13:21:48 2007 +0300

    Add couple of missing SWFDEC_AS_STR strings for TextFormat

diff --git a/libswfdec/swfdec_as_strings.c b/libswfdec/swfdec_as_strings.c
index 3aa0ba1..2283bbe 100644
--- a/libswfdec/swfdec_as_strings.c
+++ b/libswfdec/swfdec_as_strings.c
@@ -385,6 +385,8 @@ const char swfdec_as_strings[] = 
   SWFDEC_AS_CONSTANT_STRING ("block")
   SWFDEC_AS_CONSTANT_STRING ("TextField")
   SWFDEC_AS_CONSTANT_STRING ("text")
+  SWFDEC_AS_CONSTANT_STRING ("TextFormat")
+  SWFDEC_AS_CONSTANT_STRING ("Times New Roman")
   /* add more here */
 ;
 
diff-tree 3f9e344e692a3e240ae00f16ad70f375c39c1d3e (from 302c72ffdae7277cf6e3141337cce54af296c07e)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Thu Oct 4 11:28:38 2007 +0300

    Clean up TextFormat code somewhat and add set_defaults, copy and add functions

diff --git a/libswfdec/swfdec_text_format.c b/libswfdec/swfdec_text_format.c
index 96bac90..c13fd6b 100644
--- a/libswfdec/swfdec_text_format.c
+++ b/libswfdec/swfdec_text_format.c
@@ -36,6 +36,29 @@
 
 G_DEFINE_TYPE (SwfdecTextFormat, swfdec_text_format, SWFDEC_TYPE_AS_OBJECT)
 
+typedef enum {
+  PROP_ALIGN = 0,
+  PROP_BLOCK_INDENT,
+  PROP_BOLD,
+  PROP_BULLET,
+  PROP_COLOR,
+  PROP_DISPLAY,
+  PROP_FONT,
+  PROP_INDENT,
+  PROP_ITALIC,
+  PROP_KERNING,
+  PROP_LEADING,
+  PROP_LEFT_MARGIN,
+  PROP_LETTER_SPACING,
+  PROP_RIGHT_MARGIN,
+  PROP_SIZE,
+  PROP_TAB_STOPS,
+  PROP_TARGET,
+  PROP_UNDERLINE,
+  PROP_URL,
+  PROP_TOTAL
+} FormatProp;
+
 static int property_offsets[] = {
   G_STRUCT_OFFSET (SwfdecTextFormat, align),
   G_STRUCT_OFFSET (SwfdecTextFormat, block_indent),
@@ -89,29 +112,28 @@ swfdec_text_format_init (SwfdecTextForma
 }
 
 static gboolean
-swfdec_text_format_is_set (SwfdecTextFormat *format,
-    SwfdecTextFormatProperty property)
+swfdec_text_format_is_set (const SwfdecTextFormat *format, FormatProp property)
 {
   return (format->values_set & (1 << property));
 }
 
 static void
 swfdec_text_format_mark_set (SwfdecTextFormat *format,
-    SwfdecTextFormatProperty property)
+    FormatProp property)
 {
   format->values_set |= (1 << property);
 }
 
 static void
 swfdec_text_format_mark_unset (SwfdecTextFormat *format,
-    SwfdecTextFormatProperty property)
+    FormatProp property)
 {
   format->values_set &= ~(1 << property);
 }
 
 static void
 swfdec_text_format_get_string (SwfdecAsObject *object,
-    SwfdecTextFormatProperty property, SwfdecAsValue *ret)
+    FormatProp property, SwfdecAsValue *ret)
 {
   SwfdecTextFormat *format;
 
@@ -130,7 +152,7 @@ swfdec_text_format_get_string (SwfdecAsO
 
 static void
 swfdec_text_format_set_string (SwfdecAsObject *object,
-    SwfdecTextFormatProperty property, guint argc, SwfdecAsValue *argv)
+    FormatProp property, guint argc, SwfdecAsValue *argv)
 {
   SwfdecTextFormat *format;
   const char *s;
@@ -158,7 +180,7 @@ swfdec_text_format_set_string (SwfdecAsO
 
 static void
 swfdec_text_format_get_boolean (SwfdecAsObject *object,
-    SwfdecTextFormatProperty property, SwfdecAsValue *ret)
+    FormatProp property, SwfdecAsValue *ret)
 {
   SwfdecTextFormat *format;
 
@@ -180,7 +202,7 @@ swfdec_text_format_get_boolean (SwfdecAs
 
 static void
 swfdec_text_format_set_boolean (SwfdecAsObject *object,
-    SwfdecTextFormatProperty property, guint argc, SwfdecAsValue *argv)
+    FormatProp property, guint argc, SwfdecAsValue *argv)
 {
   SwfdecTextFormat *format;
 
@@ -207,7 +229,7 @@ swfdec_text_format_set_boolean (SwfdecAs
 
 static void
 swfdec_text_format_get_integer (SwfdecAsObject *object,
-    SwfdecTextFormatProperty property, SwfdecAsValue *ret)
+    FormatProp property, SwfdecAsValue *ret)
 {
   SwfdecTextFormat *format;
 
@@ -257,7 +279,7 @@ swfdec_text_format_value_to_integer (Swf
 
 static void
 swfdec_text_format_set_integer (SwfdecAsObject *object,
-    SwfdecTextFormatProperty property, guint argc, SwfdecAsValue *argv,
+    FormatProp property, guint argc, SwfdecAsValue *argv,
     gboolean allow_negative)
 {
   SwfdecTextFormat *format;
@@ -281,7 +303,7 @@ swfdec_text_format_set_integer (SwfdecAs
 }
 
 static void
-swfdec_text_format_get_align (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_align (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   SwfdecTextFormat *format;
@@ -290,7 +312,7 @@ swfdec_text_format_get_align (SwfdecAsCo
     return;
   format = SWFDEC_TEXT_FORMAT (object);
 
-  if (!swfdec_text_format_is_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN)) {
+  if (!swfdec_text_format_is_set (format, PROP_ALIGN)) {
     SWFDEC_AS_VALUE_SET_NULL (ret);
     return;
   }
@@ -314,7 +336,7 @@ swfdec_text_format_get_align (SwfdecAsCo
 }
 
 static void
-swfdec_text_format_set_align (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_align (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   SwfdecTextFormat *format;
@@ -333,69 +355,69 @@ swfdec_text_format_set_align (SwfdecAsCo
 
   if (!g_ascii_strcasecmp (s, "left")) {
     format->align = SWFDEC_TEXT_ALIGN_LEFT;
-    swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN);
+    swfdec_text_format_mark_set (format, PROP_ALIGN);
   } else if (!g_ascii_strcasecmp (s, "center")) {
     format->align = SWFDEC_TEXT_ALIGN_CENTER;
-    swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN);
+    swfdec_text_format_mark_set (format, PROP_ALIGN);
   } else if (!g_ascii_strcasecmp (s, "right")) {
     format->align = SWFDEC_TEXT_ALIGN_RIGHT;
-    swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN);
+    swfdec_text_format_mark_set (format, PROP_ALIGN);
   } else if (!g_ascii_strcasecmp (s, "justify")) {
     format->align = SWFDEC_TEXT_ALIGN_JUSTIFY;
-    swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN);
+    swfdec_text_format_mark_set (format, PROP_ALIGN);
   }
 }
 
 static void
-swfdec_text_format_get_block_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_block_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   swfdec_text_format_get_integer (object,
-      SWFDEC_TEXT_FORMAT_PROPERTY_BLOCK_INDENT, ret);
+      PROP_BLOCK_INDENT, ret);
 }
 
 static void
-swfdec_text_format_set_block_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_block_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   swfdec_text_format_set_integer (object,
-      SWFDEC_TEXT_FORMAT_PROPERTY_BLOCK_INDENT, argc, argv, cx->version >= 8);
+      PROP_BLOCK_INDENT, argc, argv, cx->version >= 8);
 }
 
 static void
-swfdec_text_format_get_bold (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_bold (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_BOLD,
+  swfdec_text_format_get_boolean (object, PROP_BOLD,
       ret);
 }
 
 static void
-swfdec_text_format_set_bold (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_bold (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_BOLD,
+  swfdec_text_format_set_boolean (object, PROP_BOLD,
       argc, argv);
 }
 
 static void
-swfdec_text_format_get_bullet (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_bullet (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_BULLET,
+  swfdec_text_format_get_boolean (object, PROP_BULLET,
       ret);
 }
 
 static void
-swfdec_text_format_set_bullet (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_bullet (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_BULLET,
+  swfdec_text_format_set_boolean (object, PROP_BULLET,
       argc, argv);
 }
 
 static void
-swfdec_text_format_get_color (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_color (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   SwfdecTextFormat *format;
@@ -404,7 +426,7 @@ swfdec_text_format_get_color (SwfdecAsCo
     return;
   format = SWFDEC_TEXT_FORMAT (object);
 
-  if (!swfdec_text_format_is_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_COLOR)) {
+  if (!swfdec_text_format_is_set (format, PROP_COLOR)) {
     SWFDEC_AS_VALUE_SET_NULL (ret);
     return;
   }
@@ -413,7 +435,7 @@ swfdec_text_format_get_color (SwfdecAsCo
 }
 
 static void
-swfdec_text_format_set_color (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_color (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   SwfdecTextFormat *format;
@@ -428,7 +450,7 @@ swfdec_text_format_set_color (SwfdecAsCo
 
   if (SWFDEC_AS_VALUE_IS_UNDEFINED (&argv[0]) ||
       SWFDEC_AS_VALUE_IS_NULL (&argv[0])) {
-    swfdec_text_format_mark_unset (format, SWFDEC_TEXT_FORMAT_PROPERTY_COLOR);
+    swfdec_text_format_mark_unset (format, PROP_COLOR);
   } else {
     if (cx->version >= 8) {
       format->color = (unsigned)swfdec_as_value_to_number (cx, &argv[0]);
@@ -438,12 +460,12 @@ swfdec_text_format_set_color (SwfdecAsCo
     swfdec_as_value_to_integer (cx, &argv[0]);
     swfdec_as_value_to_string (cx, &argv[0]);
 
-    swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_COLOR);
+    swfdec_text_format_mark_set (format, PROP_COLOR);
   }
 }
 
 static void
-swfdec_text_format_get_display (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_display (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   SwfdecTextFormat *format;
@@ -452,7 +474,7 @@ swfdec_text_format_get_display (SwfdecAs
     return;
   format = SWFDEC_TEXT_FORMAT (object);
 
-  if (!swfdec_text_format_is_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_DISPLAY))
+  if (!swfdec_text_format_is_set (format, PROP_DISPLAY))
   {
     SWFDEC_AS_VALUE_SET_NULL (ret);
     return;
@@ -474,7 +496,7 @@ swfdec_text_format_get_display (SwfdecAs
 }
 
 static void
-swfdec_text_format_set_display (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_display (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   SwfdecTextFormat *format;
@@ -497,106 +519,106 @@ swfdec_text_format_set_display (SwfdecAs
     format->display = SWFDEC_TEXT_DISPLAY_BLOCK;
   }
 
-  swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_DISPLAY);
+  swfdec_text_format_mark_set (format, PROP_DISPLAY);
 }
 
 static void
-swfdec_text_format_get_font (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_font (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_FONT,
+  swfdec_text_format_get_string (object, PROP_FONT,
       ret);
 }
 
 static void
-swfdec_text_format_set_font (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_font (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_FONT,
+  swfdec_text_format_set_string (object, PROP_FONT,
       argc, argv);
 }
 
 static void
-swfdec_text_format_get_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_INDENT,
+  swfdec_text_format_get_integer (object, PROP_INDENT,
       ret);
 }
 
 static void
-swfdec_text_format_set_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_INDENT,
+  swfdec_text_format_set_integer (object, PROP_INDENT,
       argc, argv, cx->version >= 8);
 }
 
 static void
-swfdec_text_format_get_italic (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_italic (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_ITALIC, ret);
+  swfdec_text_format_get_boolean (object, PROP_ITALIC, ret);
 }
 
 static void
-swfdec_text_format_set_italic (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_italic (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_ITALIC,
+  swfdec_text_format_set_boolean (object, PROP_ITALIC,
       argc, argv);
 }
 
 static void
-swfdec_text_format_get_kerning (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_kerning (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_KERNING,
+  swfdec_text_format_get_boolean (object, PROP_KERNING,
       ret);
 }
 
 static void
-swfdec_text_format_set_kerning (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_kerning (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_KERNING,
+  swfdec_text_format_set_boolean (object, PROP_KERNING,
       argc, argv);
 }
 
 static void
-swfdec_text_format_get_leading (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_leading (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_LEADING,
+  swfdec_text_format_get_integer (object, PROP_LEADING,
       ret);
 }
 
 static void
-swfdec_text_format_set_leading (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_leading (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_LEADING,
+  swfdec_text_format_set_integer (object, PROP_LEADING,
       argc, argv, cx->version >= 8);
 }
 
 static void
-swfdec_text_format_get_left_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_left_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   swfdec_text_format_get_integer (object,
-      SWFDEC_TEXT_FORMAT_PROPERTY_LEFT_MARGIN, ret);
+      PROP_LEFT_MARGIN, ret);
 }
 
 static void
-swfdec_text_format_set_left_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_left_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   swfdec_text_format_set_integer (object,
-      SWFDEC_TEXT_FORMAT_PROPERTY_LEFT_MARGIN, argc, argv, FALSE);
+      PROP_LEFT_MARGIN, argc, argv, FALSE);
 }
 
 static void
-swfdec_text_format_get_letter_spacing (SwfdecAsContext *cx,
+swfdec_text_format_do_get_letter_spacing (SwfdecAsContext *cx,
     SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
     SwfdecAsValue *ret)
 {
@@ -607,7 +629,7 @@ swfdec_text_format_get_letter_spacing (S
   format = SWFDEC_TEXT_FORMAT (object);
 
   if (!swfdec_text_format_is_set (format,
-	SWFDEC_TEXT_FORMAT_PROPERTY_LETTER_SPACING))
+	PROP_LETTER_SPACING))
   {
     SWFDEC_AS_VALUE_SET_NULL (ret);
     return;
@@ -617,7 +639,7 @@ swfdec_text_format_get_letter_spacing (S
 }
 
 static void
-swfdec_text_format_set_letter_spacing (SwfdecAsContext *cx,
+swfdec_text_format_do_set_letter_spacing (SwfdecAsContext *cx,
     SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
     SwfdecAsValue *ret)
 {
@@ -639,50 +661,50 @@ swfdec_text_format_set_letter_spacing (S
       SWFDEC_AS_VALUE_IS_NULL (&argv[0]))
   {
     swfdec_text_format_mark_unset (format,
-	SWFDEC_TEXT_FORMAT_PROPERTY_LETTER_SPACING);
+	PROP_LETTER_SPACING);
   }
   else
   {
     format->letter_spacing = d;
     swfdec_text_format_mark_set (format,
-	SWFDEC_TEXT_FORMAT_PROPERTY_LETTER_SPACING);
+	PROP_LETTER_SPACING);
   }
 }
 
 static void
-swfdec_text_format_get_right_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_right_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   swfdec_text_format_get_integer (object,
-      SWFDEC_TEXT_FORMAT_PROPERTY_RIGHT_MARGIN, ret);
+      PROP_RIGHT_MARGIN, ret);
 }
 
 static void
-swfdec_text_format_set_right_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_right_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   swfdec_text_format_set_integer (object,
-      SWFDEC_TEXT_FORMAT_PROPERTY_RIGHT_MARGIN, argc, argv, FALSE);
+      PROP_RIGHT_MARGIN, argc, argv, FALSE);
 }
 
 static void
-swfdec_text_format_get_size (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_size (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_SIZE,
+  swfdec_text_format_get_integer (object, PROP_SIZE,
       ret);
 }
 
 static void
-swfdec_text_format_set_size (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_size (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_SIZE,
+  swfdec_text_format_set_integer (object, PROP_SIZE,
       argc, argv, TRUE);
 }
 
 static void
-swfdec_text_format_get_tab_stops (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_tab_stops (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   SwfdecTextFormat *format;
@@ -692,7 +714,7 @@ swfdec_text_format_get_tab_stops (Swfdec
   format = SWFDEC_TEXT_FORMAT (object);
 
   if (!swfdec_text_format_is_set (format,
-	SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS))
+	PROP_TAB_STOPS))
   {
     SWFDEC_AS_VALUE_SET_NULL (ret);
     return;
@@ -703,7 +725,7 @@ swfdec_text_format_get_tab_stops (Swfdec
 }
 
 static void
-swfdec_text_format_set_tab_stops (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_tab_stops (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   SwfdecTextFormat *format;
@@ -724,7 +746,7 @@ swfdec_text_format_set_tab_stops (Swfdec
   {
     format->tab_stops = NULL;
     swfdec_text_format_mark_unset (format,
-	SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
+	PROP_TAB_STOPS);
   }
   else if (SWFDEC_AS_VALUE_IS_OBJECT (&argv[0]) &&
 	SWFDEC_IS_AS_ARRAY (SWFDEC_AS_VALUE_GET_OBJECT (&argv[0])))
@@ -738,14 +760,14 @@ swfdec_text_format_set_tab_stops (Swfdec
     len = swfdec_as_array_get_length (array);
 
     if (!swfdec_text_format_is_set (format,
-	  SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS))
+	  PROP_TAB_STOPS))
     {
       // special case, if we have null and array is empty, keep it at null
       if (len == 0)
 	return;
       format->tab_stops = SWFDEC_AS_ARRAY (swfdec_as_array_new (cx));
       swfdec_text_format_mark_set (format,
-	  SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
+	  PROP_TAB_STOPS);
     }
 
     swfdec_as_array_set_length (format->tab_stops, 0);
@@ -767,11 +789,11 @@ swfdec_text_format_set_tab_stops (Swfdec
     if (len == 0) {
       format->tab_stops = NULL;
       swfdec_text_format_mark_unset (format,
-	  SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
+	  PROP_TAB_STOPS);
     } else {
       format->tab_stops = SWFDEC_AS_ARRAY (swfdec_as_array_new (cx));
       swfdec_text_format_mark_set (format,
-	  SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
+	  PROP_TAB_STOPS);
       if (cx->version >= 8) {
 	SWFDEC_AS_VALUE_SET_INT (&val, -2147483648);
       } else {
@@ -783,58 +805,58 @@ swfdec_text_format_set_tab_stops (Swfdec
     }
   }
   else if (swfdec_text_format_is_set (format,
-	SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS))
+	PROP_TAB_STOPS))
   {
     swfdec_as_array_set_length (format->tab_stops, 0);
     swfdec_text_format_mark_set (format,
-	SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
+	PROP_TAB_STOPS);
   }
 }
 
 static void
-swfdec_text_format_get_target (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_target (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_TARGET,
+  swfdec_text_format_get_string (object, PROP_TARGET,
       ret);
 }
 
 static void
-swfdec_text_format_set_target (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_target (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_TARGET,
+  swfdec_text_format_set_string (object, PROP_TARGET,
       argc, argv);
 }
 
 static void
-swfdec_text_format_get_underline (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_underline (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   swfdec_text_format_get_boolean (object,
-      SWFDEC_TEXT_FORMAT_PROPERTY_UNDERLINE, ret);
+      PROP_UNDERLINE, ret);
 }
 
 static void
-swfdec_text_format_set_underline (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_underline (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   swfdec_text_format_set_boolean (object,
-      SWFDEC_TEXT_FORMAT_PROPERTY_UNDERLINE, argc, argv);
+      PROP_UNDERLINE, argc, argv);
 }
 
 static void
-swfdec_text_format_get_url (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_url (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_URL, ret);
+  swfdec_text_format_get_string (object, PROP_URL, ret);
 }
 
 static void
-swfdec_text_format_set_url (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_url (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_URL, argc,
+  swfdec_text_format_set_string (object, PROP_URL, argc,
       argv);
 }
 
@@ -863,6 +885,85 @@ swfdec_text_format_add_variable (SwfdecA
   swfdec_as_object_add_variable (object, variable, get_func, set_func, 0);
 }
 
+void
+swfdec_text_format_add (SwfdecTextFormat *format, const SwfdecTextFormat *from)
+{
+  g_return_if_fail (SWFDEC_IS_TEXT_FORMAT (format));
+  g_return_if_fail (SWFDEC_IS_TEXT_FORMAT (from));
+
+  if (swfdec_text_format_is_set (from, PROP_ALIGN))
+    format->align = from->align;
+  if (swfdec_text_format_is_set (from, PROP_BLOCK_INDENT))
+    format->block_indent = from->block_indent;
+  if (swfdec_text_format_is_set (from, PROP_BOLD))
+    format->bold = from->bold;
+  if (swfdec_text_format_is_set (from, PROP_BULLET))
+    format->bullet = from->bullet;
+  if (swfdec_text_format_is_set (from, PROP_COLOR))
+    format->color = from->color;
+  if (swfdec_text_format_is_set (from, PROP_DISPLAY))
+    format->display = from->display;
+  if (swfdec_text_format_is_set (from, PROP_FONT))
+    format->font = from->font;
+  if (swfdec_text_format_is_set (from, PROP_INDENT))
+    format->indent = from->indent;
+  if (swfdec_text_format_is_set (from, PROP_ITALIC))
+    format->italic = from->italic ;
+  if (swfdec_text_format_is_set (from, PROP_KERNING))
+    format->kerning = from->kerning;
+  if (swfdec_text_format_is_set (from, PROP_LEADING))
+    format->leading = from->leading;
+  if (swfdec_text_format_is_set (from, PROP_LEFT_MARGIN))
+    format->left_margin = from->left_margin;
+  if (swfdec_text_format_is_set (from, PROP_LETTER_SPACING))
+    format->letter_spacing = from->letter_spacing;
+  if (swfdec_text_format_is_set (from, PROP_RIGHT_MARGIN))
+    format->right_margin = from->right_margin;
+  if (swfdec_text_format_is_set (from, PROP_SIZE))
+    format->size = from->size;
+  if (swfdec_text_format_is_set (from, PROP_TAB_STOPS))
+    format->tab_stops = from->tab_stops;
+  if (swfdec_text_format_is_set (from, PROP_TARGET))
+    format->target = from->target;
+  if (swfdec_text_format_is_set (from, PROP_UNDERLINE))
+    format->underline = from->underline;
+  if (swfdec_text_format_is_set (from, PROP_URL))
+    format->url = from->url;
+
+  format->values_set |= from->values_set;
+}
+
+void
+swfdec_text_format_set_defaults (SwfdecTextFormat *format)
+{
+  format->align = SWFDEC_TEXT_ALIGN_LEFT;
+  format->block_indent = 0;
+  format->bold = FALSE;
+  format->bullet = FALSE;
+  format->color = 0;
+  format->display = SWFDEC_TEXT_DISPLAY_BLOCK;
+  format->font = SWFDEC_AS_STR_Times_New_Roman;
+  format->indent = 0;
+  format->italic = FALSE;
+  format->kerning = FALSE;
+  format->leading = 0;
+  format->left_margin = 0;
+  format->letter_spacing = 0;
+  format->right_margin = 0;
+  format->size = 12; // ??
+  format->tab_stops = NULL; // ??
+  format->target = NULL; // ??
+  format->url = NULL; // ??
+  format->underline = FALSE;
+
+  format->values_set = (1 << PROP_TOTAL) - 1;
+
+  swfdec_text_format_mark_unset (format,
+      PROP_TAB_STOPS);
+  swfdec_text_format_mark_unset (format, PROP_TARGET);
+  swfdec_text_format_mark_unset (format, PROP_URL);
+}
+
 static void
 swfdec_text_format_clear (SwfdecTextFormat *format)
 {
@@ -873,7 +974,7 @@ swfdec_text_format_clear (SwfdecTextForm
   format->values_set = 0;
 
   format->display = SWFDEC_TEXT_DISPLAY_BLOCK;
-  swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_DISPLAY);
+  swfdec_text_format_mark_set (format, PROP_DISPLAY);
 }
 
 SWFDEC_AS_CONSTRUCTOR (110, 0, swfdec_text_format_construct, swfdec_text_format_get_type)
@@ -899,51 +1000,51 @@ swfdec_text_format_construct (SwfdecAsCo
     proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
 
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_align,
-	swfdec_text_format_get_align, swfdec_text_format_set_align);
+	swfdec_text_format_do_get_align, swfdec_text_format_do_set_align);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_blockIndent,
-	swfdec_text_format_get_block_indent,
-	swfdec_text_format_set_block_indent);
+	swfdec_text_format_do_get_block_indent,
+	swfdec_text_format_do_set_block_indent);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_bold,
-	swfdec_text_format_get_bold, swfdec_text_format_set_bold);
+	swfdec_text_format_do_get_bold, swfdec_text_format_do_set_bold);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_bullet,
-	swfdec_text_format_get_bullet, swfdec_text_format_set_bullet);
+	swfdec_text_format_do_get_bullet, swfdec_text_format_do_set_bullet);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_color,
-	swfdec_text_format_get_color, swfdec_text_format_set_color);
+	swfdec_text_format_do_get_color, swfdec_text_format_do_set_color);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_display,
-	swfdec_text_format_get_display, swfdec_text_format_set_display);
+	swfdec_text_format_do_get_display, swfdec_text_format_do_set_display);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_font,
-	swfdec_text_format_get_font, swfdec_text_format_set_font);
+	swfdec_text_format_do_get_font, swfdec_text_format_do_set_font);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_indent,
-	swfdec_text_format_get_indent, swfdec_text_format_set_indent);
+	swfdec_text_format_do_get_indent, swfdec_text_format_do_set_indent);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_italic,
-	swfdec_text_format_get_italic, swfdec_text_format_set_italic);
+	swfdec_text_format_do_get_italic, swfdec_text_format_do_set_italic);
     if (cx->version >= 8) {
       swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_kerning,
-	  swfdec_text_format_get_kerning, swfdec_text_format_set_kerning);
+	  swfdec_text_format_do_get_kerning, swfdec_text_format_do_set_kerning);
     }
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_leading,
-	swfdec_text_format_get_leading, swfdec_text_format_set_leading);
+	swfdec_text_format_do_get_leading, swfdec_text_format_do_set_leading);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_leftMargin,
-	swfdec_text_format_get_left_margin,
-	swfdec_text_format_set_left_margin);
+	swfdec_text_format_do_get_left_margin,
+	swfdec_text_format_do_set_left_margin);
     if (cx->version >= 8) {
       swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_letterSpacing,
-	  swfdec_text_format_get_letter_spacing,
-	  swfdec_text_format_set_letter_spacing);
+	  swfdec_text_format_do_get_letter_spacing,
+	  swfdec_text_format_do_set_letter_spacing);
     }
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_rightMargin,
-	swfdec_text_format_get_right_margin,
-	swfdec_text_format_set_right_margin);
+	swfdec_text_format_do_get_right_margin,
+	swfdec_text_format_do_set_right_margin);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_size,
-	swfdec_text_format_get_size, swfdec_text_format_set_size);
+	swfdec_text_format_do_get_size, swfdec_text_format_do_set_size);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_tabStops,
-	swfdec_text_format_get_tab_stops, swfdec_text_format_set_tab_stops);
+	swfdec_text_format_do_get_tab_stops, swfdec_text_format_do_set_tab_stops);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_target,
-	swfdec_text_format_get_target, swfdec_text_format_set_target);
+	swfdec_text_format_do_get_target, swfdec_text_format_do_set_target);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_underline,
-	swfdec_text_format_get_underline, swfdec_text_format_set_underline);
+	swfdec_text_format_do_get_underline, swfdec_text_format_do_set_underline);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_url,
-	swfdec_text_format_get_url, swfdec_text_format_set_url);
+	swfdec_text_format_do_get_url, swfdec_text_format_do_set_url);
 
     SWFDEC_PLAYER (cx)->text_format_properties_initialized = TRUE;
   }
@@ -979,6 +1080,43 @@ swfdec_text_format_construct (SwfdecAsCo
     swfdec_as_object_set_variable (object, SWFDEC_AS_STR_leading, &argv[i]);
 }
 
+SwfdecTextFormat *
+swfdec_text_format_copy (const SwfdecTextFormat *copy_from)
+{
+  SwfdecAsObject *object_to;
+  SwfdecTextFormat *copy_to;
+
+  g_return_val_if_fail (SWFDEC_IS_TEXT_FORMAT (copy_from), NULL);
+
+  object_to = swfdec_text_format_new (SWFDEC_AS_OBJECT (copy_from)->context);
+  if (object_to == NULL)
+    return NULL;
+  copy_to = SWFDEC_TEXT_FORMAT (object_to);
+
+  copy_to->align = copy_from->align;
+  copy_to->block_indent = copy_from->block_indent;
+  copy_to->bold = copy_from->bold;
+  copy_to->bullet = copy_from->bullet;
+  copy_to->color = copy_from->color;
+  copy_to->display = copy_from->display;
+  copy_to->font = copy_from->font;
+  copy_to->indent = copy_from->indent;
+  copy_to->italic = copy_from->italic ;
+  copy_to->kerning = copy_from->kerning;
+  copy_to->leading = copy_from->leading;
+  copy_to->left_margin = copy_from->left_margin;
+  copy_to->letter_spacing = copy_from->letter_spacing;
+  copy_to->right_margin = copy_from->right_margin;
+  copy_to->size = copy_from->size;
+  copy_to->tab_stops = copy_from->tab_stops;
+  copy_to->target = copy_from->target;
+  copy_to->underline = copy_from->underline;
+  copy_to->url = copy_from->url;
+  copy_to->values_set = copy_from->values_set;
+
+  return copy_to;
+}
+
 SwfdecAsObject *
 swfdec_text_format_new (SwfdecAsContext *context)
 {
diff --git a/libswfdec/swfdec_text_format.h b/libswfdec/swfdec_text_format.h
index 12f4128..38de7ac 100644
--- a/libswfdec/swfdec_text_format.h
+++ b/libswfdec/swfdec_text_format.h
@@ -51,28 +51,6 @@ typedef enum {
   SWFDEC_TEXT_DISPLAY_BLOCK,
 } SwfdecTextDisplay;
 
-typedef enum {
-  SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN = 0,
-  SWFDEC_TEXT_FORMAT_PROPERTY_BLOCK_INDENT,
-  SWFDEC_TEXT_FORMAT_PROPERTY_BOLD,
-  SWFDEC_TEXT_FORMAT_PROPERTY_BULLET,
-  SWFDEC_TEXT_FORMAT_PROPERTY_COLOR,
-  SWFDEC_TEXT_FORMAT_PROPERTY_DISPLAY,
-  SWFDEC_TEXT_FORMAT_PROPERTY_FONT,
-  SWFDEC_TEXT_FORMAT_PROPERTY_INDENT,
-  SWFDEC_TEXT_FORMAT_PROPERTY_ITALIC,
-  SWFDEC_TEXT_FORMAT_PROPERTY_KERNING,
-  SWFDEC_TEXT_FORMAT_PROPERTY_LEADING,
-  SWFDEC_TEXT_FORMAT_PROPERTY_LEFT_MARGIN,
-  SWFDEC_TEXT_FORMAT_PROPERTY_LETTER_SPACING,
-  SWFDEC_TEXT_FORMAT_PROPERTY_RIGHT_MARGIN,
-  SWFDEC_TEXT_FORMAT_PROPERTY_SIZE,
-  SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS,
-  SWFDEC_TEXT_FORMAT_PROPERTY_TARGET,
-  SWFDEC_TEXT_FORMAT_PROPERTY_UNDERLINE,
-  SWFDEC_TEXT_FORMAT_PROPERTY_URL
-} SwfdecTextFormatProperty;
-
 struct _SwfdecTextFormat {
   SwfdecAsObject	object;
 
@@ -106,6 +84,10 @@ struct _SwfdecTextFormatClass {
 GType		swfdec_text_format_get_type	(void);
 
 SwfdecAsObject * swfdec_text_format_new		(SwfdecAsContext *	context);
+void		swfdec_text_format_set_defaults	(SwfdecTextFormat *	format);
+SwfdecTextFormat * swfdec_text_format_copy	(const SwfdecTextFormat *copy_from);
+void		swfdec_text_format_add		(SwfdecTextFormat *	format,
+						 const SwfdecTextFormat *from);
 
 G_END_DECLS
 #endif
diff-tree 302c72ffdae7277cf6e3141337cce54af296c07e (from 80ae44b6dca893301ecae2c280ce2869d18c84ff)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Wed Oct 3 15:39:21 2007 +0300

    Expand TextFormat test with some large numbers

diff --git a/test/trace/textformat-5.swf b/test/trace/textformat-5.swf
index 17bbb11..07f23ac 100644
Binary files a/test/trace/textformat-5.swf and b/test/trace/textformat-5.swf differ
diff --git a/test/trace/textformat-5.swf.trace b/test/trace/textformat-5.swf.trace
index 6ddec2a..dae2174 100644
--- a/test/trace/textformat-5.swf.trace
+++ b/test/trace/textformat-5.swf.trace
@@ -212,6 +212,10 @@ align: 4,8,12 (string) = left (string)
 align: true (boolean) = left (string)
 align: false (boolean) = left (string)
 align: null (null) = left (string)
+align: -2147483648 (number) = left (string)
+align: -2147483650 (number) = left (string)
+align: 2147483648 (number) = left (string)
+align: 2147483650 (number) = left (string)
 align:  (object) = left (string)
 align:  (object) = left (string)
 align: 1,2 (object) = left (string)
@@ -397,6 +401,10 @@ blockIndent: 4,8,12 (string) = 0 (number
 blockIndent: true (boolean) = 1 (number)
 blockIndent: false (boolean) = 0 (number)
 blockIndent: null (null) = null (null)
+blockIndent: -2147483648 (number) = 0 (number)
+blockIndent: -2147483650 (number) = 2147483646 (number)
+blockIndent: 2147483648 (number) = 0 (number)
+blockIndent: 2147483650 (number) = 0 (number)
 blockIndent:  (object) = 0 (number)
 blockIndent:  (object) = 0 (number)
 blockIndent: 1,2 (object) = 0 (number)
@@ -582,6 +590,10 @@ bold: 4,8,12 (string) = false (boolean)
 bold: true (boolean) = true (boolean)
 bold: false (boolean) = false (boolean)
 bold: null (null) = null (null)
+bold: -2147483648 (number) = true (boolean)
+bold: -2147483650 (number) = true (boolean)
+bold: 2147483648 (number) = true (boolean)
+bold: 2147483650 (number) = true (boolean)
 bold:  (object) = true (boolean)
 bold:  (object) = true (boolean)
 bold: 1,2 (object) = true (boolean)
@@ -767,6 +779,10 @@ bullet: 4,8,12 (string) = false (boolean
 bullet: true (boolean) = true (boolean)
 bullet: false (boolean) = false (boolean)
 bullet: null (null) = null (null)
+bullet: -2147483648 (number) = true (boolean)
+bullet: -2147483650 (number) = true (boolean)
+bullet: 2147483648 (number) = true (boolean)
+bullet: 2147483650 (number) = true (boolean)
 bullet:  (object) = true (boolean)
 bullet:  (object) = true (boolean)
 bullet: 1,2 (object) = true (boolean)
@@ -952,6 +968,10 @@ color: 4,8,12 (string) = 0 (number)
 color: true (boolean) = 1 (number)
 color: false (boolean) = 0 (number)
 color: null (null) = null (null)
+color: -2147483648 (number) = 2147483648 (number)
+color: -2147483650 (number) = 2147483646 (number)
+color: 2147483648 (number) = 2147483648 (number)
+color: 2147483650 (number) = 2147483650 (number)
 color:  (object) = 0 (number)
 color:  (object) = 0 (number)
 color: 1,2 (object) = 0 (number)
@@ -1166,6 +1186,10 @@ display: 4,8,12 (string) = block (string
 display: true (boolean) = block (string)
 display: false (boolean) = block (string)
 display: null (null) = block (string)
+display: -2147483648 (number) = block (string)
+display: -2147483650 (number) = block (string)
+display: 2147483648 (number) = block (string)
+display: 2147483650 (number) = block (string)
 display:  (object) = block (string)
 display:  (object) = block (string)
 display: 1,2 (object) = block (string)
@@ -1351,6 +1375,10 @@ font: 4,8,12 (string) = 4,8,12 (string)
 font: true (boolean) = true (string)
 font: false (boolean) = false (string)
 font: null (null) = null (null)
+font: -2147483648 (number) = -2147483648 (string)
+font: -2147483650 (number) = -2147483650 (string)
+font: 2147483648 (number) = 2147483648 (string)
+font: 2147483650 (number) = 2147483650 (string)
 font:  (object) =  (string)
 font:  (object) =  (string)
 font: 1,2 (object) = 1,2 (string)
@@ -1536,6 +1564,10 @@ indent: 4,8,12 (string) = 0 (number)
 indent: true (boolean) = 1 (number)
 indent: false (boolean) = 0 (number)
 indent: null (null) = null (null)
+indent: -2147483648 (number) = 0 (number)
+indent: -2147483650 (number) = 2147483646 (number)
+indent: 2147483648 (number) = 0 (number)
+indent: 2147483650 (number) = 0 (number)
 indent:  (object) = 0 (number)
 indent:  (object) = 0 (number)
 indent: 1,2 (object) = 0 (number)
@@ -1721,6 +1753,10 @@ italic: 4,8,12 (string) = false (boolean
 italic: true (boolean) = true (boolean)
 italic: false (boolean) = false (boolean)
 italic: null (null) = null (null)
+italic: -2147483648 (number) = true (boolean)
+italic: -2147483650 (number) = true (boolean)
+italic: 2147483648 (number) = true (boolean)
+italic: 2147483650 (number) = true (boolean)
 italic:  (object) = true (boolean)
 italic:  (object) = true (boolean)
 italic: 1,2 (object) = true (boolean)
@@ -1855,6 +1891,10 @@ kerning: 4,8,12 (string) = 4,8,12 (strin
 kerning: true (boolean) = true (boolean)
 kerning: false (boolean) = false (boolean)
 kerning: null (null) = null (null)
+kerning: -2147483648 (number) = -2147483648 (number)
+kerning: -2147483650 (number) = -2147483650 (number)
+kerning: 2147483648 (number) = 2147483648 (number)
+kerning: 2147483650 (number) = 2147483650 (number)
 kerning:  (object) =  (object)
 kerning:  (object) =  (object)
 kerning: 1,2 (object) = 1,2 (object)
@@ -2040,6 +2080,10 @@ leading: 4,8,12 (string) = 0 (number)
 leading: true (boolean) = 1 (number)
 leading: false (boolean) = 0 (number)
 leading: null (null) = null (null)
+leading: -2147483648 (number) = 0 (number)
+leading: -2147483650 (number) = 2147483646 (number)
+leading: 2147483648 (number) = 0 (number)
+leading: 2147483650 (number) = 0 (number)
 leading:  (object) = 0 (number)
 leading:  (object) = 0 (number)
 leading: 1,2 (object) = 0 (number)
@@ -2225,6 +2269,10 @@ leftMargin: 4,8,12 (string) = 0 (number)
 leftMargin: true (boolean) = 1 (number)
 leftMargin: false (boolean) = 0 (number)
 leftMargin: null (null) = null (null)
+leftMargin: -2147483648 (number) = 0 (number)
+leftMargin: -2147483650 (number) = 2147483646 (number)
+leftMargin: 2147483648 (number) = 0 (number)
+leftMargin: 2147483650 (number) = 0 (number)
 leftMargin:  (object) = 0 (number)
 leftMargin:  (object) = 0 (number)
 leftMargin: 1,2 (object) = 0 (number)
@@ -2359,6 +2407,10 @@ letterSpacing: 4,8,12 (string) = 4,8,12 
 letterSpacing: true (boolean) = true (boolean)
 letterSpacing: false (boolean) = false (boolean)
 letterSpacing: null (null) = null (null)
+letterSpacing: -2147483648 (number) = -2147483648 (number)
+letterSpacing: -2147483650 (number) = -2147483650 (number)
+letterSpacing: 2147483648 (number) = 2147483648 (number)
+letterSpacing: 2147483650 (number) = 2147483650 (number)
 letterSpacing:  (object) =  (object)
 letterSpacing:  (object) =  (object)
 letterSpacing: 1,2 (object) = 1,2 (object)
@@ -2544,6 +2596,10 @@ rightMargin: 4,8,12 (string) = 0 (number
 rightMargin: true (boolean) = 1 (number)
 rightMargin: false (boolean) = 0 (number)
 rightMargin: null (null) = null (null)
+rightMargin: -2147483648 (number) = 0 (number)
+rightMargin: -2147483650 (number) = 2147483646 (number)
+rightMargin: 2147483648 (number) = 0 (number)
+rightMargin: 2147483650 (number) = 0 (number)
 rightMargin:  (object) = 0 (number)
 rightMargin:  (object) = 0 (number)
 rightMargin: 1,2 (object) = 0 (number)
@@ -2729,6 +2785,10 @@ size: 4,8,12 (string) = 0 (number)
 size: true (boolean) = 1 (number)
 size: false (boolean) = 0 (number)
 size: null (null) = null (null)
+size: -2147483648 (number) = -2147483648 (number)
+size: -2147483650 (number) = 2147483646 (number)
+size: 2147483648 (number) = -2147483648 (number)
+size: 2147483650 (number) = -2147483646 (number)
 size:  (object) = 0 (number)
 size:  (object) = 0 (number)
 size: 1,2 (object) = 0 (number)
@@ -2914,6 +2974,10 @@ tabStops: 4,8,12 (string) = 0,0,0,0,0,0 
 tabStops: true (boolean) =  (object)
 tabStops: false (boolean) =  (object)
 tabStops: null (null) = null (null)
+tabStops: -2147483648 (number) = null (null)
+tabStops: -2147483650 (number) = null (null)
+tabStops: 2147483648 (number) = null (null)
+tabStops: 2147483650 (number) = null (null)
 tabStops:  (object) = null (null)
 tabStops:  (object) = null (null)
 tabStops: 1,2 (object) = 1,2 (object)
@@ -3099,6 +3163,10 @@ target: 4,8,12 (string) = 4,8,12 (string
 target: true (boolean) = true (string)
 target: false (boolean) = false (string)
 target: null (null) = null (null)
+target: -2147483648 (number) = -2147483648 (string)
+target: -2147483650 (number) = -2147483650 (string)
+target: 2147483648 (number) = 2147483648 (string)
+target: 2147483650 (number) = 2147483650 (string)
 target:  (object) =  (string)
 target:  (object) =  (string)
 target: 1,2 (object) = 1,2 (string)
@@ -3284,6 +3352,10 @@ underline: 4,8,12 (string) = false (bool
 underline: true (boolean) = true (boolean)
 underline: false (boolean) = false (boolean)
 underline: null (null) = null (null)
+underline: -2147483648 (number) = true (boolean)
+underline: -2147483650 (number) = true (boolean)
+underline: 2147483648 (number) = true (boolean)
+underline: 2147483650 (number) = true (boolean)
 underline:  (object) = true (boolean)
 underline:  (object) = true (boolean)
 underline: 1,2 (object) = true (boolean)
@@ -3469,6 +3541,10 @@ url: 4,8,12 (string) = 4,8,12 (string)
 url: true (boolean) = true (string)
 url: false (boolean) = false (string)
 url: null (null) = null (null)
+url: -2147483648 (number) = -2147483648 (string)
+url: -2147483650 (number) = -2147483650 (string)
+url: 2147483648 (number) = 2147483648 (string)
+url: 2147483650 (number) = 2147483650 (string)
 url:  (object) =  (string)
 url:  (object) =  (string)
 url: 1,2 (object) = 1,2 (string)
diff --git a/test/trace/textformat-6.swf b/test/trace/textformat-6.swf
index e050035..e36d44c 100644
Binary files a/test/trace/textformat-6.swf and b/test/trace/textformat-6.swf differ
diff --git a/test/trace/textformat-6.swf.trace b/test/trace/textformat-6.swf.trace
index 19e8294..370de15 100644
--- a/test/trace/textformat-6.swf.trace
+++ b/test/trace/textformat-6.swf.trace
@@ -213,6 +213,10 @@ align: 4,8,12 (string) = left (string)
 align: true (boolean) = left (string)
 align: false (boolean) = left (string)
 align: null (null) = left (string)
+align: -2147483648 (number) = left (string)
+align: -2147483650 (number) = left (string)
+align: 2147483648 (number) = left (string)
+align: 2147483650 (number) = left (string)
 align:  (object) = left (string)
 align:  (object) = left (string)
 align: 1,2 (object) = left (string)
@@ -398,6 +402,10 @@ blockIndent: 4,8,12 (string) = 0 (number
 blockIndent: true (boolean) = 1 (number)
 blockIndent: false (boolean) = 0 (number)
 blockIndent: null (null) = null (null)
+blockIndent: -2147483648 (number) = 0 (number)
+blockIndent: -2147483650 (number) = 2147483646 (number)
+blockIndent: 2147483648 (number) = 0 (number)
+blockIndent: 2147483650 (number) = 0 (number)
 blockIndent:  (object) = 0 (number)
 blockIndent:  (object) = 0 (number)
 blockIndent: 1,2 (object) = 0 (number)
@@ -583,6 +591,10 @@ bold: 4,8,12 (string) = false (boolean)
 bold: true (boolean) = true (boolean)
 bold: false (boolean) = false (boolean)
 bold: null (null) = null (null)
+bold: -2147483648 (number) = true (boolean)
+bold: -2147483650 (number) = true (boolean)
+bold: 2147483648 (number) = true (boolean)
+bold: 2147483650 (number) = true (boolean)
 bold:  (object) = true (boolean)
 bold:  (object) = true (boolean)
 bold: 1,2 (object) = true (boolean)
@@ -768,6 +780,10 @@ bullet: 4,8,12 (string) = false (boolean
 bullet: true (boolean) = true (boolean)
 bullet: false (boolean) = false (boolean)
 bullet: null (null) = null (null)
+bullet: -2147483648 (number) = true (boolean)
+bullet: -2147483650 (number) = true (boolean)
+bullet: 2147483648 (number) = true (boolean)
+bullet: 2147483650 (number) = true (boolean)
 bullet:  (object) = true (boolean)
 bullet:  (object) = true (boolean)
 bullet: 1,2 (object) = true (boolean)
@@ -953,6 +969,10 @@ color: 4,8,12 (string) = 0 (number)
 color: true (boolean) = 1 (number)
 color: false (boolean) = 0 (number)
 color: null (null) = null (null)
+color: -2147483648 (number) = 2147483648 (number)
+color: -2147483650 (number) = 2147483646 (number)
+color: 2147483648 (number) = 2147483648 (number)
+color: 2147483650 (number) = 2147483650 (number)
 color:  (object) = 0 (number)
 color:  (object) = 0 (number)
 color: 1,2 (object) = 0 (number)
@@ -1167,6 +1187,10 @@ display: 4,8,12 (string) = block (string
 display: true (boolean) = block (string)
 display: false (boolean) = block (string)
 display: null (null) = block (string)
+display: -2147483648 (number) = block (string)
+display: -2147483650 (number) = block (string)
+display: 2147483648 (number) = block (string)
+display: 2147483650 (number) = block (string)
 display:  (object) = block (string)
 display:  (object) = block (string)
 display: 1,2 (object) = block (string)
@@ -1352,6 +1376,10 @@ font: 4,8,12 (string) = 4,8,12 (string)
 font: true (boolean) = true (string)
 font: false (boolean) = false (string)
 font: null (null) = null (null)
+font: -2147483648 (number) = -2147483648 (string)
+font: -2147483650 (number) = -2147483650 (string)
+font: 2147483648 (number) = 2147483648 (string)
+font: 2147483650 (number) = 2147483650 (string)
 font:  (object) =  (string)
 font:  (object) =  (string)
 font: 1,2 (object) = 1,2 (string)
@@ -1537,6 +1565,10 @@ indent: 4,8,12 (string) = 0 (number)
 indent: true (boolean) = 1 (number)
 indent: false (boolean) = 0 (number)
 indent: null (null) = null (null)
+indent: -2147483648 (number) = 0 (number)
+indent: -2147483650 (number) = 2147483646 (number)
+indent: 2147483648 (number) = 0 (number)
+indent: 2147483650 (number) = 0 (number)
 indent:  (object) = 0 (number)
 indent:  (object) = 0 (number)
 indent: 1,2 (object) = 0 (number)
@@ -1722,6 +1754,10 @@ italic: 4,8,12 (string) = false (boolean
 italic: true (boolean) = true (boolean)
 italic: false (boolean) = false (boolean)
 italic: null (null) = null (null)
+italic: -2147483648 (number) = true (boolean)
+italic: -2147483650 (number) = true (boolean)
+italic: 2147483648 (number) = true (boolean)
+italic: 2147483650 (number) = true (boolean)
 italic:  (object) = true (boolean)
 italic:  (object) = true (boolean)
 italic: 1,2 (object) = true (boolean)
@@ -1857,6 +1893,10 @@ kerning: 4,8,12 (string) = 4,8,12 (strin
 kerning: true (boolean) = true (boolean)
 kerning: false (boolean) = false (boolean)
 kerning: null (null) = null (null)
+kerning: -2147483648 (number) = -2147483648 (number)
+kerning: -2147483650 (number) = -2147483650 (number)
+kerning: 2147483648 (number) = 2147483648 (number)
+kerning: 2147483650 (number) = 2147483650 (number)
 kerning:  (object) =  (object)
 kerning:  (object) =  (object)
 kerning: 1,2 (object) = 1,2 (object)
@@ -2042,6 +2082,10 @@ leading: 4,8,12 (string) = 0 (number)
 leading: true (boolean) = 1 (number)
 leading: false (boolean) = 0 (number)
 leading: null (null) = null (null)
+leading: -2147483648 (number) = 0 (number)
+leading: -2147483650 (number) = 2147483646 (number)
+leading: 2147483648 (number) = 0 (number)
+leading: 2147483650 (number) = 0 (number)
 leading:  (object) = 0 (number)
 leading:  (object) = 0 (number)
 leading: 1,2 (object) = 0 (number)
@@ -2227,6 +2271,10 @@ leftMargin: 4,8,12 (string) = 0 (number)
 leftMargin: true (boolean) = 1 (number)
 leftMargin: false (boolean) = 0 (number)
 leftMargin: null (null) = null (null)
+leftMargin: -2147483648 (number) = 0 (number)
+leftMargin: -2147483650 (number) = 2147483646 (number)
+leftMargin: 2147483648 (number) = 0 (number)
+leftMargin: 2147483650 (number) = 0 (number)
 leftMargin:  (object) = 0 (number)
 leftMargin:  (object) = 0 (number)
 leftMargin: 1,2 (object) = 0 (number)
@@ -2362,6 +2410,10 @@ letterSpacing: 4,8,12 (string) = 4,8,12 
 letterSpacing: true (boolean) = true (boolean)
 letterSpacing: false (boolean) = false (boolean)
 letterSpacing: null (null) = null (null)
+letterSpacing: -2147483648 (number) = -2147483648 (number)
+letterSpacing: -2147483650 (number) = -2147483650 (number)
+letterSpacing: 2147483648 (number) = 2147483648 (number)
+letterSpacing: 2147483650 (number) = 2147483650 (number)
 letterSpacing:  (object) =  (object)
 letterSpacing:  (object) =  (object)
 letterSpacing: 1,2 (object) = 1,2 (object)
@@ -2547,6 +2599,10 @@ rightMargin: 4,8,12 (string) = 0 (number
 rightMargin: true (boolean) = 1 (number)
 rightMargin: false (boolean) = 0 (number)
 rightMargin: null (null) = null (null)
+rightMargin: -2147483648 (number) = 0 (number)
+rightMargin: -2147483650 (number) = 2147483646 (number)
+rightMargin: 2147483648 (number) = 0 (number)
+rightMargin: 2147483650 (number) = 0 (number)
 rightMargin:  (object) = 0 (number)
 rightMargin:  (object) = 0 (number)
 rightMargin: 1,2 (object) = 0 (number)
@@ -2732,6 +2788,10 @@ size: 4,8,12 (string) = 0 (number)
 size: true (boolean) = 1 (number)
 size: false (boolean) = 0 (number)
 size: null (null) = null (null)
+size: -2147483648 (number) = -2147483648 (number)
+size: -2147483650 (number) = 2147483646 (number)
+size: 2147483648 (number) = -2147483648 (number)
+size: 2147483650 (number) = -2147483646 (number)
 size:  (object) = 0 (number)
 size:  (object) = 0 (number)
 size: 1,2 (object) = 0 (number)
@@ -2917,6 +2977,10 @@ tabStops: 4,8,12 (string) = 0,0,0,0,0,0 
 tabStops: true (boolean) =  (object)
 tabStops: false (boolean) =  (object)
 tabStops: null (null) = null (null)
+tabStops: -2147483648 (number) = null (null)
+tabStops: -2147483650 (number) = null (null)
+tabStops: 2147483648 (number) = null (null)
+tabStops: 2147483650 (number) = null (null)
 tabStops:  (object) = null (null)
 tabStops:  (object) = null (null)
 tabStops: 1,2 (object) = 1,2 (object)
@@ -3102,6 +3166,10 @@ target: 4,8,12 (string) = 4,8,12 (string
 target: true (boolean) = true (string)
 target: false (boolean) = false (string)
 target: null (null) = null (null)
+target: -2147483648 (number) = -2147483648 (string)
+target: -2147483650 (number) = -2147483650 (string)
+target: 2147483648 (number) = 2147483648 (string)
+target: 2147483650 (number) = 2147483650 (string)
 target:  (object) =  (string)
 target:  (object) =  (string)
 target: 1,2 (object) = 1,2 (string)
@@ -3287,6 +3355,10 @@ underline: 4,8,12 (string) = false (bool
 underline: true (boolean) = true (boolean)
 underline: false (boolean) = false (boolean)
 underline: null (null) = null (null)
+underline: -2147483648 (number) = true (boolean)
+underline: -2147483650 (number) = true (boolean)
+underline: 2147483648 (number) = true (boolean)
+underline: 2147483650 (number) = true (boolean)
 underline:  (object) = true (boolean)
 underline:  (object) = true (boolean)
 underline: 1,2 (object) = true (boolean)
@@ -3472,6 +3544,10 @@ url: 4,8,12 (string) = 4,8,12 (string)
 url: true (boolean) = true (string)
 url: false (boolean) = false (string)
 url: null (null) = null (null)
+url: -2147483648 (number) = -2147483648 (string)
+url: -2147483650 (number) = -2147483650 (string)
+url: 2147483648 (number) = 2147483648 (string)
+url: 2147483650 (number) = 2147483650 (string)
 url:  (object) =  (string)
 url:  (object) =  (string)
 url: 1,2 (object) = 1,2 (string)
diff --git a/test/trace/textformat-7.swf b/test/trace/textformat-7.swf
index 31e3b16..6fbf1ec 100644
Binary files a/test/trace/textformat-7.swf and b/test/trace/textformat-7.swf differ
diff --git a/test/trace/textformat-7.swf.trace b/test/trace/textformat-7.swf.trace
index f35f608..c3a1928 100644
--- a/test/trace/textformat-7.swf.trace
+++ b/test/trace/textformat-7.swf.trace
@@ -213,6 +213,10 @@ align: 4,8,12 (string) = left (string)
 align: true (boolean) = left (string)
 align: false (boolean) = left (string)
 align: null (null) = left (string)
+align: -2147483648 (number) = left (string)
+align: -2147483650 (number) = left (string)
+align: 2147483648 (number) = left (string)
+align: 2147483650 (number) = left (string)
 align:  (object) = left (string)
 align:  (object) = left (string)
 align: 1,2 (object) = left (string)
@@ -398,6 +402,10 @@ blockIndent: 4,8,12 (string) = 0 (number
 blockIndent: true (boolean) = 1 (number)
 blockIndent: false (boolean) = 0 (number)
 blockIndent: null (null) = null (null)
+blockIndent: -2147483648 (number) = 0 (number)
+blockIndent: -2147483650 (number) = 2147483646 (number)
+blockIndent: 2147483648 (number) = 0 (number)
+blockIndent: 2147483650 (number) = 0 (number)
 blockIndent:  (object) = 0 (number)
 blockIndent:  (object) = 0 (number)
 blockIndent: 1,2 (object) = 0 (number)
@@ -583,6 +591,10 @@ bold: 4,8,12 (string) = true (boolean)
 bold: true (boolean) = true (boolean)
 bold: false (boolean) = false (boolean)
 bold: null (null) = null (null)
+bold: -2147483648 (number) = true (boolean)
+bold: -2147483650 (number) = true (boolean)
+bold: 2147483648 (number) = true (boolean)
+bold: 2147483650 (number) = true (boolean)
 bold:  (object) = true (boolean)
 bold:  (object) = true (boolean)
 bold: 1,2 (object) = true (boolean)
@@ -768,6 +780,10 @@ bullet: 4,8,12 (string) = true (boolean)
 bullet: true (boolean) = true (boolean)
 bullet: false (boolean) = false (boolean)
 bullet: null (null) = null (null)
+bullet: -2147483648 (number) = true (boolean)
+bullet: -2147483650 (number) = true (boolean)
+bullet: 2147483648 (number) = true (boolean)
+bullet: 2147483650 (number) = true (boolean)
 bullet:  (object) = true (boolean)
 bullet:  (object) = true (boolean)
 bullet: 1,2 (object) = true (boolean)
@@ -953,6 +969,10 @@ color: 4,8,12 (string) = 0 (number)
 color: true (boolean) = 1 (number)
 color: false (boolean) = 0 (number)
 color: null (null) = null (null)
+color: -2147483648 (number) = 2147483648 (number)
+color: -2147483650 (number) = 2147483646 (number)
+color: 2147483648 (number) = 2147483648 (number)
+color: 2147483650 (number) = 2147483650 (number)
 color:  (object) = 0 (number)
 color:  (object) = 0 (number)
 color: 1,2 (object) = 0 (number)
@@ -1167,6 +1187,10 @@ display: 4,8,12 (string) = block (string
 display: true (boolean) = block (string)
 display: false (boolean) = block (string)
 display: null (null) = block (string)
+display: -2147483648 (number) = block (string)
+display: -2147483650 (number) = block (string)
+display: 2147483648 (number) = block (string)
+display: 2147483650 (number) = block (string)
 display:  (object) = block (string)
 display:  (object) = block (string)
 display: 1,2 (object) = block (string)
@@ -1352,6 +1376,10 @@ font: 4,8,12 (string) = 4,8,12 (string)
 font: true (boolean) = true (string)
 font: false (boolean) = false (string)
 font: null (null) = null (null)
+font: -2147483648 (number) = -2147483648 (string)
+font: -2147483650 (number) = -2147483650 (string)
+font: 2147483648 (number) = 2147483648 (string)
+font: 2147483650 (number) = 2147483650 (string)
 font:  (object) =  (string)
 font:  (object) =  (string)
 font: 1,2 (object) = 1,2 (string)
@@ -1537,6 +1565,10 @@ indent: 4,8,12 (string) = 0 (number)
 indent: true (boolean) = 1 (number)
 indent: false (boolean) = 0 (number)
 indent: null (null) = null (null)
+indent: -2147483648 (number) = 0 (number)
+indent: -2147483650 (number) = 2147483646 (number)
+indent: 2147483648 (number) = 0 (number)
+indent: 2147483650 (number) = 0 (number)
 indent:  (object) = 0 (number)
 indent:  (object) = 0 (number)
 indent: 1,2 (object) = 0 (number)
@@ -1722,6 +1754,10 @@ italic: 4,8,12 (string) = true (boolean)
 italic: true (boolean) = true (boolean)
 italic: false (boolean) = false (boolean)
 italic: null (null) = null (null)
+italic: -2147483648 (number) = true (boolean)
+italic: -2147483650 (number) = true (boolean)
+italic: 2147483648 (number) = true (boolean)
+italic: 2147483650 (number) = true (boolean)
 italic:  (object) = true (boolean)
 italic:  (object) = true (boolean)
 italic: 1,2 (object) = true (boolean)
@@ -1857,6 +1893,10 @@ kerning: 4,8,12 (string) = 4,8,12 (strin
 kerning: true (boolean) = true (boolean)
 kerning: false (boolean) = false (boolean)
 kerning: null (null) = null (null)
+kerning: -2147483648 (number) = -2147483648 (number)
+kerning: -2147483650 (number) = -2147483650 (number)
+kerning: 2147483648 (number) = 2147483648 (number)
+kerning: 2147483650 (number) = 2147483650 (number)
 kerning:  (object) =  (object)
 kerning:  (object) =  (object)
 kerning: 1,2 (object) = 1,2 (object)
@@ -2042,6 +2082,10 @@ leading: 4,8,12 (string) = 0 (number)
 leading: true (boolean) = 1 (number)
 leading: false (boolean) = 0 (number)
 leading: null (null) = null (null)
+leading: -2147483648 (number) = 0 (number)
+leading: -2147483650 (number) = 2147483646 (number)
+leading: 2147483648 (number) = 0 (number)
+leading: 2147483650 (number) = 0 (number)
 leading:  (object) = 0 (number)
 leading:  (object) = 0 (number)
 leading: 1,2 (object) = 0 (number)
@@ -2227,6 +2271,10 @@ leftMargin: 4,8,12 (string) = 0 (number)
 leftMargin: true (boolean) = 1 (number)
 leftMargin: false (boolean) = 0 (number)
 leftMargin: null (null) = null (null)
+leftMargin: -2147483648 (number) = 0 (number)
+leftMargin: -2147483650 (number) = 2147483646 (number)
+leftMargin: 2147483648 (number) = 0 (number)
+leftMargin: 2147483650 (number) = 0 (number)
 leftMargin:  (object) = 0 (number)
 leftMargin:  (object) = 0 (number)
 leftMargin: 1,2 (object) = 0 (number)
@@ -2362,6 +2410,10 @@ letterSpacing: 4,8,12 (string) = 4,8,12 
 letterSpacing: true (boolean) = true (boolean)
 letterSpacing: false (boolean) = false (boolean)
 letterSpacing: null (null) = null (null)
+letterSpacing: -2147483648 (number) = -2147483648 (number)
+letterSpacing: -2147483650 (number) = -2147483650 (number)
+letterSpacing: 2147483648 (number) = 2147483648 (number)
+letterSpacing: 2147483650 (number) = 2147483650 (number)
 letterSpacing:  (object) =  (object)
 letterSpacing:  (object) =  (object)
 letterSpacing: 1,2 (object) = 1,2 (object)
@@ -2547,6 +2599,10 @@ rightMargin: 4,8,12 (string) = 0 (number
 rightMargin: true (boolean) = 1 (number)
 rightMargin: false (boolean) = 0 (number)
 rightMargin: null (null) = null (null)
+rightMargin: -2147483648 (number) = 0 (number)
+rightMargin: -2147483650 (number) = 2147483646 (number)
+rightMargin: 2147483648 (number) = 0 (number)
+rightMargin: 2147483650 (number) = 0 (number)
 rightMargin:  (object) = 0 (number)
 rightMargin:  (object) = 0 (number)
 rightMargin: 1,2 (object) = 0 (number)
@@ -2732,6 +2788,10 @@ size: 4,8,12 (string) = 0 (number)
 size: true (boolean) = 1 (number)
 size: false (boolean) = 0 (number)
 size: null (null) = null (null)
+size: -2147483648 (number) = -2147483648 (number)
+size: -2147483650 (number) = 2147483646 (number)
+size: 2147483648 (number) = -2147483648 (number)
+size: 2147483650 (number) = -2147483646 (number)
 size:  (object) = 0 (number)
 size:  (object) = 0 (number)
 size: 1,2 (object) = 0 (number)
@@ -2917,6 +2977,10 @@ tabStops: 4,8,12 (string) = 0,0,0,0,0,0 
 tabStops: true (boolean) =  (object)
 tabStops: false (boolean) =  (object)
 tabStops: null (null) = null (null)
+tabStops: -2147483648 (number) = null (null)
+tabStops: -2147483650 (number) = null (null)
+tabStops: 2147483648 (number) = null (null)
+tabStops: 2147483650 (number) = null (null)
 tabStops:  (object) = null (null)
 tabStops:  (object) = null (null)
 tabStops: 1,2 (object) = 1,2 (object)
@@ -3102,6 +3166,10 @@ target: 4,8,12 (string) = 4,8,12 (string
 target: true (boolean) = true (string)
 target: false (boolean) = false (string)
 target: null (null) = null (null)
+target: -2147483648 (number) = -2147483648 (string)
+target: -2147483650 (number) = -2147483650 (string)
+target: 2147483648 (number) = 2147483648 (string)
+target: 2147483650 (number) = 2147483650 (string)
 target:  (object) =  (string)
 target:  (object) =  (string)
 target: 1,2 (object) = 1,2 (string)
@@ -3287,6 +3355,10 @@ underline: 4,8,12 (string) = true (boole
 underline: true (boolean) = true (boolean)
 underline: false (boolean) = false (boolean)
 underline: null (null) = null (null)
+underline: -2147483648 (number) = true (boolean)
+underline: -2147483650 (number) = true (boolean)
+underline: 2147483648 (number) = true (boolean)
+underline: 2147483650 (number) = true (boolean)
 underline:  (object) = true (boolean)
 underline:  (object) = true (boolean)
 underline: 1,2 (object) = true (boolean)
@@ -3472,6 +3544,10 @@ url: 4,8,12 (string) = 4,8,12 (string)
 url: true (boolean) = true (string)
 url: false (boolean) = false (string)
 url: null (null) = null (null)
+url: -2147483648 (number) = -2147483648 (string)
+url: -2147483650 (number) = -2147483650 (string)
+url: 2147483648 (number) = 2147483648 (string)
+url: 2147483650 (number) = 2147483650 (string)
 url:  (object) =  (string)
 url:  (object) =  (string)
 url: 1,2 (object) = 1,2 (string)
diff --git a/test/trace/textformat-8.swf b/test/trace/textformat-8.swf
index 988ba56..2f890d7 100644
Binary files a/test/trace/textformat-8.swf and b/test/trace/textformat-8.swf differ
diff --git a/test/trace/textformat-8.swf.trace b/test/trace/textformat-8.swf.trace
index 6dbbea0..8f71e21 100644
--- a/test/trace/textformat-8.swf.trace
+++ b/test/trace/textformat-8.swf.trace
@@ -213,6 +213,10 @@ align: 4,8,12 (string) = left (string)
 align: true (boolean) = left (string)
 align: false (boolean) = left (string)
 align: null (null) = left (string)
+align: -2147483648 (number) = left (string)
+align: -2147483650 (number) = left (string)
+align: 2147483648 (number) = left (string)
+align: 2147483650 (number) = left (string)
 align:  (object) = left (string)
 align:  (object) = left (string)
 align: 1,2 (object) = left (string)
@@ -398,6 +402,10 @@ blockIndent: 4,8,12 (string) = -21474836
 blockIndent: true (boolean) = 1 (number)
 blockIndent: false (boolean) = 0 (number)
 blockIndent: null (null) = null (null)
+blockIndent: -2147483648 (number) = -2147483648 (number)
+blockIndent: -2147483650 (number) = -2147483648 (number)
+blockIndent: 2147483648 (number) = -2147483648 (number)
+blockIndent: 2147483650 (number) = -2147483648 (number)
 blockIndent:  (object) = -2147483648 (number)
 blockIndent:  (object) = -2147483648 (number)
 blockIndent: 1,2 (object) = -2147483648 (number)
@@ -583,6 +591,10 @@ bold: 4,8,12 (string) = true (boolean)
 bold: true (boolean) = true (boolean)
 bold: false (boolean) = false (boolean)
 bold: null (null) = null (null)
+bold: -2147483648 (number) = true (boolean)
+bold: -2147483650 (number) = true (boolean)
+bold: 2147483648 (number) = true (boolean)
+bold: 2147483650 (number) = true (boolean)
 bold:  (object) = true (boolean)
 bold:  (object) = true (boolean)
 bold: 1,2 (object) = true (boolean)
@@ -768,6 +780,10 @@ bullet: 4,8,12 (string) = true (boolean)
 bullet: true (boolean) = true (boolean)
 bullet: false (boolean) = false (boolean)
 bullet: null (null) = null (null)
+bullet: -2147483648 (number) = true (boolean)
+bullet: -2147483650 (number) = true (boolean)
+bullet: 2147483648 (number) = true (boolean)
+bullet: 2147483650 (number) = true (boolean)
 bullet:  (object) = true (boolean)
 bullet:  (object) = true (boolean)
 bullet: 1,2 (object) = true (boolean)
@@ -953,6 +969,10 @@ color: 4,8,12 (string) = 0 (number)
 color: true (boolean) = 1 (number)
 color: false (boolean) = 0 (number)
 color: null (null) = null (null)
+color: -2147483648 (number) = 2147483648 (number)
+color: -2147483650 (number) = 2147483646 (number)
+color: 2147483648 (number) = 2147483648 (number)
+color: 2147483650 (number) = 2147483650 (number)
 color:  (object) = 0 (number)
 color:  (object) = 0 (number)
 color: 1,2 (object) = 0 (number)
@@ -1167,6 +1187,10 @@ display: 4,8,12 (string) = block (string
 display: true (boolean) = block (string)
 display: false (boolean) = block (string)
 display: null (null) = block (string)
+display: -2147483648 (number) = block (string)
+display: -2147483650 (number) = block (string)
+display: 2147483648 (number) = block (string)
+display: 2147483650 (number) = block (string)
 display:  (object) = block (string)
 display:  (object) = block (string)
 display: 1,2 (object) = block (string)
@@ -1352,6 +1376,10 @@ font: 4,8,12 (string) = 4,8,12 (string)
 font: true (boolean) = true (string)
 font: false (boolean) = false (string)
 font: null (null) = null (null)
+font: -2147483648 (number) = -2147483648 (string)
+font: -2147483650 (number) = -2147483650 (string)
+font: 2147483648 (number) = 2147483648 (string)
+font: 2147483650 (number) = 2147483650 (string)
 font:  (object) =  (string)
 font:  (object) =  (string)
 font: 1,2 (object) = 1,2 (string)
@@ -1537,6 +1565,10 @@ indent: 4,8,12 (string) = -2147483648 (n
 indent: true (boolean) = 1 (number)
 indent: false (boolean) = 0 (number)
 indent: null (null) = null (null)
+indent: -2147483648 (number) = -2147483648 (number)
+indent: -2147483650 (number) = -2147483648 (number)
+indent: 2147483648 (number) = -2147483648 (number)
+indent: 2147483650 (number) = -2147483648 (number)
 indent:  (object) = -2147483648 (number)
 indent:  (object) = -2147483648 (number)
 indent: 1,2 (object) = -2147483648 (number)
@@ -1722,6 +1754,10 @@ italic: 4,8,12 (string) = true (boolean)
 italic: true (boolean) = true (boolean)
 italic: false (boolean) = false (boolean)
 italic: null (null) = null (null)
+italic: -2147483648 (number) = true (boolean)
+italic: -2147483650 (number) = true (boolean)
+italic: 2147483648 (number) = true (boolean)
+italic: 2147483650 (number) = true (boolean)
 italic:  (object) = true (boolean)
 italic:  (object) = true (boolean)
 italic: 1,2 (object) = true (boolean)
@@ -1907,6 +1943,10 @@ kerning: 4,8,12 (string) = true (boolean
 kerning: true (boolean) = true (boolean)
 kerning: false (boolean) = false (boolean)
 kerning: null (null) = null (null)
+kerning: -2147483648 (number) = true (boolean)
+kerning: -2147483650 (number) = true (boolean)
+kerning: 2147483648 (number) = true (boolean)
+kerning: 2147483650 (number) = true (boolean)
 kerning:  (object) = true (boolean)
 kerning:  (object) = true (boolean)
 kerning: 1,2 (object) = true (boolean)
@@ -2092,6 +2132,10 @@ leading: 4,8,12 (string) = -2147483648 (
 leading: true (boolean) = 1 (number)
 leading: false (boolean) = 0 (number)
 leading: null (null) = null (null)
+leading: -2147483648 (number) = -2147483648 (number)
+leading: -2147483650 (number) = -2147483648 (number)
+leading: 2147483648 (number) = -2147483648 (number)
+leading: 2147483650 (number) = -2147483648 (number)
 leading:  (object) = -2147483648 (number)
 leading:  (object) = -2147483648 (number)
 leading: 1,2 (object) = -2147483648 (number)
@@ -2277,6 +2321,10 @@ leftMargin: 4,8,12 (string) = 0 (number)
 leftMargin: true (boolean) = 1 (number)
 leftMargin: false (boolean) = 0 (number)
 leftMargin: null (null) = null (null)
+leftMargin: -2147483648 (number) = 0 (number)
+leftMargin: -2147483650 (number) = 0 (number)
+leftMargin: 2147483648 (number) = -2147483648 (number)
+leftMargin: 2147483650 (number) = -2147483648 (number)
 leftMargin:  (object) = 0 (number)
 leftMargin:  (object) = 0 (number)
 leftMargin: 1,2 (object) = 0 (number)
@@ -2462,6 +2510,10 @@ letterSpacing: 4,8,12 (string) = NaN (nu
 letterSpacing: true (boolean) = 1 (number)
 letterSpacing: false (boolean) = 0 (number)
 letterSpacing: null (null) = null (null)
+letterSpacing: -2147483648 (number) = -2147483648 (number)
+letterSpacing: -2147483650 (number) = -2147483650 (number)
+letterSpacing: 2147483648 (number) = 2147483648 (number)
+letterSpacing: 2147483650 (number) = 2147483650 (number)
 letterSpacing:  (object) = NaN (number)
 letterSpacing:  (object) = NaN (number)
 letterSpacing: 1,2 (object) = NaN (number)
@@ -2647,6 +2699,10 @@ rightMargin: 4,8,12 (string) = 0 (number
 rightMargin: true (boolean) = 1 (number)
 rightMargin: false (boolean) = 0 (number)
 rightMargin: null (null) = null (null)
+rightMargin: -2147483648 (number) = 0 (number)
+rightMargin: -2147483650 (number) = 0 (number)
+rightMargin: 2147483648 (number) = -2147483648 (number)
+rightMargin: 2147483650 (number) = -2147483648 (number)
 rightMargin:  (object) = 0 (number)
 rightMargin:  (object) = 0 (number)
 rightMargin: 1,2 (object) = 0 (number)
@@ -2832,6 +2888,10 @@ size: 4,8,12 (string) = -2147483648 (num
 size: true (boolean) = 1 (number)
 size: false (boolean) = 0 (number)
 size: null (null) = null (null)
+size: -2147483648 (number) = -2147483648 (number)
+size: -2147483650 (number) = -2147483648 (number)
+size: 2147483648 (number) = -2147483648 (number)
+size: 2147483650 (number) = -2147483648 (number)
 size:  (object) = -2147483648 (number)
 size:  (object) = -2147483648 (number)
 size: 1,2 (object) = -2147483648 (number)
@@ -3017,6 +3077,10 @@ tabStops: 4,8,12 (string) = -2147483648,
 tabStops: true (boolean) =  (object)
 tabStops: false (boolean) =  (object)
 tabStops: null (null) = null (null)
+tabStops: -2147483648 (number) = null (null)
+tabStops: -2147483650 (number) = null (null)
+tabStops: 2147483648 (number) = null (null)
+tabStops: 2147483650 (number) = null (null)
 tabStops:  (object) = null (null)
 tabStops:  (object) = null (null)
 tabStops: 1,2 (object) = 1,2 (object)
@@ -3202,6 +3266,10 @@ target: 4,8,12 (string) = 4,8,12 (string
 target: true (boolean) = true (string)
 target: false (boolean) = false (string)
 target: null (null) = null (null)
+target: -2147483648 (number) = -2147483648 (string)
+target: -2147483650 (number) = -2147483650 (string)
+target: 2147483648 (number) = 2147483648 (string)
+target: 2147483650 (number) = 2147483650 (string)
 target:  (object) =  (string)
 target:  (object) =  (string)
 target: 1,2 (object) = 1,2 (string)
@@ -3387,6 +3455,10 @@ underline: 4,8,12 (string) = true (boole
 underline: true (boolean) = true (boolean)
 underline: false (boolean) = false (boolean)
 underline: null (null) = null (null)
+underline: -2147483648 (number) = true (boolean)
+underline: -2147483650 (number) = true (boolean)
+underline: 2147483648 (number) = true (boolean)
+underline: 2147483650 (number) = true (boolean)
 underline:  (object) = true (boolean)
 underline:  (object) = true (boolean)
 underline: 1,2 (object) = true (boolean)
@@ -3572,6 +3644,10 @@ url: 4,8,12 (string) = 4,8,12 (string)
 url: true (boolean) = true (string)
 url: false (boolean) = false (string)
 url: null (null) = null (null)
+url: -2147483648 (number) = -2147483648 (string)
+url: -2147483650 (number) = -2147483650 (string)
+url: 2147483648 (number) = 2147483648 (string)
+url: 2147483650 (number) = 2147483650 (string)
 url:  (object) =  (string)
 url:  (object) =  (string)
 url: 1,2 (object) = 1,2 (string)
diff --git a/test/trace/textformat.as b/test/trace/textformat.as
index 686ae15..24f352d 100644
--- a/test/trace/textformat.as
+++ b/test/trace/textformat.as
@@ -59,7 +59,11 @@ var tests = [
   "4,8,12",
   true,
   false,
-  null
+  null,
+  -2147483648,
+  -2147483650,
+  2147483648,
+  2147483650
 ];
 
 tests.push (new Array ());
diff-tree 80ae44b6dca893301ecae2c280ce2869d18c84ff (from 79ce5281af204fc619574b90cb8b0614a8a2e12c)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Wed Oct 3 15:38:41 2007 +0300

    Change TextFormat class' implementation somewhat
    
    Separate set/unset status from the values to a bitfield
    Add swfdec_text_format_new function

diff --git a/libswfdec/swfdec_text_format.c b/libswfdec/swfdec_text_format.c
index a023b13..96bac90 100644
--- a/libswfdec/swfdec_text_format.c
+++ b/libswfdec/swfdec_text_format.c
@@ -36,16 +36,37 @@
 
 G_DEFINE_TYPE (SwfdecTextFormat, swfdec_text_format, SWFDEC_TYPE_AS_OBJECT)
 
+static int property_offsets[] = {
+  G_STRUCT_OFFSET (SwfdecTextFormat, align),
+  G_STRUCT_OFFSET (SwfdecTextFormat, block_indent),
+  G_STRUCT_OFFSET (SwfdecTextFormat, bold),
+  G_STRUCT_OFFSET (SwfdecTextFormat, bullet),
+  G_STRUCT_OFFSET (SwfdecTextFormat, color),
+  G_STRUCT_OFFSET (SwfdecTextFormat, display),
+  G_STRUCT_OFFSET (SwfdecTextFormat, font),
+  G_STRUCT_OFFSET (SwfdecTextFormat, indent),
+  G_STRUCT_OFFSET (SwfdecTextFormat, italic),
+  G_STRUCT_OFFSET (SwfdecTextFormat, kerning),
+  G_STRUCT_OFFSET (SwfdecTextFormat, leading),
+  G_STRUCT_OFFSET (SwfdecTextFormat, left_margin),
+  G_STRUCT_OFFSET (SwfdecTextFormat, letter_spacing),
+  G_STRUCT_OFFSET (SwfdecTextFormat, right_margin),
+  G_STRUCT_OFFSET (SwfdecTextFormat, size),
+  G_STRUCT_OFFSET (SwfdecTextFormat, tab_stops),
+  G_STRUCT_OFFSET (SwfdecTextFormat, target),
+  G_STRUCT_OFFSET (SwfdecTextFormat, underline),
+  G_STRUCT_OFFSET (SwfdecTextFormat, url)
+};
+
 static void
 swfdec_text_format_do_mark (SwfdecAsObject *object)
 {
-  SwfdecTextFormat *format = SWFDEC_TEXTFORMAT (object);
+  SwfdecTextFormat *format = SWFDEC_TEXT_FORMAT (object);
 
   if (format->font != NULL)
     swfdec_as_string_mark (format->font);
-  // no need to mark letterSpacing, it's always number or null
-  if (format->tabStops != NULL)
-    swfdec_as_object_mark (SWFDEC_AS_OBJECT (format->tabStops));
+  if (format->tab_stops != NULL)
+    swfdec_as_object_mark (SWFDEC_AS_OBJECT (format->tab_stops));
   if (format->target != NULL)
     swfdec_as_string_mark (format->target);
   if (format->url != NULL)
@@ -67,36 +88,56 @@ swfdec_text_format_init (SwfdecTextForma
 {
 }
 
+static gboolean
+swfdec_text_format_is_set (SwfdecTextFormat *format,
+    SwfdecTextFormatProperty property)
+{
+  return (format->values_set & (1 << property));
+}
+
 static void
-swfdec_text_format_get_string (SwfdecAsObject *object, size_t offset,
-    SwfdecAsValue *ret)
+swfdec_text_format_mark_set (SwfdecTextFormat *format,
+    SwfdecTextFormatProperty property)
+{
+  format->values_set |= (1 << property);
+}
+
+static void
+swfdec_text_format_mark_unset (SwfdecTextFormat *format,
+    SwfdecTextFormatProperty property)
+{
+  format->values_set &= ~(1 << property);
+}
+
+static void
+swfdec_text_format_get_string (SwfdecAsObject *object,
+    SwfdecTextFormatProperty property, SwfdecAsValue *ret)
 {
   SwfdecTextFormat *format;
-  const char *value;
 
-  if (!SWFDEC_IS_TEXTFORMAT (object))
+  if (!SWFDEC_IS_TEXT_FORMAT (object))
     return;
+  format = SWFDEC_TEXT_FORMAT (object);
 
-  format = SWFDEC_TEXTFORMAT (object);
-  value = G_STRUCT_MEMBER (const char *, format, offset);
-
-  if (value != NULL) {
-    SWFDEC_AS_VALUE_SET_STRING (ret, value);
-  } else {
+  if (!swfdec_text_format_is_set (format, property)) {
     SWFDEC_AS_VALUE_SET_NULL (ret);
+    return;
   }
+
+  SWFDEC_AS_VALUE_SET_STRING (ret,
+      G_STRUCT_MEMBER (const char *, format, property_offsets[property]));
 }
 
 static void
-swfdec_text_format_set_string (SwfdecAsObject *object, size_t offset,
-    guint argc, SwfdecAsValue *argv)
+swfdec_text_format_set_string (SwfdecAsObject *object,
+    SwfdecTextFormatProperty property, guint argc, SwfdecAsValue *argv)
 {
   SwfdecTextFormat *format;
   const char *s;
 
-  if (!SWFDEC_IS_TEXTFORMAT (object))
+  if (!SWFDEC_IS_TEXT_FORMAT (object))
     return;
-  format = SWFDEC_TEXTFORMAT (object);
+  format = SWFDEC_TEXT_FORMAT (object);
 
   if (argc < 1)
     return;
@@ -107,49 +148,45 @@ swfdec_text_format_set_string (SwfdecAsO
 
   if (SWFDEC_AS_VALUE_IS_UNDEFINED (&argv[0]) ||
       SWFDEC_AS_VALUE_IS_NULL (&argv[0])) {
-    G_STRUCT_MEMBER (const char *, format, offset) = NULL;
+    G_STRUCT_MEMBER (const char *, format, property_offsets[property]) = NULL;
+    swfdec_text_format_mark_unset (format, property);
   } else {
-    G_STRUCT_MEMBER (const char *, format, offset) = s;
+    G_STRUCT_MEMBER (const char *, format, property_offsets[property]) = s;
+    swfdec_text_format_mark_set (format, property);
   }
 }
 
 static void
-swfdec_text_format_get_toggle (SwfdecAsObject *object, size_t offset,
-    SwfdecAsValue *ret)
+swfdec_text_format_get_boolean (SwfdecAsObject *object,
+    SwfdecTextFormatProperty property, SwfdecAsValue *ret)
 {
   SwfdecTextFormat *format;
-  SwfdecToggle value;
 
-  if (!SWFDEC_IS_TEXTFORMAT (object))
+  if (!SWFDEC_IS_TEXT_FORMAT (object))
     return;
-  format = SWFDEC_TEXTFORMAT (object);
+  format = SWFDEC_TEXT_FORMAT (object);
 
-  value = G_STRUCT_MEMBER (SwfdecToggle, format, offset);
+  if (!swfdec_text_format_is_set (format, property)) {
+    SWFDEC_AS_VALUE_SET_NULL (ret);
+    return;
+  }
 
-  switch (value) {
-    case SWFDEC_TOGGLE_DISABLED:
-      SWFDEC_AS_VALUE_SET_BOOLEAN (ret, FALSE);
-      break;
-    case SWFDEC_TOGGLE_ENABLED:
-      SWFDEC_AS_VALUE_SET_BOOLEAN (ret, TRUE);
-      break;
-    case SWFDEC_TOGGLE_UNDEFINED:
-      SWFDEC_AS_VALUE_SET_NULL (ret);
-      break;
-    default:
-      g_assert_not_reached ();
+  if (G_STRUCT_MEMBER (gboolean, format, property_offsets[property])) {
+    SWFDEC_AS_VALUE_SET_BOOLEAN (ret, TRUE);
+  } else {
+    SWFDEC_AS_VALUE_SET_BOOLEAN (ret, FALSE);
   }
 }
 
 static void
-swfdec_text_format_set_toggle (SwfdecAsObject *object, size_t offset,
-    guint argc, SwfdecAsValue *argv)
+swfdec_text_format_set_boolean (SwfdecAsObject *object,
+    SwfdecTextFormatProperty property, guint argc, SwfdecAsValue *argv)
 {
   SwfdecTextFormat *format;
 
-  if (!SWFDEC_IS_TEXTFORMAT (object))
+  if (!SWFDEC_IS_TEXT_FORMAT (object))
     return;
-  format = SWFDEC_TEXTFORMAT (object);
+  format = SWFDEC_TEXT_FORMAT (object);
 
   if (argc < 1)
     return;
@@ -160,100 +197,86 @@ swfdec_text_format_set_toggle (SwfdecAsO
 
   if (SWFDEC_AS_VALUE_IS_UNDEFINED (&argv[0]) ||
       SWFDEC_AS_VALUE_IS_NULL (&argv[0])) {
-    G_STRUCT_MEMBER (SwfdecToggle, format, offset) = SWFDEC_TOGGLE_UNDEFINED;
+    swfdec_text_format_mark_unset (format, property);
   } else {
-    if (swfdec_as_value_to_boolean (object->context, &argv[0])) {
-      G_STRUCT_MEMBER (SwfdecToggle, format, offset) = SWFDEC_TOGGLE_ENABLED;
-    } else {
-      G_STRUCT_MEMBER (SwfdecToggle, format, offset) = SWFDEC_TOGGLE_DISABLED;
-    }
+    G_STRUCT_MEMBER (gboolean, format, property_offsets[property]) =
+      swfdec_as_value_to_boolean (object->context, &argv[0]);
+    swfdec_text_format_mark_set (format, property);
   }
 }
 
 static void
-swfdec_text_format_get_int (SwfdecAsObject *object, size_t offset,
-    SwfdecAsValue *ret)
+swfdec_text_format_get_integer (SwfdecAsObject *object,
+    SwfdecTextFormatProperty property, SwfdecAsValue *ret)
 {
   SwfdecTextFormat *format;
-  double value;
 
-  if (!SWFDEC_IS_TEXTFORMAT (object))
+  if (!SWFDEC_IS_TEXT_FORMAT (object))
     return;
-  format = SWFDEC_TEXTFORMAT (object);
+  format = SWFDEC_TEXT_FORMAT (object);
 
-  value = G_STRUCT_MEMBER (double, format, offset);
-
-  if (!isnan (value)) {
-    SWFDEC_AS_VALUE_SET_NUMBER (ret, value);
-  } else {
+  if (!swfdec_text_format_is_set (format, property)) {
     SWFDEC_AS_VALUE_SET_NULL (ret);
+    return;
   }
+
+  SWFDEC_AS_VALUE_SET_NUMBER (ret,
+      (double)G_STRUCT_MEMBER (int, format, property_offsets[property]));
 }
 
-static double
+static int
 swfdec_text_format_value_to_integer (SwfdecAsContext *cx, SwfdecAsValue *val,
-    gboolean allow_negative, gboolean is_unsigned)
+    gboolean allow_negative)
 {
   double d;
   int n;
 
-  if (cx->version >= 8 && is_unsigned) {
-    d = swfdec_as_value_to_number (cx, val);
-    n = swfdec_as_value_to_integer (cx, val);
-  } else {
-    n = swfdec_as_value_to_integer (cx, val);
-    d = swfdec_as_value_to_number (cx, val);
-  }
+  n = swfdec_as_value_to_integer (cx, val);
+  d = swfdec_as_value_to_number (cx, val);
   swfdec_as_value_to_string (cx, val);
 
   if (cx->version >= 8) {
-    if (!is_unsigned && !isnan (d) && !isfinite (d) && d > 0) {
+    if (!isnan (d) && ((!isfinite (d) && d > 0) || (isfinite (d) && d > (int)G_MAXINT32))) {
       // don't check allow_negative here
       return -2147483648;
     } else {
-      if (is_unsigned) {
-	return (unsigned)d;
+      if (!allow_negative && (int)d < 0) {
+	return 0;
       } else {
-	if (!allow_negative && (int)d < 0) {
-	  return 0;
-	} else {
-	  return (int)d;
-	}
+	return (int)d;
       }
     }
   } else {
-    if (is_unsigned) {
-      return (unsigned)n;
+    if (!allow_negative && n < 0) {
+      return 0;
     } else {
-      if (!allow_negative && n < 0) {
-	return 0;
-      } else {
-	return n;
-      }
+      return n;
     }
   }
 }
 
 static void
-swfdec_text_format_set_int (SwfdecAsObject *object, size_t offset, guint argc,
-    SwfdecAsValue *argv, gboolean allow_negative, gboolean is_unsigned)
+swfdec_text_format_set_integer (SwfdecAsObject *object,
+    SwfdecTextFormatProperty property, guint argc, SwfdecAsValue *argv,
+    gboolean allow_negative)
 {
   SwfdecTextFormat *format;
 
-  if (!SWFDEC_IS_TEXTFORMAT (object))
+  if (!SWFDEC_IS_TEXT_FORMAT (object))
     return;
-  format = SWFDEC_TEXTFORMAT (object);
+  format = SWFDEC_TEXT_FORMAT (object);
 
   if (argc < 1)
     return;
 
   if (SWFDEC_AS_VALUE_IS_UNDEFINED (&argv[0]) ||
       SWFDEC_AS_VALUE_IS_NULL (&argv[0])) {
-    G_STRUCT_MEMBER (double, format, offset) = NAN;
+    swfdec_text_format_mark_unset (format, property);
   } else {
-    G_STRUCT_MEMBER (double, format, offset) =
+    G_STRUCT_MEMBER (int, format, property_offsets[property]) =
       swfdec_text_format_value_to_integer (object->context, &argv[0],
-	  allow_negative, is_unsigned);
+	  allow_negative);
+    swfdec_text_format_mark_set (format, property);
   }
 }
 
@@ -263,9 +286,14 @@ swfdec_text_format_get_align (SwfdecAsCo
 {
   SwfdecTextFormat *format;
 
-  if (!SWFDEC_IS_TEXTFORMAT (object))
+  if (!SWFDEC_IS_TEXT_FORMAT (object))
+    return;
+  format = SWFDEC_TEXT_FORMAT (object);
+
+  if (!swfdec_text_format_is_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN)) {
+    SWFDEC_AS_VALUE_SET_NULL (ret);
     return;
-  format = SWFDEC_TEXTFORMAT (object);
+  }
 
   switch (format->align) {
     case SWFDEC_TEXT_ALIGN_LEFT:
@@ -280,9 +308,6 @@ swfdec_text_format_get_align (SwfdecAsCo
     case SWFDEC_TEXT_ALIGN_JUSTIFY:
       SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_justify);
       break;
-    case SWFDEC_TEXT_ALIGN_UNDEFINED:
-      SWFDEC_AS_VALUE_SET_NULL (ret);
-      break;
     default:
       g_assert_not_reached ();
   }
@@ -295,9 +320,9 @@ swfdec_text_format_set_align (SwfdecAsCo
   SwfdecTextFormat *format;
   const char *s;
 
-  if (!SWFDEC_IS_TEXTFORMAT (object))
+  if (!SWFDEC_IS_TEXT_FORMAT (object))
     return;
-  format = SWFDEC_TEXTFORMAT (object);
+  format = SWFDEC_TEXT_FORMAT (object);
 
   if (argc < 1)
     return;
@@ -308,78 +333,113 @@ swfdec_text_format_set_align (SwfdecAsCo
 
   if (!g_ascii_strcasecmp (s, "left")) {
     format->align = SWFDEC_TEXT_ALIGN_LEFT;
+    swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN);
   } else if (!g_ascii_strcasecmp (s, "center")) {
     format->align = SWFDEC_TEXT_ALIGN_CENTER;
+    swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN);
   } else if (!g_ascii_strcasecmp (s, "right")) {
     format->align = SWFDEC_TEXT_ALIGN_RIGHT;
+    swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN);
   } else if (!g_ascii_strcasecmp (s, "justify")) {
     format->align = SWFDEC_TEXT_ALIGN_JUSTIFY;
+    swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN);
   }
 }
 
 static void
-swfdec_text_format_get_blockIndent (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_get_block_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_int (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, blockIndent), ret);
+  swfdec_text_format_get_integer (object,
+      SWFDEC_TEXT_FORMAT_PROPERTY_BLOCK_INDENT, ret);
 }
 
 static void
-swfdec_text_format_set_blockIndent (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_set_block_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_int (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, blockIndent), argc, argv,
-      cx->version >= 8, FALSE);
+  swfdec_text_format_set_integer (object,
+      SWFDEC_TEXT_FORMAT_PROPERTY_BLOCK_INDENT, argc, argv, cx->version >= 8);
 }
 
 static void
 swfdec_text_format_get_bold (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_toggle (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, bold), ret);
+  swfdec_text_format_get_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_BOLD,
+      ret);
 }
 
 static void
 swfdec_text_format_set_bold (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_toggle (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, bold), argc, argv);
+  swfdec_text_format_set_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_BOLD,
+      argc, argv);
 }
 
 static void
 swfdec_text_format_get_bullet (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_toggle (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, bullet), ret);
+  swfdec_text_format_get_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_BULLET,
+      ret);
 }
 
 static void
 swfdec_text_format_set_bullet (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_toggle (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, bullet), argc, argv);
+  swfdec_text_format_set_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_BULLET,
+      argc, argv);
 }
 
 static void
 swfdec_text_format_get_color (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_int (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, color), ret);
+  SwfdecTextFormat *format;
+
+  if (!SWFDEC_IS_TEXT_FORMAT (object))
+    return;
+  format = SWFDEC_TEXT_FORMAT (object);
+
+  if (!swfdec_text_format_is_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_COLOR)) {
+    SWFDEC_AS_VALUE_SET_NULL (ret);
+    return;
+  }
+
+  SWFDEC_AS_VALUE_SET_NUMBER (ret, format->color);
 }
 
 static void
 swfdec_text_format_set_color (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_int (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, color), argc, argv, FALSE, TRUE);
+  SwfdecTextFormat *format;
+
+  if (!SWFDEC_IS_TEXT_FORMAT (object))
+    return;
+  format = SWFDEC_TEXT_FORMAT (object);
+
+  if (argc < 1)
+    return;
+
+
+  if (SWFDEC_AS_VALUE_IS_UNDEFINED (&argv[0]) ||
+      SWFDEC_AS_VALUE_IS_NULL (&argv[0])) {
+    swfdec_text_format_mark_unset (format, SWFDEC_TEXT_FORMAT_PROPERTY_COLOR);
+  } else {
+    if (cx->version >= 8) {
+      format->color = (unsigned)swfdec_as_value_to_number (cx, &argv[0]);
+    } else {
+      format->color = (unsigned)swfdec_as_value_to_integer (cx, &argv[0]);
+    }
+    swfdec_as_value_to_integer (cx, &argv[0]);
+    swfdec_as_value_to_string (cx, &argv[0]);
+
+    swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_COLOR);
+  }
 }
 
 static void
@@ -388,9 +448,15 @@ swfdec_text_format_get_display (SwfdecAs
 {
   SwfdecTextFormat *format;
 
-  if (!SWFDEC_IS_TEXTFORMAT (object))
+  if (!SWFDEC_IS_TEXT_FORMAT (object))
     return;
-  format = SWFDEC_TEXTFORMAT (object);
+  format = SWFDEC_TEXT_FORMAT (object);
+
+  if (!swfdec_text_format_is_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_DISPLAY))
+  {
+    SWFDEC_AS_VALUE_SET_NULL (ret);
+    return;
+  }
 
   switch (format->display) {
     case SWFDEC_TEXT_DISPLAY_NONE:
@@ -402,9 +468,6 @@ swfdec_text_format_get_display (SwfdecAs
     case SWFDEC_TEXT_DISPLAY_BLOCK:
       SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_block);
       break;
-    case SWFDEC_TEXT_ALIGN_UNDEFINED:
-      SWFDEC_AS_VALUE_SET_NULL (ret);
-      break;
     default:
       g_assert_not_reached ();
   }
@@ -417,9 +480,9 @@ swfdec_text_format_set_display (SwfdecAs
   SwfdecTextFormat *format;
   const char *s;
 
-  if (!SWFDEC_IS_TEXTFORMAT (object))
+  if (!SWFDEC_IS_TEXT_FORMAT (object))
     return;
-  format = SWFDEC_TEXTFORMAT (object);
+  format = SWFDEC_TEXT_FORMAT (object);
 
   swfdec_as_value_to_integer (cx, &argv[0]);
   swfdec_as_value_to_number (cx, &argv[0]);
@@ -433,131 +496,137 @@ swfdec_text_format_set_display (SwfdecAs
   } else {
     format->display = SWFDEC_TEXT_DISPLAY_BLOCK;
   }
+
+  swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_DISPLAY);
 }
 
 static void
 swfdec_text_format_get_font (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_string (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, font), ret);
+  swfdec_text_format_get_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_FONT,
+      ret);
 }
 
 static void
 swfdec_text_format_set_font (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_string (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, font), argc, argv);
+  swfdec_text_format_set_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_FONT,
+      argc, argv);
 }
 
 static void
 swfdec_text_format_get_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_int (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, indent), ret);
+  swfdec_text_format_get_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_INDENT,
+      ret);
 }
 
 static void
 swfdec_text_format_set_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_int (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, indent), argc, argv,
-      cx->version >= 8, FALSE);
+  swfdec_text_format_set_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_INDENT,
+      argc, argv, cx->version >= 8);
 }
 
 static void
 swfdec_text_format_get_italic (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_toggle (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, italic), ret);
+  swfdec_text_format_get_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_ITALIC, ret);
 }
 
 static void
 swfdec_text_format_set_italic (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_toggle (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, italic), argc, argv);
+  swfdec_text_format_set_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_ITALIC,
+      argc, argv);
 }
 
 static void
 swfdec_text_format_get_kerning (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_toggle (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, kerning), ret);
+  swfdec_text_format_get_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_KERNING,
+      ret);
 }
 
 static void
 swfdec_text_format_set_kerning (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_toggle (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, kerning), argc, argv);
+  swfdec_text_format_set_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_KERNING,
+      argc, argv);
 }
 
 static void
 swfdec_text_format_get_leading (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_int (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, leading), ret);
+  swfdec_text_format_get_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_LEADING,
+      ret);
 }
 
 static void
 swfdec_text_format_set_leading (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_int (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, leading), argc, argv,
-      cx->version >= 8, FALSE);
+  swfdec_text_format_set_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_LEADING,
+      argc, argv, cx->version >= 8);
 }
 
 static void
-swfdec_text_format_get_leftMargin (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_get_left_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_int (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, leftMargin), ret);
+  swfdec_text_format_get_integer (object,
+      SWFDEC_TEXT_FORMAT_PROPERTY_LEFT_MARGIN, ret);
 }
 
 static void
-swfdec_text_format_set_leftMargin (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_set_left_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_int (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, leftMargin), argc, argv, FALSE, FALSE);
+  swfdec_text_format_set_integer (object,
+      SWFDEC_TEXT_FORMAT_PROPERTY_LEFT_MARGIN, argc, argv, FALSE);
 }
 
 static void
-swfdec_text_format_get_letterSpacing (SwfdecAsContext *cx,
+swfdec_text_format_get_letter_spacing (SwfdecAsContext *cx,
     SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
     SwfdecAsValue *ret)
 {
   SwfdecTextFormat *format;
 
-  if (!SWFDEC_IS_TEXTFORMAT (object))
+  if (!SWFDEC_IS_TEXT_FORMAT (object))
     return;
-  format = SWFDEC_TEXTFORMAT (object);
+  format = SWFDEC_TEXT_FORMAT (object);
 
-  *ret = format->letterSpacing;
+  if (!swfdec_text_format_is_set (format,
+	SWFDEC_TEXT_FORMAT_PROPERTY_LETTER_SPACING))
+  {
+    SWFDEC_AS_VALUE_SET_NULL (ret);
+    return;
+  }
+
+  SWFDEC_AS_VALUE_SET_NUMBER (ret, format->letter_spacing);
 }
 
 static void
-swfdec_text_format_set_letterSpacing (SwfdecAsContext *cx,
+swfdec_text_format_set_letter_spacing (SwfdecAsContext *cx,
     SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
     SwfdecAsValue *ret)
 {
   SwfdecTextFormat *format;
   double d;
 
-  if (!SWFDEC_IS_TEXTFORMAT (object))
+  if (!SWFDEC_IS_TEXT_FORMAT (object))
     return;
-  format = SWFDEC_TEXTFORMAT (object);
+  format = SWFDEC_TEXT_FORMAT (object);
 
   if (argc < 1)
     return;
@@ -566,77 +635,82 @@ swfdec_text_format_set_letterSpacing (Sw
   d = swfdec_as_value_to_number (cx, &argv[0]);
   swfdec_as_value_to_string (cx, &argv[0]);
 
-
   if (SWFDEC_AS_VALUE_IS_UNDEFINED (&argv[0]) ||
       SWFDEC_AS_VALUE_IS_NULL (&argv[0]))
   {
-    SWFDEC_AS_VALUE_SET_NULL (&format->letterSpacing);
+    swfdec_text_format_mark_unset (format,
+	SWFDEC_TEXT_FORMAT_PROPERTY_LETTER_SPACING);
   }
   else
   {
-    SWFDEC_AS_VALUE_SET_NUMBER (&format->letterSpacing, d);
+    format->letter_spacing = d;
+    swfdec_text_format_mark_set (format,
+	SWFDEC_TEXT_FORMAT_PROPERTY_LETTER_SPACING);
   }
 }
 
 static void
-swfdec_text_format_get_rightMargin (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_get_right_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_int (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, rightMargin), ret);
+  swfdec_text_format_get_integer (object,
+      SWFDEC_TEXT_FORMAT_PROPERTY_RIGHT_MARGIN, ret);
 }
 
 static void
-swfdec_text_format_set_rightMargin (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_set_right_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_int (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, rightMargin), argc, argv, FALSE,
-      FALSE);
+  swfdec_text_format_set_integer (object,
+      SWFDEC_TEXT_FORMAT_PROPERTY_RIGHT_MARGIN, argc, argv, FALSE);
 }
 
 static void
 swfdec_text_format_get_size (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_int (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, size), ret);
+  swfdec_text_format_get_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_SIZE,
+      ret);
 }
 
 static void
 swfdec_text_format_set_size (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_int (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, size), argc, argv, TRUE, FALSE);
+  swfdec_text_format_set_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_SIZE,
+      argc, argv, TRUE);
 }
 
 static void
-swfdec_text_format_get_tabStops (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_get_tab_stops (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   SwfdecTextFormat *format;
 
-  if (!SWFDEC_IS_TEXTFORMAT (object))
+  if (!SWFDEC_IS_TEXT_FORMAT (object))
     return;
-  format = SWFDEC_TEXTFORMAT (object);
+  format = SWFDEC_TEXT_FORMAT (object);
 
-  if (format->tabStops != NULL) {
-    SWFDEC_AS_VALUE_SET_OBJECT (ret, SWFDEC_AS_OBJECT (format->tabStops));
-  } else {
+  if (!swfdec_text_format_is_set (format,
+	SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS))
+  {
     SWFDEC_AS_VALUE_SET_NULL (ret);
+    return;
   }
+
+  g_return_if_fail (SWFDEC_IS_AS_OBJECT (format->tab_stops));
+  SWFDEC_AS_VALUE_SET_OBJECT (ret, SWFDEC_AS_OBJECT (format->tab_stops));
 }
 
 static void
-swfdec_text_format_set_tabStops (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_set_tab_stops (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   SwfdecTextFormat *format;
 
-  if (!SWFDEC_IS_TEXTFORMAT (object))
+  if (!SWFDEC_IS_TEXT_FORMAT (object))
     return;
-  format = SWFDEC_TEXTFORMAT (object);
+  format = SWFDEC_TEXT_FORMAT (object);
 
   if (argc < 1)
     return;
@@ -648,7 +722,9 @@ swfdec_text_format_set_tabStops (SwfdecA
   if (SWFDEC_AS_VALUE_IS_UNDEFINED (&argv[0]) ||
       SWFDEC_AS_VALUE_IS_NULL (&argv[0]))
   {
-    format->tabStops = NULL;
+    format->tab_stops = NULL;
+    swfdec_text_format_mark_unset (format,
+	SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
   }
   else if (SWFDEC_AS_VALUE_IS_OBJECT (&argv[0]) &&
 	SWFDEC_IS_AS_ARRAY (SWFDEC_AS_VALUE_GET_OBJECT (&argv[0])))
@@ -656,24 +732,28 @@ swfdec_text_format_set_tabStops (SwfdecA
     SwfdecAsArray *array;
     SwfdecAsValue val;
     gint32 len, i;
-    double d;
+    int n;
 
     array = SWFDEC_AS_ARRAY (SWFDEC_AS_VALUE_GET_OBJECT (&argv[0]));
     len = swfdec_as_array_get_length (array);
 
-    if (format->tabStops == NULL) {
+    if (!swfdec_text_format_is_set (format,
+	  SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS))
+    {
       // special case, if we have null and array is empty, keep it at null
       if (len == 0)
 	return;
-      format->tabStops = SWFDEC_AS_ARRAY (swfdec_as_array_new (cx));
+      format->tab_stops = SWFDEC_AS_ARRAY (swfdec_as_array_new (cx));
+      swfdec_text_format_mark_set (format,
+	  SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
     }
 
-    swfdec_as_array_set_length (format->tabStops, 0);
+    swfdec_as_array_set_length (format->tab_stops, 0);
     for (i = 0; i < len; i++) {
       swfdec_as_array_get_value (array, i, &val);
-      d = swfdec_text_format_value_to_integer (cx, &val, TRUE, FALSE);
-      SWFDEC_AS_VALUE_SET_NUMBER (&val, d);
-      swfdec_as_array_set_value (format->tabStops, i, &val);
+      n = swfdec_text_format_value_to_integer (cx, &val, TRUE);
+      SWFDEC_AS_VALUE_SET_INT (&val, n);
+      swfdec_as_array_set_value (format->tab_stops, i, &val);
     }
   }
   else if (SWFDEC_AS_VALUE_IS_STRING (&argv[0]))
@@ -681,26 +761,33 @@ swfdec_text_format_set_tabStops (SwfdecA
     size_t i, len;
     SwfdecAsValue val;
 
-    format->tabStops = SWFDEC_AS_ARRAY (swfdec_as_array_new (cx));
     len = strlen (SWFDEC_AS_VALUE_GET_STRING (&argv[0]));
 
     // special case: empty strings mean null
     if (len == 0) {
-      format->tabStops = NULL;
+      format->tab_stops = NULL;
+      swfdec_text_format_mark_unset (format,
+	  SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
     } else {
+      format->tab_stops = SWFDEC_AS_ARRAY (swfdec_as_array_new (cx));
+      swfdec_text_format_mark_set (format,
+	  SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
       if (cx->version >= 8) {
 	SWFDEC_AS_VALUE_SET_INT (&val, -2147483648);
       } else {
 	SWFDEC_AS_VALUE_SET_INT (&val, 0);
       }
       for (i = 0; i < len; i++) {
-	swfdec_as_array_push (format->tabStops, &val);
+	swfdec_as_array_push (format->tab_stops, &val);
       }
     }
   }
-  else if (format->tabStops != NULL)
+  else if (swfdec_text_format_is_set (format,
+	SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS))
   {
-    swfdec_as_array_set_length (format->tabStops, 0);
+    swfdec_as_array_set_length (format->tab_stops, 0);
+    swfdec_text_format_mark_set (format,
+	SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
   }
 }
 
@@ -708,48 +795,47 @@ static void
 swfdec_text_format_get_target (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_string (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, target), ret);
+  swfdec_text_format_get_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_TARGET,
+      ret);
 }
 
 static void
 swfdec_text_format_set_target (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_string (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, target), argc, argv);
+  swfdec_text_format_set_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_TARGET,
+      argc, argv);
 }
 
 static void
 swfdec_text_format_get_underline (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_toggle (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, underline), ret);
+  swfdec_text_format_get_boolean (object,
+      SWFDEC_TEXT_FORMAT_PROPERTY_UNDERLINE, ret);
 }
 
 static void
 swfdec_text_format_set_underline (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_toggle (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, underline), argc, argv);
+  swfdec_text_format_set_boolean (object,
+      SWFDEC_TEXT_FORMAT_PROPERTY_UNDERLINE, argc, argv);
 }
 
 static void
 swfdec_text_format_get_url (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_get_string (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, url), ret);
+  swfdec_text_format_get_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_URL, ret);
 }
 
 static void
 swfdec_text_format_set_url (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  swfdec_text_format_set_string (object,
-      G_STRUCT_OFFSET (SwfdecTextFormat, url), argc, argv);
+  swfdec_text_format_set_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_URL, argc,
+      argv);
 }
 
 static void
@@ -777,12 +863,24 @@ swfdec_text_format_add_variable (SwfdecA
   swfdec_as_object_add_variable (object, variable, get_func, set_func, 0);
 }
 
+static void
+swfdec_text_format_clear (SwfdecTextFormat *format)
+{
+  format->font = NULL;
+  format->target = NULL;
+  format->tab_stops = NULL;
+  format->url = NULL;
+  format->values_set = 0;
+
+  format->display = SWFDEC_TEXT_DISPLAY_BLOCK;
+  swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_DISPLAY);
+}
+
 SWFDEC_AS_CONSTRUCTOR (110, 0, swfdec_text_format_construct, swfdec_text_format_get_type)
 void
 swfdec_text_format_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
-  SwfdecTextFormat *format;
   guint i;
 
   if (!swfdec_as_context_is_constructing (cx)) {
@@ -790,7 +888,7 @@ swfdec_text_format_construct (SwfdecAsCo
     return;
   }
 
-  g_assert (SWFDEC_IS_TEXTFORMAT (object));
+  g_assert (SWFDEC_IS_TEXT_FORMAT (object));
 
   if (!SWFDEC_PLAYER (cx)->text_format_properties_initialized) {
     SwfdecAsValue val;
@@ -803,7 +901,8 @@ swfdec_text_format_construct (SwfdecAsCo
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_align,
 	swfdec_text_format_get_align, swfdec_text_format_set_align);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_blockIndent,
-	swfdec_text_format_get_blockIndent, swfdec_text_format_set_blockIndent);
+	swfdec_text_format_get_block_indent,
+	swfdec_text_format_set_block_indent);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_bold,
 	swfdec_text_format_get_bold, swfdec_text_format_set_bold);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_bullet,
@@ -825,18 +924,20 @@ swfdec_text_format_construct (SwfdecAsCo
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_leading,
 	swfdec_text_format_get_leading, swfdec_text_format_set_leading);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_leftMargin,
-	swfdec_text_format_get_leftMargin, swfdec_text_format_set_leftMargin);
+	swfdec_text_format_get_left_margin,
+	swfdec_text_format_set_left_margin);
     if (cx->version >= 8) {
       swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_letterSpacing,
-	  swfdec_text_format_get_letterSpacing,
-	  swfdec_text_format_set_letterSpacing);
+	  swfdec_text_format_get_letter_spacing,
+	  swfdec_text_format_set_letter_spacing);
     }
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_rightMargin,
-	swfdec_text_format_get_rightMargin, swfdec_text_format_set_rightMargin);
+	swfdec_text_format_get_right_margin,
+	swfdec_text_format_set_right_margin);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_size,
 	swfdec_text_format_get_size, swfdec_text_format_set_size);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_tabStops,
-	swfdec_text_format_get_tabStops, swfdec_text_format_set_tabStops);
+	swfdec_text_format_get_tab_stops, swfdec_text_format_set_tab_stops);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_target,
 	swfdec_text_format_get_target, swfdec_text_format_set_target);
     swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_underline,
@@ -847,21 +948,7 @@ swfdec_text_format_construct (SwfdecAsCo
     SWFDEC_PLAYER (cx)->text_format_properties_initialized = TRUE;
   }
 
-  format = SWFDEC_TEXTFORMAT (object);
-  format->blockIndent = NAN;
-  format->bold = SWFDEC_TOGGLE_UNDEFINED;
-  format->bullet = SWFDEC_TOGGLE_UNDEFINED;
-  format->color = NAN;
-  format->display = SWFDEC_TEXT_DISPLAY_BLOCK;
-  format->indent = NAN;
-  format->italic = SWFDEC_TOGGLE_UNDEFINED;
-  format->kerning = SWFDEC_TOGGLE_UNDEFINED;
-  format->leading = NAN;
-  format->leftMargin = NAN;
-  SWFDEC_AS_VALUE_SET_NULL (&format->letterSpacing);
-  format->rightMargin = NAN;
-  format->size = NAN;
-  format->underline = SWFDEC_TOGGLE_UNDEFINED;
+  swfdec_text_format_clear (SWFDEC_TEXT_FORMAT (object));
 
   i = 0;
   if (argc > i)
@@ -891,3 +978,27 @@ swfdec_text_format_construct (SwfdecAsCo
   if (argc > ++i)
     swfdec_as_object_set_variable (object, SWFDEC_AS_STR_leading, &argv[i]);
 }
+
+SwfdecAsObject *
+swfdec_text_format_new (SwfdecAsContext *context)
+{
+  SwfdecAsObject *ret;
+  SwfdecAsValue val;
+
+  g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), NULL);
+
+  if (!swfdec_as_context_use_mem (context, sizeof (SwfdecTextFormat)))
+    return NULL;
+
+  ret = g_object_new (SWFDEC_TYPE_TEXT_FORMAT, NULL);
+  swfdec_as_object_add (ret, context, sizeof (SwfdecTextFormat));
+  swfdec_as_object_get_variable (context->global, SWFDEC_AS_STR_TextFormat,
+      &val);
+  if (!SWFDEC_AS_VALUE_IS_OBJECT (&val))
+    return NULL;
+  swfdec_as_object_set_constructor (ret, SWFDEC_AS_VALUE_GET_OBJECT (&val));
+
+  swfdec_text_format_clear (SWFDEC_TEXT_FORMAT (ret));
+
+  return ret;
+}
diff --git a/libswfdec/swfdec_text_format.h b/libswfdec/swfdec_text_format.h
index 607c0e3..12f4128 100644
--- a/libswfdec/swfdec_text_format.h
+++ b/libswfdec/swfdec_text_format.h
@@ -18,8 +18,8 @@
  * Boston, MA  02110-1301  USA
  */
 
-#ifndef _SWFDEC_TEXTFORMAT_H_
-#define _SWFDEC_TEXTFORMAT_H_
+#ifndef _SWFDEC_TEXT_FORMAT_H_
+#define _SWFDEC_TEXT_FORMAT_H_
 
 #include <libswfdec/swfdec_as_object.h>
 #include <libswfdec/swfdec_as_array.h>
@@ -31,15 +31,14 @@ G_BEGIN_DECLS
 typedef struct _SwfdecTextFormat SwfdecTextFormat;
 typedef struct _SwfdecTextFormatClass SwfdecTextFormatClass;
 
-#define SWFDEC_TYPE_TEXTFORMAT                    (swfdec_text_format_get_type())
-#define SWFDEC_IS_TEXTFORMAT(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_TEXTFORMAT))
-#define SWFDEC_IS_TEXTFORMAT_CLASS(klass)         (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_TEXTFORMAT))
-#define SWFDEC_TEXTFORMAT(obj)                    (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_TEXTFORMAT, SwfdecTextFormat))
-#define SWFDEC_TEXTFORMAT_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_TEXTFORMAT, SwfdecTextFormatClass))
-#define SWFDEC_TEXTFORMAT_GET_CLASS(obj)          (G_TYPE_INSTANCE_GET_CLASS ((obj), SWFDEC_TYPE_TEXTFORMAT, SwfdecTextFormatClass))
+#define SWFDEC_TYPE_TEXT_FORMAT                    (swfdec_text_format_get_type())
+#define SWFDEC_IS_TEXT_FORMAT(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_TEXT_FORMAT))
+#define SWFDEC_IS_TEXT_FORMAT_CLASS(klass)         (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_TEXT_FORMAT))
+#define SWFDEC_TEXT_FORMAT(obj)                    (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_TEXT_FORMAT, SwfdecTextFormat))
+#define SWFDEC_TEXT_FORMAT_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_TEXT_FORMAT, SwfdecTextFormatClass))
+#define SWFDEC_TEXT_FORMAT_GET_CLASS(obj)          (G_TYPE_INSTANCE_GET_CLASS ((obj), SWFDEC_TYPE_TEXT_FORMAT, SwfdecTextFormatClass))
 
 typedef enum {
-  SWFDEC_TEXT_ALIGN_UNDEFINED,
   SWFDEC_TEXT_ALIGN_LEFT,
   SWFDEC_TEXT_ALIGN_CENTER,
   SWFDEC_TEXT_ALIGN_RIGHT,
@@ -47,40 +46,57 @@ typedef enum {
 } SwfdecTextAlign;
 
 typedef enum {
-  SWFDEC_TEXT_DISPLAY_UNDEFINED, // is this needed?
   SWFDEC_TEXT_DISPLAY_NONE,
   SWFDEC_TEXT_DISPLAY_INLINE,
   SWFDEC_TEXT_DISPLAY_BLOCK,
 } SwfdecTextDisplay;
 
 typedef enum {
-  SWFDEC_TOGGLE_UNDEFINED = -1,
-  SWFDEC_TOGGLE_DISABLED = 0,
-  SWFDEC_TOGGLE_ENABLED = 1
-} SwfdecToggle;
+  SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN = 0,
+  SWFDEC_TEXT_FORMAT_PROPERTY_BLOCK_INDENT,
+  SWFDEC_TEXT_FORMAT_PROPERTY_BOLD,
+  SWFDEC_TEXT_FORMAT_PROPERTY_BULLET,
+  SWFDEC_TEXT_FORMAT_PROPERTY_COLOR,
+  SWFDEC_TEXT_FORMAT_PROPERTY_DISPLAY,
+  SWFDEC_TEXT_FORMAT_PROPERTY_FONT,
+  SWFDEC_TEXT_FORMAT_PROPERTY_INDENT,
+  SWFDEC_TEXT_FORMAT_PROPERTY_ITALIC,
+  SWFDEC_TEXT_FORMAT_PROPERTY_KERNING,
+  SWFDEC_TEXT_FORMAT_PROPERTY_LEADING,
+  SWFDEC_TEXT_FORMAT_PROPERTY_LEFT_MARGIN,
+  SWFDEC_TEXT_FORMAT_PROPERTY_LETTER_SPACING,
+  SWFDEC_TEXT_FORMAT_PROPERTY_RIGHT_MARGIN,
+  SWFDEC_TEXT_FORMAT_PROPERTY_SIZE,
+  SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS,
+  SWFDEC_TEXT_FORMAT_PROPERTY_TARGET,
+  SWFDEC_TEXT_FORMAT_PROPERTY_UNDERLINE,
+  SWFDEC_TEXT_FORMAT_PROPERTY_URL
+} SwfdecTextFormatProperty;
 
 struct _SwfdecTextFormat {
   SwfdecAsObject	object;
 
   SwfdecTextAlign	align;
-  double		blockIndent;
-  SwfdecToggle		bold;
-  SwfdecToggle		bullet;
-  double		color;
+  int			block_indent;
+  gboolean		bold;
+  gboolean		bullet;
+  SwfdecColor		color;
   SwfdecTextDisplay	display;
   const char *		font;
-  double		indent;
-  SwfdecToggle		italic;
-  SwfdecToggle		kerning;
-  double		leading;
-  double		leftMargin;
-  SwfdecAsValue		letterSpacing; // number or null
-  double		rightMargin;
-  double		size;
-  SwfdecAsArray *	tabStops;
+  int			indent;
+  gboolean		italic;
+  gboolean		kerning;
+  int			leading;
+  int			left_margin;
+  double		letter_spacing; // number or null
+  int			right_margin;
+  int			size;
+  SwfdecAsArray *	tab_stops;
   const char *		target;
-  SwfdecToggle		underline;
+  gboolean		underline;
   const char *		url;
+
+  int			values_set;
 };
 
 struct _SwfdecTextFormatClass {
@@ -89,5 +105,7 @@ struct _SwfdecTextFormatClass {
 
 GType		swfdec_text_format_get_type	(void);
 
+SwfdecAsObject * swfdec_text_format_new		(SwfdecAsContext *	context);
+
 G_END_DECLS
 #endif
diff-tree 79ce5281af204fc619574b90cb8b0614a8a2e12c (from db16b550fa025c520266c90df07cd71a3fbc44c0)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Oct 1 17:15:34 2007 +0300

    Start work on TextField ActionScript object

diff --git a/libswfdec/Makefile.am b/libswfdec/Makefile.am
index 43efba4..1a80e27 100644
--- a/libswfdec/Makefile.am
+++ b/libswfdec/Makefile.am
@@ -62,6 +62,7 @@ libswfdec_ at SWFDEC_MAJORMINOR@_la_SOURCES
 	swfdec_decoder.c \
 	swfdec_edittext.c \
 	swfdec_edittext_movie.c \
+	swfdec_edittext_movie_as.c \
 	swfdec_enums.c \
 	swfdec_event.c \
 	swfdec_file_loader.c \
diff --git a/libswfdec/swfdec_as_interpret.c b/libswfdec/swfdec_as_interpret.c
index 5dc9a24..e38b552 100644
--- a/libswfdec/swfdec_as_interpret.c
+++ b/libswfdec/swfdec_as_interpret.c
@@ -42,6 +42,7 @@
 #include "swfdec_sprite.h"
 #include "swfdec_sprite_movie.h"
 #include "swfdec_swf_instance.h"
+#include "swfdec_edittext_movie.h" // for typeof
 
 /* Define this to get SWFDEC_WARN'd about missing properties of objects.
  * This can be useful to find out about unimplemented native properties,
@@ -2006,7 +2007,9 @@ swfdec_action_type_of (SwfdecAsContext *
     case SWFDEC_AS_TYPE_OBJECT:
       {
 	SwfdecAsObject *obj = SWFDEC_AS_VALUE_GET_OBJECT (val);
-	if (SWFDEC_IS_MOVIE (obj)) {
+	if (SWFDEC_IS_EDIT_TEXT_MOVIE (obj)) {
+	  type = SWFDEC_AS_STR_object;
+	} else if (SWFDEC_IS_MOVIE (obj)) {
 	  type = SWFDEC_AS_STR_movieclip;
 	} else if (SWFDEC_IS_AS_FUNCTION (obj)) {
 	  type = SWFDEC_AS_STR_function;
diff --git a/libswfdec/swfdec_as_strings.c b/libswfdec/swfdec_as_strings.c
index df29a9a..3aa0ba1 100644
--- a/libswfdec/swfdec_as_strings.c
+++ b/libswfdec/swfdec_as_strings.c
@@ -383,6 +383,8 @@ const char swfdec_as_strings[] = 
   SWFDEC_AS_CONSTANT_STRING ("none")
   SWFDEC_AS_CONSTANT_STRING ("inline")
   SWFDEC_AS_CONSTANT_STRING ("block")
+  SWFDEC_AS_CONSTANT_STRING ("TextField")
+  SWFDEC_AS_CONSTANT_STRING ("text")
   /* add more here */
 ;
 
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
new file mode 100644
index 0000000..bd0a5df
--- /dev/null
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -0,0 +1,180 @@
+/* Swfdec
+ * Copyright (C) 2007 Benjamin Otte <otte at gnome.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library 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
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, 
+ * Boston, MA  02110-1301  USA
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "swfdec_edittext.h"
+#include "swfdec_edittext_movie.h"
+#include "swfdec_as_strings.h"
+#include "swfdec_debug.h"
+#include "swfdec_as_native_function.h"
+#include "swfdec_as_internal.h"
+#include "swfdec_as_context.h"
+#include "swfdec_as_frame_internal.h"
+#include "swfdec_internal.h"
+#include "swfdec_player_internal.h"
+
+static void
+swfdec_edittext_movie_get_text (SwfdecAsContext *cx, SwfdecAsObject *object,
+    guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+  SwfdecEditTextMovie *text;
+
+  if (!SWFDEC_IS_EDIT_TEXT_MOVIE (object))
+    return;
+  text = SWFDEC_EDIT_TEXT_MOVIE (object);
+
+  SWFDEC_AS_VALUE_SET_STRING (ret, (text->str != NULL ? swfdec_as_context_get_string (cx, text->str) : SWFDEC_AS_STR_EMPTY));
+}
+
+static void
+swfdec_edittext_movie_do_set_text (SwfdecAsContext *cx, SwfdecAsObject *object,
+    guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+  SwfdecEditTextMovie *text;
+
+  if (!SWFDEC_IS_EDIT_TEXT_MOVIE (object))
+    return;
+  text = SWFDEC_EDIT_TEXT_MOVIE (object);
+
+  if (argc < 1)
+    return;
+
+  swfdec_edit_text_movie_set_text (text,
+      swfdec_as_value_to_string (cx, &argv[0]));
+}
+
+SWFDEC_AS_NATIVE (104, 200, swfdec_edittext_movie_createTextField)
+void
+swfdec_edittext_movie_createTextField (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+    SwfdecAsValue *rval)
+{
+  SwfdecMovie *movie, *parent;
+  SwfdecEditText *edittext;
+  int depth;
+  const char *name;
+  SwfdecAsFunction *fun;
+  SwfdecAsValue val;
+
+  SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, (gpointer)&parent, "si", &name, &depth);
+
+  edittext = g_object_new (SWFDEC_TYPE_EDIT_TEXT, NULL);
+
+  movie = swfdec_movie_find (parent, depth);
+  if (movie)
+    swfdec_movie_remove (movie);
+
+  movie = swfdec_movie_new (SWFDEC_PLAYER (cx), depth, parent,
+      SWFDEC_GRAPHIC (edittext), name);
+  g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (movie));
+  swfdec_movie_initialize (movie);
+
+  swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
+  if (!SWFDEC_AS_VALUE_IS_OBJECT (&val))
+    return;
+  fun = (SwfdecAsFunction *) SWFDEC_AS_VALUE_GET_OBJECT (&val);
+  if (!SWFDEC_IS_AS_FUNCTION (fun))
+    return;
+
+  /* set initial variables */
+  if (swfdec_as_object_get_variable (SWFDEC_AS_OBJECT (fun),
+	SWFDEC_AS_STR_prototype, &val)) {
+    swfdec_as_object_set_variable_and_flags (SWFDEC_AS_OBJECT (movie),
+	SWFDEC_AS_STR___proto__, &val,
+	SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_PERMANENT);
+  }
+  SWFDEC_AS_VALUE_SET_OBJECT (&val, SWFDEC_AS_OBJECT (fun));
+  if (cx->version < 7) {
+    swfdec_as_object_set_variable_and_flags (SWFDEC_AS_OBJECT (movie),
+	SWFDEC_AS_STR_constructor, &val, SWFDEC_AS_VARIABLE_HIDDEN);
+  }
+  swfdec_as_object_set_variable_and_flags (SWFDEC_AS_OBJECT (movie),
+      SWFDEC_AS_STR___constructor__, &val,
+      SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_VERSION_6_UP);
+
+  swfdec_as_function_call (fun, SWFDEC_AS_OBJECT (movie), 0, NULL, rval);
+  cx->frame->construct = TRUE;
+  swfdec_as_context_run (cx);
+}
+
+static void
+swfdec_edittext_movie_add_variable (SwfdecAsObject *object,
+    const char *variable, SwfdecAsNative get, SwfdecAsNative set)
+{
+  SwfdecAsFunction *get_func, *set_func;
+
+  g_return_if_fail (SWFDEC_IS_AS_OBJECT (object));
+  g_return_if_fail (variable != NULL);
+  g_return_if_fail (get != NULL);
+
+  get_func =
+    swfdec_as_native_function_new (object->context, variable, get, 0, NULL);
+  if (get_func == NULL)
+    return;
+
+  if (set != NULL) {
+    set_func =
+      swfdec_as_native_function_new (object->context, variable, set, 0, NULL);
+  } else {
+    set_func = NULL;
+  }
+
+  swfdec_as_object_add_variable (object, variable, get_func, set_func, 0);
+}
+
+SWFDEC_AS_CONSTRUCTOR (104, 0, swfdec_edittext_movie_construct, swfdec_edit_text_movie_get_type)
+void
+swfdec_edittext_movie_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
+    guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+  if (!cx->frame->construct) {
+    SwfdecAsValue val;
+    if (!swfdec_as_context_use_mem (cx, sizeof (SwfdecEditTextMovie)))
+      return;
+    object = g_object_new (SWFDEC_TYPE_EDIT_TEXT_MOVIE, NULL);
+    swfdec_as_object_add (object, cx, sizeof (SwfdecEditTextMovie));
+    swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
+    if (SWFDEC_AS_VALUE_IS_OBJECT (&val)) {
+      swfdec_as_object_set_constructor (object, SWFDEC_AS_VALUE_GET_OBJECT (&val));
+    } else {
+      SWFDEC_INFO ("\"TextField\" is not an object");
+    }
+  }
+
+  g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (object));
+
+  if (!SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized) {
+    SwfdecAsValue val;
+    SwfdecAsObject *proto;
+
+    swfdec_as_object_get_variable (object, SWFDEC_AS_STR___proto__, &val);
+    g_return_if_fail (SWFDEC_AS_VALUE_IS_OBJECT (&val));
+    proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
+
+    swfdec_edittext_movie_add_variable (proto, SWFDEC_AS_STR_text,
+	swfdec_edittext_movie_get_text, swfdec_edittext_movie_do_set_text);
+
+    SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
+  }
+
+  SWFDEC_AS_VALUE_SET_OBJECT (ret, object);
+}
diff --git a/libswfdec/swfdec_initialize.as b/libswfdec/swfdec_initialize.as
index 4df879b..267dc33 100644
--- a/libswfdec/swfdec_initialize.as
+++ b/libswfdec/swfdec_initialize.as
@@ -270,13 +270,14 @@ MovieClip.prototype["removeMovieClip"] =
 MovieClip.prototype.startDrag = ASnative (900, 20);
 MovieClip.prototype.stopDrag = ASnative (900, 21);
 MovieClip.prototype.createEmptyMovieClip = ASnative (901, 0);
+MovieClip.prototype.createTextField = ASnative (104, 200);
 ASSetPropFlags (MovieClip.prototype, "getDepth,createEmptyMovieClip", 128);
 
 ASSetPropFlags (MovieClip.prototype, null, 3);
 
 /* TextField */
 
-TextField = {};
+TextField = ASconstructor (104, 0);
 
 /* TextFormat */
 
diff --git a/libswfdec/swfdec_initialize.h b/libswfdec/swfdec_initialize.h
index fb343dd..f019e11 100644
--- a/libswfdec/swfdec_initialize.h
+++ b/libswfdec/swfdec_initialize.h
@@ -2,7 +2,7 @@
 
 /* compiled from swfdec_initialize.as */
 const unsigned char swfdec_initialize[] = {
-  0x88, 0xB1, 0x06, 0xB1,  0x00, 0x41, 0x53, 0x53,  0x65, 0x74, 0x4E, 0x61,  0x74, 0x69, 0x76, 0x65,
+  0x88, 0xC1, 0x06, 0xB2,  0x00, 0x41, 0x53, 0x53,  0x65, 0x74, 0x4E, 0x61,  0x74, 0x69, 0x76, 0x65,
   0x00, 0x41, 0x53, 0x6E,  0x61, 0x74, 0x69, 0x76,  0x65, 0x00, 0x41, 0x53,  0x53, 0x65, 0x74, 0x4E,
   0x61, 0x74, 0x69, 0x76,  0x65, 0x41, 0x63, 0x63,  0x65, 0x73, 0x73, 0x6F,  0x72, 0x00, 0x4F, 0x62,
   0x6A, 0x65, 0x63, 0x74,  0x00, 0x72, 0x65, 0x67,  0x69, 0x73, 0x74, 0x65,  0x72, 0x43, 0x6C, 0x61,
@@ -74,7 +74,8 @@ const unsigned char swfdec_initialize[] 
   0x6F, 0x76, 0x65, 0x4D,  0x6F, 0x76, 0x69, 0x65,  0x43, 0x6C, 0x69, 0x70,  0x00, 0x73, 0x74, 0x61,
   0x72, 0x74, 0x44, 0x72,  0x61, 0x67, 0x00, 0x73,  0x74, 0x6F, 0x70, 0x44,  0x72, 0x61, 0x67, 0x00,
   0x63, 0x72, 0x65, 0x61,  0x74, 0x65, 0x45, 0x6D,  0x70, 0x74, 0x79, 0x4D,  0x6F, 0x76, 0x69, 0x65,
-  0x43, 0x6C, 0x69, 0x70,  0x00, 0x67, 0x65, 0x74,  0x44, 0x65, 0x70, 0x74,  0x68, 0x2C, 0x63, 0x72,
+  0x43, 0x6C, 0x69, 0x70,  0x00, 0x63, 0x72, 0x65,  0x61, 0x74, 0x65, 0x54,  0x65, 0x78, 0x74, 0x46,
+  0x69, 0x65, 0x6C, 0x64,  0x00, 0x67, 0x65, 0x74,  0x44, 0x65, 0x70, 0x74,  0x68, 0x2C, 0x63, 0x72,
   0x65, 0x61, 0x74, 0x65,  0x45, 0x6D, 0x70, 0x74,  0x79, 0x4D, 0x6F, 0x76,  0x69, 0x65, 0x43, 0x6C,
   0x69, 0x70, 0x00, 0x54,  0x65, 0x78, 0x74, 0x46,  0x69, 0x65, 0x6C, 0x64,  0x00, 0x54, 0x65, 0x78,
   0x74, 0x46, 0x6F, 0x72,  0x6D, 0x61, 0x74, 0x00,  0x53, 0x74, 0x79, 0x6C,  0x65, 0x53, 0x68, 0x65,
@@ -353,165 +354,168 @@ const unsigned char swfdec_initialize[] 
   0x84, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x02, 0x00,
   0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,  0x08, 0x73, 0x07, 0x00,
   0x00, 0x00, 0x00, 0x07,  0x85, 0x03, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,
-  0x4F, 0x96, 0x09, 0x00,  0x07, 0x80, 0x00, 0x00,  0x00, 0x08, 0x74, 0x08,  0x56, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,
-  0x96, 0x08, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x02, 0x08, 0x56, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x30, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x96, 0x07,
-  0x00, 0x08, 0x75, 0x07,  0x00, 0x00, 0x00, 0x00,  0x43, 0x1D, 0x96, 0x13,  0x00, 0x08, 0x76, 0x07,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x56, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x13, 0x00,
+  0x08, 0x74, 0x07, 0xC8,  0x00, 0x00, 0x00, 0x07,  0x68, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
+  0x00, 0x08, 0x01, 0x3D,  0x4F, 0x96, 0x09, 0x00,  0x07, 0x80, 0x00, 0x00,  0x00, 0x08, 0x75, 0x08,
+  0x56, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,
+  0x08, 0x05, 0x3D, 0x17,  0x96, 0x08, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x02, 0x08, 0x56, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x03, 0x00,  0x00, 0x00, 0x08, 0x05,
+  0x3D, 0x17, 0x96, 0x13,  0x00, 0x08, 0x76, 0x07,  0x00, 0x00, 0x00, 0x00,  0x07, 0x68, 0x00, 0x00,
+  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,  0x3D, 0x1D, 0x96, 0x13,  0x00, 0x08, 0x77, 0x07,
   0x00, 0x00, 0x00, 0x00,  0x07, 0x6E, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x43,
-  0x3D, 0x1D, 0x96, 0x02,  0x00, 0x08, 0x75, 0x1C,  0x96, 0x13, 0x00, 0x08,  0x77, 0x07, 0x00, 0x00,
+  0x3D, 0x1D, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,  0x96, 0x13, 0x00, 0x08,  0x78, 0x07, 0x00, 0x00,
   0x00, 0x00, 0x07, 0x71,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,  0x08, 0x43, 0x3D, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x75, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x77, 0x4E,  0x96, 0x02, 0x00, 0x08,
-  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x78, 0x9B,  0x07, 0x00, 0x00, 0x01,  0x00, 0x6F, 0x00, 0x67,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x13, 0x1C, 0x44,  0x96, 0x02, 0x00, 0x08,  0x79, 0x49, 0x12, 0x12,
-  0x9D, 0x02, 0x00, 0x05,  0x00, 0x96, 0x01, 0x00,  0x02, 0x3E, 0x96, 0x07,  0x00, 0x08, 0x7A, 0x07,
+  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x78, 0x4E,  0x96, 0x02, 0x00, 0x08,
+  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x79, 0x9B,  0x07, 0x00, 0x00, 0x01,  0x00, 0x6F, 0x00, 0x67,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x13, 0x1C, 0x44,  0x96, 0x02, 0x00, 0x08,  0x7A, 0x49, 0x12, 0x12,
+  0x9D, 0x02, 0x00, 0x05,  0x00, 0x96, 0x01, 0x00,  0x02, 0x3E, 0x96, 0x07,  0x00, 0x08, 0x7B, 0x07,
   0x00, 0x00, 0x00, 0x00,  0x43, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x13, 0x46,  0x87, 0x01, 0x00, 0x00,
-  0x96, 0x01, 0x00, 0x02,  0x49, 0x9D, 0x02, 0x00,  0x27, 0x00, 0x96, 0x04,  0x00, 0x08, 0x7B, 0x04,
-  0x00, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x7A, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7B, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x13, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7B, 0x1C, 0x4E, 0x4F,  0x99, 0x02, 0x00, 0xCB,
-  0xFF, 0x96, 0x02, 0x00,  0x08, 0x7A, 0x1C, 0x3E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x75, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x77,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x7C,
+  0x96, 0x01, 0x00, 0x02,  0x49, 0x9D, 0x02, 0x00,  0x27, 0x00, 0x96, 0x04,  0x00, 0x08, 0x7C, 0x04,
+  0x00, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x7B, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7C, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x13, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7C, 0x1C, 0x4E, 0x4F,  0x99, 0x02, 0x00, 0xCB,
+  0xFF, 0x96, 0x02, 0x00,  0x08, 0x7B, 0x1C, 0x3E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x78,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x7D,
   0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x24, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x07,
-  0x00, 0x08, 0x7D, 0x07,  0x00, 0x00, 0x00, 0x00,  0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
-  0x96, 0x07, 0x00, 0x08,  0x7E, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x4F,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x75, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x77,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
-  0x02, 0x00, 0x08, 0x7F,  0x9B, 0x0A, 0x00, 0x00,  0x01, 0x00, 0x6E, 0x61,  0x6D, 0x65, 0x00, 0x25,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7D,  0x4E, 0x96, 0x02, 0x00,
-  0x08, 0x80, 0x1C, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x78,  0x52, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x75,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x77, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x81, 0x9B, 0x10,
+  0x00, 0x08, 0x7E, 0x07,  0x00, 0x00, 0x00, 0x00,  0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,
+  0x96, 0x07, 0x00, 0x08,  0x7F, 0x07, 0x00, 0x00,  0x00, 0x00, 0x43, 0x4F,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x78,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,
+  0x02, 0x00, 0x08, 0x80,  0x9B, 0x0A, 0x00, 0x00,  0x01, 0x00, 0x6E, 0x61,  0x6D, 0x65, 0x00, 0x25,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,  0x4E, 0x96, 0x02, 0x00,
+  0x08, 0x81, 0x1C, 0x4E,  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x79,  0x52, 0x3E, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x78, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x82, 0x9B, 0x10,
   0x00, 0x00, 0x02, 0x00,  0x6E, 0x61, 0x6D, 0x65,  0x00, 0x73, 0x74, 0x79,  0x6C, 0x65, 0x00, 0x67,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7D,  0x4E, 0x12, 0x12, 0x9D,
-  0x02, 0x00, 0x12, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x7D, 0x07,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,  0x4E, 0x12, 0x12, 0x9D,
+  0x02, 0x00, 0x12, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x07,  0x00, 0x08, 0x7E, 0x07,
   0x00, 0x00, 0x00, 0x00,  0x43, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x7D, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x80, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x82, 0x1C, 0x96, 0x07,
-  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x78, 0x52, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x80, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x83, 0x52, 0x17,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x75, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x77,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x84,
-  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x5B, 0x00,  0x96, 0x04, 0x00, 0x08,  0x85, 0x08, 0x09, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x7D, 0x4E, 0x3C, 0x96,  0x07, 0x00, 0x08, 0x86,  0x07, 0x00, 0x00, 0x00,
-  0x00, 0x42, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x85,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,
-  0x02, 0x49, 0x9D, 0x02,  0x00, 0x25, 0x00, 0x96,  0x04, 0x00, 0x08, 0x7B,  0x04, 0x00, 0x3C, 0x96,
-  0x02, 0x00, 0x08, 0x7B,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x86, 0x1C,
+  0x7E, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x81, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x83, 0x1C, 0x96, 0x07,
+  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x79, 0x52, 0x4F,
+  0x96, 0x02, 0x00, 0x08,  0x81, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x84, 0x52, 0x17,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x78,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x85,
+  0x9B, 0x05, 0x00, 0x00,  0x00, 0x00, 0x5B, 0x00,  0x96, 0x04, 0x00, 0x08,  0x86, 0x08, 0x09, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x3C, 0x96,  0x07, 0x00, 0x08, 0x87,  0x07, 0x00, 0x00, 0x00,
+  0x00, 0x42, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x86,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,
+  0x02, 0x49, 0x9D, 0x02,  0x00, 0x25, 0x00, 0x96,  0x04, 0x00, 0x08, 0x7C,  0x04, 0x00, 0x3C, 0x96,
+  0x02, 0x00, 0x08, 0x7C,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x87, 0x1C,
   0x96, 0x02, 0x00, 0x08,  0x0D, 0x52, 0x17, 0x99,  0x02, 0x00, 0xCD, 0xFF,  0x96, 0x02, 0x00, 0x08,
-  0x86, 0x1C, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x75, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x77, 0x4E,
-  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x83, 0x9B,  0x0A, 0x00, 0x00, 0x01,
+  0x87, 0x1C, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x78, 0x4E,
+  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x84, 0x9B,  0x0A, 0x00, 0x00, 0x01,
   0x00, 0x6E, 0x61, 0x6D,  0x65, 0x00, 0x5C, 0x00,  0x96, 0x02, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x7E, 0x4E,  0x12, 0x12, 0x9D, 0x02,  0x00, 0x12, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,
-  0x1C, 0x96, 0x07, 0x00,  0x08, 0x7E, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7E,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x80, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7D, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x80,
+  0x00, 0x08, 0x7F, 0x4E,  0x12, 0x12, 0x9D, 0x02,  0x00, 0x12, 0x00, 0x96,  0x02, 0x00, 0x08, 0x09,
+  0x1C, 0x96, 0x07, 0x00,  0x08, 0x7F, 0x07, 0x00,  0x00, 0x00, 0x00, 0x43,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7F,  0x4E, 0x96, 0x02, 0x00,  0x08, 0x81, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7E, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x81,
   0x1C, 0x4E, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x87, 0x52, 0x4F,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x75, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x77,
-  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x87,  0x9B, 0x0B, 0x00, 0x00,
-  0x01, 0x00, 0x73, 0x74,  0x79, 0x6C, 0x65, 0x00,  0x9D, 0x03, 0x96, 0x02,  0x00, 0x08, 0x82, 0x1C,
+  0x08, 0x88, 0x52, 0x4F,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x78,
+  0x4E, 0x96, 0x02, 0x00,  0x08, 0x30, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x88,  0x9B, 0x0B, 0x00, 0x00,
+  0x01, 0x00, 0x73, 0x74,  0x79, 0x6C, 0x65, 0x00,  0x9D, 0x03, 0x96, 0x02,  0x00, 0x08, 0x83, 0x1C,
   0x96, 0x01, 0x00, 0x02,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x05, 0x00, 0x96,  0x01, 0x00, 0x02, 0x3E,
-  0x96, 0x09, 0x00, 0x08,  0x88, 0x07, 0x00, 0x00,  0x00, 0x00, 0x08, 0x76,  0x40, 0x3C, 0x96, 0x02,
-  0x00, 0x08, 0x82, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x89, 0x4E, 0x12, 0x9D,  0x02, 0x00, 0x15, 0x00,
-  0x96, 0x02, 0x00, 0x08,  0x88, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x8A, 0x08,  0x82, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x89, 0x4E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x82, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x8B,
-  0x4E, 0x96, 0x02, 0x00,  0x08, 0x8C, 0x49, 0x9D,  0x02, 0x00, 0x2B, 0x00,  0x96, 0x02, 0x00, 0x08,
-  0x82, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x8B, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x8D, 0x49, 0x12, 0x9D,
-  0x02, 0x00, 0x0E, 0x00,  0x96, 0x02, 0x00, 0x08,  0x88, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x8C, 0x05,
-  0x00, 0x4F, 0x99, 0x02,  0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x88,  0x1C, 0x96, 0x04, 0x00,
-  0x08, 0x8C, 0x05, 0x01,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x82, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x8E,
-  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x41, 0x00, 0x96,  0x04, 0x00, 0x08, 0x85,  0x08, 0x82, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x8E,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x8F, 0x52, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x85,  0x1C, 0x96, 0x01, 0x00,
-  0x02, 0x49, 0x12, 0x12,  0x9D, 0x02, 0x00, 0x0F,  0x00, 0x96, 0x02, 0x00,  0x08, 0x88, 0x1C, 0x96,
-  0x04, 0x00, 0x08, 0x8E,  0x08, 0x85, 0x1C, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x88, 0x1C, 0x96, 0x04,
-  0x00, 0x08, 0x90, 0x08,  0x82, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x90, 0x4E,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x82, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x91,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x26, 0x00, 0x96,
-  0x02, 0x00, 0x08, 0x88,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x92, 0x08, 0x82,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x91, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x93, 0x52,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x82, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x94,
-  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x88,  0x1C, 0x96, 0x04, 0x00,
-  0x08, 0x95, 0x08, 0x82,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x94, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,
-  0x00, 0x00, 0x00, 0x08,  0x96, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x82,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x97, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x98,  0x49, 0x9D, 0x02, 0x00,  0x2B, 0x00, 0x96, 0x02,
-  0x00, 0x08, 0x82, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x97, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x8D, 0x49,
-  0x12, 0x9D, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x88, 0x1C,  0x96, 0x04, 0x00, 0x08,
-  0x98, 0x05, 0x00, 0x4F,  0x99, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,  0x08, 0x88, 0x1C, 0x96,
-  0x04, 0x00, 0x08, 0x98,  0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x82,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x99, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x9A,  0x49, 0x9D, 0x02, 0x00,  0x4F, 0x00, 0x96, 0x02,
-  0x00, 0x08, 0x82, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x99, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x9B, 0x49,
-  0x9D, 0x02, 0x00, 0x25,  0x00, 0x96, 0x02, 0x00,  0x08, 0x88, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x99,
-  0x08, 0x82, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x99,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,
-  0x00, 0x08, 0x96, 0x3D,  0x4F, 0x99, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x88, 0x1C,
-  0x96, 0x04, 0x00, 0x08,  0x99, 0x05, 0x00, 0x4F,  0x99, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,
-  0x08, 0x88, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x99,  0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x82,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x9C, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,  0x00, 0x96, 0x02, 0x00,
-  0x08, 0x88, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x9C,  0x08, 0x82, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x9C,
-  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x96, 0x3D,  0x4F, 0x96, 0x02, 0x00,
-  0x08, 0x82, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x9D,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,
-  0x02, 0x00, 0x08, 0x88,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x9E, 0x08, 0x82,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0x9D, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x96, 0x3D, 0x4F, 0x96,
-  0x02, 0x00, 0x08, 0x82,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x9F, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x88, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x9F,  0x08, 0x82, 0x1C, 0x96,
-  0x02, 0x00, 0x08, 0x9F,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x96, 0x3D,
-  0x4F, 0x96, 0x02, 0x00,  0x08, 0x82, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA0,  0x4E, 0x12, 0x9D, 0x02,
-  0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x88,  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA1, 0x08, 0x82,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA0, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
-  0x96, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x82,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA2, 0x4E, 0x12,
-  0x9D, 0x02, 0x00, 0x3B,  0x00, 0x96, 0x04, 0x00,  0x08, 0x85, 0x08, 0x82,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0xA2, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x96, 0x3D, 0x3C, 0x96,
-  0x07, 0x00, 0x07, 0x00,  0x00, 0x00, 0x00, 0x08,  0x85, 0x1C, 0x48, 0x12,  0x9D, 0x02, 0x00, 0x0F,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x88, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA3,  0x08, 0x85, 0x1C, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x82, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xA4, 0x4E,  0x96, 0x02, 0x00, 0x08,
-  0xA5, 0x49, 0x9D, 0x02,  0x00, 0x2B, 0x00, 0x96,  0x02, 0x00, 0x08, 0x82,  0x1C, 0x96, 0x02, 0x00,
-  0x08, 0xA4, 0x4E, 0x96,  0x02, 0x00, 0x08, 0xA6,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x0E, 0x00, 0x96,
-  0x02, 0x00, 0x08, 0x88,  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA5, 0x05, 0x00,  0x4F, 0x99, 0x02, 0x00,
-  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x88, 0x1C,  0x96, 0x04, 0x00, 0x08,  0xA5, 0x05, 0x01, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x88, 0x1C, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x75, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x77, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xA7, 0x9B,
-  0x09, 0x00, 0x00, 0x01,  0x00, 0x63, 0x73, 0x73,  0x00, 0xC8, 0x00, 0x96,  0x04, 0x00, 0x08, 0xAA,
-  0x08, 0xA8, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0xA9, 0x52,  0x3C, 0x96, 0x02, 0x00,  0x08, 0xAA, 0x1C, 0x44,  0x96, 0x02, 0x00, 0x08,
-  0xAB, 0x49, 0x12, 0x9D,  0x02, 0x00, 0x06, 0x00,  0x96, 0x02, 0x00, 0x05,  0x00, 0x3E, 0x96, 0x02,
-  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7D, 0x4E, 0x12, 0x12,  0x9D, 0x02, 0x00, 0x12,
-  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x07, 0x00, 0x08, 0x7D,  0x07, 0x00, 0x00, 0x00,
-  0x00, 0x43, 0x4F, 0x96,  0x02, 0x00, 0x08, 0xAA,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,
-  0x02, 0x49, 0x9D, 0x02,  0x00, 0x56, 0x00, 0x96,  0x04, 0x00, 0x08, 0x7B,  0x04, 0x00, 0x3C, 0x96,
-  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7D, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x7B,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0xAA, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7B,  0x1C, 0x4E, 0x96, 0x07,
-  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x78, 0x52, 0x4F,
-  0x96, 0x02, 0x00, 0x08,  0x7B, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x83, 0x52, 0x17,  0x99, 0x02, 0x00, 0x9C,  0xFF, 0x96, 0x02, 0x00,
-  0x05, 0x01, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x75, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x77, 0x4E,
-  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x04,  0x00, 0x08, 0xAC, 0x08,  0x75, 0x1C, 0x96, 0x02,
-  0x00, 0x08, 0x77, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xA7, 0x4E,
-  0x4F, 0x96, 0x02, 0x00,  0x08, 0x75, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x77,  0x4E, 0x96, 0x02, 0x00,
+  0x96, 0x09, 0x00, 0x08,  0x89, 0x07, 0x00, 0x00,  0x00, 0x00, 0x08, 0x77,  0x40, 0x3C, 0x96, 0x02,
+  0x00, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x8A, 0x4E, 0x12, 0x9D,  0x02, 0x00, 0x15, 0x00,
+  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x8B, 0x08,  0x83, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x8A, 0x4E,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x8C,
+  0x4E, 0x96, 0x02, 0x00,  0x08, 0x8D, 0x49, 0x9D,  0x02, 0x00, 0x2B, 0x00,  0x96, 0x02, 0x00, 0x08,
+  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x8C, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x8E, 0x49, 0x12, 0x9D,
+  0x02, 0x00, 0x0E, 0x00,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x04,  0x00, 0x08, 0x8D, 0x05,
+  0x00, 0x4F, 0x99, 0x02,  0x00, 0x0E, 0x00, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x04, 0x00,
+  0x08, 0x8D, 0x05, 0x01,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x8F,
+  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x41, 0x00, 0x96,  0x04, 0x00, 0x08, 0x86,  0x08, 0x83, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0x8F,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x90, 0x52, 0x3C, 0x96,  0x02, 0x00, 0x08, 0x86,  0x1C, 0x96, 0x01, 0x00,
+  0x02, 0x49, 0x12, 0x12,  0x9D, 0x02, 0x00, 0x0F,  0x00, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,
+  0x04, 0x00, 0x08, 0x8F,  0x08, 0x86, 0x1C, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x96, 0x04,
+  0x00, 0x08, 0x91, 0x08,  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x91, 0x4E,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x92,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x26, 0x00, 0x96,
+  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x93, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x92, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x94, 0x52,  0x4F, 0x96, 0x02, 0x00,  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x95,
+  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x04, 0x00,
+  0x08, 0x96, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x95, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,
+  0x00, 0x00, 0x00, 0x08,  0x97, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x98, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x99,  0x49, 0x9D, 0x02, 0x00,  0x2B, 0x00, 0x96, 0x02,
+  0x00, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x98, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x8E, 0x49,
+  0x12, 0x9D, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,  0x96, 0x04, 0x00, 0x08,
+  0x99, 0x05, 0x00, 0x4F,  0x99, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,
+  0x04, 0x00, 0x08, 0x99,  0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x9A, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x9B,  0x49, 0x9D, 0x02, 0x00,  0x4F, 0x00, 0x96, 0x02,
+  0x00, 0x08, 0x83, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x9A, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x9C, 0x49,
+  0x9D, 0x02, 0x00, 0x25,  0x00, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x9A,
+  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x9A,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,
+  0x00, 0x08, 0x97, 0x3D,  0x4F, 0x99, 0x02, 0x00,  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,
+  0x96, 0x04, 0x00, 0x08,  0x9A, 0x05, 0x00, 0x4F,  0x99, 0x02, 0x00, 0x0E,  0x00, 0x96, 0x02, 0x00,
+  0x08, 0x89, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x9A,  0x05, 0x01, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x83,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x9D, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,  0x00, 0x96, 0x02, 0x00,
+  0x08, 0x89, 0x1C, 0x96,  0x04, 0x00, 0x08, 0x9D,  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x9D,
+  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x97, 0x3D,  0x4F, 0x96, 0x02, 0x00,
+  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x9E,  0x4E, 0x12, 0x9D, 0x02,  0x00, 0x20, 0x00, 0x96,
+  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x04, 0x00,  0x08, 0x9F, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0x9E, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x97, 0x3D, 0x4F, 0x96,
+  0x02, 0x00, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA0, 0x4E, 0x12,  0x9D, 0x02, 0x00, 0x20,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA0,  0x08, 0x83, 0x1C, 0x96,
+  0x02, 0x00, 0x08, 0xA0,  0x4E, 0x96, 0x07, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x97, 0x3D,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x83, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xA1,  0x4E, 0x12, 0x9D, 0x02,
+  0x00, 0x20, 0x00, 0x96,  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA2, 0x08, 0x83,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA1, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
+  0x97, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,  0x08, 0xA3, 0x4E, 0x12,
+  0x9D, 0x02, 0x00, 0x3B,  0x00, 0x96, 0x04, 0x00,  0x08, 0x86, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0xA3, 0x4E, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x97, 0x3D, 0x3C, 0x96,
+  0x07, 0x00, 0x07, 0x00,  0x00, 0x00, 0x00, 0x08,  0x86, 0x1C, 0x48, 0x12,  0x9D, 0x02, 0x00, 0x0F,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x89, 0x1C, 0x96,  0x04, 0x00, 0x08, 0xA4,  0x08, 0x86, 0x1C, 0x4F,
+  0x96, 0x02, 0x00, 0x08,  0x83, 0x1C, 0x96, 0x02,  0x00, 0x08, 0xA5, 0x4E,  0x96, 0x02, 0x00, 0x08,
+  0xA6, 0x49, 0x9D, 0x02,  0x00, 0x2B, 0x00, 0x96,  0x02, 0x00, 0x08, 0x83,  0x1C, 0x96, 0x02, 0x00,
+  0x08, 0xA5, 0x4E, 0x96,  0x02, 0x00, 0x08, 0xA7,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x0E, 0x00, 0x96,
+  0x02, 0x00, 0x08, 0x89,  0x1C, 0x96, 0x04, 0x00,  0x08, 0xA6, 0x05, 0x00,  0x4F, 0x99, 0x02, 0x00,
+  0x0E, 0x00, 0x96, 0x02,  0x00, 0x08, 0x89, 0x1C,  0x96, 0x04, 0x00, 0x08,  0xA6, 0x05, 0x01, 0x4F,
+  0x96, 0x02, 0x00, 0x08,  0x89, 0x1C, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x78, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xA8, 0x9B,
+  0x09, 0x00, 0x00, 0x01,  0x00, 0x63, 0x73, 0x73,  0x00, 0xC8, 0x00, 0x96,  0x04, 0x00, 0x08, 0xAB,
+  0x08, 0xA9, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,  0x09, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0xAA, 0x52,  0x3C, 0x96, 0x02, 0x00,  0x08, 0xAB, 0x1C, 0x44,  0x96, 0x02, 0x00, 0x08,
+  0xAC, 0x49, 0x12, 0x9D,  0x02, 0x00, 0x06, 0x00,  0x96, 0x02, 0x00, 0x05,  0x00, 0x3E, 0x96, 0x02,
+  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x7E, 0x4E, 0x12, 0x12,  0x9D, 0x02, 0x00, 0x12,
+  0x00, 0x96, 0x02, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x07, 0x00, 0x08, 0x7E,  0x07, 0x00, 0x00, 0x00,
+  0x00, 0x43, 0x4F, 0x96,  0x02, 0x00, 0x08, 0xAB,  0x46, 0x87, 0x01, 0x00,  0x00, 0x96, 0x01, 0x00,
+  0x02, 0x49, 0x9D, 0x02,  0x00, 0x56, 0x00, 0x96,  0x04, 0x00, 0x08, 0x7C,  0x04, 0x00, 0x3C, 0x96,
+  0x02, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x7E, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x7C,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0xAB, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x7C,  0x1C, 0x4E, 0x96, 0x07,
+  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,  0x1C, 0x96, 0x02, 0x00,  0x08, 0x79, 0x52, 0x4F,
+  0x96, 0x02, 0x00, 0x08,  0x7C, 0x1C, 0x96, 0x07,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x08, 0x09,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x84, 0x52, 0x17,  0x99, 0x02, 0x00, 0x9C,  0xFF, 0x96, 0x02, 0x00,
+  0x05, 0x01, 0x3E, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x78, 0x4E,
+  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x04,  0x00, 0x08, 0xAD, 0x08,  0x76, 0x1C, 0x96, 0x02,
+  0x00, 0x08, 0x78, 0x4E,  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x02,  0x00, 0x08, 0xA8, 0x4E,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0x76, 0x1C, 0x96,  0x02, 0x00, 0x08, 0x78,  0x4E, 0x96, 0x02, 0x00,
   0x08, 0x30, 0x4E, 0x96,  0x13, 0x00, 0x08, 0x33,  0x07, 0x00, 0x00, 0x00,  0x00, 0x07, 0x2D, 0x01,
-  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x75,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x77, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,
-  0x08, 0x35, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x75,
-  0x1C, 0x96, 0x02, 0x00,  0x08, 0x77, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,
+  0x00, 0x00, 0x07, 0x02,  0x00, 0x00, 0x00, 0x08,  0x01, 0x3D, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x78, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,
+  0x08, 0x35, 0x9B, 0x05,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x4F, 0x96,  0x02, 0x00, 0x08, 0x76,
+  0x1C, 0x96, 0x02, 0x00,  0x08, 0x78, 0x4E, 0x96,  0x02, 0x00, 0x08, 0x30,  0x4E, 0x96, 0x02, 0x00,
   0x08, 0x36, 0x9B, 0x09,  0x00, 0x00, 0x01, 0x00,  0x73, 0x72, 0x63, 0x00,  0x6B, 0x00, 0x96, 0x02,
   0x00, 0x08, 0x38, 0x1C,  0x96, 0x01, 0x00, 0x02,  0x49, 0x12, 0x9D, 0x02,  0x00, 0x19, 0x00, 0x96,
   0x09, 0x00, 0x05, 0x00,  0x07, 0x01, 0x00, 0x00,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x02, 0x00, 0x08,
-  0x35, 0x52, 0x17, 0x99,  0x02, 0x00, 0x41, 0x00,  0x96, 0x04, 0x00, 0x08,  0xAA, 0x08, 0x38, 0x1C,
-  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xAC,
-  0x52, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x37, 0x08, 0xAA, 0x1C,
-  0x4F, 0x96, 0x02, 0x00,  0x08, 0xAA, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
-  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x35, 0x52,  0x17, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x75, 0x1C,
-  0x96, 0x02, 0x00, 0x08,  0x77, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
-  0xA9, 0x07, 0x65, 0x00,  0x00, 0x00, 0x07, 0x71,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
-  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x75, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x77, 0x4E,
-  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x93, 0x07,  0x66, 0x00, 0x00, 0x00,
+  0x35, 0x52, 0x17, 0x99,  0x02, 0x00, 0x41, 0x00,  0x96, 0x04, 0x00, 0x08,  0xAB, 0x08, 0x38, 0x1C,
+  0x96, 0x07, 0x00, 0x07,  0x01, 0x00, 0x00, 0x00,  0x08, 0x09, 0x1C, 0x96,  0x02, 0x00, 0x08, 0xAD,
+  0x52, 0x3C, 0x96, 0x02,  0x00, 0x08, 0x09, 0x1C,  0x96, 0x04, 0x00, 0x08,  0x37, 0x08, 0xAB, 0x1C,
+  0x4F, 0x96, 0x02, 0x00,  0x08, 0xAB, 0x1C, 0x96,  0x07, 0x00, 0x07, 0x01,  0x00, 0x00, 0x00, 0x08,
+  0x09, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x35, 0x52,  0x17, 0x4F, 0x96, 0x02,  0x00, 0x08, 0x76, 0x1C,
+  0x96, 0x02, 0x00, 0x08,  0x78, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,  0x96, 0x13, 0x00, 0x08,
+  0xAA, 0x07, 0x65, 0x00,  0x00, 0x00, 0x07, 0x71,  0x00, 0x00, 0x00, 0x07,  0x02, 0x00, 0x00, 0x00,
+  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x02, 0x00, 0x08,  0x76, 0x1C, 0x96, 0x02,  0x00, 0x08, 0x78, 0x4E,
+  0x96, 0x02, 0x00, 0x08,  0x30, 0x4E, 0x96, 0x13,  0x00, 0x08, 0x94, 0x07,  0x66, 0x00, 0x00, 0x00,
   0x07, 0x71, 0x00, 0x00,  0x00, 0x07, 0x02, 0x00,  0x00, 0x00, 0x08, 0x01,  0x3D, 0x4F, 0x96, 0x02,
-  0x00, 0x08, 0x75, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x77, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
-  0x96, 0x13, 0x00, 0x08,  0x8F, 0x07, 0x67, 0x00,  0x00, 0x00, 0x07, 0x71,  0x00, 0x00, 0x00, 0x07,
+  0x00, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x78, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
+  0x96, 0x13, 0x00, 0x08,  0x90, 0x07, 0x67, 0x00,  0x00, 0x00, 0x07, 0x71,  0x00, 0x00, 0x00, 0x07,
   0x02, 0x00, 0x00, 0x00,  0x08, 0x01, 0x3D, 0x4F,  0x96, 0x08, 0x00, 0x07,  0x03, 0x04, 0x00, 0x00,
-  0x02, 0x08, 0x75, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x77, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
+  0x02, 0x08, 0x76, 0x1C,  0x96, 0x02, 0x00, 0x08,  0x78, 0x4E, 0x96, 0x02,  0x00, 0x08, 0x30, 0x4E,
   0x96, 0x07, 0x00, 0x07,  0x03, 0x00, 0x00, 0x00,  0x08, 0x05, 0x3D, 0x17,  0x96, 0x09, 0x00, 0x07,
-  0x03, 0x04, 0x00, 0x00,  0x08, 0x77, 0x08, 0x75,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,
-  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x13, 0x00,  0x08, 0xAD, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,
+  0x03, 0x04, 0x00, 0x00,  0x08, 0x78, 0x08, 0x76,  0x1C, 0x96, 0x07, 0x00,  0x07, 0x03, 0x00, 0x00,
+  0x00, 0x08, 0x05, 0x3D,  0x17, 0x96, 0x13, 0x00,  0x08, 0xAE, 0x07, 0x00,  0x00, 0x00, 0x00, 0x07,
   0xFA, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x1D, 0x96, 0x13, 0x00,
-  0x08, 0xAE, 0x07, 0x01,  0x00, 0x00, 0x00, 0x07,  0xFA, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
-  0x00, 0x08, 0x01, 0x3D,  0x1D, 0x96, 0x13, 0x00,  0x08, 0xAF, 0x07, 0x02,  0x00, 0x00, 0x00, 0x07,
+  0x08, 0xAF, 0x07, 0x01,  0x00, 0x00, 0x00, 0x07,  0xFA, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,
+  0x00, 0x08, 0x01, 0x3D,  0x1D, 0x96, 0x13, 0x00,  0x08, 0xB0, 0x07, 0x02,  0x00, 0x00, 0x00, 0x07,
   0xFA, 0x00, 0x00, 0x00,  0x07, 0x02, 0x00, 0x00,  0x00, 0x08, 0x01, 0x3D,  0x1D, 0x96, 0x04, 0x00,
-  0x08, 0xB0, 0x08, 0xAE,  0x1C, 0x1D, 0x96, 0x03,  0x00, 0x08, 0x13, 0x02,  0x1D, 0x96, 0x0D, 0x00,
+  0x08, 0xB1, 0x08, 0xAF,  0x1C, 0x1D, 0x96, 0x03,  0x00, 0x08, 0x13, 0x02,  0x1D, 0x96, 0x0D, 0x00,
   0x07, 0x06, 0x00, 0x00,  0x00, 0x07, 0x01, 0x00,  0x00, 0x00, 0x02, 0x08,  0x09, 0x1C, 0x96, 0x07,
   0x00, 0x07, 0x04, 0x00,  0x00, 0x00, 0x08, 0x05,  0x3D, 0x17, 0x00
 };
diff --git a/libswfdec/swfdec_player_internal.h b/libswfdec/swfdec_player_internal.h
index cc0ac23..1129e01 100644
--- a/libswfdec/swfdec_player_internal.h
+++ b/libswfdec/swfdec_player_internal.h
@@ -72,6 +72,7 @@ struct _SwfdecPlayer
   int			offset_x;		/* x offset from top left edge after scaling */
   int			offset_y;		/* y offset from top left edge after scaling */
   gboolean		text_format_properties_initialized; /* whether TextFormat object's native properties have been initialized */
+  gboolean		edittext_movie_properties_initialized; /* whether TextField object's native properties have been initialized */
   gboolean		xml_properties_initialized; /* whether XML object's native properties have been initialized */
   gboolean		xml_node_properties_initialized; /* same for XMLNode */
 
diff-tree db16b550fa025c520266c90df07cd71a3fbc44c0 (from 8d69f18e13827a9f25ce0f2e9eabc098ec2709d9)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Oct 1 11:43:51 2007 +0300

    Remove leftover declaration from swfdec_text.h

diff --git a/libswfdec/swfdec_text.h b/libswfdec/swfdec_text.h
index 37d0312..a590470 100644
--- a/libswfdec/swfdec_text.h
+++ b/libswfdec/swfdec_text.h
@@ -30,7 +30,6 @@ G_BEGIN_DECLS
 typedef struct _SwfdecTextClass SwfdecTextClass;
 
 typedef struct _SwfdecTextGlyph SwfdecTextGlyph;
-typedef struct _SwfdecTextChunk SwfdecTextChunk;
 
 #define SWFDEC_TYPE_TEXT                    (swfdec_text_get_type())
 #define SWFDEC_IS_TEXT(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_TEXT))


More information about the Swfdec mailing list